From 6b6fadd8795938c3bf6381f24db93ba61acce0c3 Mon Sep 17 00:00:00 2001 From: Zev Weiss Date: Fri, 12 Mar 2021 01:21:31 +0000 Subject: e3c246d4i: add initial board support The e3c246d4i is an ASRock Rack Xeon E-2100/E-2200 series board with an ASpeed AST2500 BMC. It's a relatively low-cost system with a SPI flash header available for easy programming. Signed-off-by: Zev Weiss Change-Id: I67ee57183215f3dd46b38f81994faeac8a1935c0 --- meta-asrock/COPYING.MIT | 17 ++ meta-asrock/COPYING.apache-2.0 | 175 +++++++++++++++++++++ meta-asrock/LICENSE | 12 ++ meta-asrock/conf/layer.conf | 11 ++ .../meta-e3c246d4i/conf/bblayers.conf.sample | 29 ++++ meta-asrock/meta-e3c246d4i/conf/layer.conf | 10 ++ meta-asrock/meta-e3c246d4i/conf/local.conf.sample | 21 +++ .../meta-e3c246d4i/conf/machine/e3c246d4i.conf | 12 ++ .../packagegroups/packagegroup-asrock-apps.bb | 33 ++++ 9 files changed, 320 insertions(+) create mode 100644 meta-asrock/COPYING.MIT create mode 100644 meta-asrock/COPYING.apache-2.0 create mode 100644 meta-asrock/LICENSE create mode 100644 meta-asrock/conf/layer.conf create mode 100644 meta-asrock/meta-e3c246d4i/conf/bblayers.conf.sample create mode 100644 meta-asrock/meta-e3c246d4i/conf/layer.conf create mode 100644 meta-asrock/meta-e3c246d4i/conf/local.conf.sample create mode 100644 meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf create mode 100644 meta-asrock/meta-e3c246d4i/recipes-asrock/packagegroups/packagegroup-asrock-apps.bb diff --git a/meta-asrock/COPYING.MIT b/meta-asrock/COPYING.MIT new file mode 100644 index 000000000..89de35479 --- /dev/null +++ b/meta-asrock/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-asrock/COPYING.apache-2.0 b/meta-asrock/COPYING.apache-2.0 new file mode 100644 index 000000000..67db85882 --- /dev/null +++ b/meta-asrock/COPYING.apache-2.0 @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. diff --git a/meta-asrock/LICENSE b/meta-asrock/LICENSE new file mode 100644 index 000000000..e861d795a --- /dev/null +++ b/meta-asrock/LICENSE @@ -0,0 +1,12 @@ +Different components of meta-asrock are under different licenses (a mix +of MIT and Apache-2.0). Please see: + +COPYING.Apache-2.0 +COPYING.MIT (MIT) + +All metadata is MIT licensed unless otherwise stated. Source code +included in tree for individual recipes is under the LICENSE stated in +the associated recipe (.bb file) unless otherwise stated. + +License information for any other files is either explicitly stated +or defaults to Apache-2.0. diff --git a/meta-asrock/conf/layer.conf b/meta-asrock/conf/layer.conf new file mode 100644 index 000000000..37e452cec --- /dev/null +++ b/meta-asrock/conf/layer.conf @@ -0,0 +1,11 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \ + ${LAYERDIR}/meta-common/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "asrock-layer" +BBFILE_PATTERN_asrock-layer = "^${LAYERDIR}/" +LAYERVERSION_asrock-layer = "1" +LAYERSERIES_COMPAT_asrock-layer = "gatesgarth hardknott" diff --git a/meta-asrock/meta-e3c246d4i/conf/bblayers.conf.sample b/meta-asrock/meta-e3c246d4i/conf/bblayers.conf.sample new file mode 100644 index 000000000..2f2b5f377 --- /dev/null +++ b/meta-asrock/meta-e3c246d4i/conf/bblayers.conf.sample @@ -0,0 +1,29 @@ +# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +LCONF_VERSION = "8" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-aspeed \ + ##OEROOT##/meta-asrock \ + ##OEROOT##/meta-asrock/meta-e3c246d4i \ + " +BBLAYERS_NON_REMOVABLE ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-aspeed \ + ##OEROOT##/meta-asrock \ + ##OEROOT##/meta-asrock/meta-e3c246d4i \ + " diff --git a/meta-asrock/meta-e3c246d4i/conf/layer.conf b/meta-asrock/meta-e3c246d4i/conf/layer.conf new file mode 100644 index 000000000..aff53c469 --- /dev/null +++ b/meta-asrock/meta-e3c246d4i/conf/layer.conf @@ -0,0 +1,10 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "e3c246d4i-layer" +BBFILE_PATTERN_e3c246d4i-layer = "^${LAYERDIR}/" +LAYERSERIES_COMPAT_e3c246d4i-layer = "gatesgarth hardknott" diff --git a/meta-asrock/meta-e3c246d4i/conf/local.conf.sample b/meta-asrock/meta-e3c246d4i/conf/local.conf.sample new file mode 100644 index 000000000..f4d6cb62e --- /dev/null +++ b/meta-asrock/meta-e3c246d4i/conf/local.conf.sample @@ -0,0 +1,21 @@ +MACHINE ??= "e3c246d4i" +DISTRO ?= "openbmc-phosphor" +PACKAGE_CLASSES ?= "package_rpm" +SANITY_TESTED_DISTROS_append ?= " *" +EXTRA_IMAGE_FEATURES = "debug-tweaks" +USER_CLASSES ?= "buildstats image-mklibs image-prelink" +PATCHRESOLVE = "noop" +BB_DISKMON_DIRS = "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" +CONF_VERSION = "1" +INHERIT += "extrausers" +EXTRA_USERS_PARAMS = " \ + usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \ + " diff --git a/meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf b/meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf new file mode 100644 index 000000000..ad67ece3f --- /dev/null +++ b/meta-asrock/meta-e3c246d4i/conf/machine/e3c246d4i.conf @@ -0,0 +1,12 @@ +KMACHINE = "aspeed" +KERNEL_DEVICETREE = "${KMACHINE}-bmc-asrock-${MACHINE}.dtb" + +UBOOT_MACHINE = "ast_g5_phy_config" + +FLASH_SIZE = "32768" + +require conf/machine/include/ast2500.inc +require conf/machine/include/obmc-bsp-common.inc + +PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-asrock-apps" +PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-asrock-apps" diff --git a/meta-asrock/meta-e3c246d4i/recipes-asrock/packagegroups/packagegroup-asrock-apps.bb b/meta-asrock/meta-e3c246d4i/recipes-asrock/packagegroups/packagegroup-asrock-apps.bb new file mode 100644 index 000000000..22619cf0f --- /dev/null +++ b/meta-asrock/meta-e3c246d4i/recipes-asrock/packagegroups/packagegroup-asrock-apps.bb @@ -0,0 +1,33 @@ +SUMMARY = "OpenBMC for ASRock - Applications" +PR = "r1" + +inherit packagegroup + +PROVIDES = "${PACKAGES}" +PACKAGES = " \ + ${PN}-flash \ + ${PN}-system \ + " + +PROVIDES += "virtual/obmc-flash-mgmt" +PROVIDES += "virtual/obmc-system-mgmt" + +RPROVIDES_${PN}-flash += "virtual-obmc-flash-mgmt" +RPROVIDES_${PN}-system += "virtual-obmc-system-mgmt" + +SUMMARY_${PN}-flash = "ASRock Flash" +RDEPENDS_${PN}-flash = " \ + obmc-control-bmc \ + phosphor-ipmi-flash \ + " + +SUMMARY_${PN}-system = "ASRock System" +RDEPENDS_${PN}-system = " \ + bmcweb \ + entity-manager \ + dbus-sensors \ + webui-vue \ + phosphor-host-postd \ + phosphor-ipmi-kcs \ + phosphor-post-code-manager \ + " -- cgit v1.2.3 From b4d0f8a414ac4d1664e1d8b9a2e5aa83a928b442 Mon Sep 17 00:00:00 2001 From: Chris Cain Date: Wed, 19 May 2021 17:27:43 -0500 Subject: Set default system power mode to Maximum Performance Signed-off-by: Chris Cain Change-Id: I2ce6a862e0d16fe8a67c9dc12ceacbc01d3a0b1b --- .../settings/phosphor-settings-manager/ibm_settings.override.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml index 9a4dcb616..4dc4f473c 100644 --- a/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml +++ b/meta-ibm/recipes-phosphor/settings/phosphor-settings-manager/ibm_settings.override.yml @@ -9,3 +9,9 @@ Properties: Enabled: Default: 'true' + +/xyz/openbmc_project/control/host0/power_mode: + - Interface: xyz.openbmc_project.Control.Power.Mode + Properties: + PowerMode: + Default: Mode::PowerMode::MaximumPerformance -- cgit v1.2.3 From 9c84c619b31b8a4d7f5227d650352aa6c6e9e8c4 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 21 May 2021 01:32:06 +0000 Subject: phosphor-led-sysfs: srcrev bump 45eba6fc25..429750a01d George Liu (1): Remove config.h Change-Id: I72b30521a9300bbedf8b4c077740cd257c55e8c2 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb index 8e14d766d..0e9e58521 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb @@ -19,7 +19,7 @@ DBUS_SERVICE_${PN} += "xyz.openbmc_project.led.controller@.service" SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs" SRC_URI += "file://70-leds.rules" -SRCREV = "45eba6fc25260a3da68b6c4268af25be28c734c7" +SRCREV = "429750a01d4ea65f335a50d26eb1855a1c6e769e" S = "${WORKDIR}/git" do_install_append() { -- cgit v1.2.3 From e615343811d5085cbd40866357d8e079f5eded94 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 24 May 2021 03:00:45 +0000 Subject: bmcweb: srcrev bump cb0d27e012..2ebb968328 Abhishek Patel (1): Formatted Redfish.MD file Charles Boyer (1): log_services: Fix BMC Journal Entries collection odata.id Change-Id: Ibde70a3c396ba49492eb3b1ab72ef73b8f23623c Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index ece4493de..fcd0639b9 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "cb0d27e012456fc954be1649325402819bacb6a7" +SRCREV = "2ebb9683287cf6b1a2f2cc3c077bd99aceefa8dd" S = "${WORKDIR}/git" -- cgit v1.2.3 From 4978c1a5a2cbd244492077d062a0764d431f436b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 21 May 2021 16:10:49 +0000 Subject: kcsbridge: srcrev bump 4f5ba64229..03e6defcbc William A. Kennington III (1): kcsbridge: Daemon rewrite Change-Id: Id731c7dcb0dfd7d3129dfc12efe09dad9b7bc74c Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb index df1cfd76e..b53dd8376 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb @@ -29,4 +29,4 @@ DEPENDS += " \ S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/kcsbridge.git" -SRCREV = "4f5ba642295ab2d215e4d2e11e177edacd4a7ff5" +SRCREV = "03e6defcbca99c9c00cd37c4afb1d2b415a92acd" -- cgit v1.2.3 From cc18e78fa22a4d1c8206672bec905d94089cb2fb Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 21 May 2021 19:31:01 +0000 Subject: phosphor-power: srcrev bump ce540f3c9f..d9c8be577d Shawn McCarney (1): regulators: Enable sensor monitoring Change-Id: I6bf4a94605ce8df2385418d3b599750bd5fac572 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index 3a7cd175b..43790f0df 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "ce540f3c9fb61f9711726cbbe86f42f55e768d42" +SRCREV = "d9c8be577d0479b12a7eb5ffe624b5f22605e4e0" -- cgit v1.2.3 From 2368231c1b1ab483d033d9cc02dfe88840361bb4 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 24 May 2021 15:01:02 +0000 Subject: pldm: srcrev bump 144ef2bd47..79175b44a2 Jayashankar Padath (1): pldmtool: Add new entity types in the pdr support list Change-Id: I0c30538708dac1dbd34506c4961bd68aae96bc23 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 45df9f489..3b927b610 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "144ef2bd474b518de0568d3d70cf5ef33eddf0b8" +SRCREV = "79175b44a2a001dda28281833031fb805224662e" -- cgit v1.2.3 From a8a30757f54bc84e48e696655381d83ebe8bf849 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 24 May 2021 16:50:38 +0000 Subject: phosphor-dbus-interfaces: srcrev bump 33458d4432..0ae4052479 Vijay Lobo (1): Entry: Add EventId property Change-Id: Ie7dcfcf5b921ca270ae676c07d2c25727c0e2392 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb index dc4b652db..38cbf18b6 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb @@ -18,7 +18,7 @@ DEPENDS += " \ " SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces" -SRCREV = "33458d4432a8323616622881f314a73cf0b04d97" +SRCREV = "0ae40524799fc0030418dbcf2899ca55246a6386" # Process OBMC_ORG_YAML_SUBDIRS to create Meson config options. # ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true -- cgit v1.2.3 From cdd05fa70352002f2c500556c72d6eda59c78218 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 11 May 2021 14:27:41 -0500 Subject: openpower: bump croserver to 57b4010 A needed fix was merged recently which is required for our latest rebase of upstream yocto to work. See the following for more details: https://github.com/open-power/eCMD/issues/451 Ed Tanous (1): Fix format security in eCMD Jason Albert (1): fix deepcopy on templated structs (#440) Kahn Evans (9): Fix spr access when p0 is deconfigured Update from ekb Add ECMD_INACTIVE_THREAD return code, and check for it in command line code Update to resolve warnings Add multicast checkrings modes Update eCMD version to 14.21 Add additional chipunits in chiplet check logic Add new target relationship Minor updates from ekb Steven B. Janssen (2): additional paths for an increase in devices update i2c instruction to allow the caller to specify a force of a slave address Steven Janssen (14): server enablement for xdma access update .gitignore Remove unnecessary includes update RUN_CMD to use pipe,fork,dup2,execl,select,read instead of popen. This allows the server to better handle the STDERR output that can cause issues when running commands remotely Update default constructors to initialize all elements of the class Resolves issue where some elements are eval'd later with bad data in them. resolve compiler warning Wstringop-truncation by copying n-1 string size Add ability to specify the i2c flags that can be sent to the device driver or plugin. Change default busspeed to unknown so plugin can set appropriate default. Affects cases where we need to know something was specified on the command line vs just being set. update api to have a default value of 0 resolve issue with no param for i2cFlags update dump command to allow for hex dump instead of defaulting to enums Resolve issue where a reset of the FSI2PIB is necessary but didn't work properly. resolve compiler issue by handling what handle really is here resolve compiler issue by handling what handle really is here remove requirement for aspeed-xdma.h file for builds sangram alapati (9): changed the ecid output format for p10 use last 2 chars to check the wafer type change the # of bits we check fix for using large dump files on aix code cleanup removing slibclean as it can't be executed on aix changes to p10 help text added cachecore fixed the right target to loop upon while grabbing the data Signed-off-by: Andrew Geissler Change-Id: I4ecdafe51617c1758c5ee94bd9c72bac3363cb83 --- meta-openpower/recipes-bsp/ecmd/croserver_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-bsp/ecmd/croserver_git.bb b/meta-openpower/recipes-bsp/ecmd/croserver_git.bb index 3d9209bfb..e1aa88e51 100644 --- a/meta-openpower/recipes-bsp/ecmd/croserver_git.bb +++ b/meta-openpower/recipes-bsp/ecmd/croserver_git.bb @@ -4,7 +4,7 @@ LICENSE= "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/NOTICE;md5=fee220301a2af3faf8f211524b4248ea" SRC_URI = "git://github.com/open-power/eCMD.git" -SRCREV = "d35b5c025a3f629401ea1352f6e53aa7429950ca" +SRCREV = "57b40102a54dac8b4b9cdc91beefd709d222867e" DEPENDS += "zlib" SRC_URI += "file://croserver.service" -- cgit v1.2.3 From 4f0754354ae64fdf119a3af78ec7b8eb56eeba28 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 24 May 2021 20:41:25 +0000 Subject: phosphor-networkd: srcrev bump de433b74ec..1e710d04a6 William A. Kennington III (2): build: Add meson build build: Fix service and conf file quotation Change-Id: I827082933f900609ce13ec0f2a4ee28362a0323e Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index 630dc6bcd..9d3997d14 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -11,7 +11,7 @@ inherit python3native inherit systemd SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "de433b74ec5bce22043ea44c55e83d9be3dc5372" +SRCREV = "1e710d04a61092b45ff4ccd58656cb5cee3cba5b" DEPENDS += "systemd" DEPENDS += "autoconf-archive-native" -- cgit v1.2.3 From 60e37ef4f8fa0977267fc60e96328da730c9dce8 Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Mon, 24 May 2021 09:58:10 -0400 Subject: meta-phosphor: new committers More committers are needed for meta-phosphor to improve commit throughput and overall OpenBMC project robustness. Ed Tanous and Patrick Williams have expressed interest and have an established OpenBMC contribution history as justification. Change-Id: I1f668badb6986c27d7dc9403cb6eb6af489d254d Signed-off-by: Brad Bishop --- meta-phosphor/OWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/OWNERS b/meta-phosphor/OWNERS index f7922296e..66dc0f234 100644 --- a/meta-phosphor/OWNERS +++ b/meta-phosphor/OWNERS @@ -1,3 +1,5 @@ owners: - bradleyb@fuzziesquirrel.com +- edtanous@google.com - geissonator@yahoo.com +- patrick@stwcx.xyz -- cgit v1.2.3 From d09aea5472ef7f91ba9cba16decd4c6674792534 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Tue, 25 May 2021 10:01:55 +0930 Subject: u-boot-aspeed: Move to SDK v00.04.00 This rebases on the latest SDK release. Notably this release includes support for the A3 and disables debug backdoors in line with the defaults in the A3 silicon. Changes kept downstream from ASPEED's SDK in the OpenBMC branch: Eddie James (1): ARM: dts: Aspeed: Tacoma and Rainier: Add eMMC nodes and parameters Joel Stanley (15): board: ast2600: Disable eSPI early init by default dts: ast2600-evb: Enable FSI masters tools: Add script for generating recovery image configs: Add OpenBMC spl defconfig for AST2600 boards clk: ast2600: Add divisor settings for 100MHz PLL ram: ast2600: Enable device tree based DDR config ast2600: tacoma: Run DDR at 1333 ast2600: Allow selection of SPL boot devices ast2600: Modify SPL SRAM layout crypto: Add driver for Aspeed HACE ast2600: Enable HACE probing in SPL ast2600: Add HACE to device tree ast2600: spl: Add ASPEED_LOADERS option ast2600: spl: Support common boot loader features config: ast2600: Add config for SPL MMC boot with FIT signature verification Changes in the ASPEED SDK when moving from v00.03.03 include the branch of fixes that were backported for FIT support, plus the following changes from the ASPEED team: Bing-Hua Wang (3): configs: evb-ast2500-spl_defconfig: Use platform.S DDR init ast2500: spl: Skip SPI timing calibration ast2500: Fix VRAM size detection Chia-Wei Wang (2): ast2600: Disable backdoor to align A3 design ast2600: Enable UART Debug based on FWSPIMISO Chia-Wei, Wang (4): board: ast2600: Add eSPI early init sequence board: ast2600-intel: Add Intel EGS CRB support aspeed: ast2600: Fix incorrect chip revision ID board: ast2600: Enable eSPI early init by default Chin-Ting Kuo (4): sdhci: ast2600: HS200 support porting mmc: Enable SDMA feature when boot from eMMC uart: Fix UART1 route problem on A3 spi-nor: Porting MT25Q02G flash part Dylan Hung (18): cmd:aspeed: fix missing setting for the tx single packet cmd:aspeed: change broadcom id matching cmd:aspeed: add support of broadcom 54210/54213 test cmd:aspeed: refactor phy internal loopback cmd:aspeed: fix typo cmd:aspeed: remove redundant debug print cmd:aspeed: skip deselect package for I350 IOP issue cmd:aspeed: add NCSI_VERBOSE_TEST (default off) cmd:aspeed: add 100ms for phy ready cmd:aspeed: bug fixed of the length decoding of the dramtest arm:dts: revise ast2600 mac1/2 rgmii delay setting net:phy: add phy-mode support on broadcom 5461 series cmd:aspeed: add phy tx/rx delay control arguments cmd:aspeed: add bcm54615, rtl8211f and marvell88e15 delay setting cmd:aspeed: restore default page ram:aspeed: revise coding style ram:aspeed: refactor coding style arm:dts: revise rgmii tx/rx delay Fugang Duan (1): net: phy: realtek: add rx delay support for RTL8211F Jamin Lin (1): Add evb-ast2600-obmc-emmc-cot_defconfig config to support AST2600 emmc secure boot for OpenBMC Johnny Huang (6): otp: fix a1 program issue otp: fix otp cmd stuck otp: update version number to 1.0.2 otp: add AST2600A3 secure boot: fix public key exponent otp: update print otp image Ryan Chen (3): AST2600:platform.S for AST2600A3 fix for reset. it will apply for AST2600A1/A2/A3 ast2600:ddr: fix memory bandwidth issue sdram : ast2600 Troy Lee (2): config: ast2600: support OpenBMC boot from eMMC image config: ast2600-evb for openbmc boot command update chin-ting_kuo (1): Revert "mmc: Enable SDMA feature when boot from eMMC" The previous version of v2019.04-aspeed-openbmc is kept in the branch archive/v2019.04-aspeed-openbmc-3. Change-Id: Ie492bdbfaec32c3e3e0caf8d4fa1806fcd1febec Signed-off-by: Joel Stanley --- meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc index b662bf442..9da3e5a44 100644 --- a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc +++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc @@ -8,7 +8,7 @@ PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "44a8c618c1215e0faac0f335f0afd56ed4240e76" +SRCREV = "e1417368fdc3ba45ffde51a4b13290114a643be4" SRC_URI = "git://git@github.com/openbmc/u-boot.git;nobranch=1;protocol=https" -- cgit v1.2.3 From 8e5af983877701ffd5ba6d8c4751853e0e65a942 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 25 May 2021 16:40:23 +0000 Subject: intel-ipmi-oem: srcrev bump fb9f1aa1ea..5235ae9ab3 Jayaprakash Mutyala (1): Fix for SMMDR - Send Directory Info Change-Id: Iafa0f3872c986f46e6a5a91d3d4b9bc9d08cdb42 Signed-off-by: Andrew Geissler --- meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb index 9466b22a8..74d9c1ab1 100755 --- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb @@ -5,7 +5,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/intel-ipmi-oem" -SRCREV = "fb9f1aa1ea3c944fbba17b51ab26264af1c67a25" +SRCREV = "5235ae9ab3014bd9161a4ef1e1ce1a75567ffdbe" S = "${WORKDIR}/git" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 4e0b734fd2130edc902036dff43b4a684fec8761 Mon Sep 17 00:00:00 2001 From: Hao Jiang Date: Tue, 25 May 2021 16:08:02 -0700 Subject: phosphor-settings: Change setting for time manager Change the default time settings for all google servers to Host/Manual so that timedate can be set via IPMI commands. Signed-off-by: Hao Jiang Change-Id: I94fec8a9c8eefb7dfaa327452ca453e132c0c140 --- .../timemanager-default-HOST-MANUAL.override.yml | 6 ++++++ .../recipes-phosphor/settings/phosphor-settings-manager_%.bbappend | 5 +++++ 2 files changed, 11 insertions(+) create mode 100644 meta-google/recipes-phosphor/settings/phosphor-settings-manager/timemanager-default-HOST-MANUAL.override.yml create mode 100644 meta-google/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend diff --git a/meta-google/recipes-phosphor/settings/phosphor-settings-manager/timemanager-default-HOST-MANUAL.override.yml b/meta-google/recipes-phosphor/settings/phosphor-settings-manager/timemanager-default-HOST-MANUAL.override.yml new file mode 100644 index 000000000..77c0dff08 --- /dev/null +++ b/meta-google/recipes-phosphor/settings/phosphor-settings-manager/timemanager-default-HOST-MANUAL.override.yml @@ -0,0 +1,6 @@ +--- +/xyz/openbmc_project/time/sync_method: + - Interface: xyz.openbmc_project.Time.Synchronization + Properties: + TimeSyncMethod: + Default: Synchronization::Method::Manual diff --git a/meta-google/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend b/meta-google/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend new file mode 100644 index 000000000..46d11234e --- /dev/null +++ b/meta-google/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend @@ -0,0 +1,5 @@ +#Override the default time settings from BMC/NTP to Host/Manual, so that host +#can set BMC time via an IPMI command. + +FILESEXTRAPATHS_append_gbmc := ":${THISDIR}/${PN}" +SRC_URI_append_gbmc = " file://timemanager-default-HOST-MANUAL.override.yml" -- cgit v1.2.3 From f0d2bfcef0b2dd1625d29aae65742bf724492b14 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 24 May 2021 21:30:41 +0000 Subject: entity-manager: srcrev bump cda147301b..6d649821da Jonathan Doman (1): Fix dangling reference to scan count Change-Id: I6d8bc868c0cb5516e604fc7c87c82494f1e35188 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index ee301e26b..a2ad1b057 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" -SRCREV = "cda147301b0fa7eac99eee3a7565604dbd6f74dd" +SRCREV = "6d649821da7aa3159bae7139670efc4c27ff6ebb" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" -- cgit v1.2.3 From e2d67c7af2827fdc5fc62666fa332bd4c6d0e344 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 21 May 2021 13:31:08 +0000 Subject: telemetry: srcrev bump f763c9e3bb..32859b634e Karol Niczyj (2): Update buildsystem Add limit for report name length Change-Id: Ibe29d752abc27c5dc4ad7058ecabca23d8da9de3 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb index d255f5731..3557afc9c 100644 --- a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb +++ b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/telemetry" PV = "1.0+git${SRCPV}" -SRCREV = "f763c9e3bbe0f86a4a41e7bb0dc70bffde0af9b2" +SRCREV = "32859b634e366a015331fb8ab62766340df9c7b8" S = "${WORKDIR}/git" -- cgit v1.2.3 From 2b6e2d11060c946eb80d7d5d8d519d5819017e52 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 25 May 2021 14:31:23 +0000 Subject: phosphor-logging: srcrev bump 0b08776a88..e32b7e76d1 Ben Tyner (1): Add system IM keyword to PEL userdata0 section Matt Spinler (1): PEL: Change the BMC version UD label to FW version Change-Id: I1b5221d7260ae3c8248bfac7853170bdebd907af Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 4e47e373b..d29e77cd1 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "0b08776a882357d7e96ee072d14ba0940287ca93" +SRCREV = "e32b7e76d17f506477b3dfea937739785a7d3f6f" S = "${WORKDIR}/git" -- cgit v1.2.3 From d151be8953fa76e57ae0bbc978ecc7b9ed402a44 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 25 May 2021 05:00:26 +0000 Subject: openpower-vpd-parser: srcrev bump 33c61c2d63..c2fe40f853 PriyangaRamasamy (1): Collect Bad/Broken VPDs in BMC Change-Id: I432d5bdfde7d4882707a4905667d08af20beea8d Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc index 0d0d53ba7..f3d1899a8 100644 --- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc +++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-vpd-parser" -SRCREV = "33c61c2d634c116d9b31b0a3d7c69860e9dbcaab" +SRCREV = "c2fe40f853191f248b0a2a4f21ed9d65b403b909" -- cgit v1.2.3 From 87d6dfcd8d721048455efc825996e50af5f8dcbe Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 25 May 2021 11:11:09 +0000 Subject: pldm: srcrev bump 79175b44a2..c073a20e1f Sampa Misra (1): entity_association_tree: Keep tree always updated Change-Id: I719c2243e429faf9293aab58db5c07b101543b6c Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 3b927b610..a80b8fc0b 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "79175b44a2a001dda28281833031fb805224662e" +SRCREV = "c073a20e1fecd42f4c930f2c4bfcbf433f318b9d" -- cgit v1.2.3 From 86421b900ad852c750442159afff73522d84dfd5 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 20 May 2021 12:08:40 +0800 Subject: meta-nuvoton: u-boot-nuvoton: srcrev bump 9033cd58bf...c11d9a81ea Stanley Chu (1): board: nuvoton: poleg: support eSPI configuration via dts Brandon-fii (1): Modified GPIOs in u-boot dts for kudo project to match the kernel dts George Hung (1): dts: npcm730 GBS: add event-clear for GPIO146 (fans-efuse) Signed-off-by: George Hung Change-Id: I1f35885f74baf34915a7cd648941e2e82a701cf9 --- meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc b/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc index 5a1813296..9236271c9 100644 --- a/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc +++ b/meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" UBRANCH = "npcm7xx-v2019.01" SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH}" -SRCREV = "9033cd58bf7050e8aa9a6b08ba53ed8d72e17394" +SRCREV = "c11d9a81eadfb9b3c4e53acba1a97a13924b6d88" S = "${WORKDIR}/git" -- cgit v1.2.3 From 74b7540bc1bf70ec395970ee91212cfd4909515a Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Wed, 26 May 2021 16:12:34 +0930 Subject: linux-aspeed: MCTP LPC Andrew Jeffery (1): mctp-lpc: Match register addresses to updated devicetree Change-Id: I40acb45d536d3dae36971671bc95f69ff3c254a7 Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index 084606b61..a3a24b613 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.39" -SRCREV="45c6dc0de963bfdd8b468dceeea24f56a8e51424" +SRCREV="12165f912d1906426670cb9fde2244568a024c28" require linux-aspeed.inc -- cgit v1.2.3 From c8bfc633aca8d0dfc4e7cbcee99aaf11af6344ca Mon Sep 17 00:00:00 2001 From: Konstantin Aladyshev Date: Mon, 17 May 2021 17:16:32 +0300 Subject: Add RISC-V QEMU targets Add new QEMU targets 'riscv32' and 'riscv64' to be able to use runqemu script on these architectures. Signed-off-by: Konstantin Aladyshev Change-Id: Ib4019e57a0167203fb42c2214a806709a923209a --- meta-phosphor/conf/distro/include/phosphor-base.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc index 5b114810f..f5feca1f7 100644 --- a/meta-phosphor/conf/distro/include/phosphor-base.inc +++ b/meta-phosphor/conf/distro/include/phosphor-base.inc @@ -12,7 +12,7 @@ DISTROOVERRIDES .= ":openbmc-phosphor" TCLIBCAPPEND = "" -QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el nios2 ppc x86_64" +QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el nios2 ppc riscv32 riscv64 x86_64" PREMIRRORS ??= "\ bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -- cgit v1.2.3 From d8154d0392fc3675ab902b9ac5b6f419da71c2dd Mon Sep 17 00:00:00 2001 From: Konstantin Aladyshev Date: Wed, 24 Feb 2021 20:46:10 +0300 Subject: phosphor-settings-manager: add 'boot_type' option Add 'boot_type' package configuration parameter that is used to add support for the Legacy/EFI boot override selector for systems with x86 host. This setting is designed for selection between - "PC compatible" boot (legacy) - Extensible Firmware Interface Boot (EFI) In the presence of a 'boot_type' parameter the default value for the BootType dbus interface is set to EFI boot. Signed-off-by: Konstantin Aladyshev Change-Id: I2d75960f0a3350aa4d464179d4ee7a1758e09d72 --- .../boot_type.override.yml | 32 ++++++++++++++++++++++ .../settings/phosphor-settings-manager_git.bb | 5 ++++ 2 files changed, 37 insertions(+) create mode 100644 meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml new file mode 100644 index 000000000..da1501302 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager/boot_type.override.yml @@ -0,0 +1,32 @@ +/xyz/openbmc_project/control/host0/boot: + - Interface: xyz.openbmc_project.Control.Boot.Source + Properties: + BootSource: + Default: Source::Sources::Default + - Interface: xyz.openbmc_project.Control.Boot.Mode + Properties: + BootMode: + Default: Mode::Modes::Regular + - Interface: xyz.openbmc_project.Control.Boot.Type + Properties: + BootType: + Default: Type::Types::EFI + +/xyz/openbmc_project/control/host0/boot/one_time: + - Interface: xyz.openbmc_project.Control.Boot.Source + Properties: + BootSource: + Default: Source::Sources::Default + - Interface: xyz.openbmc_project.Control.Boot.Mode + Properties: + BootMode: + Default: Mode::Modes::Regular + - Interface: xyz.openbmc_project.Control.Boot.Type + Properties: + BootType: + Default: Type::Types::EFI + - Interface: xyz.openbmc_project.Object.Enable + Properties: + Enabled: + Default: 'true' + diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb index a0773a3a9..1ea501a6d 100644 --- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager_git.bb @@ -27,6 +27,11 @@ DEPENDS += "libcereal" S = "${WORKDIR}/git" SRC_URI += "file://merge_settings.py" +# 'boot_type' configuration parameter is used to add support for +# the Legacy/EFI boot override selector for systems with x86 host +PACKAGECONFIG[boot_type] = "" +SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'boot_type', 'file://boot_type.override.yml', '', d)}" + EXTRA_OECONF = " \ SETTINGS_YAML=${STAGING_DIR_NATIVE}${settings_datadir}/defaults.yaml \ " -- cgit v1.2.3 From 74f3852056ec1b3e58c6040d2a9eb8438462037a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 18 May 2021 13:53:03 -0700 Subject: phosphor-networkd: JSON is only used for sync-mac Change-Id: Ia31e11304c878e126828221b6c7c022e4df16e17 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index 9d3997d14..0f235ace2 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -21,7 +21,6 @@ DEPENDS += "phosphor-dbus-interfaces" DEPENDS += "phosphor-logging" DEPENDS += "libnl" DEPENDS += "stdplus" -DEPENDS += "nlohmann-json" PACKAGECONFIG ??= "uboot-env default-link-local-autoconf default-ipv6-accept-ra" @@ -30,7 +29,7 @@ PACKAGECONFIG[uboot-env] = "--with-uboot-env,--without-uboot-env,,${UBOOT_ENV_RD PACKAGECONFIG[default-link-local-autoconf] = "--enable-link-local-autoconfiguration,--disable-link-local-autoconfiguration,," PACKAGECONFIG[default-ipv6-accept-ra] = "--enable-ipv6-accept-ra,--disable-ipv6-accept-ra,," PACKAGECONFIG[nic-ethtool] = "--enable-nic-ethtool,--disable-nic-ethtool,," -PACKAGECONFIG[sync-mac] = "--enable-sync-mac,--disable-sync-mac,," +PACKAGECONFIG[sync-mac] = "--enable-sync-mac,--disable-sync-mac,nlohmann-json," S = "${WORKDIR}/git" -- cgit v1.2.3 From ef047e2f899180e3fb72ba565abef459197fa60d Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 18 May 2021 13:56:14 -0700 Subject: phosphor-networkd: Use meson instead of autotools Change-Id: I7f4860405420eead896343a5dfee769b3781ba76 Signed-off-by: William A. Kennington III --- .../network/phosphor-network_git.bb | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index 0f235ace2..94090fbbf 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -6,7 +6,7 @@ PV = "1.0+git${SRCPV}" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" -inherit autotools pkgconfig +inherit meson pkgconfig inherit python3native inherit systemd @@ -14,7 +14,6 @@ SRC_URI += "git://github.com/openbmc/phosphor-networkd" SRCREV = "1e710d04a61092b45ff4ccd58656cb5cee3cba5b" DEPENDS += "systemd" -DEPENDS += "autoconf-archive-native" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" DEPENDS += "sdeventplus" DEPENDS += "phosphor-dbus-interfaces" @@ -25,18 +24,15 @@ DEPENDS += "stdplus" PACKAGECONFIG ??= "uboot-env default-link-local-autoconf default-ipv6-accept-ra" UBOOT_ENV_RDEPENDS = "${@d.getVar('PREFERRED_PROVIDER_u-boot-fw-utils', True) or 'u-boot-fw-utils'}" -PACKAGECONFIG[uboot-env] = "--with-uboot-env,--without-uboot-env,,${UBOOT_ENV_RDEPENDS}" -PACKAGECONFIG[default-link-local-autoconf] = "--enable-link-local-autoconfiguration,--disable-link-local-autoconfiguration,," -PACKAGECONFIG[default-ipv6-accept-ra] = "--enable-ipv6-accept-ra,--disable-ipv6-accept-ra,," -PACKAGECONFIG[nic-ethtool] = "--enable-nic-ethtool,--disable-nic-ethtool,," -PACKAGECONFIG[sync-mac] = "--enable-sync-mac,--disable-sync-mac,nlohmann-json," +PACKAGECONFIG[uboot-env] = "-Duboot-env=true,-Duboot-env=false,,${UBOOT_ENV_RDEPENDS}" +PACKAGECONFIG[default-link-local-autoconf] = "-Ddefault-link-local-autoconf=true,-Ddefault-link-local-autoconf=false,," +PACKAGECONFIG[default-ipv6-accept-ra] = "-Ddefault-ipv6-accept-ra=true,-Ddefault-ipv6-accept-ra=false,," +PACKAGECONFIG[nic-ethtool] = "-Dnic-ethtool=true,-Dnic-ethtool=false,," +PACKAGECONFIG[sync-mac] = "-Dsync-mac=true,-Dsync-mac=false,nlohmann-json," S = "${WORKDIR}/git" -SERVICE_FILE = "xyz.openbmc_project.Network.service" -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} += "${SERVICE_FILE}" +FILES_${PN} += "${datadir}/dbus-1/system.d" -EXTRA_OECONF = " \ - SYSTEMD_TARGET="multi-user.target" \ -" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.Network.service" -- cgit v1.2.3 From 1a977b269ed437bebb9ae7810e3157746ec9174d Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 13 May 2021 02:33:12 -0700 Subject: phosphor-defaults: Enable LTO for all meson targets We want to benefit from the space savings of being able to link time optimize all of our binaries built through meson. Change-Id: If36f9e76a27bfa8d00210492c2397a174e09dbd3 Signed-off-by: William A. Kennington III --- meta-phosphor/conf/distro/include/phosphor-defaults.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-phosphor/conf/distro/include/phosphor-defaults.inc b/meta-phosphor/conf/distro/include/phosphor-defaults.inc index b8f4c52e3..7aed7cbd4 100644 --- a/meta-phosphor/conf/distro/include/phosphor-defaults.inc +++ b/meta-phosphor/conf/distro/include/phosphor-defaults.inc @@ -239,6 +239,9 @@ SECURITY_CFLAGS_pn-obmc-libobmc-intf = "" # is merged and rev bumped SECURITY_CFLAGS_pn-pldm = "" +# We generally want to enable LTO with meson +EXTRA_OEMESON_append_class-target = " -Db_lto=true" + # Set the root password to '0penBmc' inherit extrausers -- cgit v1.2.3 From 001a9c82f9ee3538293dddad624ea3da5aa55855 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 26 May 2021 00:51:02 +0000 Subject: libmctp: srcrev bump 9f5b47a584..a523bcc102 Helen Huang (1): core: Check Null pointer in mctp_bridge_busses() Change-Id: I982ccf68435ece927a593a8a89d9402a4da71e80 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 475d2a284..f62b4c1e3 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "9f5b47a5844023719b84855cb6c554271c95ee4a" +SRCREV = "a523bcc102cdabbb7537c63374deaa0f5e42f033" CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ -- cgit v1.2.3 From 152b6aeba6ef70b644015703a6f9f29d2c5e0c61 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 26 May 2021 12:30:49 +0000 Subject: phosphor-host-ipmid: srcrev bump 7a0e5dfcfa..e76a61a2f7 Konstantin Aladyshev (2): chassishandler: Add support for boot type flag (Legacy/EFI) chassishandler: Refactor get/set boot parameters code Change-Id: Ie04b35c1ce5e85392f4a292f7accc9469b2bcc21 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc index 6ac3784ef..43eca1e8f 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid" -SRCREV = "7a0e5dfcfa49f4a60e2d0ddd9f90c64d177a7f14" +SRCREV = "e76a61a2f7c19ed07e2bfe98533d82bc23692fc1" -- cgit v1.2.3 From 3de55f203593c1ddbf78313a60b1a8377ab3669a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 26 May 2021 19:21:06 +0000 Subject: phosphor-networkd: srcrev bump 1e710d04a6..1bbe3d1e3b William A. Kennington III (2): build: Remove autotools build: Split c++ sources into a subdirectory Change-Id: Id4a6724091771a86bdede80c1e4d33cdd9637df2 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index 94090fbbf..ea8e10de1 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -11,7 +11,7 @@ inherit python3native inherit systemd SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "1e710d04a61092b45ff4ccd58656cb5cee3cba5b" +SRCREV = "1bbe3d1e3bce52044874294e353e80af9ee706a2" DEPENDS += "systemd" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" -- cgit v1.2.3 From 6896c6e6eb3f38f5967f0af08a0aa4660b926593 Mon Sep 17 00:00:00 2001 From: George Liu Date: Thu, 27 May 2021 09:22:56 +0800 Subject: fp5280g2: power: Enable power supply monitor feature This commit enables support for power supply monitoring Signed-off-by: George Liu Change-Id: I815ebd2e6135c4e858744c8c5d48121ccc7689dc --- .../meta-fp5280g2/recipes-phosphor/power/phosphor-power_%.bbappend | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-power_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-power_%.bbappend index 9075cd38f..b9c22beb4 100644 --- a/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-power_%.bbappend +++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/power/phosphor-power_%.bbappend @@ -3,6 +3,8 @@ inherit obmc-phosphor-systemd SRC_URI += "file://psu.json" +PACKAGECONFIG_append = " monitor" + PSU_MONITOR_ENV_FMT = "obmc/power-supply-monitor/power-supply-monitor-{0}.conf" SYSTEMD_ENVIRONMENT_FILE_${PN}-monitor_append_fp5280g2 = " ${@compose_list(d, 'PSU_MONITOR_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}" -- cgit v1.2.3 From 2a83cbca700179a755891d98cbe8faf73e05379b Mon Sep 17 00:00:00 2001 From: Ed Tanous Date: Wed, 26 May 2021 11:16:37 -0700 Subject: Reapply boost library filtering 6be1787fdc13405fa9daa6755c28534bbcaa7458 reverted this change temporarily to get around a yocto recipe refactor that was preventing us from upgrading cleanly. Unfortunately, there's nothing more permanent than a temporary hack, so this patch never got reapplied. Recently, we've had issues with Palmetto failing to build boost::regex with an error: ./boost/regex/v5/mem_block_cache.hpp:91:11: error: 'static_mutex' in namespace 'boost' does not name a type Considering OpenBMC doesn't use boost regex (or a bunch of the other boost libraries) we shouldn't be building them. For reference, 57acb4680f999e0b2ab96e87fa5313defddeb577 was the original patch, and contains more details on the advantages of this, but the keys are we reduce the build times significantly by only building the two libraries OpenBMC uses, and we avoid bugs like this in boost modules we don't care about, as we're only building the modules we use. Signed-off-by: Ed Tanous Change-Id: I4006618c6553d72bf7f47baadb0c3e35e141bdc9 --- meta-phosphor/recipes-support/boost/boost_%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-support/boost/boost_%.bbappend b/meta-phosphor/recipes-support/boost/boost_%.bbappend index b614346af..5166bbb67 100644 --- a/meta-phosphor/recipes-support/boost/boost_%.bbappend +++ b/meta-phosphor/recipes-support/boost/boost_%.bbappend @@ -8,5 +8,5 @@ # #https://github.com/openbmc/docs/blob/master/cpp-style-and-conventions.md#boost # -#BOOST_LIBS_openbmc-phosphor = "chrono thread" +BOOST_LIBS_openbmc-phosphor = "chrono thread context coroutine" -- cgit v1.2.3 From 7decfe7d938e01b8292a1f0504b87f8492a16a33 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 7 May 2021 16:08:29 -0500 Subject: meta-raspberrypi: subtree update:bb974dc078..8cffbf5e85 Khem Raj (2): linux-raspberrypi: Update to 5.10.31 raspberrypi-firmware: Update to include 5.10.31 updates Signed-off-by: Andrew Geissler Change-Id: I2324da4978e7f463f1f489137fbb26d3d95644d8 --- meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc | 6 +++--- meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc index 8bd93dda7..6358fba4f 100644 --- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc +++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc @@ -1,9 +1,9 @@ -RPIFW_DATE ?= "20210326" -SRCREV ?= "20081d8e86119e95e516526700be62049850c01a" +RPIFW_DATE ?= "20210421" +SRCREV ?= "2ac4de4eaac5c1d1b25acec4a5e0a9fdb16f0c91" RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz" RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" SRC_URI = "${RPIFW_SRC_URI}" -SRC_URI[sha256sum] = "00bd758a1242f069682e1a98250362b45a8887aed98ee61dd50439e9a78fe463" +SRC_URI[sha256sum] = "c687aa1b5127a8dc0773e8aefb1f009f24bf71ccb4c9e8b40a1d46cbbb7bee0c" PV = "${RPIFW_DATE}" diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb index 9fef701e2..fa3a8fc39 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb @@ -1,8 +1,8 @@ -LINUX_VERSION ?= "5.10.25" +LINUX_VERSION ?= "5.10.31" LINUX_RPI_BRANCH ?= "rpi-5.10.y" -SRCREV_machine = "d1fd8a5727908bb677c003d2ae977e9d935a6f94" -SRCREV_meta = "5833ca701711d487c9094bd1efc671e8ef7d001e" +SRCREV_machine = "89399e6e7e33d6260a954603ca03857df594ffd3" +SRCREV_meta = "a19886b00ea7d874fdd60d8e3435894bb16e6434" KMETA = "kernel-meta" -- cgit v1.2.3 From 5e7fd51182f375f58130989e8d0e206e3e14dee1 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 7 May 2021 16:09:00 -0500 Subject: meta-security: subtree update:ca9264b1e1..baca6133f9 Anton Antonov (1): gitlab-ci: Move all parsec builds into a separate job Armin Kuster (12): kas-security-base: Move some DISTRO_FEATURES around *-tpm.yml: drop tpms jobs gitlab-ci: move tpm build .gitlab-ci: work on pipelime gitlab-ci: cleanup after_script gitlab-ci: add new before script kas: cleanup some kas files packagegroup-core-security: exclude apparmor in mips64 .gitlab-ci: use kas shell in some cases. kas-security-base: fix feature namespace for tpm* ossec-hids: add new pkg libseccomp: drop recipe. In core now Signed-off-by: Andrew Geissler Change-Id: Icef0838533cbc51af188f574d4931ac3d250ba84 --- meta-security/.gitlab-ci.yml | 116 ++++++---- meta-security/kas/kas-security-alt.yml | 2 +- meta-security/kas/kas-security-base.yml | 2 + meta-security/kas/qemuarm64-tpm2.yml | 10 - meta-security/kas/qemumips64-alt.yml | 6 +- meta-security/kas/qemux86-64-tpm.yml | 10 - meta-security/kas/qemux86-64-tpm2.yml | 10 - meta-security/kas/qemux86-test.yml | 5 - .../packagegroup/packagegroup-core-security.bb | 3 + ...0001-Makefile-drop-running-scrips-install.patch | 37 +++ .../files/0002-Makefile-don-t-set-uid-gid.patch | 251 +++++++++++++++++++++ .../recipes-ids/ossec/ossec-hids_3.6.0.bb | 161 +++++++++++++ .../recipes-security/libseccomp/files/run-ptest | 4 - .../libseccomp/libseccomp_2.5.1.bb | 47 ---- 14 files changed, 532 insertions(+), 132 deletions(-) delete mode 100644 meta-security/kas/qemuarm64-tpm2.yml delete mode 100644 meta-security/kas/qemux86-64-tpm.yml delete mode 100644 meta-security/kas/qemux86-64-tpm2.yml create mode 100644 meta-security/recipes-ids/ossec/files/0001-Makefile-drop-running-scrips-install.patch create mode 100644 meta-security/recipes-ids/ossec/files/0002-Makefile-don-t-set-uid-gid.patch create mode 100644 meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb delete mode 100644 meta-security/recipes-security/libseccomp/files/run-ptest delete mode 100644 meta-security/recipes-security/libseccomp/libseccomp_2.5.1.bb diff --git a/meta-security/.gitlab-ci.yml b/meta-security/.gitlab-ci.yml index f673ef698..32110253c 100644 --- a/meta-security/.gitlab-ci.yml +++ b/meta-security/.gitlab-ci.yml @@ -1,33 +1,76 @@ -stages: - - build - -.build: - stage: build - image: crops/poky - before_script: +.before-my-script: &before-my-script - echo "$ERR_REPORT_USERNAME" > ~/.oe-send-error - echo "$ERR_REPORT_EMAIL" >> ~/.oe-send-error - export PATH=~/.local/bin:$PATH - wget https://bootstrap.pypa.io/get-pip.py - python3 get-pip.py - python3 -m pip install kas - after_script: + +.after-my-script: &after-my-script - cd $CI_PROJECT_DIR/poky - . ./oe-init-build-env $CI_PROJECT_DIR/build - for x in `ls $CI_PROJECT_DIR/build/tmp/log/error-report/ | grep error_report_`; do - send-error-report -y tmp/log/error-report/$x - done - - cd $CI_PROJECT_DIR - - rm -rf build - cache: - paths: - - layers + - rm -fr $CI_PROJECT_DIR/build + + +stages: + - build + - parsec + - multi + - alt + - musl + - test + +.build: + before_script: + - *before-my-script + stage: build + after_script: + - *after-my-script + +.parsec: + before_script: + - *before-my-script + stage: parsec + after_script: + - *after-my-script + + +.multi: + before_script: + - *before-my-script + stage: multi + after_script: + - *after-my-script + +.alt: + before_script: + - *before-my-script + stage: alt + after_script: + - *after-my-script + +.musl: + before_script: + - *before-my-script + stage: musl + after_script: + - *after-my-script + +.test: + before_script: + - *before-my-script + stage: test + after_script: + - *after-my-script + qemux86: extends: .build script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml - - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml - kas build --target security-build-image kas/$CI_JOB_NAME-comp.yml - kas build --target harden-image-minimal kas/$CI_JOB_NAME-harden.yml - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml @@ -35,8 +78,7 @@ qemux86: qemux86-64: extends: .build script: - - kas build --target security-build-image kas/$CI_JOB_NAME.yml - - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml + - kas shell kas/$CI_JOB_NAME.yml -c "bitbake -k security-build-image security-tpm-image security-tpm2-image" - kas build --target dm-verity-image-initramfs kas/$CI_JOB_NAME-dm-verify.yml - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml @@ -44,20 +86,17 @@ qemuarm: extends: .build script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml - - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml qemuarm64: extends: .build script: - - kas build --target security-build-image kas/$CI_JOB_NAME.yml - - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml + - kas shell kas/$CI_JOB_NAME.yml -c "bitbake -k security-build-image security-tpm2-image" - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml qemuppc: extends: .build script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml - - kas build --target security-build-image kas/$CI_JOB_NAME-parsec.yml qemumips64: extends: .build @@ -69,61 +108,58 @@ qemuriscv64: script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemux86-64-tpm: - extends: .build - script: - - kas build --target security-tpm-image kas/$CI_JOB_NAME.yml - - kas build --target security-tpm2-image kas/$CI_JOB_NAME2.yml - -qemuarm64-tpm2: - extends: .build - script: - - kas build --target security-tpm2-image kas/$CI_JOB_NAME.yml - qemuarm64-alt: - extends: .build + extends: .alt script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml qemuarm64-multi: - extends: .build + extends: .multi script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml qemumips64-alt: - extends: .build + extends: .alt script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml qemumips64-multi: - extends: .build + extends: .multi script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml qemux86-64-alt: - extends: .build + extends: .alt script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml qemux86-64-multi: - extends: .build + extends: .multi script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml qemux86-musl: - extends: .build + extends: .musl script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml qemuarm64-musl: - extends: .build + extends: .musl script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml qemux86-test: - extends: .build + extends: .test allow_failure: true script: - kas build --target security-test-image kas/$CI_JOB_NAME.yml - kas build -c testimage --target security-test-image kas/$CI_JOB_NAME.yml +parsec: + extends: .parsec + script: + - kas build --target security-build-image kas/qemuarm-$CI_JOB_NAME.yml + - kas build --target security-build-image kas/qemuarm64-$CI_JOB_NAME.yml + - kas build --target security-build-image kas/qemux86-$CI_JOB_NAME.yml + - kas build --target security-build-image kas/qemux86-64-$CI_JOB_NAME.yml + - kas build --target security-build-image kas/qemuppc-$CI_JOB_NAME.yml diff --git a/meta-security/kas/kas-security-alt.yml b/meta-security/kas/kas-security-alt.yml index 309acaa03..151452452 100644 --- a/meta-security/kas/kas-security-alt.yml +++ b/meta-security/kas/kas-security-alt.yml @@ -5,4 +5,4 @@ header: local_conf_header: alt: | - DISTRO_FEATURES_append = " apparmor pam smack systemd" + DISTRO_FEATURES_append = " systemd" diff --git a/meta-security/kas/kas-security-base.yml b/meta-security/kas/kas-security-base.yml index aa68336e1..487befe1a 100644 --- a/meta-security/kas/kas-security-base.yml +++ b/meta-security/kas/kas-security-base.yml @@ -51,6 +51,8 @@ local_conf_header: EXTRA_IMAGE_FEATURES ?= "debug-tweaks" PACKAGE_CLASSES = "package_ipk" + DISTRO_FEATURES_append = " pam apparmor smack" + MACHINE_FEATURES_append = " tpm tpm2" diskmon: | BB_DISKMON_DIRS = "\ diff --git a/meta-security/kas/qemuarm64-tpm2.yml b/meta-security/kas/qemuarm64-tpm2.yml deleted file mode 100644 index 3a8d8fc0d..000000000 --- a/meta-security/kas/qemuarm64-tpm2.yml +++ /dev/null @@ -1,10 +0,0 @@ -header: - version: 8 - includes: - - kas-security-base.yml - -local_conf_header: - meta-security: | - DISTRO_FEATURES_append = " tpm2" - -machine: qemuarm64 diff --git a/meta-security/kas/qemumips64-alt.yml b/meta-security/kas/qemumips64-alt.yml index 923c21370..c5d54d4d4 100644 --- a/meta-security/kas/qemumips64-alt.yml +++ b/meta-security/kas/qemumips64-alt.yml @@ -1,10 +1,6 @@ header: version: 8 includes: - - kas-security-base.yml - -local_conf_header: - alt: | - DISTRO_FEATURES_append = " pam systmed" + - kas-security-alt.yml machine: qemumips64 diff --git a/meta-security/kas/qemux86-64-tpm.yml b/meta-security/kas/qemux86-64-tpm.yml deleted file mode 100644 index 565b42327..000000000 --- a/meta-security/kas/qemux86-64-tpm.yml +++ /dev/null @@ -1,10 +0,0 @@ -header: - version: 8 - includes: - - kas-security-base.yml - -local_conf_header: - meta-security: | - DISTRO_FEATURES_append = " tpm" - -machine: qemux86-64 diff --git a/meta-security/kas/qemux86-64-tpm2.yml b/meta-security/kas/qemux86-64-tpm2.yml deleted file mode 100644 index a43693ee9..000000000 --- a/meta-security/kas/qemux86-64-tpm2.yml +++ /dev/null @@ -1,10 +0,0 @@ -header: - version: 8 - includes: - - kas-security-base.yml - -local_conf_header: - meta-security: | - DISTRO_FEATURES_append = " tpm2" - -machine: qemux86-64 diff --git a/meta-security/kas/qemux86-test.yml b/meta-security/kas/qemux86-test.yml index 7b5f45151..83a5353e7 100644 --- a/meta-security/kas/qemux86-test.yml +++ b/meta-security/kas/qemux86-test.yml @@ -3,9 +3,4 @@ header: includes: - kas-security-base.yml - -local_conf_header: - meta-security: | - DISTRO_FEATURES_append = " apparmor smack pam" - machine: qemux86 diff --git a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb index 9ac0d2c25..a6142a8c7 100644 --- a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb +++ b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb @@ -80,6 +80,9 @@ RDEPENDS_packagegroup-security-mac = " \ ${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack", "",d)} \ " +RDEPENDS_packagegroup-security-mac_remove_mips64 = "apparmor" +RDEPENDS_packagegroup-security-mac_remove_mips64le = "apparmor" + RDEPENDS_packagegroup-meta-security-ptest-packages = "\ ptest-runner \ samhain-standalone-ptest \ diff --git a/meta-security/recipes-ids/ossec/files/0001-Makefile-drop-running-scrips-install.patch b/meta-security/recipes-ids/ossec/files/0001-Makefile-drop-running-scrips-install.patch new file mode 100644 index 000000000..08e018f25 --- /dev/null +++ b/meta-security/recipes-ids/ossec/files/0001-Makefile-drop-running-scrips-install.patch @@ -0,0 +1,37 @@ +From b948d36a8ca8e04794381f0f6eba29daf7e3fd01 Mon Sep 17 00:00:00 2001 +From: Armin Kuster +Date: Wed, 21 Apr 2021 00:56:53 +0000 +Subject: [PATCH 1/2] Makefile: drop running scrips @ install + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Armin Kuster +--- + src/Makefile | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 06a7094c..dfb8cb58 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -409,7 +409,6 @@ install-hybrid: install-server-generic + install-server: install-server-generic + + install-common: build +- ./init/adduser.sh ${OSSEC_USER} ${OSSEC_USER_MAIL} ${OSSEC_USER_REM} ${OSSEC_GROUP} ${PREFIX} + $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/ + $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs + $(call INSTALL_CMD,0660,${OSSEC_USER},${OSSEC_GROUP}) /dev/null ${PREFIX}/logs/ossec.log +@@ -485,9 +484,6 @@ endif + $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/var + $(call INSTALL_CMD,0770,root,${OSSEC_GROUP}) -d ${PREFIX}/var/run + +- ./init/fw-check.sh execute +- +- + + install-server-generic: install-common + $(call INSTALL_CMD,0660,${OSSEC_USER},${OSSEC_GROUP}) /dev/null ${PREFIX}/logs/active-responses.log +-- +2.25.1 + diff --git a/meta-security/recipes-ids/ossec/files/0002-Makefile-don-t-set-uid-gid.patch b/meta-security/recipes-ids/ossec/files/0002-Makefile-don-t-set-uid-gid.patch new file mode 100644 index 000000000..d5e3403d8 --- /dev/null +++ b/meta-security/recipes-ids/ossec/files/0002-Makefile-don-t-set-uid-gid.patch @@ -0,0 +1,251 @@ +From d9ec907881b72d42b4918f7cfb46516ce8e77772 Mon Sep 17 00:00:00 2001 +From: Armin Kuster +Date: Sat, 24 Apr 2021 23:07:29 +0000 +Subject: [PATCH 2/2] Makefile: don't set uid/gid + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Armin Kuster +--- + src/Makefile | 166 +++++++++++++++++++++++++-------------------------- + 1 file changed, 83 insertions(+), 83 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index dfb8cb58..a4d69ef6 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -21,7 +21,7 @@ OSSEC_USER?=ossec + OSSEC_USER_MAIL?=ossecm + OSSEC_USER_REM?=ossecr + +-INSTALL_CMD?=install -m $(1) -o $(2) -g $(3) ++INSTALL_CMD?=install -m $(1) + INSTALL_LOCALTIME?=yes + INSTALL_RESOLVCONF?=yes + +@@ -397,10 +397,10 @@ endif + install: install-${TARGET} + + install-agent: install-common +- $(call INSTALL_CMD,0550,root,0) ossec-agentd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) agent-auth ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-agentd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) agent-auth ${PREFIX}/bin + +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/rids ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/rids + + install-local: install-server-generic + +@@ -409,129 +409,129 @@ install-hybrid: install-server-generic + install-server: install-server-generic + + install-common: build +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/ +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs +- $(call INSTALL_CMD,0660,${OSSEC_USER},${OSSEC_GROUP}) /dev/null ${PREFIX}/logs/ossec.log +- +- $(call INSTALL_CMD,0550,root,0) -d ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-logcollector ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-syscheckd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-execd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) manage_agents ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ../contrib/util.sh ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) ${OSSEC_CONTROL_SRC} ${PREFIX}/bin/ossec-control ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/ ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/logs ++ $(call INSTALL_CMD,0660) /dev/null ${PREFIX}/logs/ossec.log ++ ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-logcollector ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-syscheckd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-execd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) manage_agents ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ../contrib/util.sh ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) ${OSSEC_CONTROL_SRC} ${PREFIX}/bin/ossec-control + + ifeq (${LUA_ENABLE},yes) +- $(call INSTALL_CMD,0550,root,0) -d ${PREFIX}/lua +- $(call INSTALL_CMD,0550,root,0) -d ${PREFIX}/lua/native +- $(call INSTALL_CMD,0550,root,0) -d ${PREFIX}/lua/compiled +- $(call INSTALL_CMD,0550,root,0) ${EXTERNAL_LUA}src/ossec-lua ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) ${EXTERNAL_LUA}src/ossec-luac ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/lua ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/lua/native ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/lua/compiled ++ $(call INSTALL_CMD,0550) ${EXTERNAL_LUA}src/ossec-lua ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) ${EXTERNAL_LUA}src/ossec-luac ${PREFIX}/bin/ + endif + +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/queue +- $(call INSTALL_CMD,0770,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/alerts +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/ossec +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/syscheck +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/diff ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/queue ++ $(call INSTALL_CMD,0770) -d ${PREFIX}/queue/alerts ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/ossec ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/syscheck ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/diff + +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/etc ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/etc + ifeq (${INSTALL_LOCALTIME},yes) +- $(call INSTALL_CMD,0440,root,${OSSEC_GROUP}) /etc/localtime ${PREFIX}/etc ++ $(call INSTALL_CMD,0440) /etc/localtime ${PREFIX}/etc + endif + ifeq (${INSTALL_RESOLVCONF},yes) +- $(call INSTALL_CMD,0440,root,${OSSEC_GROUP}) /etc/resolv.conf ${PREFIX}/etc ++ $(call INSTALL_CMD,0440) /etc/resolv.conf ${PREFIX}/etc + endif + +- $(call INSTALL_CMD,1550,root,${OSSEC_GROUP}) -d ${PREFIX}/tmp ++ $(call INSTALL_CMD,1550) -d ${PREFIX}/tmp + + ifneq (,$(wildcard /etc/TIMEZONE)) +- $(call INSTALL_CMD,440,root,${OSSEC_GROUP}) /etc/TIMEZONE ${PREFIX}/etc/ ++ $(call INSTALL_CMD,440) /etc/TIMEZONE ${PREFIX}/etc/ + endif + # Solaris Needs some extra files + ifeq (${uname_S},SunOS) +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/usr/share/lib/zoneinfo/ ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/usr/share/lib/zoneinfo/ + cp -r /usr/share/lib/zoneinfo/* ${PREFIX}/usr/share/lib/zoneinfo/ + endif +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) -b ../etc/internal_options.conf ${PREFIX}/etc/ ++ $(call INSTALL_CMD,0640) -b ../etc/internal_options.conf ${PREFIX}/etc/ + ifeq (,$(wildcard ${PREFIX}/etc/local_internal_options.conf)) +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ../etc/local_internal_options.conf ${PREFIX}/etc/local_internal_options.conf ++ $(call INSTALL_CMD,0640) ../etc/local_internal_options.conf ${PREFIX}/etc/local_internal_options.conf + endif + ifeq (,$(wildcard ${PREFIX}/etc/client.keys)) +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) /dev/null ${PREFIX}/etc/client.keys ++ $(call INSTALL_CMD,0640) /dev/null ${PREFIX}/etc/client.keys + endif + ifeq (,$(wildcard ${PREFIX}/etc/ossec.conf)) + ifneq (,$(wildcard ../etc/ossec.mc)) +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ../etc/ossec.mc ${PREFIX}/etc/ossec.conf ++ $(call INSTALL_CMD,0640) ../etc/ossec.mc ${PREFIX}/etc/ossec.conf + else +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ${OSSEC_CONF_SRC} ${PREFIX}/etc/ossec.conf ++ $(call INSTALL_CMD,0640) ${OSSEC_CONF_SRC} ${PREFIX}/etc/ossec.conf + endif + endif + +- $(call INSTALL_CMD,0770,root,${OSSEC_GROUP}) -d ${PREFIX}/etc/shared +- $(call INSTALL_CMD,0640,${OSSEC_USER},${OSSEC_GROUP}) rootcheck/db/*.txt ${PREFIX}/etc/shared/ ++ $(call INSTALL_CMD,0770) -d ${PREFIX}/etc/shared ++ $(call INSTALL_CMD,0640) rootcheck/db/*.txt ${PREFIX}/etc/shared/ + +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/active-response +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/active-response/bin +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/agentless +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) agentlessd/scripts/* ${PREFIX}/agentless/ ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/active-response ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/active-response/bin ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/agentless ++ $(call INSTALL_CMD,0550) agentlessd/scripts/* ${PREFIX}/agentless/ + +- $(call INSTALL_CMD,0700,root,${OSSEC_GROUP}) -d ${PREFIX}/.ssh ++ $(call INSTALL_CMD,0700) -d ${PREFIX}/.ssh + +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) ../active-response/*.sh ${PREFIX}/active-response/bin/ +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) ../active-response/firewalls/*.sh ${PREFIX}/active-response/bin/ ++ $(call INSTALL_CMD,0550) ../active-response/*.sh ${PREFIX}/active-response/bin/ ++ $(call INSTALL_CMD,0550) ../active-response/firewalls/*.sh ${PREFIX}/active-response/bin/ + +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/var +- $(call INSTALL_CMD,0770,root,${OSSEC_GROUP}) -d ${PREFIX}/var/run ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/var ++ $(call INSTALL_CMD,0770) -d ${PREFIX}/var/run + + + install-server-generic: install-common +- $(call INSTALL_CMD,0660,${OSSEC_USER},${OSSEC_GROUP}) /dev/null ${PREFIX}/logs/active-responses.log +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs/archives +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs/alerts +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/logs/firewall +- +- $(call INSTALL_CMD,0550,root,0) ossec-agentlessd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-analysisd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-monitord ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-reportd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-maild ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-remoted ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-logtest ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-csyslogd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-authd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-dbd ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) ossec-makelists ${PREFIX}/bin +- $(call INSTALL_CMD,0550,root,0) verify-agent-conf ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) clear_stats ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) list_agents ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) ossec-regex ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) syscheck_update ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) agent_control ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) syscheck_control ${PREFIX}/bin/ +- $(call INSTALL_CMD,0550,root,0) rootcheck_control ${PREFIX}/bin/ +- +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/stats +- $(call INSTALL_CMD,0550,root,${OSSEC_GROUP}) -d ${PREFIX}/rules ++ $(call INSTALL_CMD,0660) /dev/null ${PREFIX}/logs/active-responses.log ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/logs/archives ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/logs/alerts ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/logs/firewall ++ ++ $(call INSTALL_CMD,0550) ossec-agentlessd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-analysisd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-monitord ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-reportd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-maild ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-remoted ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-logtest ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-csyslogd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-authd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-dbd ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) ossec-makelists ${PREFIX}/bin ++ $(call INSTALL_CMD,0550) verify-agent-conf ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) clear_stats ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) list_agents ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) ossec-regex ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) syscheck_update ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) agent_control ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) syscheck_control ${PREFIX}/bin/ ++ $(call INSTALL_CMD,0550) rootcheck_control ${PREFIX}/bin/ ++ ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/stats ++ $(call INSTALL_CMD,0550) -d ${PREFIX}/rules + ifneq (,$(wildcard ${PREFIX}/rules/local_rules.xml)) + cp ${PREFIX}/rules/local_rules.xml ${PREFIX}/rules/local_rules.xml.installbackup +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) -b ../etc/rules/*.xml ${PREFIX}/rules +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ${PREFIX}/rules/local_rules.xml.installbackup ${PREFIX}/rules/local_rules.xml ++ $(call INSTALL_CMD,0640) -b ../etc/rules/*.xml ${PREFIX}/rules ++ $(call INSTALL_CMD,0640) ${PREFIX}/rules/local_rules.xml.installbackup ${PREFIX}/rules/local_rules.xml + rm ${PREFIX}/rules/local_rules.xml.installbackup + else +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) -b ../etc/rules/*.xml ${PREFIX}/rules ++ $(call INSTALL_CMD,0640) -b ../etc/rules/*.xml ${PREFIX}/rules + endif + +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/fts ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/fts + +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/rootcheck ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/rootcheck + +- $(call INSTALL_CMD,0750,${OSSEC_USER_REM},${OSSEC_GROUP}) -d ${PREFIX}/queue/agent-info +- $(call INSTALL_CMD,0750,${OSSEC_USER},${OSSEC_GROUP}) -d ${PREFIX}/queue/agentless ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/agent-info ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/agentless + +- $(call INSTALL_CMD,0750,${OSSEC_USER_REM},${OSSEC_GROUP}) -d ${PREFIX}/queue/rids ++ $(call INSTALL_CMD,0750) -d ${PREFIX}/queue/rids + +- $(call INSTALL_CMD,0640,root,${OSSEC_GROUP}) ../etc/decoder.xml ${PREFIX}/etc/ ++ $(call INSTALL_CMD,0640) ../etc/decoder.xml ${PREFIX}/etc/ + + rm -f ${PREFIX}/etc/shared/merged.mg + +-- +2.25.1 + diff --git a/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb b/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb new file mode 100644 index 000000000..10354a7d2 --- /dev/null +++ b/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb @@ -0,0 +1,161 @@ +SUMMARY = "A full platform to monitor and control your systems" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d625d1520b5e38faefb81cf9772badc9" + + +DEPENDS = "openssl libpcre2 zlib libevent" +SRC_URI = "git://github.com/ossec/ossec-hids;branch=master \ + file://0001-Makefile-drop-running-scrips-install.patch \ + file://0002-Makefile-don-t-set-uid-gid.patch \ + " + +SRCREV = "1303c78e2c67d7acee0508cb00c3bc63baaa27c2" + +inherit autotools-brokensep useradd + +S = "${WORKDIR}/git" + +OSSEC_UID ?= "ossec" +OSSEC_RUID ?= "ossecr" +OSSEC_GID ?= "ossec" +OSSEC_EMAIL ?= "ossecm" + +do_configure[noexec] = "1" + +do_compile() { + cd ${S}/src + make PREFIX=${prefix} TARGET=local USE_SYSTEMD=No build +} + +do_install(){ + install -d ${D}${sysconfdir} + install -d ${D}/var/ossec/${sysconfdir} + + cd ${S}/src + make TARGET=local PREFIX=${D}/var/ossec install + + echo "DIRECTORY=\"/var/ossec\"" > ${D}/${sysconfdir}/ossec-init.conf + echo "VERSION=\"${PV}\"" >> ${D}/${sysconfdir}/ossec-init.conf + echo "DATE=\"`date`\"" >> ${D}/${sysconfdir}/ossec-init.conf + echo "TYPE=\"local\"" >> ${D}/${sysconfdir}/ossec-init.conf + chmod 600 ${D}/${sysconfdir}/ossec-init.conf + install -m 640 ${D}/${sysconfdir}/ossec-init.conf ${D}/var/ossec/${sysconfdir}/ossec-init.conf +} + +pkg_postinst_ontarget_${PN} () { + DIR="/var/ossec" + + usermod -g ossec -G ossec -a root + + # Default for all directories + chmod -R 550 ${DIR} + chown -R root:${OSSEC_GID} ${DIR} + + # To the ossec queue (default for agentd to read) + chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/queue/ossec + chmod -R 770 ${DIR}/queue/ossec + + # For the logging user + chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/logs + chmod -R 750 ${DIR}/logs + chmod -R 775 ${DIR}/queue/rids + touch ${DIR}/logs/ossec.log + chown ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/logs/ossec.log + chmod 664 ${DIR}/logs/ossec.log + + chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/queue/diff + chmod -R 750 ${DIR}/queue/diff + chmod 740 ${DIR}/queue/diff/* > /dev/null 2>&1 || true + + # For the etc dir + chmod 550 ${DIR}/etc + chown -R root:${OSSEC_GID} ${DIR}/etc + if [ -f /etc/localtime ]; then + cp -pL /etc/localtime ${DIR}/etc/; + chmod 555 ${DIR}/etc/localtime + chown root:${OSSEC_GID} ${DIR}/etc/localtime + fi + + if [ -f /etc/TIMEZONE ]; then + cp -p /etc/TIMEZONE ${DIR}/etc/; + chmod 555 ${DIR}/etc/TIMEZONE + fi + + # More files + chown root:${OSSEC_GID} ${DIR}/etc/internal_options.conf + chown root:${OSSEC_GID} ${DIR}/etc/local_internal_options.conf >/dev/null 2>&1 || true + chown root:${OSSEC_GID} ${DIR}/etc/client.keys >/dev/null 2>&1 || true + chown root:${OSSEC_GID} ${DIR}/agentless/* + chown ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/.ssh + chown root:${OSSEC_GID} ${DIR}/etc/shared/* + + chmod 550 ${DIR}/etc + chmod 440 ${DIR}/etc/internal_options.conf + chmod 660 ${DIR}/etc/local_internal_options.conf >/dev/null 2>&1 || true + chmod 440 ${DIR}/etc/client.keys >/dev/null 2>&1 || true + chmod 550 ${DIR}/agentless/* + chmod 700 ${DIR}/.ssh + chmod 770 ${DIR}/etc/shared + chmod 660 ${DIR}/etc/shared/* + + # For the /var/run + chmod 770 ${DIR}/var/run + chown root:${OSSEC_GID} ${DIR}/var/run + + # For util.sh + chown root:${OSSEC_GID} ${DIR}/bin/util.sh + chmod +x ${DIR}/bin/util.sh + + # For binaries and active response + chmod 755 ${DIR}/active-response/bin/* + chown root:${OSSEC_GID} ${DIR}/active-response/bin/* + chown root:${OSSEC_GID} ${DIR}/bin/* + chmod 550 ${DIR}/bin/* + + # For ossec.conf + chown root:${OSSEC_GID} ${DIR}/etc/ossec.conf + chmod 660 ${DIR}/etc/ossec.conf + + # Debconf + . /usr/share/debconf/confmodule + db_input high ossec-hids-agent/server-ip || true + db_go + + db_get ossec-hids-agent/server-ip + SERVER_IP=$RET + + sed -i "s/[^<]\+<\/server-ip>/${SERVER_IP}<\/server-ip>/" ${DIR}/etc/ossec.conf + db_stop + + # ossec-init.conf + if [ -e ${DIR}/etc/ossec-init.conf ] && [ -d /etc/ ]; then + if [ -e /etc/ossec-init.conf ]; then + rm -f /etc/ossec-init.conf + fi + ln -s ${DIR}/etc/ossec-init.conf /etc/ossec-init.conf + fi + + # init.d/ossec file + if [ -x ${DIR}/etc/init.d/ossec ] && [ -d /etc/init.d/ ]; then + if [ -e /etc/init.d/ossec ]; then + rm -f /etc/init.d/ossec + fi + ln -s ${DIR}/etc/init.d/ossec /etc/init.d/ossec + fi + + # Service + if [ -x /etc/init.d/ossec ]; then + update-rc.d -f ossec defaults + fi + + # Delete tmp directory + if [ -d ${OSSEC_HIDS_TMP_DIR} ]; then + rm -r ${OSSEC_HIDS_TMP_DIR} + fi +} + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home-dir /var/ossec -g ossec --shell /bin/false ossec" +GROUPADD_PARAM_${PN} = "--system ossec" + +RDEPENDS_${PN} = "openssl bash" diff --git a/meta-security/recipes-security/libseccomp/files/run-ptest b/meta-security/recipes-security/libseccomp/files/run-ptest deleted file mode 100644 index 54b4a63cd..000000000 --- a/meta-security/recipes-security/libseccomp/files/run-ptest +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -cd tests -./regression -a diff --git a/meta-security/recipes-security/libseccomp/libseccomp_2.5.1.bb b/meta-security/recipes-security/libseccomp/libseccomp_2.5.1.bb deleted file mode 100644 index 40ac1a890..000000000 --- a/meta-security/recipes-security/libseccomp/libseccomp_2.5.1.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "interface to seccomp filtering mechanism" -DESCRIPTION = "The libseccomp library provides and easy to use, platform independent,interface to the Linux Kernel's syscall filtering mechanism: seccomp." -SECTION = "security" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://LICENSE;beginline=0;endline=1;md5=8eac08d22113880357ceb8e7c37f989f" - -DEPENDS += "gperf-native" - -SRCREV = "4bf70431a339a2886ab8c82e9a45378f30c6e6c7" - -SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.5 \ - file://run-ptest \ - " - -COMPATIBLE_HOST_riscv32 = "null" - -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig ptest - -PACKAGECONFIG ??= "" -PACKAGECONFIG[python] = "--enable-python, --disable-python, python3" - -DISABLE_STATIC = "" - -do_compile_ptest() { - oe_runmake -C tests check-build -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - install -d ${D}${PTEST_PATH}/tools - for file in $(find tests/* -executable -type f); do - install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests - done - for file in $(find tests/*.tests -type f); do - install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests - done - for file in $(find tools/* -executable -type f); do - install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools - done -} - -FILES_${PN} = "${bindir} ${libdir}/${BPN}.so*" -FILES_${PN}-dbg += "${libdir}/${PN}/tests/.debug/* ${libdir}/${PN}/tools/.debug" - -RDEPENDS_${PN}-ptest = "coreutils bash" -- cgit v1.2.3 From c926e17c956a1babdf42d31f644bf0eedfa7f5f6 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 7 May 2021 16:11:35 -0500 Subject: poky: subtree update:1203d1f24d..2dcd1f2a21 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alejandro Enedino Hernandez Samaniego (2): python3: Improve logging, syntax and update deprecated modules to create_manifest python3: Upgrade 3.9.2 -> 3.9.4 Alexander Kanavin (22): scripts/oe-debuginfod: correct several issues libmicrohttpd: add a recipe from meta-oe maintainers.inc: add libmicrohttpd entry xwayland: add a standalone recipe weston: use standalone xwayland instead of outdated xserver-xorg version elfutils: correct debuginfod builds on x32 elfutils: adjust ptests for correct debuginfod testing default-distrovars.inc: add debuginfod to default DISTRO_FEATURES oeqa: tear down oeqa decorators if one of them raises an exception in setup meta/lib/oeqa/core/tests/cases/timeout.py: add a testcase for the previous fix core-image-weston: add sdk/ptest images oeqa/core/tests/test_data.py: use weston image instead of sato oeqa/selftest: transition to weston images core-image-multilib-example: base on weston, and not sato dev-manual/common-tasks.rst: correct the documentation for debuginfod diffoscope: add native libraries to LD_LIBRARY_PATH Revert "oeqa: Set LD_LIBRARY_PATH when executing native commands" boost: correct upstream version check vte: use tarballs again gdk-pixbuf: update 2.40.0 -> 2.42.6 glib-2.0: update 2.68.0 -> 2.68.1 gnu-config: update to latest revision Anatol Belski (1): cross-canadian: Whitelist "mingw32" as TARGET_OS Anders Wallin (3): lttng-tools: Fix missing legacy test files lttng-tools: Fix path for test_python_looging scripts/contrib/image-manifest: add new script Andreas Müller (1): xwayland: remove protocol.txt - it clashes with xserver-xorg Anthony Bagwell (1): systemd: upgrade 247.4 -> 247.6 Anuj Mittal (2): Revert "qemu: fix CVE-2021-3392" qemu: fix CVE-2021-3392 Armin Kuster (6): binutils: rename BRANCH var libseccomp: move recipe from meta-security to core gnutls: Enable seccomp if FEATURE is set systemd: Enable seccomp if FEATURE is set qemu: Enable seccomp if FEATURE is set default-distrovars.inc: Add seccomp to DISTRO_FEATURES_DEFAULT Bastian Krause (1): ccache: add packageconfig docs option Bruce Ashfield (20): kern-tools: add dropped options to audit output linux-yocto/5.4: update to v5.4.109 linux-yocto/5.10: update to v5.10.27 linux-yocto/5.10: BSP configuration fixes linux-yocto/5.10: update to v5.10.29 linux-yocto/5.4: update to v5.4.111 linux-yocto/5.10: update to v5.10.30 linux-yocto-rt/5.10: update to -rt34 linux-yocto/5.4: update to v5.4.112 linux-yocto/5.4: fix arm defconfig warnings linux-yocto/5.10: fix arm defconfig warnings linux-yocto/5.10: aufs fixes linux-yocto/5.10: qemuriscv32.cfg: RV32 only supports 1G physical memory linux-yocto/5.10: update to v5.10.32 perf: fix python-audit RDEPENDS linux-yocto/5.4: update to v5.4.114 linux-yocto/5.10: update to v5.10.34 linux-yocto/5.4: update to v5.4.116 linux-yocto/5.10: qemuppc32: reduce serial shutdown issues yocto-check-layer: Only note a layer without a conf/layer.conf (versus error) Changqing Li (2): libpam: make volatile files created successfully gcr: fix one parallel build failure Chen Qi (3): busybox: fix CVE-2021-28831 weston: fix build failure due to race condition rsync: fix CVE-2020-14387 Christophe Chapuis (1): rootfs.py: find .ko.gz and .ko.xz kernel modules as well Daniel Ammann (1): archiver: Fix typos Devendra Tewari (2): bitbake: lib/bb: Add bb.utils.rename() helper function and use for renaming classes/lib/scripts: Use bb.utils.rename() instead of os.rename() Diego Sueiro (3): oeqa/selftest/bblayers: Add test case for bitbake-layers layerindex-show-depends bitbake: layerindex: Fix bitbake-layers layerindex-show-depends command bitbake: layerindex: Add --fetchdir parameter to layerindex-fetch Douglas Royds (2): Revert "externalsrc: Detect code changes in submodules" externalsrc: Detect code changes in submodules Gavin Li (1): kmod: do not symlink config.guess/config.sub during autoreconf Harald Brinkmann (1): bitbake: fetch/svn: Fix parsing revision of SVN repos with redirects He Zhe (1): linux-yocto-dev: add features/scsi/scsi-debug.scc features/gpio/mockup.scc to KERNEL_FEATURES Henning Schild (3): bitbake: fetch/git: add support for disabling shared clones on unpack bitbake: tests/fetch: deduplicate local git testing code bitbake: tests/fetch: add tests for local and remote "noshared" git fetching Jon Mason (1): oeqa/runtime: space needed Jonas Höppner (1): ltp: fix empty ltp-dev package Jose Quaresma (4): gstreamer1.0: update patch upstream status ptest-runner: libgcc must be installed for pthread_cancel to work gstreamer1.0: rename patches gstreamer1.0: update ptest patch Joshua Watt (2): bitbake: knotty: Re-enable command line logging levels classes/image: Use xargs to set file timestamps Kai Kang (2): cmake.bbclass: remove ${B} before cmake_do_configure kernel-yocto.bbclass: chdir to ${WORKDIR} for do_kernel_checkout Kevin Hao (3): modutils-initscripts: Bail out when no module is installed sysvinit-inittab/start_getty: Check /sys for the tty device existence Revert "inittab: Add getty launch on hvc0 for qemuppc64" Khairul Rohaizzat Jamaluddin (1): qemu: Fix CVE-2020-35517 Khem Raj (54): gcc: Upgrade to 10.3.0 bug-fix release glibc: Rename glibc src package gcc-runtime: Make DEBUG_PREFIX_MAP relative to S valgrind: Delete trailing whitespaces valgrind: Add glibc-src to ptest rdeps valgrind: Add libstdc++ debug symbols for ptest vte: Upgrade to 0.64.0 release systemd: Fix build on mips/musl epiphany: Add missing dependency on gnutls cups: Turn gnutls into a packageconfig knob wpa-supplicant: Enable openssl curl: Use openssl backend libpsl: Add config knobs for runtime/builtin conversion choices glib-networking: Prefer openssl backend instead of gnutls gstreamer1.0-plugins-bad: Add packageconfigs for hls crypto backends ca-certificates: Fix openssl runtime cert dependencies weston: Drop loading xwayland.so module elfutils: Make 64bit time_t fix generic binutils: Fix linking failures when using dwarf-5 go: Use dl.google.com for SRC_URI musl: Update to latest master llvm: Upgrade to LLVM 12 release python3-docutils: Upgrade to 0.17.1 python3-markupsafe: Enable ptests python3-jinja2: Enable ptests python3-pyyaml: Add recipe apt: Fix build on musl when seccomp is enabled default-distrovars.inc: Remove seccomp for riscv32 gcc-target: Create a LTO plugin symlink in bfd-plugins directory bitbake.conf: Use gcc-nm as default NM gcc-cross: Install linker LTO plugin for binutils tools gcc-cross-canadian: Install LTO linker plugin to BFD searchable location gnutls: Point to staging area for finding seccomp libs and includes libjpeg-turbo: Use --reproducible option for nasm libid3tag: Filter -ffile-prefix-map too openssl: Filter out -ffile-prefix-map as well ltp: Filter out -ffile-prefix-map gcc-runtime: Fix __FILE__ related reproducablity issues reproducible_build.bbclass: Enable -Wdate-time pkgconfig: Fix nativesdk builds for mingw sdk hosts m4: Do not use SIGSTKSZ bluez: Fix shadowing of pause function from libc valgrind: Disable leak_cpp_interior test findutils: Do not use SIGSTKSZ bash: Include files needed for run-heredoc ptest libpam: Provide needed env for tst-pam_start_confdir ptest cml1.bbclass: Return sorted list of cfg files busybox: Enable long options for enabled applets webkitgtk: Fix reproducibility in minibrowser webkitgtk: Update patch status libgcc-initial: Do not build fp128 to decimal ppc functions gcc: Upgrade to GCC 11 busybox: Fix reproducibility strace: Upgrade to 5.12 Konrad Weihmann (2): cpan-base: set default UPSTREAM_CHECK_REGEX cve-update-db-native: skip on empty cpe23Uri Marek Vasut (1): linux-firmware: Package RSI 911x WiFi firmware Martin Jansa (2): xwayland: add opengl to REQUIRED_DISTRO_FEATURES ofono: prevent using bundled ell headers and fix build with ell-0.39 Michael Halstead (1): releases: update to include 3.3 Michael Opdenacker (7): dev-manual: fix code insertion manuals: simplify code insertion manuals: code insertion simplification over two lines bitbake: doc: bitbake-user-manual: simplify colon usage bitbake: doc: bitbake-user-manual: code insertion simplification over two lines dev-manual: update references to Docker installation instructions sanity.bbclass: mention CONNECTIVITY_CHECK_URIS in network failure message Mikko Rapeli (4): bitbake: bitbake: tests/fetch: fix test execution without .gitconfig bitbake: bitbake: tests/fetch: remove write protected files too lz4: use CFLAGS from bitbake unzip: use optimization from bitbake Mingli Yu (6): libxshmfence: Build fixes for riscv32 packagegroup-core-tools-profile: Remove valgrind for riscv32 packagegroup-core-tools-testapps.bb: Remove kexec for riscv32 libtool: make sure autoheader run before automake groff: not ship /usr/bin/grap2graph rpm: Upgrade to 4.16.1.3 Minjae Kim (1): qemu: fix CVE-2021-3392 Nicolas Dechesne (1): bitbake: doc: bitbake-user-manual: fix typo left over from Sphinx migration Niels Avonds (1): bitbake: fetch/gitsm: Fix crash when using git LFS and submodules Oleksandr Kravchuk (2): python3-setuptools: update to 56.0.0 autoconf-archive: update to 2021.02.19 Otavio Salvador (2): gstreamer1.0-plugins-base: Add 'viv-fb' OpenGL Window System option gstreamer1.0-plugins-base: Use bb.utils.filter to reduce code Paul Barker (10): bitbake: hashserv: Use generic ConnectionError bitbake: asyncrpc: Common implementation of RPC using json & asyncio bitbake: hashserv: Refactor to use asyncrpc bitbake: prserv: Drop obsolete python version check bitbake: prserv: Drop unused dump_db method bitbake: prserv: Add connect function prservice: Use new connect API bitbake: prserv: Use multiprocessing to auto start prserver bitbake: prserv: Extract daemonization from PRServer class bitbake: prserv: Handle requests in main thread Paulo Cesar Zaneti (1): perl: fix startperl configuration option for perl-native Peter Budny (1): lib/oe/terminal: Fix tmux new-session on older tmux versions (<1.9) Petr Vorel (1): ltp: Replace musl patches with do_patch[postfuncs] Przemyslaw Gorszkowski (2): bitbake: progress: LineFilterProgressHandler - Handle parsing line which ends with CR only bitbake: fetch/s3: Add progress handler for S3 cp command Randy MacLeod (2): sqlite3: upgrade 3.35.0 -> 3.35.3 oe-time-dd-test.sh: increase timeout to 15 sec Reto Schneider (2): license_image.bbclass: Detect broken symlinks license_image.bbclass: Fix symlink to generic license files Richard Purdie (32): oeqa/selftest: Hardcode test assumptions about heartbeat event timings pseudo: Upgrade to add trailing slashes ignore path fix oeqa/selftest: Ensure packages classes are set correctly for maintainers test layer.conf: Update to add post 3.3 release honister series sanity: Add error check for '%' in build path bitbake: runqueue: Fix deferred task issues bitbake: tinfoil/data_smart: Allow variable history emit() to function remotely sanity: Further improve directory sanity tests bitbake: bitbake-server: Remove now unneeded code bitbake: doc/user-manual-fetching: Remove basepath unpack parameter docs poky.conf: Post release version bump runqemu: Ensure we cleanup snapshot files after image run patchelf: Backport fix from upstream for note section overlap error pyyaml: Add missing HOMEPAGE yocto-check-layer: Avoid bug when iterating and autoadding dependencies libseccomp: Add MAINTAINERS entry and HOMEPAGE libseccomp: Fix reproducibility issue apt: Disable libseccomp libxcrypt: Update to 4.4.19 release and fix symbol version issues patchelf: Fix note section alignment issues bitbake: runqueue: Fix multiconfig deferred task sstate validity caching issue bitbake: runqueue: Handle deferred task rehashing in multiconfig builds patchelf: Fix alignment patch pybootchart/draw: Avoid divide by zero error yocto-uninative: Update to 3.1 which includes a patchelf fix Revert "perl: fix startperl configuration option for perl-native" bitbake: bin/bitbake-getvar: Add a new command to query a variable value (with history) bitbake: bitbake: Switch to post release version number 1.51.0 sanity.conf: Require bitbake 1.51.0 oeqa/qemurunner: Improve logging thread exit handling for qemu shutdown test oeqa/qemurunner: Handle path length issues for qmp socket lib/package_manager: Use shutil.copy instead of bb.utils.copyfile for intercepts Robert Joslyn (3): btrfs-tools: Update to 5.11.1 btrfs-tools: Add PACKAGECONFIG options btrfs-tools: Try to follow style guide Robert P. J. Day (3): sdk-manual: "beablebone" -> "beaglebone" sdk-manual: fix broken formatting of sample command bitbake.conf: sort MIRROR list, add missing SAMBA_MIRROR Ross Burton (4): glslang: strip whitespace in pkgconfig file insane: clean up some more warning messages bitbake: bitbake-server: ensure server timeout is a float oe-buildenv-internal: add BitBake's library to PYTHONPATH Sakib Sajal (12): oe-time-dd-test.sh: make executable oe-time-dd-test.sh: provide more information from "top" qemu: fix CVE-2021-20181 qemu: fix CVE-2020-29443 qemu: fix CVE-2021-20221 qemu: fix CVE-2021-3409 qemu: fix CVE-2021-3416 qemu: fix CVE-2021-20257 oe-time-dd-test.sh: collect cooker log when timeout is exceeded buildstats.bbclass: collect data in the same file. qemu: fix CVE-2020-27821 qemu: fix CVE-2021-20263 Samuli Piippo (1): assimp: BBCLASSEXTEND to native and nativesdk Saul Wold (4): pango: re-enable ptest qemu-system-native: install qmp python module qemurunner: Add support for qmp commands qemurunner: change warning to info Stefan Ghinea (3): wpa-supplicant: fix CVE-2021-30004 libssh2: fix build failure with option no-ecdsa xserver-xorg: fix CVE-2021-3472 Stefano Babic (1): libubootenv: upgrade 0.3.1 -> 0.3.2 Teoh Jay Shen (6): oeqa/manual/bsp-hw.json : remove boot_from_runlevel_3 and boot_from_runlevel_5 manual test oeqa/manual/bsp-hw.json : remove ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP manual test oeqa/manual/bsp-hw.json : remove standby and Test_if_LAN_device_works_well_after_resume_from_suspend_state manual test oeqa/manual/bsp-hw.json : remove click_terminal_icon_on_X_desktop manual test oeqa/manual/bsp-hw.json :remove Check_if_RTC_(Real_Time_Clock)_can_work_correctly manual test oeqa/manual/bsp-hw.json : remove Test_if_usb_hid_device_works_well_after_resume_from_suspend_state manual test Trevor Gamblin (2): nettle: upgrade 3.7.1 -> 3.7.2 ref-manual/variables.rst: Add incompatibility warning for SERIAL_CONSOLES_CHECK Ulrich Ölmann (1): arch-armv6m.inc: fix access rights Vinay Kumar (1): binutils: Fix CVE-2021-20197 Vineela Tummalapalli (1): Adding dunfell 3.1.7 to the switcher and release list. Wang Mingyu (6): at-spi2-core: upgrade 2.38.0 -> 2.40.0 babeltrace2: upgrade 2.0.3 -> 2.0.4 boost-build-native: upgrade 4.3.0 -> 4.4.1 libassuan: upgrade 2.5.4 -> 2.5.5 webkitgtk: upgrade 2.30.5 -> 2.30.6 vte: upgrade 0.62.2 -> 0.62.3 Wes Lindauer (1): oeqa/runtime/cases: Only disable/enable for current boot Yanfei Xu (1): parselogs: ignore floppy error on qemu-system-x86 at boot stage Yi Fan Yu (7): valgrind: update 3.16.1 -> 3.17.0 valgrind: Disable ptest swapcontext.vgtest valgrind: Fix ptest swapcontext.vgtest Revert "glib-2.0: add workaround to fix codegen.py.test failing" re2c: Upgrade 2.0.3 -> 2.1.1 valgrind: Enable drd/tests/bar_bad* ptest libevent: Increase ptest timing tolerance 50 ms -> 100 ms Zqiang (1): rt-tests: Update rt-tests hongxu (1): deb: apply postinstall on sdk wangmy (34): ell: upgrade 0.38 -> 0.39 dbus-glib: upgrade 0.110 -> 0.112 ccache: upgrade 4.2 -> 4.2.1 gcr: upgrade 3.38.1 -> 3.40.0 ghostscript: upgrade 9.53.3 -> 9.54.0 libsolv: upgrade 0.7.17 -> 0.7.18 glib-2.0: upgrade 2.66.7 -> 2.68.0 file: upgrade 5.39 -> 5.40 curl: upgrade 7.75.0 -> 7.76.0 acpica: upgrade 20210105 -> 20210331 help2man: upgrade 1.48.2 -> 1.48.3 libportal: upgrade 0.3 -> 0.4 libksba: upgrade 1.5.0 -> 1.5.1 go: upgrade 1.16.2 -> 1.16.3 libcap: upgrade 2.48 -> 2.49 libcomps: upgrade 0.1.15 -> 0.1.16 icu: upgrade 68.2 -> 69.1 mpg123: upgrade 1.26.4 -> 1.26.5 man-pages: upgrade 5.10 -> 5.11 go: update SRC_URI to use https protocol mesa: upgrade 21.0.1 -> 21.0.2 openssh: upgrade 8.5p1 -> 8.6p1 mtools: upgrade 4.0.26 -> 4.0.27 python3-cython: upgrade 0.29.22 -> 0.29.23 tiff: upgrade 4.2.0 -> 4.3.0 boost: upgrade 1.75.0 -> 1.76.0 wpebackend-fdo: upgrade 1.8.2 -> 1.8.3 mesa: upgrade 21.0.2 -> 21.0.3 gdb: upgrade 10.1 -> 10.2 glib-networking: upgrade 2.66.0 -> 2.68.1 glslang: upgrade 11.2.0 -> 11.4.0 hdparm: upgrade 9.60 -> 9.61 libhandy: upgrade 1.2.1 -> 1.2.2 libjitterentropy: upgrade 3.0.1 -> 3.0.2 zangrc (1): maintainers.inc: Modify email address zhengruoqin (19): epiphany: upgrade 3.38.2 -> 3.38.3 wpebackend-fdo: upgrade 1.8.0 -> 1.8.2 netbase: upgrade 6.2 -> 6.3 python3-dbusmock: upgrade 0.22.0 -> 0.23.0 python3-gitdb: upgrade 4.0.5 -> 4.0.7 libva: upgrade 2.10.0 -> 2.11.0 ruby: upgrade 3.0.0 -> 3.0.1 libva-utils: upgrade 2.10.0 -> 2.11.1 libdazzle: upgrade 3.38.0 -> 3.40.0 librepo: upgrade 1.13.0 -> 1.14.0 libdrm: upgrade 2.4.104 -> 2.4.105 python3-pygobject: upgrade 3.38.0 -> 3.40.1 libedit: upgrade 20210216-3.1 -> 20210419-3.1 libhandy: upgrade 1.2.0 -> 1.2.1 libical: upgrade 3.0.9 -> 3.0.10 libsolv: upgrade 0.7.18 -> 0.7.19 libmicrohttpd: upgrade 0.9.72 -> 0.9.73 python3-numpy: upgrade 1.20.1 -> 1.20.2 wireless-regdb: upgrade 2020.11.20 -> 2021.04.21 Signed-off-by: Andrew Geissler Change-Id: Ibdaea694cae40b0749d472bf08b53002a45b31d7 --- poky/bitbake/bin/bitbake | 2 +- poky/bitbake/bin/bitbake-getvar | 48 + poky/bitbake/bin/bitbake-server | 4 +- .../bitbake-user-manual-execution.rst | 28 +- .../bitbake-user-manual-fetching.rst | 54 +- .../bitbake-user-manual-hello.rst | 42 +- .../bitbake-user-manual-intro.rst | 38 +- .../bitbake-user-manual-metadata.rst | 172 ++-- .../bitbake-user-manual-ref-variables.rst | 68 +- poky/bitbake/lib/bb/__init__.py | 2 +- poky/bitbake/lib/bb/asyncrpc/__init__.py | 31 + poky/bitbake/lib/bb/asyncrpc/client.py | 145 +++ poky/bitbake/lib/bb/asyncrpc/serv.py | 218 ++++ poky/bitbake/lib/bb/command.py | 12 + poky/bitbake/lib/bb/fetch2/git.py | 8 +- poky/bitbake/lib/bb/fetch2/s3.py | 41 +- poky/bitbake/lib/bb/fetch2/svn.py | 2 +- poky/bitbake/lib/bb/progress.py | 7 +- poky/bitbake/lib/bb/runqueue.py | 24 +- poky/bitbake/lib/bb/server/process.py | 2 +- poky/bitbake/lib/bb/siggen.py | 8 +- poky/bitbake/lib/bb/tests/fetch.py | 90 +- poky/bitbake/lib/bb/tinfoil.py | 4 + poky/bitbake/lib/bb/ui/knotty.py | 8 + poky/bitbake/lib/bb/utils.py | 18 +- poky/bitbake/lib/bblayers/layerindex.py | 16 +- poky/bitbake/lib/hashserv/client.py | 147 +-- poky/bitbake/lib/hashserv/server.py | 210 +--- poky/bitbake/lib/hashserv/tests.py | 3 +- poky/bitbake/lib/prserv/serv.py | 367 +++---- poky/documentation/brief-yoctoprojectqs/index.rst | 2 +- poky/documentation/bsp-guide/bsp.rst | 56 +- poky/documentation/dev-manual/common-tasks.rst | 1054 +++++++------------- poky/documentation/dev-manual/qemu.rst | 24 +- poky/documentation/dev-manual/start.rst | 58 +- poky/documentation/kernel-dev/advanced.rst | 87 +- poky/documentation/kernel-dev/common.rst | 225 ++--- poky/documentation/kernel-dev/concepts-appx.rst | 6 +- poky/documentation/kernel-dev/faq.rst | 6 +- poky/documentation/kernel-dev/maint-appx.rst | 15 +- poky/documentation/overview-manual/concepts.rst | 51 +- .../overview-manual/development-environment.rst | 6 +- poky/documentation/poky.yaml | 16 +- poky/documentation/profile-manual/intro.rst | 10 +- poky/documentation/profile-manual/usage.rst | 184 ++-- poky/documentation/ref-manual/classes.rst | 87 +- .../documentation/ref-manual/devtool-reference.rst | 51 +- poky/documentation/ref-manual/faq.rst | 20 +- poky/documentation/ref-manual/features.rst | 3 +- poky/documentation/ref-manual/images.rst | 5 +- poky/documentation/ref-manual/kickstart.rst | 6 +- poky/documentation/ref-manual/migration-1.3.rst | 7 +- poky/documentation/ref-manual/migration-1.4.rst | 6 +- poky/documentation/ref-manual/migration-1.6.rst | 8 +- poky/documentation/ref-manual/migration-1.7.rst | 6 +- poky/documentation/ref-manual/migration-1.8.rst | 6 +- poky/documentation/ref-manual/migration-2.0.rst | 9 +- poky/documentation/ref-manual/migration-2.1.rst | 9 +- poky/documentation/ref-manual/migration-2.2.rst | 14 +- poky/documentation/ref-manual/migration-2.3.rst | 16 +- poky/documentation/ref-manual/migration-2.5.rst | 8 +- poky/documentation/ref-manual/migration-2.6.rst | 15 +- poky/documentation/ref-manual/migration-3.1.rst | 7 +- poky/documentation/ref-manual/migration-3.2.rst | 6 +- poky/documentation/ref-manual/qa-checks.rst | 19 +- poky/documentation/ref-manual/structure.rst | 18 +- .../ref-manual/system-requirements.rst | 69 +- poky/documentation/ref-manual/tasks.rst | 48 +- poky/documentation/ref-manual/terms.rst | 3 +- poky/documentation/ref-manual/variables.rst | 873 ++++++---------- poky/documentation/releases.rst | 7 + .../sdk-manual/appendix-customizing.rst | 27 +- poky/documentation/sdk-manual/appendix-obtain.rst | 38 +- poky/documentation/sdk-manual/extensible.rst | 81 +- poky/documentation/sdk-manual/using.rst | 6 +- poky/documentation/sdk-manual/working-projects.rst | 60 +- poky/documentation/sphinx-static/switchers.js | 5 +- poky/meta-poky/conf/distro/poky.conf | 4 +- poky/meta-selftest/conf/layer.conf | 2 +- poky/meta-skeleton/conf/layer.conf | 2 +- .../images/core-image-multilib-example.bb | 2 +- poky/meta/classes/archiver.bbclass | 8 +- poky/meta/classes/buildhistory.bbclass | 2 +- poky/meta/classes/buildstats.bbclass | 32 +- poky/meta/classes/cmake.bbclass | 8 +- poky/meta/classes/cml1.bbclass | 2 +- poky/meta/classes/cpan-base.bbclass | 9 + poky/meta/classes/cross-canadian.bbclass | 2 +- poky/meta/classes/externalsrc.bbclass | 7 +- poky/meta/classes/image.bbclass | 2 +- poky/meta/classes/insane.bbclass | 12 +- poky/meta/classes/kernel-yocto.bbclass | 2 +- poky/meta/classes/license_image.bbclass | 20 +- poky/meta/classes/package.bbclass | 4 +- poky/meta/classes/populate_sdk_ext.bbclass | 4 +- poky/meta/classes/reproducible_build.bbclass | 5 +- poky/meta/classes/sanity.bbclass | 28 +- poky/meta/classes/sstate.bbclass | 8 +- poky/meta/classes/testimage.bbclass | 6 + poky/meta/classes/update-alternatives.bbclass | 4 +- poky/meta/conf/bitbake.conf | 10 +- .../conf/distro/include/default-distrovars.inc | 5 +- poky/meta/conf/distro/include/maintainers.inc | 45 +- poky/meta/conf/distro/include/tcmode-default.inc | 4 +- poky/meta/conf/distro/include/yocto-uninative.inc | 8 +- poky/meta/conf/layer.conf | 4 +- poky/meta/conf/machine/include/arm/arch-armv6m.inc | 0 poky/meta/conf/sanity.conf | 2 +- poky/meta/lib/oe/package_manager/__init__.py | 2 +- poky/meta/lib/oe/package_manager/deb/__init__.py | 6 +- poky/meta/lib/oe/package_manager/deb/sdk.py | 4 + poky/meta/lib/oe/package_manager/ipk/__init__.py | 2 +- poky/meta/lib/oe/prservice.py | 2 +- poky/meta/lib/oe/rootfs.py | 8 +- poky/meta/lib/oe/terminal.py | 16 +- poky/meta/lib/oeqa/core/case.py | 9 +- poky/meta/lib/oeqa/core/decorator/oetimeout.py | 5 +- poky/meta/lib/oeqa/core/target/qemu.py | 6 + poky/meta/lib/oeqa/core/target/ssh.py | 17 +- poky/meta/lib/oeqa/core/tests/cases/timeout.py | 13 + poky/meta/lib/oeqa/core/tests/test_data.py | 2 +- poky/meta/lib/oeqa/core/tests/test_decorators.py | 6 + poky/meta/lib/oeqa/manual/bsp-hw.json | 278 ------ poky/meta/lib/oeqa/runtime/cases/date.py | 4 +- poky/meta/lib/oeqa/runtime/cases/parselogs.py | 2 + poky/meta/lib/oeqa/runtime/cases/rtc.py | 4 +- poky/meta/lib/oeqa/runtime/decorator/package.py | 4 +- .../lib/oeqa/selftest/cases/_sstatetests_noauto.py | 4 +- poky/meta/lib/oeqa/selftest/cases/bblayers.py | 5 + poky/meta/lib/oeqa/selftest/cases/buildoptions.py | 10 +- poky/meta/lib/oeqa/selftest/cases/distrodata.py | 2 +- poky/meta/lib/oeqa/selftest/cases/imagefeatures.py | 6 +- poky/meta/lib/oeqa/selftest/cases/runqemu.py | 9 +- poky/meta/lib/oeqa/selftest/cases/runtime_test.py | 2 - poky/meta/lib/oeqa/selftest/cases/sstatetests.py | 10 +- poky/meta/lib/oeqa/selftest/cases/wic.py | 6 +- poky/meta/lib/oeqa/targetcontrol.py | 3 + poky/meta/lib/oeqa/utils/commands.py | 3 - poky/meta/lib/oeqa/utils/dump.py | 32 +- poky/meta/lib/oeqa/utils/qemurunner.py | 92 +- poky/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb | 30 - poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb | 30 + poky/meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...e-pause-funciton-to-avoid-shadowing-glibc.patch | 48 + ...ild-with-ell-0.39-by-restoring-unlikely-m.patch | 28 + poky/meta/recipes-connectivity/ofono/ofono_1.31.bb | 10 +- .../recipes-connectivity/openssh/openssh_8.5p1.bb | 179 ---- .../recipes-connectivity/openssh/openssh_8.6p1.bb | 179 ++++ ...trip-sysroot-and-debug-prefix-map-from-co.patch | 17 +- .../wpa-supplicant/CVE-2021-30004.patch | 123 +++ .../wpa-supplicant/wpa-supplicant_2.9.bb | 3 +- .../recipes-core/busybox/busybox-inittab_1.33.0.bb | 3 - ...ompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch | 58 ++ ...iles-Use-C-locale-when-calling-sed-on-glo.patch | 28 + .../meta/recipes-core/busybox/busybox/longopts.cfg | 15 + poky/meta/recipes-core/busybox/busybox_1.33.0.bb | 5 +- poky/meta/recipes-core/dbus/dbus-glib_0.110.bb | 39 - poky/meta/recipes-core/dbus/dbus-glib_0.112.bb | 39 + poky/meta/recipes-core/ell/ell_0.38.bb | 24 - poky/meta/recipes-core/ell/ell_0.39.bb | 24 + ...chine-correctly-when-building-with-mingw3.patch | 14 +- ...ts-codegen.py-bump-timeout-to-100-seconds.patch | 4 +- ...Drop-use-of-volatile-from-get_type-macros.patch | 403 -------- ...en.py-removing-unecessary-print-statement.patch | 38 - ...ix-non-atomic-access-to-a-shared-variable.patch | 44 - ...ix-non-atomic-access-to-a-shared-variable.patch | 90 -- ...unnecessary-volatile-qualifiers-from-test.patch | 93 -- ...on-atomic-access-to-some-shared-variables.patch | 702 ------------- ...unnecessary-volatile-qualifiers-from-test.patch | 35 - ...tion-Drop-unnecessary-volatile-qualifiers.patch | 111 --- ...Drop-unnecessary-volatile-qualifiers-from.patch | 95 -- ...necessary-volatile-qualifiers-from-intern.patch | 207 ---- ...ue-Fix-unlocked-access-to-shared-variable.patch | 51 - ...unnecessary-volatile-qualifiers-from-test.patch | 126 --- ...on-atomic-access-to-some-shared-variables.patch | 103 -- ...p-unnecessary-volatile-qualifiers-from-in.patch | 180 ---- ...p-unnecessary-volatile-qualifiers-from-ma.patch | 56 -- ...nnecessary-volatile-qualifiers-from-inter.patch | 169 ---- ...p-unnecessary-volatile-qualifiers-from-in.patch | 126 --- ...rop-unnecessary-volatile-qualifiers-from-.patch | 44 - ...p-volatile-qualifier-from-gatomicrefcount.patch | 35 - ...y-Drop-volatile-qualifier-from-GAtomicArr.patch | 44 - ...p-volatile-qualifier-from-GObject.ref_cou.patch | 33 - ...unnecessary-volatile-qualifiers-from-test.patch | 51 - ...unnecessary-volatile-qualifiers-from-conf.patch | 38 - ...e-Avoid-a-warning-about-a-statement-with-.patch | 33 - ...ests-Add-comment-to-volatile-atomic-tests.patch | 49 - ...-g_atomic-primitives-correctly-in-destruc.patch | 77 -- .../0026-gtype-Fix-some-typos-in-comments.patch | 47 - ...ome-missing-atomic-accesses-to-init_state.patch | 76 -- ...ix-a-pointer-mismatch-with-an-atomic-load.patch | 29 - ...s-Document-not-to-use-volatile-qualifiers.patch | 258 ----- .../glib-2.0/glib-2.0/relocate-modules.patch | 10 +- poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb | 86 -- poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb | 54 + .../glib-networking/glib-networking_2.66.0.bb | 36 - .../glib-networking/glib-networking_2.68.1.bb | 38 + poky/meta/recipes-core/glibc/glibc-package.inc | 2 +- ...figure.ac-do-not-use-compute-symver-floor.patch | 32 - .../libxcrypt/files/fix_cflags_handling.patch | 24 + .../libxcrypt/libxcrypt-compat_4.4.18.bb | 18 - .../libxcrypt/libxcrypt-compat_4.4.19.bb | 18 + poky/meta/recipes-core/libxcrypt/libxcrypt.inc | 10 +- .../recipes-core/libxcrypt/libxcrypt_4.4.18.bb | 2 - .../recipes-core/libxcrypt/libxcrypt_4.4.19.bb | 2 + .../meta/recipes-core/meta/cve-update-db-native.bb | 7 +- poky/meta/recipes-core/musl/musl_git.bb | 2 +- poky/meta/recipes-core/netbase/netbase_6.2.bb | 23 - poky/meta/recipes-core/netbase/netbase_6.3.bb | 23 + .../packagegroup-core-tools-profile.bb | 1 + .../packagegroup-core-tools-testapps.bb | 1 + .../recipes-core/systemd/systemd-boot_247.4.bb | 70 -- .../recipes-core/systemd/systemd-boot_247.6.bb | 70 ++ .../recipes-core/systemd/systemd-conf_247.3.bb | 41 - .../recipes-core/systemd/systemd-conf_247.6.bb | 41 + poky/meta/recipes-core/systemd/systemd.inc | 2 +- ...yscall.h-Define-MIPS-ABI-defines-for-musl.patch | 36 + poky/meta/recipes-core/systemd/systemd_247.4.bb | 767 -------------- poky/meta/recipes-core/systemd/systemd_247.6.bb | 767 ++++++++++++++ .../sysvinit/sysvinit-inittab/start_getty | 44 +- .../sysvinit/sysvinit-inittab_2.88dsf.bb | 4 - ...e-fstatat64-and-prlimit64-defines-on-musl.patch | 48 + poky/meta/recipes-devtools/apt/apt_2.2.2.bb | 2 + .../autoconf-archive_2019.01.06.bb | 18 - .../autoconf-archive_2021.02.19.bb | 17 + .../recipes-devtools/binutils/binutils-2.36.inc | 12 +- ...-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch | 183 ++++ .../binutils/binutils/CVE-2021-20197.patch | 388 +++++++ .../recipes-devtools/binutils/binutils_2.36.bb | 2 +- .../btrfs-tools/btrfs-tools_5.10.1.bb | 52 - .../btrfs-tools/btrfs-tools_5.11.1.bb | 70 ++ ...-allow-disabling-docs-man-page-generation.patch | 161 +++ poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb | 27 + poky/meta/recipes-devtools/ccache/ccache_4.2.bb | 23 - .../recipes-devtools/elfutils/elfutils_0.183.bb | 9 +- ...debuginfod-client.c-correct-string-format.patch | 74 ++ poky/meta/recipes-devtools/file/file_5.39.bb | 55 - poky/meta/recipes-devtools/file/file_5.40.bb | 54 + ...press.c-correct-header-define-for-xz-lzma.patch | 27 - poky/meta/recipes-devtools/gcc/gcc-10.2.inc | 120 --- poky/meta/recipes-devtools/gcc/gcc-11.1.inc | 116 +++ .../recipes-devtools/gcc/gcc-cross-canadian.inc | 9 +- .../gcc/gcc-cross-canadian_10.2.bb | 5 - .../gcc/gcc-cross-canadian_11.1.bb | 5 + poky/meta/recipes-devtools/gcc/gcc-cross.inc | 8 +- poky/meta/recipes-devtools/gcc/gcc-cross_10.2.bb | 3 - poky/meta/recipes-devtools/gcc/gcc-cross_11.1.bb | 3 + .../meta/recipes-devtools/gcc/gcc-crosssdk_10.2.bb | 2 - .../meta/recipes-devtools/gcc/gcc-crosssdk_11.1.bb | 2 + poky/meta/recipes-devtools/gcc/gcc-runtime.inc | 14 +- poky/meta/recipes-devtools/gcc/gcc-runtime_10.2.bb | 2 - poky/meta/recipes-devtools/gcc/gcc-runtime_11.1.bb | 2 + .../recipes-devtools/gcc/gcc-sanitizers_10.2.bb | 7 - .../recipes-devtools/gcc/gcc-sanitizers_11.1.bb | 7 + poky/meta/recipes-devtools/gcc/gcc-source_10.2.bb | 4 - poky/meta/recipes-devtools/gcc/gcc-source_11.1.bb | 4 + poky/meta/recipes-devtools/gcc/gcc-target.inc | 4 +- ...4-Fix-up-__aarch64_cas16_acq_rel-fallback.patch | 66 -- ...-Straight-Line-Speculation-SLS-mitigation.patch | 202 ---- .../gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 10 +- ...omic-libgomp-libitc-Fix-bootstrap-PR70454.patch | 208 ---- ...roduce-SLS-mitigation-for-RET-and-BR-inst.patch | 607 ----------- .../gcc/0002-gcc-poison-system-directories.patch | 55 +- ...-aarch64-Mitigate-SLS-for-BLR-instruction.patch | 658 ------------ .../0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch | 6 +- .../gcc/gcc/0004-64-bit-multilib-hack.patch | 10 +- .../gcc/gcc/0005-optional-libstdc.patch | 26 +- .../gcc/gcc/0006-COLLECT_GCC_OPTIONS.patch | 6 +- ...efaults.h-in-B-instead-of-S-and-t-oe-in-B.patch | 16 +- .../gcc/gcc/0008-fortran-cross-compile-hack.patch | 10 +- .../gcc/gcc/0009-cpp-honor-sysroot.patch | 14 +- .../gcc/gcc/0010-MIPS64-Default-to-N64-ABI.patch | 6 +- ...C_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 32 +- ...0012-gcc-Fix-argument-list-too-long-error.patch | 11 +- .../gcc/gcc/0013-Disable-sdt.patch | 18 +- .../recipes-devtools/gcc/gcc/0014-libtool.patch | 2 +- ...4-pass-fix-v4bx-to-linker-to-support-EABI.patch | 4 +- ...tilib-config-files-from-B-instead-of-usin.patch | 14 +- ...-libdir-from-.la-which-usually-points-to-.patch | 2 +- .../recipes-devtools/gcc/gcc/0018-export-CPP.patch | 4 +- ...Ensure-target-gcc-headers-can-be-included.patch | 12 +- ...h-host-directory-during-relink-if-inst_pr.patch | 2 +- ...IBS_DIR-replacement-instead-of-hardcoding.patch | 4 +- .../0022-aarch64-Add-support-for-musl-ldso.patch | 4 +- ...ibcc1-fix-libcc1-s-install-path-and-rpath.patch | 10 +- ...-handle-sysroot-support-for-nativesdk-gcc.patch | 44 +- ...et-sysroot-gcc-version-specific-dirs-with.patch | 8 +- ...-various-_FOR_BUILD-and-related-variables.patch | 18 +- .../0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch | 4 +- ...shared-to-link-commandline-for-musl-targe.patch | 10 +- ...bgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch | 4 +- .../gcc/gcc/0030-sync-gcc-stddef.h-with-musl.patch | 4 +- ...ation-fault-in-precompiled-header-generat.patch | 6 +- .../gcc/gcc/0032-Fix-for-testsuite-failure.patch | 2 +- ...0033-Re-introduce-spe-commandline-options.patch | 13 +- ...e-alias-for-__cpu_indicator_init-instead-.patch | 12 +- ...nmodes-Do-not-use-__LINE__-for-maintainin.patch | 34 +- ...36-mingw32-Enable-operation_not_supported.patch | 8 +- ...libatomic-Do-not-enforce-march-on-aarch64.patch | 8 +- poky/meta/recipes-devtools/gcc/gcc_10.2.bb | 14 - poky/meta/recipes-devtools/gcc/gcc_11.1.bb | 14 + poky/meta/recipes-devtools/gcc/libgcc-initial.inc | 2 + .../recipes-devtools/gcc/libgcc-initial_10.2.bb | 5 - .../recipes-devtools/gcc/libgcc-initial_11.1.bb | 5 + poky/meta/recipes-devtools/gcc/libgcc_10.2.bb | 5 - poky/meta/recipes-devtools/gcc/libgcc_11.1.bb | 5 + poky/meta/recipes-devtools/gcc/libgfortran_10.2.bb | 3 - poky/meta/recipes-devtools/gcc/libgfortran_11.1.bb | 3 + poky/meta/recipes-devtools/gdb/gdb-10.1.inc | 19 - poky/meta/recipes-devtools/gdb/gdb-10.2.inc | 19 + poky/meta/recipes-devtools/gdb/gdb-common.inc | 2 +- .../gdb/gdb-cross-canadian_10.1.bb | 3 - .../gdb/gdb-cross-canadian_10.2.bb | 3 + poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb | 2 - poky/meta/recipes-devtools/gdb/gdb-cross_10.2.bb | 2 + poky/meta/recipes-devtools/gdb/gdb_10.1.bb | 28 - poky/meta/recipes-devtools/gdb/gdb_10.2.bb | 28 + .../recipes-devtools/gnu-config/gnu-config_git.bb | 4 +- poky/meta/recipes-devtools/go/go-1.16.2.inc | 20 - poky/meta/recipes-devtools/go/go-1.16.3.inc | 20 + .../recipes-devtools/go/go-binary-native_1.16.2.bb | 46 - .../recipes-devtools/go/go-binary-native_1.16.3.bb | 46 + poky/meta/recipes-devtools/go/go-common.inc | 2 +- .../go/go-cross-canadian_1.16.2.bb | 2 - .../go/go-cross-canadian_1.16.3.bb | 2 + poky/meta/recipes-devtools/go/go-cross_1.16.2.bb | 2 - poky/meta/recipes-devtools/go/go-cross_1.16.3.bb | 2 + .../meta/recipes-devtools/go/go-crosssdk_1.16.2.bb | 2 - .../meta/recipes-devtools/go/go-crosssdk_1.16.3.bb | 2 + poky/meta/recipes-devtools/go/go-native_1.16.2.bb | 59 -- poky/meta/recipes-devtools/go/go-native_1.16.3.bb | 59 ++ poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb | 3 - poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb | 3 + poky/meta/recipes-devtools/go/go_1.16.2.bb | 17 - poky/meta/recipes-devtools/go/go_1.16.3.bb | 17 + .../recipes-devtools/help2man/help2man_1.48.2.bb | 24 - .../recipes-devtools/help2man/help2man_1.48.3.bb | 24 + .../0001-Add-crc32.c-to-sources-list.patch | 6 +- .../recipes-devtools/libcomps/libcomps_0.1.15.bb | 24 - .../recipes-devtools/libcomps/libcomps_0.1.16.bb | 24 + .../libedit/libedit_20210216-3.1.bb | 24 - .../libedit/libedit_20210419-3.1.bb | 24 + .../recipes-devtools/librepo/librepo_1.13.0.bb | 29 - .../recipes-devtools/librepo/librepo_1.14.0.bb | 29 + .../recipes-devtools/libtool/libtool-2.4.6.inc | 1 + ...-make-sure-autoheader-run-before-automake.patch | 35 + .../llvm/llvm/0001-nfc-Fix-missing-include.patch | 26 - poky/meta/recipes-devtools/llvm/llvm_git.bb | 7 +- poky/meta/recipes-devtools/m4/m4-1.4.18.inc | 1 + .../m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch | 84 ++ poky/meta/recipes-devtools/mtools/mtools_4.0.26.bb | 50 - poky/meta/recipes-devtools/mtools/mtools_4.0.27.bb | 50 + .../6edec83653ce1b5fc201ff6db93b966394766814.patch | 44 + .../patchelf/patchelf/alignmentfix.patch | 44 + .../recipes-devtools/patchelf/patchelf_0.12.bb | 2 + ...emove-support-for-the-__int64-type.-See-1.patch | 144 +++ ...se-C99-printf-format-specifiers-on-Window.patch | 68 ++ .../recipes-devtools/pkgconfig/pkgconfig_git.bb | 2 + poky/meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +- .../python-numpy/python3-numpy_1.20.1.bb | 58 -- .../python-numpy/python3-numpy_1.20.2.bb | 58 ++ .../meta/recipes-devtools/python/python-cython.inc | 2 +- poky/meta/recipes-devtools/python/python-gitdb.inc | 2 +- .../python/python3-cython_0.29.22.bb | 36 - .../python/python3-cython_0.29.23.bb | 36 + .../python/python3-dbusmock_0.22.0.bb | 18 - .../python/python3-dbusmock_0.23.0.bb | 18 + .../python/python3-docutils_0.16.bb | 17 - .../python/python3-docutils_0.17.1.bb | 11 + .../recipes-devtools/python/python3-gitdb_4.0.5.bb | 4 - .../recipes-devtools/python/python3-gitdb_4.0.7.bb | 4 + .../python/python3-jinja2_2.11.3.bb | 4 +- .../python/python3-markupsafe_1.1.1.bb | 2 +- .../python/python3-pygobject_3.38.0.bb | 34 - .../python/python3-pygobject_3.40.1.bb | 34 + .../python/python3-pyyaml_5.4.1.bb | 19 + .../python/python3-setuptools_54.1.1.bb | 55 - .../python/python3-setuptools_56.0.0.bb | 55 + ..._locale.py-correct-the-test-output-format.patch | 22 +- .../python/python3/create_manifest3.py | 47 +- .../python/python3/get_module_deps3.py | 72 +- poky/meta/recipes-devtools/python/python3_3.9.2.bb | 384 ------- poky/meta/recipes-devtools/python/python3_3.9.4.bb | 384 +++++++ .../qemu/qemu-system-native_5.2.0.bb | 5 + poky/meta/recipes-devtools/qemu/qemu.inc | 28 +- .../qemu/qemu/CVE-2020-27821.patch | 143 +++ .../qemu/qemu/CVE-2020-29443.patch | 107 ++ .../qemu/qemu/CVE-2020-35517_1.patch | 153 +++ .../qemu/qemu/CVE-2020-35517_2.patch | 117 +++ .../qemu/qemu/CVE-2020-35517_3.patch | 303 ++++++ .../qemu/qemu/CVE-2021-20181.patch | 81 ++ .../qemu/qemu/CVE-2021-20221.patch | 70 ++ .../qemu/qemu/CVE-2021-20257.patch | 55 + .../qemu/qemu/CVE-2021-20263.patch | 214 ++++ .../recipes-devtools/qemu/qemu/CVE-2021-3392.patch | 89 ++ .../qemu/qemu/CVE-2021-3409_1.patch | 56 ++ .../qemu/qemu/CVE-2021-3409_2.patch | 92 ++ .../qemu/qemu/CVE-2021-3409_3.patch | 109 ++ .../qemu/qemu/CVE-2021-3409_4.patch | 75 ++ .../qemu/qemu/CVE-2021-3409_5.patch | 56 ++ .../qemu/qemu/CVE-2021-3409_6.patch | 99 ++ .../qemu/qemu/CVE-2021-3416_1.patch | 177 ++++ .../qemu/qemu/CVE-2021-3416_10.patch | 44 + .../qemu/qemu/CVE-2021-3416_2.patch | 42 + .../qemu/qemu/CVE-2021-3416_3.patch | 43 + .../qemu/qemu/CVE-2021-3416_4.patch | 43 + .../qemu/qemu/CVE-2021-3416_5.patch | 45 + .../qemu/qemu/CVE-2021-3416_6.patch | 43 + .../qemu/qemu/CVE-2021-3416_7.patch | 45 + .../qemu/qemu/CVE-2021-3416_8.patch | 44 + .../qemu/qemu/CVE-2021-3416_9.patch | 46 + poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb | 1 + ...code-lib-rpm-as-the-installation-path-for.patch | 8 +- poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb | 195 ---- poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb | 195 ++++ ...erify-the-hostname-in-the-certificate-whe.patch | 31 + poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb | 1 + poky/meta/recipes-devtools/ruby/ruby_3.0.0.bb | 98 -- poky/meta/recipes-devtools/ruby/ruby_3.0.1.bb | 98 ++ poky/meta/recipes-devtools/strace/strace_5.11.bb | 56 -- poky/meta/recipes-devtools/strace/strace_5.12.bb | 56 ++ .../valgrind/0001-Add-missing-musl.supp.patch | 72 ++ ...olc.vgtest-hanging-on-newer-glibc-and-or-.patch | 200 ---- .../valgrind/0001-drd-Port-to-Fedora-33.patch | 48 - .../valgrind/valgrind/0001-drd-musl-fix.patch | 31 - ...wapcontext-Add-SIGALRM-handler-to-avoid-s.patch | 65 ++ .../0001-helgrind-Intercept-libc-functions.patch | 54 - ...d-related-PowerPC-insns-aren-t-allowed-on.patch | 62 -- ...s-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch | 2 +- ...02-context-APIs-are-not-available-on-musl.patch | 50 +- .../valgrind/valgrind/fixed-perl-path.patch | 20 +- .../valgrind/valgrind/remove-for-aarch64 | 2 + .../valgrind/valgrind/remove-for-all | 2 - .../recipes-devtools/valgrind/valgrind/run-ptest | 3 +- .../valgrind/valgrind/s390x_vec_op_t.patch | 24 +- .../recipes-devtools/valgrind/valgrind_3.16.1.bb | 248 ----- .../recipes-devtools/valgrind/valgrind_3.17.0.bb | 254 +++++ .../recipes-extended/acpica/acpica_20210105.bb | 51 - .../recipes-extended/acpica/acpica_20210331.bb | 51 + poky/meta/recipes-extended/bash/bash.inc | 3 + poky/meta/recipes-extended/cups/cups.inc | 4 +- .../0001-c-stack-stop-using-SIGSTKSZ.patch | 84 ++ .../recipes-extended/diffutils/diffutils_3.7.bb | 1 + .../ghostscript/ghostscript_9.53.3.bb | 125 --- .../ghostscript/ghostscript_9.54.0.bb | 125 +++ poky/meta/recipes-extended/groff/groff_1.22.4.bb | 4 + poky/meta/recipes-extended/hdparm/hdparm_9.60.bb | 43 - poky/meta/recipes-extended/hdparm/hdparm_9.61.bb | 43 + .../recipes-extended/libsolv/libsolv_0.7.17.bb | 32 - .../recipes-extended/libsolv/libsolv_0.7.19.bb | 32 + .../ltp/ltp/0001-Add-more-musl-exclusions.patch | 32 - ...-Add-option-to-select-libc-implementation.patch | 81 -- poky/meta/recipes-extended/ltp/ltp_20210121.bb | 27 +- .../recipes-extended/man-pages/man-pages_5.10.bb | 36 - .../recipes-extended/man-pages/man-pages_5.11.bb | 36 + .../recipes-extended/pam/libpam/pam-volatiles.conf | 1 + poky/meta/recipes-extended/pam/libpam/run-ptest | 5 +- poky/meta/recipes-extended/pam/libpam_1.3.1.bb | 22 +- .../unzip/unzip/unzip_optimization.patch | 127 +++ poky/meta/recipes-extended/unzip/unzip_6.0.bb | 1 + .../meta/recipes-gnome/epiphany/epiphany_3.38.2.bb | 28 - .../meta/recipes-gnome/epiphany/epiphany_3.38.3.bb | 28 + ...eson.build-fix-one-parallel-build-failure.patch | 37 + poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb | 41 - poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb | 43 + ...-thumbnailer-and-pixdata-cross-compile-fa.patch | 95 ++ ...-Work-around-thumbnailer-cross-compile-fa.patch | 94 -- .../0004-Do-not-run-tests-when-building.patch | 39 - ...humbnailer-and-tests-also-in-cross-builds.patch | 9 +- .../gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch | 55 - .../gdk-pixbuf/gdk-pixbuf/missing-test-data.patch | 30 - .../recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb | 134 --- .../recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb | 123 +++ .../recipes-gnome/libdazzle/libdazzle_3.38.0.bb | 19 - .../recipes-gnome/libdazzle/libdazzle_3.40.0.bb | 19 + poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb | 27 - poky/meta/recipes-gnome/libhandy/libhandy_1.2.2.bb | 27 + poky/meta/recipes-gnome/libportal/libportal_0.3.bb | 17 - poky/meta/recipes-gnome/libportal/libportal_0.4.bb | 17 + .../0001-meson-Also-search-for-rst2man.py.patch | 30 - poky/meta/recipes-graphics/drm/libdrm_2.4.104.bb | 61 -- poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb | 60 ++ .../glslang/0001-generate-glslang-pkg-config.patch | 22 +- .../recipes-graphics/glslang/glslang_11.2.0.bb | 31 - .../recipes-graphics/glslang/glslang_11.4.0.bb | 31 + .../images/core-image-weston-ptest-all.bb | 21 + .../images/core-image-weston-ptest-fast.bb | 20 + .../images/core-image-weston-sdk.bb | 11 + .../recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb | 2 +- .../recipes-graphics/libva/libva-initial_2.10.0.bb | 5 - .../recipes-graphics/libva/libva-initial_2.11.0.bb | 5 + .../recipes-graphics/libva/libva-utils_2.10.0.bb | 32 - .../recipes-graphics/libva/libva-utils_2.11.1.bb | 32 + poky/meta/recipes-graphics/libva/libva.inc | 2 +- poky/meta/recipes-graphics/libva/libva_2.10.0.bb | 20 - poky/meta/recipes-graphics/libva/libva_2.11.0.bb | 20 + poky/meta/recipes-graphics/mesa/mesa-gl_21.0.1.bb | 16 - poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb | 16 + poky/meta/recipes-graphics/mesa/mesa.inc | 2 +- poky/meta/recipes-graphics/mesa/mesa_21.0.1.bb | 4 - poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb | 4 + poky/meta/recipes-graphics/pango/pango_1.48.2.bb | 2 + poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb | 2 + .../0001-meson.build-fix-incorrect-header.patch | 32 + .../wayland/weston/xwayland.weston-start | 2 - poky/meta/recipes-graphics/wayland/weston_9.0.0.bb | 3 +- ...utex.h-Define-SYS_futex-if-it-does-not-ex.patch | 39 + .../recipes-graphics/xorg-lib/libxshmfence_1.3.bb | 4 +- .../recipes-graphics/xorg-xserver/xserver-xorg.inc | 1 - .../xorg-xserver/xserver-xorg/CVE-2021-3472.patch | 43 + .../xorg-xserver/xserver-xorg_1.20.10.bb | 1 + .../recipes-graphics/xwayland/xwayland_21.1.1.bb | 26 + .../kern-tools/kern-tools-native_git.bb | 2 +- poky/meta/recipes-kernel/kmod/kmod.inc | 1 - .../linux-firmware/linux-firmware_20210208.bb | 11 + poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 + .../recipes-kernel/linux/linux-yocto-rt_5.10.bb | 6 +- .../recipes-kernel/linux/linux-yocto-rt_5.4.bb | 6 +- .../recipes-kernel/linux/linux-yocto-tiny_5.10.bb | 8 +- .../recipes-kernel/linux/linux-yocto-tiny_5.4.bb | 8 +- poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb | 24 +- poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb | 22 +- .../meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb | 93 -- .../meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb | 93 ++ .../recipes-kernel/lttng/lttng-tools_2.12.3.bb | 4 +- .../modutils-initscripts/files/modutils.sh | 1 + poky/meta/recipes-kernel/perf/perf.bb | 2 +- .../wireless-regdb/wireless-regdb_2020.11.20.bb | 43 - .../wireless-regdb/wireless-regdb_2021.04.21.bb | 43 + .../gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb | 11 +- .../gstreamer/gstreamer1.0-plugins-base_1.18.4.bb | 7 +- .../gstreamer/gstreamer1.0-ptest.inc | 23 - ...inloader.c-when-env-var-is-set-do-not-fal.patch | 5 +- ...Don-t-use-too-strict-timeout-for-validati.patch | 32 - ...0003-meson-Add-option-for-installed-tests.patch | 257 ----- ...Don-t-use-too-strict-timeout-for-validati.patch | 32 + ...ts-respect-the-idententaion-used-in-meson.patch | 36 + ...5-tests-add-support-for-install-the-tests.patch | 110 ++ ...-tests-use-a-dictionaries-for-environment.patch | 48 + ...stall-the-environment-for-installed_tests.patch | 58 ++ .../gstreamer/gstreamer1.0/run-ptest | 2 + .../gstreamer/gstreamer1.0_1.18.4.bb | 12 +- .../libid3tag/libid3tag/cflags_filter.patch | 8 +- poky/meta/recipes-multimedia/libtiff/tiff_4.2.0.bb | 53 - poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb | 53 + .../recipes-multimedia/mpg123/mpg123_1.26.4.bb | 52 - .../recipes-multimedia/mpg123/mpg123_1.26.5.bb | 52 + poky/meta/recipes-rt/rt-tests/rt-tests.inc | 2 +- ...-atomics-check-to-include-1-byte-CAS-test.patch | 2 +- .../webkitgtk/0001-Fix-build-with-musl.patch | 2 +- .../0001-MiniBrowser-Fix-reproduciblity.patch | 31 + .../webkit/webkitgtk/musl-lower-stack-usage.patch | 2 +- poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb | 150 --- poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb | 151 +++ .../recipes-sato/webkit/wpebackend-fdo_1.8.0.bb | 20 - .../recipes-sato/webkit/wpebackend-fdo_1.8.3.bb | 20 + .../recipes-support/atk/at-spi2-core_2.38.0.bb | 39 - .../recipes-support/atk/at-spi2-core_2.40.0.bb | 39 + poky/meta/recipes-support/boost/boost-1.75.0.inc | 20 - poky/meta/recipes-support/boost/boost-1.76.0.inc | 20 + .../boost/boost-build-native_4.3.0.bb | 27 - .../boost/boost-build-native_4.4.1.bb | 27 + poky/meta/recipes-support/boost/boost_1.75.0.bb | 10 - poky/meta/recipes-support/boost/boost_1.76.0.bb | 10 + .../ca-certificates/ca-certificates_20210119.bb | 6 +- poky/meta/recipes-support/curl/curl_7.75.0.bb | 89 -- poky/meta/recipes-support/curl/curl_7.76.0.bb | 90 ++ .../recipes-support/diffoscope/diffoscope_172.bb | 1 + poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb | 4 +- .../icu/icu/0001-icu-Added-armeb-support.patch | 6 +- poky/meta/recipes-support/icu/icu_68.2.bb | 150 --- poky/meta/recipes-support/icu/icu_69.1.bb | 150 +++ .../libassuan-add-pkgconfig-support.patch | 27 +- .../recipes-support/libassuan/libassuan_2.5.4.bb | 38 - .../recipes-support/libassuan/libassuan_2.5.5.bb | 38 + poky/meta/recipes-support/libcap/libcap_2.48.bb | 78 -- poky/meta/recipes-support/libcap/libcap_2.49.bb | 78 ++ ...s.h-Increase-default-timeval-tolerance-50.patch | 33 + .../recipes-support/libevent/libevent_2.1.12.bb | 1 + .../meta/recipes-support/libical/libical_3.0.10.bb | 46 + poky/meta/recipes-support/libical/libical_3.0.9.bb | 46 - .../libjitterentropy/libjitterentropy_3.0.1.bb | 27 - .../libjitterentropy/libjitterentropy_3.0.2.bb | 27 + poky/meta/recipes-support/libksba/libksba_1.5.0.bb | 34 - poky/meta/recipes-support/libksba/libksba_1.5.1.bb | 34 + .../libmicrohttpd/libmicrohttpd_0.9.73.bb | 31 + poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb | 7 +- .../recipes-support/libseccomp/files/run-ptest | 4 + .../recipes-support/libseccomp/libseccomp_2.5.1.bb | 54 + ...move-EC-macro-outside-of-if-check-549-550.patch | 112 +++ poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb | 1 + poky/meta/recipes-support/lz4/lz4_1.9.3.bb | 2 +- poky/meta/recipes-support/nettle/nettle_3.7.1.bb | 57 -- poky/meta/recipes-support/nettle/nettle_3.7.2.bb | 57 ++ .../ptest-runner/ptest-runner_2.4.1.bb | 2 + poky/meta/recipes-support/re2c/re2c_2.0.3.bb | 16 - poky/meta/recipes-support/re2c/re2c_2.1.1.bb | 16 + poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb | 12 - poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb | 12 + ...dd-W_EXITCODE-macro-for-non-glibc-systems.patch | 15 +- poky/meta/recipes-support/vte/vte_0.62.2.bb | 59 -- poky/meta/recipes-support/vte/vte_0.64.0.bb | 61 ++ poky/scripts/combo-layer | 2 +- poky/scripts/contrib/image-manifest | 523 ++++++++++ poky/scripts/lib/devtool/standard.py | 8 +- poky/scripts/lib/devtool/upgrade.py | 3 +- poky/scripts/lib/wic/plugins/imager/direct.py | 2 +- poky/scripts/oe-buildenv-internal | 4 + poky/scripts/oe-debuginfod | 13 +- poky/scripts/oe-time-dd-test.sh | 10 +- poky/scripts/pybootchartgui/pybootchartgui/draw.py | 2 +- poky/scripts/runqemu | 18 +- poky/scripts/yocto-check-layer | 5 +- 613 files changed, 14188 insertions(+), 15376 deletions(-) create mode 100755 poky/bitbake/bin/bitbake-getvar create mode 100644 poky/bitbake/lib/bb/asyncrpc/__init__.py create mode 100644 poky/bitbake/lib/bb/asyncrpc/client.py create mode 100644 poky/bitbake/lib/bb/asyncrpc/serv.py mode change 100755 => 100644 poky/meta/conf/machine/include/arm/arch-armv6m.inc delete mode 100644 poky/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb create mode 100644 poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb create mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5/0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch create mode 100644 poky/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch delete mode 100644 poky/meta/recipes-connectivity/openssh/openssh_8.5p1.bb create mode 100644 poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb create mode 100644 poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/CVE-2021-30004.patch create mode 100644 poky/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch create mode 100644 poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch create mode 100644 poky/meta/recipes-core/busybox/busybox/longopts.cfg delete mode 100644 poky/meta/recipes-core/dbus/dbus-glib_0.110.bb create mode 100644 poky/meta/recipes-core/dbus/dbus-glib_0.112.bb delete mode 100644 poky/meta/recipes-core/ell/ell_0.38.bb create mode 100644 poky/meta/recipes-core/ell/ell_0.39.bb delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0001-tests-codegen.py-removing-unecessary-print-statement.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0010-kqueue-Fix-unlocked-access-to-shared-variable.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0024-tests-Add-comment-to-volatile-atomic-tests.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0026-gtype-Fix-some-typos-in-comments.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0/0029-docs-Document-not-to-use-volatile-qualifiers.patch delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb delete mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb create mode 100644 poky/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb delete mode 100644 poky/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch create mode 100644 poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.18.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.19.bb delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.18.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.19.bb delete mode 100644 poky/meta/recipes-core/netbase/netbase_6.2.bb create mode 100644 poky/meta/recipes-core/netbase/netbase_6.3.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd-boot_247.4.bb create mode 100644 poky/meta/recipes-core/systemd/systemd-boot_247.6.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd-conf_247.3.bb create mode 100644 poky/meta/recipes-core/systemd/systemd-conf_247.6.bb create mode 100644 poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd_247.4.bb create mode 100644 poky/meta/recipes-core/systemd/systemd_247.6.bb create mode 100644 poky/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch delete mode 100644 poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb create mode 100644 poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2021.02.19.bb create mode 100644 poky/meta/recipes-devtools/binutils/binutils/0017-Add-support-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch create mode 100644 poky/meta/recipes-devtools/binutils/binutils/CVE-2021-20197.patch delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.10.1.bb create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb create mode 100644 poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch create mode 100644 poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb delete mode 100644 poky/meta/recipes-devtools/ccache/ccache_4.2.bb create mode 100644 poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch delete mode 100644 poky/meta/recipes-devtools/file/file_5.39.bb create mode 100644 poky/meta/recipes-devtools/file/file_5.40.bb delete mode 100644 poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-10.2.inc create mode 100644 poky/meta/recipes-devtools/gcc/gcc-11.1.inc delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-cross-canadian_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc-cross-canadian_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-cross_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc-cross_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-crosssdk_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc-crosssdk_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-runtime_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc-runtime_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-sanitizers_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc-source_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc-source_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc/0001-aarch64-Fix-up-__aarch64_cas16_acq_rel-fallback.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc/0001-aarch64-New-Straight-Line-Speculation-SLS-mitigation.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc/0001-libatomic-libgomp-libitc-Fix-bootstrap-PR70454.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc/0002-aarch64-Introduce-SLS-mitigation-for-RET-and-BR-inst.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc/0003-aarch64-Mitigate-SLS-for-BLR-instruction.patch delete mode 100644 poky/meta/recipes-devtools/gcc/gcc_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/libgcc-initial_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/libgcc-initial_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/libgcc_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/libgcc_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gcc/libgfortran_10.2.bb create mode 100644 poky/meta/recipes-devtools/gcc/libgfortran_11.1.bb delete mode 100644 poky/meta/recipes-devtools/gdb/gdb-10.1.inc create mode 100644 poky/meta/recipes-devtools/gdb/gdb-10.2.inc delete mode 100644 poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb create mode 100644 poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.2.bb delete mode 100644 poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb create mode 100644 poky/meta/recipes-devtools/gdb/gdb-cross_10.2.bb delete mode 100644 poky/meta/recipes-devtools/gdb/gdb_10.1.bb create mode 100644 poky/meta/recipes-devtools/gdb/gdb_10.2.bb delete mode 100644 poky/meta/recipes-devtools/go/go-1.16.2.inc create mode 100644 poky/meta/recipes-devtools/go/go-1.16.3.inc delete mode 100644 poky/meta/recipes-devtools/go/go-binary-native_1.16.2.bb create mode 100644 poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.16.2.bb create mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross_1.16.2.bb create mode 100644 poky/meta/recipes-devtools/go/go-cross_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.16.2.bb create mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/go/go-native_1.16.2.bb create mode 100644 poky/meta/recipes-devtools/go/go-native_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb create mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/go/go_1.16.2.bb create mode 100644 poky/meta/recipes-devtools/go/go_1.16.3.bb delete mode 100644 poky/meta/recipes-devtools/help2man/help2man_1.48.2.bb create mode 100644 poky/meta/recipes-devtools/help2man/help2man_1.48.3.bb delete mode 100644 poky/meta/recipes-devtools/libcomps/libcomps_0.1.15.bb create mode 100644 poky/meta/recipes-devtools/libcomps/libcomps_0.1.16.bb delete mode 100644 poky/meta/recipes-devtools/libedit/libedit_20210216-3.1.bb create mode 100644 poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb delete mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.13.0.bb create mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.14.0.bb create mode 100644 poky/meta/recipes-devtools/libtool/libtool/0001-Makefile.am-make-sure-autoheader-run-before-automake.patch delete mode 100644 poky/meta/recipes-devtools/llvm/llvm/0001-nfc-Fix-missing-include.patch create mode 100644 poky/meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch delete mode 100644 poky/meta/recipes-devtools/mtools/mtools_4.0.26.bb create mode 100644 poky/meta/recipes-devtools/mtools/mtools_4.0.27.bb create mode 100644 poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch create mode 100644 poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch create mode 100644 poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-remove-support-for-the-__int64-type.-See-1.patch create mode 100644 poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-use-C99-printf-format-specifiers-on-Window.patch delete mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.1.bb create mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb create mode 100644 poky/meta/recipes-devtools/python/python3-cython_0.29.23.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-dbusmock_0.22.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-dbusmock_0.23.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-docutils_0.16.bb create mode 100644 poky/meta/recipes-devtools/python/python3-docutils_0.17.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-gitdb_4.0.5.bb create mode 100644 poky/meta/recipes-devtools/python/python3-gitdb_4.0.7.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_54.1.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3_3.9.2.bb create mode 100644 poky/meta/recipes-devtools/python/python3_3.9.4.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch delete mode 100644 poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb create mode 100644 poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb create mode 100644 poky/meta/recipes-devtools/rsync/files/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-whe.patch delete mode 100644 poky/meta/recipes-devtools/ruby/ruby_3.0.0.bb create mode 100644 poky/meta/recipes-devtools/ruby/ruby_3.0.1.bb delete mode 100644 poky/meta/recipes-devtools/strace/strace_5.11.bb create mode 100644 poky/meta/recipes-devtools/strace/strace_5.12.bb create mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-Add-missing-musl.supp.patch delete mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch delete mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch delete mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch create mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-tests-swapcontext-Add-SIGALRM-handler-to-avoid-s.patch delete mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch delete mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch delete mode 100644 poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb create mode 100644 poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb delete mode 100644 poky/meta/recipes-extended/acpica/acpica_20210105.bb create mode 100644 poky/meta/recipes-extended/acpica/acpica_20210331.bb create mode 100644 poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch delete mode 100644 poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb create mode 100644 poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb delete mode 100644 poky/meta/recipes-extended/hdparm/hdparm_9.60.bb create mode 100644 poky/meta/recipes-extended/hdparm/hdparm_9.61.bb delete mode 100644 poky/meta/recipes-extended/libsolv/libsolv_0.7.17.bb create mode 100644 poky/meta/recipes-extended/libsolv/libsolv_0.7.19.bb delete mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch delete mode 100644 poky/meta/recipes-extended/man-pages/man-pages_5.10.bb create mode 100644 poky/meta/recipes-extended/man-pages/man-pages_5.11.bb create mode 100644 poky/meta/recipes-extended/pam/libpam/pam-volatiles.conf create mode 100644 poky/meta/recipes-extended/unzip/unzip/unzip_optimization.patch delete mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb create mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_3.38.3.bb create mode 100644 poky/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch delete mode 100644 poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb create mode 100644 poky/meta/recipes-gnome/gcr/gcr_3.40.0.bb create mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/missing-test-data.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb create mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb delete mode 100644 poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb create mode 100644 poky/meta/recipes-gnome/libdazzle/libdazzle_3.40.0.bb delete mode 100644 poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb create mode 100644 poky/meta/recipes-gnome/libhandy/libhandy_1.2.2.bb delete mode 100644 poky/meta/recipes-gnome/libportal/libportal_0.3.bb create mode 100644 poky/meta/recipes-gnome/libportal/libportal_0.4.bb delete mode 100644 poky/meta/recipes-graphics/drm/libdrm/0001-meson-Also-search-for-rst2man.py.patch delete mode 100644 poky/meta/recipes-graphics/drm/libdrm_2.4.104.bb create mode 100644 poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb delete mode 100644 poky/meta/recipes-graphics/glslang/glslang_11.2.0.bb create mode 100644 poky/meta/recipes-graphics/glslang/glslang_11.4.0.bb create mode 100644 poky/meta/recipes-graphics/images/core-image-weston-ptest-all.bb create mode 100644 poky/meta/recipes-graphics/images/core-image-weston-ptest-fast.bb create mode 100644 poky/meta/recipes-graphics/images/core-image-weston-sdk.bb delete mode 100644 poky/meta/recipes-graphics/libva/libva-initial_2.10.0.bb create mode 100644 poky/meta/recipes-graphics/libva/libva-initial_2.11.0.bb delete mode 100644 poky/meta/recipes-graphics/libva/libva-utils_2.10.0.bb create mode 100644 poky/meta/recipes-graphics/libva/libva-utils_2.11.1.bb delete mode 100644 poky/meta/recipes-graphics/libva/libva_2.10.0.bb create mode 100644 poky/meta/recipes-graphics/libva/libva_2.11.0.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.0.1.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.0.1.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb create mode 100644 poky/meta/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch create mode 100644 poky/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch create mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2021-3472.patch create mode 100644 poky/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb delete mode 100644 poky/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb create mode 100644 poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb delete mode 100644 poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb create mode 100644 poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch delete mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch create mode 100755 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest delete mode 100644 poky/meta/recipes-multimedia/libtiff/tiff_4.2.0.bb create mode 100644 poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb delete mode 100644 poky/meta/recipes-multimedia/mpg123/mpg123_1.26.4.bb create mode 100644 poky/meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb delete mode 100644 poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb create mode 100644 poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.3.bb delete mode 100644 poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb create mode 100644 poky/meta/recipes-support/atk/at-spi2-core_2.40.0.bb delete mode 100644 poky/meta/recipes-support/boost/boost-1.75.0.inc create mode 100644 poky/meta/recipes-support/boost/boost-1.76.0.inc delete mode 100644 poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb create mode 100644 poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb delete mode 100644 poky/meta/recipes-support/boost/boost_1.75.0.bb create mode 100644 poky/meta/recipes-support/boost/boost_1.76.0.bb delete mode 100644 poky/meta/recipes-support/curl/curl_7.75.0.bb create mode 100644 poky/meta/recipes-support/curl/curl_7.76.0.bb delete mode 100644 poky/meta/recipes-support/icu/icu_68.2.bb create mode 100644 poky/meta/recipes-support/icu/icu_69.1.bb delete mode 100644 poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb create mode 100644 poky/meta/recipes-support/libassuan/libassuan_2.5.5.bb delete mode 100644 poky/meta/recipes-support/libcap/libcap_2.48.bb create mode 100644 poky/meta/recipes-support/libcap/libcap_2.49.bb create mode 100644 poky/meta/recipes-support/libevent/libevent/0002-test-regress.h-Increase-default-timeval-tolerance-50.patch create mode 100644 poky/meta/recipes-support/libical/libical_3.0.10.bb delete mode 100644 poky/meta/recipes-support/libical/libical_3.0.9.bb delete mode 100644 poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.1.bb create mode 100644 poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb delete mode 100644 poky/meta/recipes-support/libksba/libksba_1.5.0.bb create mode 100644 poky/meta/recipes-support/libksba/libksba_1.5.1.bb create mode 100644 poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb create mode 100644 poky/meta/recipes-support/libseccomp/files/run-ptest create mode 100644 poky/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb create mode 100644 poky/meta/recipes-support/libssh2/files/0001-kex.c-move-EC-macro-outside-of-if-check-549-550.patch delete mode 100644 poky/meta/recipes-support/nettle/nettle_3.7.1.bb create mode 100644 poky/meta/recipes-support/nettle/nettle_3.7.2.bb delete mode 100644 poky/meta/recipes-support/re2c/re2c_2.0.3.bb create mode 100644 poky/meta/recipes-support/re2c/re2c_2.1.1.bb delete mode 100644 poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb create mode 100644 poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb delete mode 100644 poky/meta/recipes-support/vte/vte_0.62.2.bb create mode 100644 poky/meta/recipes-support/vte/vte_0.64.0.bb create mode 100755 poky/scripts/contrib/image-manifest mode change 100644 => 100755 poky/scripts/oe-time-dd-test.sh diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake index 712755087..f0ff2400f 100755 --- a/poky/bitbake/bin/bitbake +++ b/poky/bitbake/bin/bitbake @@ -26,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException if sys.getfilesystemencoding() != "utf-8": sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.") -__version__ = "1.50.0" +__version__ = "1.51.0" if __name__ == "__main__": if __version__ != bb.__version__: diff --git a/poky/bitbake/bin/bitbake-getvar b/poky/bitbake/bin/bitbake-getvar new file mode 100755 index 000000000..942321925 --- /dev/null +++ b/poky/bitbake/bin/bitbake-getvar @@ -0,0 +1,48 @@ +#! /usr/bin/env python3 +# +# Copyright (C) 2021 Richard Purdie +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import argparse +import io +import os +import sys + +bindir = os.path.dirname(__file__) +topdir = os.path.dirname(bindir) +sys.path[0:0] = [os.path.join(topdir, 'lib')] + +import bb.tinfoil + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Bitbake Query Variable") + parser.add_argument("variable", help="variable name to query") + parser.add_argument("-r", "--recipe", help="Recipe name to query", default=None, required=False) + parser.add_argument('-u', '--unexpand', help='Do not expand the value (with --value)', action="store_true") + parser.add_argument('-f', '--flag', help='Specify a variable flag to query (with --value)', default=None) + parser.add_argument('--value', help='Only report the value, no history and no variable name', action="store_true") + args = parser.parse_args() + + if args.unexpand and not args.value: + print("--unexpand only makes sense with --value") + sys.exit(1) + + if args.flag and not args.value: + print("--flag only makes sense with --value") + sys.exit(1) + + with bb.tinfoil.Tinfoil(tracking=True) as tinfoil: + if args.recipe: + tinfoil.prepare(quiet=2) + d = tinfoil.parse_recipe(args.recipe) + else: + tinfoil.prepare(quiet=2, config_only=True) + d = tinfoil.config_data + if args.flag: + print(str(d.getVarFlag(args.variable, args.flag, expand=(not args.unexpand)))) + elif args.value: + print(str(d.getVar(args.variable, expand=(not args.unexpand)))) + else: + bb.data.emit_var(args.variable, d=d, all=True) diff --git a/poky/bitbake/bin/bitbake-server b/poky/bitbake/bin/bitbake-server index ffbc7894e..8e5394736 100755 --- a/poky/bitbake/bin/bitbake-server +++ b/poky/bitbake/bin/bitbake-server @@ -26,12 +26,10 @@ readypipeinfd = int(sys.argv[3]) logfile = sys.argv[4] lockname = sys.argv[5] sockname = sys.argv[6] -timeout = sys.argv[7] +timeout = float(sys.argv[7]) xmlrpcinterface = (sys.argv[8], int(sys.argv[9])) if xmlrpcinterface[0] == "None": xmlrpcinterface = (None, xmlrpcinterface[1]) -if timeout == "None": - timeout = None # Replace standard fds with our own with open('/dev/null', 'r') as si: diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst index 56abf7735..14c342a6a 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst @@ -16,7 +16,7 @@ data, or simply return information about the execution environment. This chapter describes BitBake's execution process from start to finish when you use it to create an image. The execution process is launched -using the following command form: :: +using the following command form:: $ bitbake target @@ -32,7 +32,7 @@ the BitBake command and its options, see ":ref:`The BitBake Command your project's ``local.conf`` configuration file. A common method to determine this value for your build host is to run - the following: :: + the following:: $ grep processor /proc/cpuinfo @@ -139,7 +139,7 @@ in ``BBPATH`` in the same way as configuration files. A good way to get an idea of the configuration files and the class files used in your execution environment is to run the following BitBake -command: :: +command:: $ bitbake -e > mybb.log @@ -155,7 +155,7 @@ execution environment. pair of curly braces in a shell function, the closing curly brace must not be located at the start of the line without leading spaces. - Here is an example that causes BitBake to produce a parsing error: :: + Here is an example that causes BitBake to produce a parsing error:: fakeroot create_shar() { cat << "EOF" > ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh @@ -185,7 +185,7 @@ During the configuration phase, BitBake will have set :term:`BBFILES`. BitBake now uses it to construct a list of recipes to parse, along with any append files (``.bbappend``) to apply. ``BBFILES`` is a space-separated list of available files and -supports wildcards. An example would be: :: +supports wildcards. An example would be:: BBFILES = "/path/to/bbfiles/*.bb /path/to/appends/*.bbappend" @@ -206,7 +206,7 @@ parses in order any append files found in ``BBFILES``. One common convention is to use the recipe filename to define pieces of metadata. For example, in ``bitbake.conf`` the recipe name and version are used to set the variables :term:`PN` and -:term:`PV`: :: +:term:`PV`:: PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}" PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}" @@ -238,7 +238,7 @@ Recipe file collections exist to allow the user to have multiple repositories of ``.bb`` files that contain the same exact package. For example, one could easily use them to make one's own local copy of an upstream repository, but with custom modifications that one does not -want upstream. Here is an example: :: +want upstream. Here is an example:: BBFILES = "/stuff/openembedded/*/*.bb /stuff/openembedded.modified/*/*.bb" BBFILE_COLLECTIONS = "upstream local" @@ -270,7 +270,7 @@ variable, which is optional. When a recipe uses ``PROVIDES``, that recipe's functionality can be found under an alternative name or names other than the implicit ``PN`` name. As an example, suppose a recipe named ``keyboard_1.0.bb`` -contained the following: :: +contained the following:: PROVIDES += "fullkeyboard" @@ -291,7 +291,7 @@ needs to prioritize providers by determining provider preferences. A common example in which a target has multiple providers is "virtual/kernel", which is on the ``PROVIDES`` list for each kernel recipe. Each machine often selects the best kernel provider by using a -line similar to the following in the machine configuration file: :: +line similar to the following in the machine configuration file:: PREFERRED_PROVIDER_virtual/kernel = "linux-yocto" @@ -331,7 +331,7 @@ If the first recipe is named ``a_1.1.bb``, then the Thus, if a recipe named ``a_1.2.bb`` exists, BitBake will choose 1.2 by default. However, if you define the following variable in a ``.conf`` -file that BitBake parses, you can change that preference: :: +file that BitBake parses, you can change that preference:: PREFERRED_VERSION_a = "1.1" @@ -498,7 +498,7 @@ to the task. Like the working directory case, situations exist where dependencies should be ignored. For these cases, you can instruct the build process -to ignore a dependency by using a line like the following: :: +to ignore a dependency by using a line like the following:: PACKAGE_ARCHS[vardepsexclude] = "MACHINE" @@ -508,7 +508,7 @@ even if it does reference it. Equally, there are cases where we need to add dependencies BitBake is not able to find. You can accomplish this by using a line like the -following: :: +following:: PACKAGE_ARCHS[vardeps] = "MACHINE" @@ -536,7 +536,7 @@ configuration file, we can give BitBake some extra information to help it construct the basehash. The following statement effectively results in a list of global variable dependency excludes - variables never included in any checksum. This example uses variables from OpenEmbedded -to help illustrate the concept: :: +to help illustrate the concept:: BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \ SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL \ @@ -557,7 +557,7 @@ OpenEmbedded-Core uses: "OEBasic" and "OEBasicHash". By default, there is a dummy "noop" signature handler enabled in BitBake. This means that behavior is unchanged from previous versions. ``OE-Core`` uses the "OEBasicHash" signature handler by default through this setting in the -``bitbake.conf`` file: :: +``bitbake.conf`` file:: BB_SIGNATURE_HANDLER ?= "OEBasicHash" diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst index bd6cc0ef2..bd1fb4fc7 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst @@ -27,7 +27,7 @@ and unpacking the files is often optionally followed by patching. Patching, however, is not covered by this module. The code to execute the first part of this process, a fetch, looks -something like the following: :: +something like the following:: src_uri = (d.getVar('SRC_URI') or "").split() fetcher = bb.fetch2.Fetch(src_uri, d) @@ -37,7 +37,7 @@ This code sets up an instance of the fetch class. The instance uses a space-separated list of URLs from the :term:`SRC_URI` variable and then calls the ``download`` method to download the files. -The instantiation of the fetch class is usually followed by: :: +The instantiation of the fetch class is usually followed by:: rootdir = l.getVar('WORKDIR') fetcher.unpack(rootdir) @@ -72,7 +72,7 @@ URLs by looking for source files in a specific search order: For each URL passed to the fetcher, the fetcher calls the submodule that handles that particular URL type. This behavior can be the source of some confusion when you are providing URLs for the ``SRC_URI`` variable. -Consider the following two URLs: :: +Consider the following two URLs:: http://git.yoctoproject.org/git/poky;protocol=git git://git.yoctoproject.org/git/poky;protocol=http @@ -81,7 +81,7 @@ In the former case, the URL is passed to the ``wget`` fetcher, which does not understand "git". Therefore, the latter case is the correct form since the Git fetcher does know how to use HTTP as a transport. -Here are some examples that show commonly used mirror definitions: :: +Here are some examples that show commonly used mirror definitions:: PREMIRRORS ?= "\ bzr://.*/.\* http://somemirror.org/sources/ \\n \ @@ -111,19 +111,19 @@ File integrity is of key importance for reproducing builds. For non-local archive downloads, the fetcher code can verify SHA-256 and MD5 checksums to ensure the archives have been downloaded correctly. You can specify these checksums by using the ``SRC_URI`` variable with the -appropriate varflags as follows: :: +appropriate varflags as follows:: SRC_URI[md5sum] = "value" SRC_URI[sha256sum] = "value" You can also specify the checksums as -parameters on the ``SRC_URI`` as shown below: :: +parameters on the ``SRC_URI`` as shown below:: SRC_URI = "http://example.com/foobar.tar.bz2;md5sum=4a8e0f237e961fd7785d19d07fdb994d" If multiple URIs exist, you can specify the checksums either directly as in the previous example, or you can name the URLs. The following syntax -shows how you name the URIs: :: +shows how you name the URIs:: SRC_URI = "http://example.com/foobar.tar.bz2;name=foo" SRC_URI[foo.md5sum] = 4a8e0f237e961fd7785d19d07fdb994d @@ -163,9 +163,6 @@ govern the behavior of the unpack stage: - *dos:* Applies to ``.zip`` and ``.jar`` files and specifies whether to use DOS line ending conversion on text files. -- *basepath:* Instructs the unpack stage to strip the specified - directories from the source path when unpacking. - - *subdir:* Unpacks the specific URL to the specified subdirectory within the root directory. @@ -204,7 +201,7 @@ time the ``download()`` method is called. If you specify a directory, the entire directory is unpacked. Here are a couple of example URLs, the first relative and the second -absolute: :: +absolute:: SRC_URI = "file://relativefile.patch" SRC_URI = "file:///Users/ich/very_important_software" @@ -225,7 +222,7 @@ downloaded file is useful for avoiding collisions in :term:`DL_DIR` when dealing with multiple files that have the same name. -Some example URLs are as follows: :: +Some example URLs are as follows:: SRC_URI = "http://oe.handhelds.org/not_there.aac" SRC_URI = "ftp://oe.handhelds.org/not_there_as_well.aac" @@ -235,15 +232,13 @@ Some example URLs are as follows: :: Because URL parameters are delimited by semi-colons, this can introduce ambiguity when parsing URLs that also contain semi-colons, - for example: - :: + for example:: SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git;a=snapshot;h=a5dd47" Such URLs should should be modified by replacing semi-colons with '&' - characters: - :: + characters:: SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47" @@ -251,8 +246,7 @@ Some example URLs are as follows: :: In most cases this should work. Treating semi-colons and '&' in queries identically is recommended by the World Wide Web Consortium (W3C). Note that due to the nature of the URL, you may have to - specify the name of the downloaded file as well: - :: + specify the name of the downloaded file as well:: SRC_URI = "http://abc123.org/git/?p=gcc/gcc.git&a=snapshot&h=a5dd47;downloadfilename=myfile.bz2" @@ -321,7 +315,7 @@ The supported parameters are as follows: - *"port":* The port to which the CVS server connects. -Some example URLs are as follows: :: +Some example URLs are as follows:: SRC_URI = "cvs://CVSROOT;module=mymodule;tag=some-version;method=ext" SRC_URI = "cvs://CVSROOT;module=mymodule;date=20060126;localdir=usethat" @@ -363,7 +357,7 @@ The supported parameters are as follows: username is different than the username used in the main URL, which is passed to the subversion command. -Following are three examples using svn: :: +Following are three examples using svn:: SRC_URI = "svn://myrepos/proj1;module=vip;protocol=http;rev=667" SRC_URI = "svn://myrepos/proj1;module=opie;protocol=svn+ssh" @@ -436,7 +430,7 @@ This fetcher supports the following parameters: parameter implies no branch and only works when the transfer protocol is ``file://``. -Here are some example URLs: :: +Here are some example URLs:: SRC_URI = "git://git.oe.handhelds.org/git/vip.git;tag=version-1" SRC_URI = "git://git.oe.handhelds.org/git/vip.git;protocol=http" @@ -484,7 +478,7 @@ repository. To use this fetcher, make sure your recipe has proper :term:`SRC_URI`, :term:`SRCREV`, and -:term:`PV` settings. Here is an example: :: +:term:`PV` settings. Here is an example:: SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module" SRCREV = "EXAMPLE_CLEARCASE_TAG" @@ -506,7 +500,7 @@ Following are options for the ``SRC_URI`` statement: The module and vob options are combined to create the load rule in the view config spec. As an example, consider the vob and module values from the SRC_URI statement at the start of this section. Combining those values - results in the following: :: + results in the following:: load /example_vob/example_module @@ -558,7 +552,7 @@ the server's URL and port number, and you can specify a username and password directly in your recipe within ``SRC_URI``. Here is an example that relies on ``P4CONFIG`` to specify the server URL -and port, username, and password, and fetches the Head Revision: :: +and port, username, and password, and fetches the Head Revision:: SRC_URI = "p4://example-depot/main/source/..." SRCREV = "${AUTOREV}" @@ -566,7 +560,7 @@ and port, username, and password, and fetches the Head Revision: :: S = "${WORKDIR}/p4" Here is an example that specifies the server URL and port, username, and -password, and fetches a Revision based on a Label: :: +password, and fetches a Revision based on a Label:: P4PORT = "tcp:p4server.example.net:1666" SRC_URI = "p4://user:passwd@example-depot/main/source/..." @@ -592,7 +586,7 @@ paths locally is desirable, the fetcher supports two parameters: paths locally for the specified location, even in combination with the ``module`` parameter. -Here is an example use of the the ``module`` parameter: :: +Here is an example use of the the ``module`` parameter:: SRC_URI = "p4://user:passwd@example-depot/main;module=source/..." @@ -600,7 +594,7 @@ In this case, the content of the top-level directory ``source/`` will be fetched to ``${P4DIR}``, including the directory itself. The top-level directory will be accesible at ``${P4DIR}/source/``. -Here is an example use of the the ``remotepath`` parameter: :: +Here is an example use of the the ``remotepath`` parameter:: SRC_URI = "p4://user:passwd@example-depot/main;module=source/...;remotepath=keep" @@ -628,7 +622,7 @@ This fetcher supports the following parameters: - *"manifest":* Name of the manifest file (default: ``default.xml``). -Here are some example URLs: :: +Here are some example URLs:: SRC_URI = "repo://REPOROOT;protocol=git;branch=some_branch;manifest=my_manifest.xml" SRC_URI = "repo://REPOROOT;protocol=file;branch=some_branch;manifest=my_manifest.xml" @@ -651,11 +645,11 @@ Such functionality is set by the variable: delegate access to resources, if this variable is set, the Az Fetcher will use it when fetching artifacts from the cloud. -You can specify the AZ_SAS variable as shown below: :: +You can specify the AZ_SAS variable as shown below:: AZ_SAS = "se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=&sig=" -Here is an example URL: :: +Here is an example URL:: SRC_URI = "az://.blob.core.windows.net//" diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst index e3fd32158..a9c33709a 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.rst @@ -20,7 +20,7 @@ Obtaining BitBake See the :ref:`bitbake-user-manual/bitbake-user-manual-hello:obtaining bitbake` section for information on how to obtain BitBake. Once you have the source code on -your machine, the BitBake directory appears as follows: :: +your machine, the BitBake directory appears as follows:: $ ls -al total 100 @@ -49,7 +49,7 @@ Setting Up the BitBake Environment First, you need to be sure that you can run BitBake. Set your working directory to where your local BitBake files are and run the following -command: :: +command:: $ ./bin/bitbake --version BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0 @@ -61,14 +61,14 @@ The recommended method to run BitBake is from a directory of your choice. To be able to run BitBake from any directory, you need to add the executable binary to your binary to your shell's environment ``PATH`` variable. First, look at your current ``PATH`` variable by -entering the following: :: +entering the following:: $ echo $PATH Next, add the directory location for the BitBake binary to the ``PATH``. Here is an example that adds the ``/home/scott-lenovo/bitbake/bin`` directory to the front of the -``PATH`` variable: :: +``PATH`` variable:: $ export PATH=/home/scott-lenovo/bitbake/bin:$PATH @@ -116,7 +116,7 @@ Following is the complete "Hello World" example. #. **Create a Project Directory:** First, set up a directory for the "Hello World" project. Here is how you can do so in your home - directory: :: + directory:: $ mkdir ~/hello $ cd ~/hello @@ -127,7 +127,7 @@ Following is the complete "Hello World" example. directory is a good way to isolate your project. #. **Run BitBake:** At this point, you have nothing but a project - directory. Run the ``bitbake`` command and see what it does: :: + directory. Run the ``bitbake`` command and see what it does:: $ bitbake The BBPATH variable is not set and bitbake did not @@ -161,7 +161,7 @@ Following is the complete "Hello World" example. ``BBPATH`` variable up in a configuration file for each project. From your shell, enter the following commands to set and export the - ``BBPATH`` variable: :: + ``BBPATH`` variable:: $ BBPATH="projectdirectory" $ export BBPATH @@ -176,7 +176,7 @@ Following is the complete "Hello World" example. shell would. #. **Run BitBake:** Now that you have ``BBPATH`` defined, run the - ``bitbake`` command again: :: + ``bitbake`` command again:: $ bitbake ERROR: Traceback (most recent call last): @@ -208,13 +208,13 @@ Following is the complete "Hello World" example. http://git.openembedded.org/bitbake/tree/conf/bitbake.conf. Use the following commands to create the ``conf`` directory in the - project directory: :: + project directory:: $ mkdir conf From within the ``conf`` directory, use some editor to create the ``bitbake.conf`` so that it contains - the following: :: + the following:: PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}" @@ -251,7 +251,7 @@ Following is the complete "Hello World" example. glossary. #. **Run BitBake:** After making sure that the ``conf/bitbake.conf`` file - exists, you can run the ``bitbake`` command again: :: + exists, you can run the ``bitbake`` command again:: $ bitbake ERROR: Traceback (most recent call last): @@ -278,7 +278,7 @@ Following is the complete "Hello World" example. in the ``classes`` directory of the project (i.e ``hello/classes`` in this example). - Create the ``classes`` directory as follows: :: + Create the ``classes`` directory as follows:: $ cd $HOME/hello $ mkdir classes @@ -291,7 +291,7 @@ Following is the complete "Hello World" example. environments BitBake is supporting. #. **Run BitBake:** After making sure that the ``classes/base.bbclass`` - file exists, you can run the ``bitbake`` command again: :: + file exists, you can run the ``bitbake`` command again:: $ bitbake Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information. @@ -314,7 +314,7 @@ Following is the complete "Hello World" example. Minimally, you need a recipe file and a layer configuration file in your layer. The configuration file needs to be in the ``conf`` directory inside the layer. Use these commands to set up the layer - and the ``conf`` directory: :: + and the ``conf`` directory:: $ cd $HOME $ mkdir mylayer @@ -322,12 +322,12 @@ Following is the complete "Hello World" example. $ mkdir conf Move to the ``conf`` directory and create a ``layer.conf`` file that has the - following: :: + following:: BBPATH .= ":${LAYERDIR}" - BBFILES += "${LAYERDIR}/\*.bb" + BBFILES += "${LAYERDIR}/*.bb" BBFILE_COLLECTIONS += "mylayer" - `BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/" + BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/" For information on these variables, click on :term:`BBFILES`, :term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS` or :term:`BBFILE_PATTERN_mylayer ` @@ -335,7 +335,7 @@ Following is the complete "Hello World" example. You need to create the recipe file next. Inside your layer at the top-level, use an editor and create a recipe file named - ``printhello.bb`` that has the following: :: + ``printhello.bb`` that has the following:: DESCRIPTION = "Prints Hello World" PN = 'printhello' @@ -356,7 +356,7 @@ Following is the complete "Hello World" example. follow the links to the glossary. #. **Run BitBake With a Target:** Now that a BitBake target exists, run - the command and provide that target: :: + the command and provide that target:: $ cd $HOME/hello $ bitbake printhello @@ -376,7 +376,7 @@ Following is the complete "Hello World" example. ``hello/conf`` for this example). Set your working directory to the ``hello/conf`` directory and then - create the ``bblayers.conf`` file so that it contains the following: :: + create the ``bblayers.conf`` file so that it contains the following:: BBLAYERS ?= " \ /home//mylayer \ @@ -386,7 +386,7 @@ Following is the complete "Hello World" example. #. **Run BitBake With a Target:** Now that you have supplied the ``bblayers.conf`` file, run the ``bitbake`` command and provide the - target: :: + target:: $ bitbake printhello Parsing recipes: 100% |##################################################################################| diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.rst index 6f9d39293..b3cea61ff 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.rst @@ -248,13 +248,13 @@ underlying, similarly-named recipe files. When you name an append file, you can use the "``%``" wildcard character to allow for matching recipe names. For example, suppose you have an -append file named as follows: :: +append file named as follows:: busybox_1.21.%.bbappend That append file would match any ``busybox_1.21.``\ x\ ``.bb`` version of the recipe. So, -the append file would match the following recipe names: :: +the append file would match the following recipe names:: busybox_1.21.1.bb busybox_1.21.2.bb @@ -290,7 +290,7 @@ You can obtain BitBake several different ways: are using. The metadata is generally backwards compatible but not forward compatible. - Here is an example that clones the BitBake repository: :: + Here is an example that clones the BitBake repository:: $ git clone git://git.openembedded.org/bitbake @@ -298,7 +298,7 @@ You can obtain BitBake several different ways: Git repository into a directory called ``bitbake``. Alternatively, you can designate a directory after the ``git clone`` command if you want to call the new directory something other than ``bitbake``. Here - is an example that names the directory ``bbdev``: :: + is an example that names the directory ``bbdev``:: $ git clone git://git.openembedded.org/bitbake bbdev @@ -317,7 +317,7 @@ You can obtain BitBake several different ways: method for getting BitBake. Cloning the repository makes it easier to update as patches are added to the stable branches. - The following example downloads a snapshot of BitBake version 1.17.0: :: + The following example downloads a snapshot of BitBake version 1.17.0:: $ wget http://git.openembedded.org/bitbake/snapshot/bitbake-1.17.0.tar.gz $ tar zxpvf bitbake-1.17.0.tar.gz @@ -347,7 +347,7 @@ execution examples. Usage and syntax ---------------- -Following is the usage and syntax for BitBake: :: +Following is the usage and syntax for BitBake:: $ bitbake -h Usage: bitbake [options] [recipename/target recipe:do_task ...] @@ -469,11 +469,11 @@ default task, which is "build". BitBake obeys inter-task dependencies when doing so. The following command runs the build task, which is the default task, on -the ``foo_1.0.bb`` recipe file: :: +the ``foo_1.0.bb`` recipe file:: $ bitbake -b foo_1.0.bb -The following command runs the clean task on the ``foo.bb`` recipe file: :: +The following command runs the clean task on the ``foo.bb`` recipe file:: $ bitbake -b foo.bb -c clean @@ -497,13 +497,13 @@ functionality, or when there are multiple versions of a recipe. The ``bitbake`` command, when not using "--buildfile" or "-b" only accepts a "PROVIDES". You cannot provide anything else. By default, a recipe file generally "PROVIDES" its "packagename" as shown in the -following example: :: +following example:: $ bitbake foo This next example "PROVIDES" the package name and also uses the "-c" option to tell BitBake to just -execute the ``do_clean`` task: :: +execute the ``do_clean`` task:: $ bitbake -c clean foo @@ -514,7 +514,7 @@ The BitBake command line supports specifying different tasks for individual targets when you specify multiple targets. For example, suppose you had two targets (or recipes) ``myfirstrecipe`` and ``mysecondrecipe`` and you needed BitBake to run ``taskA`` for the first -recipe and ``taskB`` for the second recipe: :: +recipe and ``taskB`` for the second recipe:: $ bitbake myfirstrecipe:do_taskA mysecondrecipe:do_taskB @@ -540,7 +540,7 @@ produce more readable graphs. This way, you can remove from the graph ``DEPENDS`` from inherited classes such as ``base.bbclass``. Here are two examples that create dependency graphs. The second example -omits depends common in OpenEmbedded from the graph: :: +omits depends common in OpenEmbedded from the graph:: $ bitbake -g foo @@ -582,17 +582,17 @@ accomplished by setting the configuration files for ``target1`` and ``target2`` defined in the build directory. The following statement in the ``local.conf`` file both enables BitBake to perform multiple configuration builds and specifies -the two extra multiconfigs: :: +the two extra multiconfigs:: BBMULTICONFIG = "target1 target2" Once the target configuration files are in place and BitBake has been enabled to perform multiple configuration builds, use the following -command form to start the builds: :: +command form to start the builds:: $ bitbake [mc:multiconfigname:]target [[[mc:multiconfigname:]target] ... ] -Here is an example for two extra multiconfigs: ``target1`` and ``target2``: :: +Here is an example for two extra multiconfigs: ``target1`` and ``target2``:: $ bitbake mc::target mc:target1:target mc:target2:target @@ -613,12 +613,12 @@ multiconfig. To enable dependencies in a multiple configuration build, you must declare the dependencies in the recipe using the following statement -form: :: +form:: task_or_package[mcdepends] = "mc:from_multiconfig:to_multiconfig:recipe_name:task_on_which_to_depend" To better show how to use this statement, consider an example with two -multiconfigs: ``target1`` and ``target2``: :: +multiconfigs: ``target1`` and ``target2``:: image_task[mcdepends] = "mc:target1:target2:image2:rootfs_task" @@ -629,7 +629,7 @@ completion of the rootfs_task used to build out image2, which is associated with the "target2" multiconfig. Once you set up this dependency, you can build the "target1" multiconfig -using a BitBake command as follows: :: +using a BitBake command as follows:: $ bitbake mc:target1:image1 @@ -639,7 +639,7 @@ the ``rootfs_task`` for the "target2" multiconfig build. Having a recipe depend on the root filesystem of another build might not seem that useful. Consider this change to the statement in the image1 -recipe: :: +recipe:: image_task[mcdepends] = "mc:target1:target2:image2:image_task" diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst index d4190c26e..615c9f9ce 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst @@ -26,7 +26,7 @@ assignment. :: VARIABLE = "value" As expected, if you include leading or -trailing spaces as part of an assignment, the spaces are retained: :: +trailing spaces as part of an assignment, the spaces are retained:: VARIABLE = " value" VARIABLE = "value " @@ -40,7 +40,7 @@ blank space (i.e. these are not the same values). :: You can use single quotes instead of double quotes when setting a variable's value. Doing so allows you to use values that contain the -double quote character: :: +double quote character:: VARIABLE = 'I have a " in my value' @@ -77,7 +77,7 @@ occurs, you can use BitBake to check the actual value of the suspect variable. You can make these checks for both configuration and recipe level changes: -- For configuration changes, use the following: :: +- For configuration changes, use the following:: $ bitbake -e @@ -91,7 +91,7 @@ level changes: Variables that are exported to the environment are preceded by the string "export" in the command's output. -- For recipe changes, use the following: :: +- For recipe changes, use the following:: $ bitbake recipe -e \| grep VARIABLE=" @@ -105,7 +105,7 @@ Outside of :ref:`functions ` and :ref:`require ` directives is that you can inherit class files conditionally. You can accomplish this by using a variable expression after the ``inherit`` -statement. Here is an example: :: +statement. Here is an example:: inherit ${VARNAME} If ``VARNAME`` is going to be set, it needs to be set before the ``inherit`` statement is parsed. One way to achieve a conditional inherit in this case is to use -overrides: :: +overrides:: VARIABLE = "" VARIABLE_someoverride = "myclass" -Another method is by using anonymous Python. Here is an example: :: +Another method is by using anonymous Python. Here is an example:: python () { if condition == value: @@ -764,7 +764,7 @@ Another method is by using anonymous Python. Here is an example: :: } Alternatively, you could use an in-line Python expression in the -following form: :: +following form:: inherit ${@'classname' if condition else ''} inherit ${@functionname(params)} @@ -790,7 +790,7 @@ encapsulated functionality or configuration that does not suit a ``.bbclass`` file. As an example, suppose you needed a recipe to include some self-test -definitions: :: +definitions:: include test_defs.inc @@ -831,7 +831,7 @@ include file named ``foo.inc`` that contains the common definitions needed to build "foo". You need to be sure ``foo.inc`` is located in the same directory as your two recipe files as well. Once these conditions are set up, you can share the functionality using a ``require`` -directive from within each recipe: :: +directive from within each recipe:: require foo.inc @@ -844,7 +844,7 @@ class. BitBake only supports this directive when used within a configuration file. As an example, suppose you needed to inherit a class file called -``abc.bbclass`` from a configuration file as follows: :: +``abc.bbclass`` from a configuration file as follows:: INHERIT += "abc" @@ -862,7 +862,7 @@ subdirectory in one of the directories specified in ``BBPATH``. If you want to use the directive to inherit multiple classes, you can provide them on the same line in the ``local.conf`` file. Use spaces to separate the classes. The following example shows how to inherit both -the ``autotools`` and ``pkgconfig`` classes: :: +the ``autotools`` and ``pkgconfig`` classes:: INHERIT += "autotools pkgconfig" @@ -895,7 +895,7 @@ Shell Functions Functions written in shell script and executed either directly as functions, tasks, or both. They can also be called by other shell -functions. Here is an example shell function definition: :: +functions. Here is an example shell function definition:: some_function () { echo "Hello World" @@ -912,7 +912,7 @@ can also be applied to shell functions. Most commonly, this application would be used in a ``.bbappend`` file to modify functions in the main recipe. It can also be used to modify functions inherited from classes. -As an example, consider the following: :: +As an example, consider the following:: do_foo() { bbplain first @@ -931,7 +931,7 @@ As an example, consider the following: :: bbplain fourth } -Running ``do_foo`` prints the following: :: +Running ``do_foo`` prints the following:: recipename do_foo: first recipename do_foo: second @@ -952,7 +952,7 @@ BitBake-Style Python Functions These functions are written in Python and executed by BitBake or other Python functions using ``bb.build.exec_func()``. -An example BitBake function is: :: +An example BitBake function is:: python some_python_function () { d.setVar("TEXT", "Hello World") @@ -975,7 +975,7 @@ import these modules. Also in these types of functions, the datastore Similar to shell functions, you can also apply overrides and override-style operators to BitBake-style Python functions. -As an example, consider the following: :: +As an example, consider the following:: python do_foo_prepend() { bb.plain("first") @@ -989,7 +989,7 @@ As an example, consider the following: :: bb.plain("third") } -Running ``do_foo`` prints the following: :: +Running ``do_foo`` prints the following:: recipename do_foo: first recipename do_foo: second @@ -1004,7 +1004,7 @@ Python Functions These functions are written in Python and are executed by other Python code. Examples of Python functions are utility functions that you intend to call from in-line Python or from within other Python functions. Here -is an example: :: +is an example:: def get_depends(d): if d.getVar('SOMECONDITION'): @@ -1056,7 +1056,7 @@ functions and regular Python functions defined with "def": - Regular Python functions are called with the usual Python syntax. BitBake-style Python functions are usually tasks and are called directly by BitBake, but can also be called manually from Python code - by using the ``bb.build.exec_func()`` function. Here is an example: :: + by using the ``bb.build.exec_func()`` function. Here is an example:: bb.build.exec_func("my_bitbake_style_function", d) @@ -1094,7 +1094,7 @@ Sometimes it is useful to set variables or perform other operations programmatically during parsing. To do this, you can define special Python functions, called anonymous Python functions, that run at the end of parsing. For example, the following conditionally sets a variable -based on the value of another variable: :: +based on the value of another variable:: python () { if d.getVar('SOMEVAR') == 'value': @@ -1107,7 +1107,7 @@ the name "__anonymous", rather than no name. Anonymous Python functions always run at the end of parsing, regardless of where they are defined. If a recipe contains many anonymous functions, they run in the same order as they are defined within the -recipe. As an example, consider the following snippet: :: +recipe. As an example, consider the following snippet:: python () { d.setVar('FOO', 'foo 2') @@ -1122,7 +1122,7 @@ recipe. As an example, consider the following snippet: :: BAR = "bar 1" The previous example is conceptually -equivalent to the following snippet: :: +equivalent to the following snippet:: FOO = "foo 1" BAR = "bar 1" @@ -1136,7 +1136,7 @@ available to tasks, which always run after parsing. Overrides and override-style operators such as "``_append``" are applied before anonymous functions run. In the following example, ``FOO`` ends -up with the value "foo from anonymous": :: +up with the value "foo from anonymous":: FOO = "foo" FOO_append = " from outside" @@ -1173,24 +1173,24 @@ version of the function. To make use of this technique, you need the following things in place: -- The class needs to define the function as follows: :: +- The class needs to define the function as follows:: classname_functionname For example, if you have a class file ``bar.bbclass`` and a function named ``do_foo``, the class must - define the function as follows: :: + define the function as follows:: bar_do_foo - The class needs to contain the ``EXPORT_FUNCTIONS`` statement as - follows: :: + follows:: EXPORT_FUNCTIONS functionname For example, continuing with the same example, the statement in the ``bar.bbclass`` would be as - follows: :: + follows:: EXPORT_FUNCTIONS do_foo @@ -1199,7 +1199,7 @@ To make use of this technique, you need the following things in place: class version of the function, it should call ``bar_do_foo``. Assuming ``do_foo`` was a shell function and ``EXPORT_FUNCTIONS`` was used as above, the recipe's function could conditionally call the - class version of the function as follows: :: + class version of the function as follows:: do_foo() { if [ somecondition ] ; then @@ -1233,7 +1233,7 @@ Tasks are either :ref:`shell functions ` - variable flag, as follows: :: + variable flag, as follows:: do_printdate[nostamp] = "1" You can also explicitly run the task and provide the - -f option as follows: :: + -f option as follows:: $ bitbake recipe -c printdate -f @@ -1278,7 +1278,7 @@ Additionally, the ``do_printdate`` task becomes dependent upon the name. You might wonder about the practical effects of using ``addtask`` -without specifying any dependencies as is done in the following example: :: +without specifying any dependencies as is done in the following example:: addtask printdate @@ -1286,7 +1286,7 @@ In this example, assuming dependencies have not been added through some other means, the only way to run the task is by explicitly selecting it with ``bitbake`` recipe ``-c printdate``. You can use the ``do_listtasks`` task to list all tasks defined in a recipe -as shown in the following example: :: +as shown in the following example:: $ bitbake recipe -c listtasks @@ -1312,7 +1312,7 @@ Deleting a Task As well as being able to add tasks, you can delete them. Simply use the ``deltask`` command to delete a task. For example, to delete the example -task used in the previous sections, you would use: :: +task used in the previous sections, you would use:: deltask printdate @@ -1328,7 +1328,7 @@ to run before ``do_a``. If you want dependencies such as these to remain intact, use the ``[noexec]`` varflag to disable the task instead of using the -``deltask`` command to delete it: :: +``deltask`` command to delete it:: do_b[noexec] = "1" @@ -1356,7 +1356,7 @@ environment, you must take these two steps: example, assume you want to prevent the build system from accessing your ``$HOME/.ccache`` directory. The following command "whitelists" the environment variable ``CCACHE_DIR`` causing BitBake to allow that - variable into the datastore: :: + variable into the datastore:: export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE CCACHE_DIR" @@ -1366,7 +1366,7 @@ environment, you must take these two steps: available in the datastore. To export it to the task environment of every running task, use a command similar to the following in your local configuration file ``local.conf`` or your distribution - configuration file: :: + configuration file:: export CCACHE_DIR @@ -1385,7 +1385,7 @@ environment into a special variable named :term:`BB_ORIGENV`. The ``BB_ORIGENV`` variable returns a datastore object that can be queried using the standard datastore operators such as ``getVar(, False)``. The datastore object is useful, for example, to -find the original ``DISPLAY`` variable. Here is an example: :: +find the original ``DISPLAY`` variable. Here is an example:: origenv = d.getVar("BB_ORIGENV", False) bar = origenv.getVar("BAR", False) @@ -1398,7 +1398,7 @@ Variable Flags Variable flags (varflags) help control a task's functionality and dependencies. BitBake reads and writes varflags to the datastore using -the following command forms: :: +the following command forms:: variable = d.getVarFlags("variable") self.d.setVarFlags("FOO", {"func": True}) @@ -1537,7 +1537,7 @@ intent is to make it easy to do things like email notification on build failures. Following is an example event handler that prints the name of the event -and the content of the ``FILE`` variable: :: +and the content of the ``FILE`` variable:: addhandler myclass_eventhandler python myclass_eventhandler() { @@ -1676,7 +1676,7 @@ incarnations are buildable. These features are enabled through the also specify conditional metadata (using the :term:`OVERRIDES` mechanism) for a single version, or an optionally named range of versions. Here is an - example: :: + example:: BBVERSIONS = "1.0 2.0 git" SRC_URI_git = "git://someurl/somepath.git" @@ -1719,7 +1719,7 @@ Dependencies Internal to the ``.bb`` File BitBake uses the ``addtask`` directive to manage dependencies that are internal to a given recipe file. You can use the ``addtask`` directive to indicate when a task is dependent on other tasks or when other tasks -depend on that recipe. Here is an example: :: +depend on that recipe. Here is an example:: addtask printdate after do_fetch before do_build @@ -1743,7 +1743,7 @@ task depends on the completion of the ``do_printdate`` task. - The directive ``addtask mytask after do_configure`` by itself never causes ``do_mytask`` to run. ``do_mytask`` can still be run - manually as follows: :: + manually as follows:: $ bitbake recipe -c mytask @@ -1757,7 +1757,7 @@ Build Dependencies BitBake uses the :term:`DEPENDS` variable to manage build time dependencies. The ``[deptask]`` varflag for tasks signifies the task of each item listed in ``DEPENDS`` that must complete before -that task can be executed. Here is an example: :: +that task can be executed. Here is an example:: do_configure[deptask] = "do_populate_sysroot" @@ -1799,7 +1799,7 @@ dependencies are discovered and added. The ``[recrdeptask]`` flag is most commonly used in high-level recipes that need to wait for some task to finish "globally". For example, -``image.bbclass`` has the following: :: +``image.bbclass`` has the following:: do_rootfs[recrdeptask] += "do_packagedata" @@ -1808,7 +1808,7 @@ the current recipe and all recipes reachable (by way of dependencies) from the image recipe must run before the ``do_rootfs`` task can run. BitBake allows a task to recursively depend on itself by -referencing itself in the task list: :: +referencing itself in the task list:: do_a[recrdeptask] = "do_a do_b" @@ -1825,7 +1825,7 @@ Inter-Task Dependencies BitBake uses the ``[depends]`` flag in a more generic form to manage inter-task dependencies. This more generic form allows for inter-dependency checks for specific tasks rather than checks for the -data in ``DEPENDS``. Here is an example: :: +data in ``DEPENDS``. Here is an example:: do_patch[depends] = "quilt-native:do_populate_sysroot" @@ -1920,7 +1920,7 @@ To help understand how BitBake does this, the section assumes an OpenEmbedded metadata-based example. These checksums are stored in :term:`STAMP`. You can -examine the checksums using the following BitBake command: :: +examine the checksums using the following BitBake command:: $ bitbake-dumpsigs diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst index 489fa15fa..e1b640e2f 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst @@ -130,7 +130,7 @@ overview of their function and contents. you to control the build based on these parameters. Disk space monitoring is disabled by default. When setting this - variable, use the following form: :: + variable, use the following form:: BB_DISKMON_DIRS = ",, [...]" @@ -166,7 +166,7 @@ overview of their function and contents. not specify G, M, or K, Kbytes is assumed by default. Do not use GB, MB, or KB. - Here are some examples: :: + Here are some examples:: BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K" BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G" @@ -207,7 +207,7 @@ overview of their function and contents. BB_DISKMON_WARNINTERVAL = "50M,5K" When specifying the variable in your configuration file, use the - following form: :: + following form:: BB_DISKMON_WARNINTERVAL = "," @@ -223,7 +223,7 @@ overview of their function and contents. G, M, or K for Gbytes, Mbytes, or Kbytes, respectively. You cannot use GB, MB, or KB. - Here is an example: :: + Here is an example:: BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K" BB_DISKMON_WARNINTERVAL = "50M,5K" @@ -329,7 +329,7 @@ overview of their function and contents. Specifies the name of the log files saved into ``${``\ :term:`T`\ ``}``. By default, the ``BB_LOGFMT`` variable is undefined and the log file names get created using the - following form: :: + following form:: log.{task}.{pid} @@ -383,7 +383,7 @@ overview of their function and contents. Specifies the name of the executable script files (i.e. run files) saved into ``${``\ :term:`T`\ ``}``. By default, the ``BB_RUNFMT`` variable is undefined and the run file names get - created using the following form: :: + created using the following form:: run.{task}.{pid} @@ -511,7 +511,7 @@ overview of their function and contents. This variable works similarly to the :term:`BB_TASK_NICE_LEVEL` variable except with a task's I/O priorities. - Set the variable as follows: :: + Set the variable as follows:: BB_TASK_IONICE_LEVEL = "class.prio" @@ -529,7 +529,7 @@ overview of their function and contents. In order for your I/O priority settings to take effect, you need the Completely Fair Queuing (CFQ) Scheduler selected for the backing block device. To select the scheduler, use the following command form where - device is the device (e.g. sda, sdb, and so forth): :: + device is the device (e.g. sda, sdb, and so forth):: $ sudo sh -c "echo cfq > /sys/block/device/queu/scheduler" @@ -570,7 +570,7 @@ overview of their function and contents. To build a different variant of the recipe with a minimal amount of code, it usually is as simple as adding the variable to your recipe. Here are two examples. The "native" variants are from the - OpenEmbedded-Core metadata: :: + OpenEmbedded-Core metadata:: BBCLASSEXTEND =+ "native nativesdk" BBCLASSEXTEND =+ "multilib:multilib_name" @@ -658,12 +658,12 @@ overview of their function and contents. ``.bb`` files in case a layer is not present. Use this avoid hard dependency on those other layers. - Use the following form for ``BBFILES_DYNAMIC``: :: + Use the following form for ``BBFILES_DYNAMIC``:: collection_name:filename_pattern The following example identifies two collection names and two filename - patterns: :: + patterns:: BBFILES_DYNAMIC += "\ clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \ @@ -671,14 +671,14 @@ overview of their function and contents. " When the collection name is prefixed with "!" it will add the file pattern in case - the layer is absent: :: + the layer is absent:: BBFILES_DYNAMIC += "\ !clang-layer:${LAYERDIR}/backfill/meta-clang/*/*/*.bb \ " This next example shows an error message that occurs because invalid - entries are found, which cause parsing to abort: :: + entries are found, which cause parsing to abort:: ERROR: BBFILES_DYNAMIC entries must be of the form {!}:, not: /work/my-layer/bbappends/meta-security-isafw/*/*/*.bbappend @@ -701,7 +701,7 @@ overview of their function and contents. :term:`BBLAYERS` Lists the layers to enable during the build. This variable is defined in the ``bblayers.conf`` configuration file in the build directory. - Here is an example: :: + Here is an example:: BBLAYERS = " \ /home/scottrif/poky/meta \ @@ -735,13 +735,13 @@ overview of their function and contents. The following example uses a complete regular expression to tell BitBake to ignore all recipe and recipe append files in the - ``meta-ti/recipes-misc/`` directory: :: + ``meta-ti/recipes-misc/`` directory:: BBMASK = "meta-ti/recipes-misc/" If you want to mask out multiple directories or recipes, you can specify multiple regular expression fragments. This next example - masks out multiple directories and individual recipes: :: + masks out multiple directories and individual recipes:: BBMASK += "/meta-ti/recipes-misc/ meta-ti/recipes-ti/packagegroup/" BBMASK += "/meta-oe/recipes-support/" @@ -762,7 +762,7 @@ overview of their function and contents. ``conf/local.conf`` configuration file. As an example, the following line specifies three multiconfigs, each - having a separate configuration file: :: + having a separate configuration file:: BBMULTIFONFIG = "configA configB configC" @@ -783,7 +783,7 @@ overview of their function and contents. If you run BitBake from a directory outside of the build directory, you must be sure to set ``BBPATH`` to point to the build directory. Set the variable as you would any environment variable and then run - BitBake: :: + BitBake:: $ BBPATH="build_directory" $ export BBPATH @@ -852,7 +852,7 @@ overview of their function and contents. Consider this simple example for two recipes named "a" and "b" that produce similarly named packages. In this example, the ``DEPENDS`` - statement appears in the "a" recipe: :: + statement appears in the "a" recipe:: DEPENDS = "b" @@ -1074,7 +1074,7 @@ overview of their function and contents. recipes provide the same item. You should always suffix the variable with the name of the provided item, and you should set it to the :term:`PN` of the recipe to which you want to give - precedence. Some examples: :: + precedence. Some examples:: PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86" @@ -1086,11 +1086,11 @@ overview of their function and contents. ``PREFERRED_PROVIDERS`` is identical to :term:`PREFERRED_PROVIDER`. However, the ``PREFERRED_PROVIDERS`` variable lets you define preferences for multiple situations using the following - form: :: + form:: PREFERRED_PROVIDERS = "xxx:yyy aaa:bbb ..." - This form is a convenient replacement for the following: :: + This form is a convenient replacement for the following:: PREFERRED_PROVIDER_xxx = "yyy" PREFERRED_PROVIDER_aaa = "bbb" @@ -1106,7 +1106,7 @@ overview of their function and contents. through the "``%``" character. You can use the character to match any number of characters, which can be useful when specifying versions that contain long revision numbers that potentially change. Here are - two examples: :: + two examples:: PREFERRED_VERSION_python = "2.7.3" PREFERRED_VERSION_linux-yocto = "4.12%" @@ -1130,7 +1130,7 @@ overview of their function and contents. Typically, you would add a specific server for the build system to attempt before any others by adding something like the following to - your configuration: :: + your configuration:: PREMIRRORS_prepend = "\ git://.*/.* http://www.yoctoproject.org/sources/ \n \ @@ -1152,7 +1152,7 @@ overview of their function and contents. ``DEPENDS``. Consider the following example ``PROVIDES`` statement from a recipe - file ``libav_0.8.11.bb``: :: + file ``libav_0.8.11.bb``:: PROVIDES += "libpostproc" @@ -1175,7 +1175,7 @@ overview of their function and contents. :term:`PRSERV_HOST` The network based :term:`PR` service host and port. - Following is an example of how the ``PRSERV_HOST`` variable is set: :: + Following is an example of how the ``PRSERV_HOST`` variable is set:: PRSERV_HOST = "localhost:0" @@ -1196,7 +1196,7 @@ overview of their function and contents. you should always use the variable in a form with an attached package name. For example, suppose you are building a development package that depends on the ``perl`` package. In this case, you would use the - following ``RDEPENDS`` statement: :: + following ``RDEPENDS`` statement:: RDEPENDS_${PN}-dev += "perl" @@ -1207,11 +1207,11 @@ overview of their function and contents. BitBake supports specifying versioned dependencies. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions - with the ``RDEPENDS`` variable: :: + with the ``RDEPENDS`` variable:: RDEPENDS_${PN} = "package (operator version)" - For ``operator``, you can specify the following: :: + For ``operator``, you can specify the following:: = < @@ -1220,7 +1220,7 @@ overview of their function and contents. >= For example, the following sets up a dependency on version 1.2 or - greater of the package ``foo``: :: + greater of the package ``foo``:: RDEPENDS_${PN} = "foo (>= 1.2)" @@ -1249,7 +1249,7 @@ overview of their function and contents. As with all package-controlling variables, you must always use the variable in conjunction with a package name override. Here is an - example: :: + example:: RPROVIDES_${PN} = "widget-abi-2" @@ -1263,11 +1263,11 @@ overview of their function and contents. BitBake supports specifying versioned recommends. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions - with the ``RRECOMMENDS`` variable: :: + with the ``RRECOMMENDS`` variable:: RRECOMMENDS_${PN} = "package (operator version)" - For ``operator``, you can specify the following: :: + For ``operator``, you can specify the following:: = < @@ -1276,7 +1276,7 @@ overview of their function and contents. >= For example, the following sets up a recommend on version - 1.2 or greater of the package ``foo``: :: + 1.2 or greater of the package ``foo``:: RRECOMMENDS_${PN} = "foo (>= 1.2)" diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py index 9f61dae14..a144bd609 100644 --- a/poky/bitbake/lib/bb/__init__.py +++ b/poky/bitbake/lib/bb/__init__.py @@ -9,7 +9,7 @@ # SPDX-License-Identifier: GPL-2.0-only # -__version__ = "1.50.0" +__version__ = "1.51.0" import sys if sys.version_info < (3, 5, 0): diff --git a/poky/bitbake/lib/bb/asyncrpc/__init__.py b/poky/bitbake/lib/bb/asyncrpc/__init__.py new file mode 100644 index 000000000..b2bec31ab --- /dev/null +++ b/poky/bitbake/lib/bb/asyncrpc/__init__.py @@ -0,0 +1,31 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import itertools +import json + +# The Python async server defaults to a 64K receive buffer, so we hardcode our +# maximum chunk size. It would be better if the client and server reported to +# each other what the maximum chunk sizes were, but that will slow down the +# connection setup with a round trip delay so I'd rather not do that unless it +# is necessary +DEFAULT_MAX_CHUNK = 32 * 1024 + + +def chunkify(msg, max_chunk): + if len(msg) < max_chunk - 1: + yield ''.join((msg, "\n")) + else: + yield ''.join((json.dumps({ + 'chunk-stream': None + }), "\n")) + + args = [iter(msg)] * (max_chunk - 1) + for m in map(''.join, itertools.zip_longest(*args, fillvalue='')): + yield ''.join(itertools.chain(m, "\n")) + yield "\n" + + +from .client import AsyncClient, Client +from .serv import AsyncServer, AsyncServerConnection diff --git a/poky/bitbake/lib/bb/asyncrpc/client.py b/poky/bitbake/lib/bb/asyncrpc/client.py new file mode 100644 index 000000000..4cdad9ac3 --- /dev/null +++ b/poky/bitbake/lib/bb/asyncrpc/client.py @@ -0,0 +1,145 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import abc +import asyncio +import json +import os +import socket +from . import chunkify, DEFAULT_MAX_CHUNK + + +class AsyncClient(object): + def __init__(self, proto_name, proto_version, logger): + self.reader = None + self.writer = None + self.max_chunk = DEFAULT_MAX_CHUNK + self.proto_name = proto_name + self.proto_version = proto_version + self.logger = logger + + async def connect_tcp(self, address, port): + async def connect_sock(): + return await asyncio.open_connection(address, port) + + self._connect_sock = connect_sock + + async def connect_unix(self, path): + async def connect_sock(): + return await asyncio.open_unix_connection(path) + + self._connect_sock = connect_sock + + async def setup_connection(self): + s = '%s %s\n\n' % (self.proto_name, self.proto_version) + self.writer.write(s.encode("utf-8")) + await self.writer.drain() + + async def connect(self): + if self.reader is None or self.writer is None: + (self.reader, self.writer) = await self._connect_sock() + await self.setup_connection() + + async def close(self): + self.reader = None + + if self.writer is not None: + self.writer.close() + self.writer = None + + async def _send_wrapper(self, proc): + count = 0 + while True: + try: + await self.connect() + return await proc() + except ( + OSError, + ConnectionError, + json.JSONDecodeError, + UnicodeDecodeError, + ) as e: + self.logger.warning("Error talking to server: %s" % e) + if count >= 3: + if not isinstance(e, ConnectionError): + raise ConnectionError(str(e)) + raise e + await self.close() + count += 1 + + async def send_message(self, msg): + async def get_line(): + line = await self.reader.readline() + if not line: + raise ConnectionError("Connection closed") + + line = line.decode("utf-8") + + if not line.endswith("\n"): + raise ConnectionError("Bad message %r" % msg) + + return line + + async def proc(): + for c in chunkify(json.dumps(msg), self.max_chunk): + self.writer.write(c.encode("utf-8")) + await self.writer.drain() + + l = await get_line() + + m = json.loads(l) + if m and "chunk-stream" in m: + lines = [] + while True: + l = (await get_line()).rstrip("\n") + if not l: + break + lines.append(l) + + m = json.loads("".join(lines)) + + return m + + return await self._send_wrapper(proc) + + +class Client(object): + def __init__(self): + self.client = self._get_async_client() + self.loop = asyncio.new_event_loop() + + self._add_methods('connect_tcp', 'close') + + @abc.abstractmethod + def _get_async_client(self): + pass + + def _get_downcall_wrapper(self, downcall): + def wrapper(*args, **kwargs): + return self.loop.run_until_complete(downcall(*args, **kwargs)) + + return wrapper + + def _add_methods(self, *methods): + for m in methods: + downcall = getattr(self.client, m) + setattr(self, m, self._get_downcall_wrapper(downcall)) + + def connect_unix(self, path): + # AF_UNIX has path length issues so chdir here to workaround + cwd = os.getcwd() + try: + os.chdir(os.path.dirname(path)) + self.loop.run_until_complete(self.client.connect_unix(os.path.basename(path))) + self.loop.run_until_complete(self.client.connect()) + finally: + os.chdir(cwd) + + @property + def max_chunk(self): + return self.client.max_chunk + + @max_chunk.setter + def max_chunk(self, value): + self.client.max_chunk = value diff --git a/poky/bitbake/lib/bb/asyncrpc/serv.py b/poky/bitbake/lib/bb/asyncrpc/serv.py new file mode 100644 index 000000000..cb3384639 --- /dev/null +++ b/poky/bitbake/lib/bb/asyncrpc/serv.py @@ -0,0 +1,218 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import abc +import asyncio +import json +import os +import signal +import socket +import sys +from . import chunkify, DEFAULT_MAX_CHUNK + + +class ClientError(Exception): + pass + + +class ServerError(Exception): + pass + + +class AsyncServerConnection(object): + def __init__(self, reader, writer, proto_name, logger): + self.reader = reader + self.writer = writer + self.proto_name = proto_name + self.max_chunk = DEFAULT_MAX_CHUNK + self.handlers = { + 'chunk-stream': self.handle_chunk, + } + self.logger = logger + + async def process_requests(self): + try: + self.addr = self.writer.get_extra_info('peername') + self.logger.debug('Client %r connected' % (self.addr,)) + + # Read protocol and version + client_protocol = await self.reader.readline() + if client_protocol is None: + return + + (client_proto_name, client_proto_version) = client_protocol.decode('utf-8').rstrip().split() + if client_proto_name != self.proto_name: + self.logger.debug('Rejecting invalid protocol %s' % (self.proto_name)) + return + + self.proto_version = tuple(int(v) for v in client_proto_version.split('.')) + if not self.validate_proto_version(): + self.logger.debug('Rejecting invalid protocol version %s' % (client_proto_version)) + return + + # Read headers. Currently, no headers are implemented, so look for + # an empty line to signal the end of the headers + while True: + line = await self.reader.readline() + if line is None: + return + + line = line.decode('utf-8').rstrip() + if not line: + break + + # Handle messages + while True: + d = await self.read_message() + if d is None: + break + await self.dispatch_message(d) + await self.writer.drain() + except ClientError as e: + self.logger.error(str(e)) + finally: + self.writer.close() + + async def dispatch_message(self, msg): + for k in self.handlers.keys(): + if k in msg: + self.logger.debug('Handling %s' % k) + await self.handlers[k](msg[k]) + return + + raise ClientError("Unrecognized command %r" % msg) + + def write_message(self, msg): + for c in chunkify(json.dumps(msg), self.max_chunk): + self.writer.write(c.encode('utf-8')) + + async def read_message(self): + l = await self.reader.readline() + if not l: + return None + + try: + message = l.decode('utf-8') + + if not message.endswith('\n'): + return None + + return json.loads(message) + except (json.JSONDecodeError, UnicodeDecodeError) as e: + self.logger.error('Bad message from client: %r' % message) + raise e + + async def handle_chunk(self, request): + lines = [] + try: + while True: + l = await self.reader.readline() + l = l.rstrip(b"\n").decode("utf-8") + if not l: + break + lines.append(l) + + msg = json.loads(''.join(lines)) + except (json.JSONDecodeError, UnicodeDecodeError) as e: + self.logger.error('Bad message from client: %r' % lines) + raise e + + if 'chunk-stream' in msg: + raise ClientError("Nested chunks are not allowed") + + await self.dispatch_message(msg) + + +class AsyncServer(object): + def __init__(self, logger, loop=None): + if loop is None: + self.loop = asyncio.new_event_loop() + self.close_loop = True + else: + self.loop = loop + self.close_loop = False + + self._cleanup_socket = None + self.logger = logger + + def start_tcp_server(self, host, port): + self.server = self.loop.run_until_complete( + asyncio.start_server(self.handle_client, host, port, loop=self.loop) + ) + + for s in self.server.sockets: + self.logger.info('Listening on %r' % (s.getsockname(),)) + # Newer python does this automatically. Do it manually here for + # maximum compatibility + s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1) + s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1) + + name = self.server.sockets[0].getsockname() + if self.server.sockets[0].family == socket.AF_INET6: + self.address = "[%s]:%d" % (name[0], name[1]) + else: + self.address = "%s:%d" % (name[0], name[1]) + + def start_unix_server(self, path): + def cleanup(): + os.unlink(path) + + cwd = os.getcwd() + try: + # Work around path length limits in AF_UNIX + os.chdir(os.path.dirname(path)) + self.server = self.loop.run_until_complete( + asyncio.start_unix_server(self.handle_client, os.path.basename(path), loop=self.loop) + ) + finally: + os.chdir(cwd) + + self.logger.info('Listening on %r' % path) + + self._cleanup_socket = cleanup + self.address = "unix://%s" % os.path.abspath(path) + + @abc.abstractmethod + def accept_client(self, reader, writer): + pass + + async def handle_client(self, reader, writer): + # writer.transport.set_write_buffer_limits(0) + try: + client = self.accept_client(reader, writer) + await client.process_requests() + except Exception as e: + import traceback + self.logger.error('Error from client: %s' % str(e), exc_info=True) + traceback.print_exc() + writer.close() + self.logger.info('Client disconnected') + + def run_loop_forever(self): + try: + self.loop.run_forever() + except KeyboardInterrupt: + pass + + def signal_handler(self): + self.loop.stop() + + def serve_forever(self): + asyncio.set_event_loop(self.loop) + try: + self.loop.add_signal_handler(signal.SIGTERM, self.signal_handler) + + self.run_loop_forever() + self.server.close() + + self.loop.run_until_complete(self.server.wait_closed()) + self.logger.info('Server shutting down') + finally: + if self.close_loop: + if sys.version_info >= (3, 6): + self.loop.run_until_complete(self.loop.shutdown_asyncgens()) + self.loop.close() + + if self._cleanup_socket is not None: + self._cleanup_socket() diff --git a/poky/bitbake/lib/bb/command.py b/poky/bitbake/lib/bb/command.py index dd77cdd6e..f530cf844 100644 --- a/poky/bitbake/lib/bb/command.py +++ b/poky/bitbake/lib/bb/command.py @@ -20,6 +20,7 @@ Commands are queued in a CommandQueue from collections import OrderedDict, defaultdict +import io import bb.event import bb.cooker import bb.remotedata @@ -500,6 +501,17 @@ class CommandsSync: d = command.remotedatastores[dsindex].varhistory return getattr(d, method)(*args, **kwargs) + def dataStoreConnectorVarHistCmdEmit(self, command, params): + dsindex = params[0] + var = params[1] + oval = params[2] + val = params[3] + d = command.remotedatastores[params[4]] + + o = io.StringIO() + command.remotedatastores[dsindex].varhistory.emit(var, oval, val, o, d) + return o.getvalue() + def dataStoreConnectorIncHistCmd(self, command, params): dsindex = params[0] method = params[1] diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py index e3ba80a3f..5e65c83c6 100644 --- a/poky/bitbake/lib/bb/fetch2/git.py +++ b/poky/bitbake/lib/bb/fetch2/git.py @@ -168,7 +168,11 @@ class Git(FetchMethod): if len(branches) != len(ud.names): raise bb.fetch2.ParameterError("The number of name and branch parameters is not balanced", ud.url) - ud.cloneflags = "-s -n" + ud.noshared = d.getVar("BB_GIT_NOSHARED") == "1" + + ud.cloneflags = "-n" + if not ud.noshared: + ud.cloneflags += " -s" if ud.bareclone: ud.cloneflags += " --mirror" @@ -394,7 +398,7 @@ class Git(FetchMethod): tmpdir = tempfile.mkdtemp(dir=d.getVar('DL_DIR')) try: # Do the checkout. This implicitly involves a Git LFS fetch. - self.unpack(ud, tmpdir, d) + Git.unpack(self, ud, tmpdir, d) # Scoop up a copy of any stuff that Git LFS downloaded. Merge them into # the bare clonedir. diff --git a/poky/bitbake/lib/bb/fetch2/s3.py b/poky/bitbake/lib/bb/fetch2/s3.py index ffca73c8e..6b8ffd535 100644 --- a/poky/bitbake/lib/bb/fetch2/s3.py +++ b/poky/bitbake/lib/bb/fetch2/s3.py @@ -18,10 +18,47 @@ The aws tool must be correctly installed and configured prior to use. import os import bb import urllib.request, urllib.parse, urllib.error +import re from bb.fetch2 import FetchMethod from bb.fetch2 import FetchError from bb.fetch2 import runfetchcmd +def convertToBytes(value, unit): + value = float(value) + if (unit == "KiB"): + value = value*1024.0; + elif (unit == "MiB"): + value = value*1024.0*1024.0; + elif (unit == "GiB"): + value = value*1024.0*1024.0*1024.0; + return value + +class S3ProgressHandler(bb.progress.LineFilterProgressHandler): + """ + Extract progress information from s3 cp output, e.g.: + Completed 5.1 KiB/8.8 GiB (12.0 MiB/s) with 1 file(s) remaining + """ + def __init__(self, d): + super(S3ProgressHandler, self).__init__(d) + # Send an initial progress event so the bar gets shown + self._fire_progress(0) + + def writeline(self, line): + percs = re.findall(r'^Completed (\d+.{0,1}\d*) (\w+)\/(\d+.{0,1}\d*) (\w+) (\(.+\)) with\s+', line) + if percs: + completed = (percs[-1][0]) + completedUnit = (percs[-1][1]) + total = (percs[-1][2]) + totalUnit = (percs[-1][3]) + completed = convertToBytes(completed, completedUnit) + total = convertToBytes(total, totalUnit) + progress = (completed/total)*100.0 + rate = percs[-1][4] + self.update(progress, rate) + return False + return True + + class S3(FetchMethod): """Class to fetch urls via 'aws s3'""" @@ -52,7 +89,9 @@ class S3(FetchMethod): cmd = '%s cp s3://%s%s %s' % (ud.basecmd, ud.host, ud.path, ud.localpath) bb.fetch2.check_network_access(d, cmd, ud.url) - runfetchcmd(cmd, d) + + progresshandler = S3ProgressHandler(d) + runfetchcmd(cmd, d, False, log=progresshandler) # Additional sanity checks copied from the wget class (although there # are no known issues which mean these are required, treat the aws cli diff --git a/poky/bitbake/lib/bb/fetch2/svn.py b/poky/bitbake/lib/bb/fetch2/svn.py index 8856ef1c6..80102b44f 100644 --- a/poky/bitbake/lib/bb/fetch2/svn.py +++ b/poky/bitbake/lib/bb/fetch2/svn.py @@ -86,7 +86,7 @@ class Svn(FetchMethod): if command == "info": svncmd = "%s info %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module) elif command == "log1": - svncmd = "%s log --limit 1 %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module) + svncmd = "%s log --limit 1 --quiet %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module) else: suffix = "" diff --git a/poky/bitbake/lib/bb/progress.py b/poky/bitbake/lib/bb/progress.py index d051ba019..52d704d64 100644 --- a/poky/bitbake/lib/bb/progress.py +++ b/poky/bitbake/lib/bb/progress.py @@ -94,12 +94,15 @@ class LineFilterProgressHandler(ProgressHandler): while True: breakpos = self._linebuffer.find('\n') + 1 if breakpos == 0: - break + # for the case when the line with progress ends with only '\r' + breakpos = self._linebuffer.find('\r') + 1 + if breakpos == 0: + break line = self._linebuffer[:breakpos] self._linebuffer = self._linebuffer[breakpos:] # Drop any line feeds and anything that precedes them lbreakpos = line.rfind('\r') + 1 - if lbreakpos: + if lbreakpos and lbreakpos != breakpos: line = line[lbreakpos:] if self.writeline(filter_color(line)): super().write(line) diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index cd56a5547..6c41fe6d4 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -2030,8 +2030,6 @@ class RunQueueExecute: logger.debug("%s didn't become valid, skipping setscene" % nexttask) self.sq_task_failoutright(nexttask) return True - else: - self.sqdata.outrightfail.remove(nexttask) if nexttask in self.sqdata.outrightfail: logger.debug2('No package found, so skipping setscene task %s', nexttask) self.sq_task_failoutright(nexttask) @@ -2296,10 +2294,16 @@ class RunQueueExecute: self.updated_taskhash_queue.remove((tid, unihash)) if unihash != self.rqdata.runtaskentries[tid].unihash: - hashequiv_logger.verbose("Task %s unihash changed to %s" % (tid, unihash)) - self.rqdata.runtaskentries[tid].unihash = unihash - bb.parse.siggen.set_unihash(tid, unihash) - toprocess.add(tid) + # Make sure we rehash any other tasks with the same task hash that we're deferred against. + torehash = [tid] + for deftid in self.sq_deferred: + if self.sq_deferred[deftid] == tid: + torehash.append(deftid) + for hashtid in torehash: + hashequiv_logger.verbose("Task %s unihash changed to %s" % (hashtid, unihash)) + self.rqdata.runtaskentries[hashtid].unihash = unihash + bb.parse.siggen.set_unihash(hashtid, unihash) + toprocess.add(hashtid) # Work out all tasks which depend upon these total = set() @@ -2827,6 +2831,8 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s sqdata.stamppresent.remove(tid) if tid in sqdata.valid: sqdata.valid.remove(tid) + if tid in sqdata.outrightfail: + sqdata.outrightfail.remove(tid) noexec, stamppresent = check_setscene_stamps(tid, rqdata, rq, stampcache, noexecstamp=True) @@ -2845,6 +2851,7 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s sqdata.valid |= rq.validate_hashes(tocheck, cooker.data, len(sqdata.stamppresent), False, summary=summary) sqdata.hashes = {} + sqrq.sq_deferred = {} for mc in sorted(sqdata.multiconfigs): for tid in sorted(sqdata.sq_revdeps): if mc_from_tid(tid) != mc: @@ -2857,10 +2864,13 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s continue if tid in sqrq.scenequeue_notcovered: continue - sqdata.outrightfail.add(tid) + if tid in sqrq.scenequeue_covered: + continue h = pending_hash_index(tid, rqdata) if h not in sqdata.hashes: + if tid in tids: + sqdata.outrightfail.add(tid) sqdata.hashes[h] = tid else: sqrq.sq_deferred[tid] = sqdata.hashes[h] diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py index b27b4aefe..3e99bcef8 100644 --- a/poky/bitbake/lib/bb/server/process.py +++ b/poky/bitbake/lib/bb/server/process.py @@ -509,7 +509,7 @@ class BitBakeServer(object): os.set_inheritable(self.bitbake_lock.fileno(), True) os.set_inheritable(self.readypipein, True) serverscript = os.path.realpath(os.path.dirname(__file__) + "/../../../bin/bitbake-server") - os.execl(sys.executable, "bitbake-server", serverscript, "decafbad", str(self.bitbake_lock.fileno()), str(self.readypipein), self.logfile, self.bitbake_lock.name, self.sockname, str(self.server_timeout), str(self.xmlrpcinterface[0]), str(self.xmlrpcinterface[1])) + os.execl(sys.executable, "bitbake-server", serverscript, "decafbad", str(self.bitbake_lock.fileno()), str(self.readypipein), self.logfile, self.bitbake_lock.name, self.sockname, str(self.server_timeout or 0), str(self.xmlrpcinterface[0]), str(self.xmlrpcinterface[1])) def execServer(lockfd, readypipeinfd, lockname, sockname, server_timeout, xmlrpcinterface): diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py index 0d88c6ec6..07692e673 100644 --- a/poky/bitbake/lib/bb/siggen.py +++ b/poky/bitbake/lib/bb/siggen.py @@ -402,7 +402,7 @@ class SignatureGeneratorBasic(SignatureGenerator): p = pickle.dump(data, stream, -1) stream.flush() os.chmod(tmpfile, 0o664) - os.rename(tmpfile, sigfile) + bb.utils.rename(tmpfile, sigfile) except (OSError, IOError) as err: try: os.unlink(tmpfile) @@ -542,7 +542,7 @@ class SignatureGeneratorUniHashMixIn(object): hashequiv_logger.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server)) else: hashequiv_logger.debug2('No reported unihash for %s:%s from %s' % (tid, taskhash, self.server)) - except hashserv.client.HashConnectionError as e: + except ConnectionError as e: bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) self.set_unihash(tid, unihash) @@ -621,7 +621,7 @@ class SignatureGeneratorUniHashMixIn(object): d.setVar('BB_UNIHASH', new_unihash) else: hashequiv_logger.debug('Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server)) - except hashserv.client.HashConnectionError as e: + except ConnectionError as e: bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) finally: if sigfile: @@ -661,7 +661,7 @@ class SignatureGeneratorUniHashMixIn(object): # TODO: What to do here? hashequiv_logger.verbose('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash)) - except hashserv.client.HashConnectionError as e: + except ConnectionError as e: bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) return False diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index ddf6e9743..9291ce4a0 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -390,6 +390,7 @@ class FetcherTest(unittest.TestCase): if os.environ.get("BB_TMPDIR_NOCLEAN") == "yes": print("Not cleaning up %s. Please remove manually." % self.tempdir) else: + bb.process.run('chmod u+rw -R %s' % self.tempdir) bb.utils.prunedir(self.tempdir) class MirrorUriTest(FetcherTest): @@ -673,12 +674,14 @@ class FetcherLocalTest(FetcherTest): with self.assertRaises(bb.fetch2.UnpackError): self.fetchUnpack(['file://a;subdir=/bin/sh']) - def test_local_gitfetch_usehead(self): + def dummyGitTest(self, suffix): # Create dummy local Git repo src_dir = tempfile.mkdtemp(dir=self.tempdir, prefix='gitfetch_localusehead_') src_dir = os.path.abspath(src_dir) bb.process.run("git init", cwd=src_dir) + bb.process.run("git config user.email 'you@example.com'", cwd=src_dir) + bb.process.run("git config user.name 'Your Name'", cwd=src_dir) bb.process.run("git commit --allow-empty -m'Dummy commit'", cwd=src_dir) # Use other branch than master @@ -690,7 +693,7 @@ class FetcherLocalTest(FetcherTest): # Fetch and check revision self.d.setVar("SRCREV", "AUTOINC") - url = "git://" + src_dir + ";protocol=file;usehead=1" + url = "git://" + src_dir + ";protocol=file;" + suffix fetcher = bb.fetch.Fetch([url], self.d) fetcher.download() fetcher.unpack(self.unpackdir) @@ -699,31 +702,23 @@ class FetcherLocalTest(FetcherTest): unpack_rev = stdout[0].strip() self.assertEqual(orig_rev, unpack_rev) + def test_local_gitfetch_usehead(self): + self.dummyGitTest("usehead=1") + def test_local_gitfetch_usehead_withname(self): - # Create dummy local Git repo - src_dir = tempfile.mkdtemp(dir=self.tempdir, - prefix='gitfetch_localusehead_') - src_dir = os.path.abspath(src_dir) - bb.process.run("git init", cwd=src_dir) - bb.process.run("git commit --allow-empty -m'Dummy commit'", - cwd=src_dir) - # Use other branch than master - bb.process.run("git checkout -b my-devel", cwd=src_dir) - bb.process.run("git commit --allow-empty -m'Dummy commit 2'", - cwd=src_dir) - stdout = bb.process.run("git rev-parse HEAD", cwd=src_dir) - orig_rev = stdout[0].strip() + self.dummyGitTest("usehead=1;name=newName") - # Fetch and check revision - self.d.setVar("SRCREV", "AUTOINC") - url = "git://" + src_dir + ";protocol=file;usehead=1;name=newName" - fetcher = bb.fetch.Fetch([url], self.d) - fetcher.download() - fetcher.unpack(self.unpackdir) - stdout = bb.process.run("git rev-parse HEAD", - cwd=os.path.join(self.unpackdir, 'git')) - unpack_rev = stdout[0].strip() - self.assertEqual(orig_rev, unpack_rev) + def test_local_gitfetch_shared(self): + self.dummyGitTest("usehead=1;name=sharedName") + alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates') + self.assertTrue(os.path.exists(alt)) + + def test_local_gitfetch_noshared(self): + self.d.setVar('BB_GIT_NOSHARED', '1') + self.unpackdir += '_noshared' + self.dummyGitTest("usehead=1;name=noSharedName") + alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates') + self.assertFalse(os.path.exists(alt)) class FetcherNoNetworkTest(FetcherTest): def setUp(self): @@ -1390,6 +1385,8 @@ class GitMakeShallowTest(FetcherTest): self.gitdir = os.path.join(self.tempdir, 'gitshallow') bb.utils.mkdirhier(self.gitdir) bb.process.run('git init', cwd=self.gitdir) + bb.process.run('git config user.email "you@example.com"', cwd=self.gitdir) + bb.process.run('git config user.name "Your Name"', cwd=self.gitdir) def assertRefs(self, expected_refs): actual_refs = self.git(['for-each-ref', '--format=%(refname)']).splitlines() @@ -1513,6 +1510,8 @@ class GitShallowTest(FetcherTest): bb.utils.mkdirhier(self.srcdir) self.git('init', cwd=self.srcdir) + self.git('config user.email "you@example.com"', cwd=self.srcdir) + self.git('config user.name "Your Name"', cwd=self.srcdir) self.d.setVar('WORKDIR', self.tempdir) self.d.setVar('S', self.gitdir) self.d.delVar('PREMIRRORS') @@ -1594,6 +1593,7 @@ class GitShallowTest(FetcherTest): # fetch and unpack, from the shallow tarball bb.utils.remove(self.gitdir, recurse=True) + bb.process.run('chmod u+w -R "%s"' % ud.clonedir) bb.utils.remove(ud.clonedir, recurse=True) bb.utils.remove(ud.clonedir.replace('gitsource', 'gitsubmodule'), recurse=True) @@ -1746,6 +1746,8 @@ class GitShallowTest(FetcherTest): smdir = os.path.join(self.tempdir, 'gitsubmodule') bb.utils.mkdirhier(smdir) self.git('init', cwd=smdir) + self.git('config user.email "you@example.com"', cwd=smdir) + self.git('config user.name "Your Name"', cwd=smdir) # Make this look like it was cloned from a remote... self.git('config --add remote.origin.url "%s"' % smdir, cwd=smdir) self.git('config --add remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"', cwd=smdir) @@ -1776,6 +1778,8 @@ class GitShallowTest(FetcherTest): smdir = os.path.join(self.tempdir, 'gitsubmodule') bb.utils.mkdirhier(smdir) self.git('init', cwd=smdir) + self.git('config user.email "you@example.com"', cwd=smdir) + self.git('config user.name "Your Name"', cwd=smdir) # Make this look like it was cloned from a remote... self.git('config --add remote.origin.url "%s"' % smdir, cwd=smdir) self.git('config --add remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"', cwd=smdir) @@ -1794,7 +1798,7 @@ class GitShallowTest(FetcherTest): # Set up the mirror mirrordir = os.path.join(self.tempdir, 'mirror') - os.rename(self.dldir, mirrordir) + bb.utils.rename(self.dldir, mirrordir) self.d.setVar('PREMIRRORS', 'gitsm://.*/.* file://%s/\n' % mirrordir) # Fetch from the mirror @@ -1818,8 +1822,8 @@ class GitShallowTest(FetcherTest): self.git('annex init', cwd=self.srcdir) open(os.path.join(self.srcdir, 'c'), 'w').close() self.git('annex add c', cwd=self.srcdir) - self.git('commit -m annex-c -a', cwd=self.srcdir) - bb.process.run('chmod u+w -R %s' % os.path.join(self.srcdir, '.git', 'annex')) + self.git('commit --author "Foo Bar " -m annex-c -a', cwd=self.srcdir) + bb.process.run('chmod u+w -R %s' % self.srcdir) uri = 'gitannex://%s;protocol=file;subdir=${S}' % self.srcdir fetcher, ud = self.fetch_shallow(uri) @@ -1912,7 +1916,7 @@ class GitShallowTest(FetcherTest): bb.utils.mkdirhier(mirrordir) self.d.setVar('PREMIRRORS', 'git://.*/.* file://%s/\n' % mirrordir) - os.rename(os.path.join(self.dldir, mirrortarball), + bb.utils.rename(os.path.join(self.dldir, mirrortarball), os.path.join(mirrordir, mirrortarball)) # Fetch from the mirror @@ -2094,6 +2098,8 @@ class GitLfsTest(FetcherTest): bb.utils.mkdirhier(self.srcdir) self.git('init', cwd=self.srcdir) + self.git('config user.email "you@example.com"', cwd=self.srcdir) + self.git('config user.name "Your Name"', cwd=self.srcdir) with open(os.path.join(self.srcdir, '.gitattributes'), 'wt') as attrs: attrs.write('*.mp3 filter=lfs -text') self.git(['add', '.gitattributes'], cwd=self.srcdir) @@ -2634,3 +2640,29 @@ class NPMTest(FetcherTest): fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d) fetcher.download() self.assertTrue(os.path.exists(ud.localpath)) + +class GitSharedTest(FetcherTest): + def setUp(self): + super(GitSharedTest, self).setUp() + self.recipe_url = "git://git.openembedded.org/bitbake" + self.d.setVar('SRCREV', '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40') + + @skipIfNoNetwork() + def test_shared_unpack(self): + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + + fetcher.download() + fetcher.unpack(self.unpackdir) + alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates') + self.assertTrue(os.path.exists(alt)) + + @skipIfNoNetwork() + def test_noshared_unpack(self): + self.d.setVar('BB_GIT_NOSHARED', '1') + self.unpackdir += '_noshared' + fetcher = bb.fetch.Fetch([self.recipe_url], self.d) + + fetcher.download() + fetcher.unpack(self.unpackdir) + alt = os.path.join(self.unpackdir, 'git/.git/objects/info/alternates') + self.assertFalse(os.path.exists(alt)) diff --git a/poky/bitbake/lib/bb/tinfoil.py b/poky/bitbake/lib/bb/tinfoil.py index 796a98f05..27a341541 100644 --- a/poky/bitbake/lib/bb/tinfoil.py +++ b/poky/bitbake/lib/bb/tinfoil.py @@ -52,6 +52,10 @@ class TinfoilDataStoreConnectorVarHistory: def remoteCommand(self, cmd, *args, **kwargs): return self.tinfoil.run_command('dataStoreConnectorVarHistCmd', self.dsindex, cmd, args, kwargs) + def emit(self, var, oval, val, o, d): + ret = self.tinfoil.run_command('dataStoreConnectorVarHistCmdEmit', self.dsindex, var, oval, val, d.dsindex) + o.write(ret) + def __getattr__(self, name): if not hasattr(bb.data_smart.VariableHistory, name): raise AttributeError("VariableHistory has no such method %s" % name) diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py index 0efa614df..65ff2727d 100644 --- a/poky/bitbake/lib/bb/ui/knotty.py +++ b/poky/bitbake/lib/bb/ui/knotty.py @@ -21,6 +21,7 @@ import fcntl import struct import copy import atexit +from itertools import groupby from bb.ui import uihelper @@ -539,6 +540,13 @@ def main(server, eventHandler, params, tf = TerminalFilter): except OSError: pass + # Add the logging domains specified by the user on the command line + for (domainarg, iterator) in groupby(params.debug_domains): + dlevel = len(tuple(iterator)) + l = logconfig["loggers"].setdefault("BitBake.%s" % domainarg, {}) + l["level"] = logging.DEBUG - dlevel + 1 + l.setdefault("handlers", []).extend(["BitBake.verbconsole"]) + conf = bb.msg.setLoggingConfig(logconfig, logconfigfile) if sys.stdin.isatty() and sys.stdout.isatty(): diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py index b282d09ab..6ba1d2a37 100644 --- a/poky/bitbake/lib/bb/utils.py +++ b/poky/bitbake/lib/bb/utils.py @@ -782,7 +782,7 @@ def movefile(src, dest, newmtime = None, sstat = None): if sstat[stat.ST_DEV] == dstat[stat.ST_DEV]: try: - os.rename(src, destpath) + bb.utils.rename(src, destpath) renamefailed = 0 except Exception as e: if e.errno != errno.EXDEV: @@ -796,7 +796,7 @@ def movefile(src, dest, newmtime = None, sstat = None): if stat.S_ISREG(sstat[stat.ST_MODE]): try: # For safety copy then move it over. shutil.copyfile(src, destpath + "#new") - os.rename(destpath + "#new", destpath) + bb.utils.rename(destpath + "#new", destpath) didcopy = 1 except Exception as e: print('movefile: copy', src, '->', dest, 'failed.', e) @@ -874,7 +874,7 @@ def copyfile(src, dest, newmtime = None, sstat = None): # For safety copy then move it over. shutil.copyfile(src, dest + "#new") - os.rename(dest + "#new", dest) + bb.utils.rename(dest + "#new", dest) except Exception as e: logger.warning("copyfile: copy %s to %s failed (%s)" % (src, dest, e)) return False @@ -1669,3 +1669,15 @@ def is_semver(version): return False return True + +# Wrapper around os.rename which can handle cross device problems +# e.g. from container filesystems +def rename(src, dst): + try: + os.rename(src, dst) + except OSError as err: + if err.errno == 18: + # Invalid cross-device link error + shutil.move(src, dst) + else: + raise err diff --git a/poky/bitbake/lib/bblayers/layerindex.py b/poky/bitbake/lib/bblayers/layerindex.py index b2f27b21e..793651620 100644 --- a/poky/bitbake/lib/bblayers/layerindex.py +++ b/poky/bitbake/lib/bblayers/layerindex.py @@ -159,12 +159,17 @@ class LayerIndexPlugin(ActionPlugin): logger.plain(' recommended by: %s' % ' '.join(recommendedby)) if dependencies: - fetchdir = self.tinfoil.config_data.getVar('BBLAYERS_FETCH_DIR') - if not fetchdir: - logger.error("Cannot get BBLAYERS_FETCH_DIR") - return 1 + if args.fetchdir: + fetchdir = args.fetchdir + else: + fetchdir = self.tinfoil.config_data.getVar('BBLAYERS_FETCH_DIR') + if not fetchdir: + logger.error("Cannot get BBLAYERS_FETCH_DIR") + return 1 + if not os.path.exists(fetchdir): os.makedirs(fetchdir) + addlayers = [] for deplayerbranch in dependencies: @@ -206,6 +211,8 @@ class LayerIndexPlugin(ActionPlugin): """ args.show_only = True args.ignore = [] + args.fetchdir = "" + args.shallow = True self.do_layerindex_fetch(args) def register_commands(self, sp): @@ -214,6 +221,7 @@ class LayerIndexPlugin(ActionPlugin): parser_layerindex_fetch.add_argument('-b', '--branch', help='branch name to fetch') parser_layerindex_fetch.add_argument('-s', '--shallow', help='do only shallow clones (--depth=1)', action='store_true') parser_layerindex_fetch.add_argument('-i', '--ignore', help='assume the specified layers do not need to be fetched/added (separate multiple layers with commas, no spaces)', metavar='LAYER') + parser_layerindex_fetch.add_argument('-f', '--fetchdir', help='directory to fetch the layer(s) into (will be created if it does not exist)') parser_layerindex_fetch.add_argument('layername', nargs='+', help='layer to fetch') parser_layerindex_show_depends = self.add_command(sp, 'layerindex-show-depends', self.do_layerindex_show_depends, parserecipes=False) diff --git a/poky/bitbake/lib/hashserv/client.py b/poky/bitbake/lib/hashserv/client.py index e05c1eb56..531170967 100644 --- a/poky/bitbake/lib/hashserv/client.py +++ b/poky/bitbake/lib/hashserv/client.py @@ -8,110 +8,26 @@ import json import logging import socket import os -from . import chunkify, DEFAULT_MAX_CHUNK, create_async_client +import bb.asyncrpc +from . import create_async_client logger = logging.getLogger("hashserv.client") -class HashConnectionError(Exception): - pass - - -class AsyncClient(object): +class AsyncClient(bb.asyncrpc.AsyncClient): MODE_NORMAL = 0 MODE_GET_STREAM = 1 def __init__(self): - self.reader = None - self.writer = None + super().__init__('OEHASHEQUIV', '1.1', logger) self.mode = self.MODE_NORMAL - self.max_chunk = DEFAULT_MAX_CHUNK - - async def connect_tcp(self, address, port): - async def connect_sock(): - return await asyncio.open_connection(address, port) - - self._connect_sock = connect_sock - - async def connect_unix(self, path): - async def connect_sock(): - return await asyncio.open_unix_connection(path) - - self._connect_sock = connect_sock - - async def connect(self): - if self.reader is None or self.writer is None: - (self.reader, self.writer) = await self._connect_sock() - - self.writer.write("OEHASHEQUIV 1.1\n\n".encode("utf-8")) - await self.writer.drain() - - cur_mode = self.mode - self.mode = self.MODE_NORMAL - await self._set_mode(cur_mode) - - async def close(self): - self.reader = None - - if self.writer is not None: - self.writer.close() - self.writer = None - - async def _send_wrapper(self, proc): - count = 0 - while True: - try: - await self.connect() - return await proc() - except ( - OSError, - HashConnectionError, - json.JSONDecodeError, - UnicodeDecodeError, - ) as e: - logger.warning("Error talking to server: %s" % e) - if count >= 3: - if not isinstance(e, HashConnectionError): - raise HashConnectionError(str(e)) - raise e - await self.close() - count += 1 - - async def send_message(self, msg): - async def get_line(): - line = await self.reader.readline() - if not line: - raise HashConnectionError("Connection closed") - - line = line.decode("utf-8") - - if not line.endswith("\n"): - raise HashConnectionError("Bad message %r" % message) - - return line - - async def proc(): - for c in chunkify(json.dumps(msg), self.max_chunk): - self.writer.write(c.encode("utf-8")) - await self.writer.drain() - - l = await get_line() - - m = json.loads(l) - if m and "chunk-stream" in m: - lines = [] - while True: - l = (await get_line()).rstrip("\n") - if not l: - break - lines.append(l) - - m = json.loads("".join(lines)) - - return m - return await self._send_wrapper(proc) + async def setup_connection(self): + await super().setup_connection() + cur_mode = self.mode + self.mode = self.MODE_NORMAL + await self._set_mode(cur_mode) async def send_stream(self, msg): async def proc(): @@ -119,7 +35,7 @@ class AsyncClient(object): await self.writer.drain() l = await self.reader.readline() if not l: - raise HashConnectionError("Connection closed") + raise ConnectionError("Connection closed") return l.decode("utf-8").rstrip() return await self._send_wrapper(proc) @@ -128,11 +44,11 @@ class AsyncClient(object): if new_mode == self.MODE_NORMAL and self.mode == self.MODE_GET_STREAM: r = await self.send_stream("END") if r != "ok": - raise HashConnectionError("Bad response from server %r" % r) + raise ConnectionError("Bad response from server %r" % r) elif new_mode == self.MODE_GET_STREAM and self.mode == self.MODE_NORMAL: r = await self.send_message({"get-stream": None}) if r != "ok": - raise HashConnectionError("Bad response from server %r" % r) + raise ConnectionError("Bad response from server %r" % r) elif new_mode != self.mode: raise Exception( "Undefined mode transition %r -> %r" % (self.mode, new_mode) @@ -189,12 +105,10 @@ class AsyncClient(object): return (await self.send_message({"backfill-wait": None}))["tasks"] -class Client(object): +class Client(bb.asyncrpc.Client): def __init__(self): - self.client = AsyncClient() - self.loop = asyncio.new_event_loop() - - for call in ( + super().__init__() + self._add_methods( "connect_tcp", "close", "get_unihash", @@ -204,30 +118,7 @@ class Client(object): "get_stats", "reset_stats", "backfill_wait", - ): - downcall = getattr(self.client, call) - setattr(self, call, self._get_downcall_wrapper(downcall)) - - def _get_downcall_wrapper(self, downcall): - def wrapper(*args, **kwargs): - return self.loop.run_until_complete(downcall(*args, **kwargs)) - - return wrapper - - def connect_unix(self, path): - # AF_UNIX has path length issues so chdir here to workaround - cwd = os.getcwd() - try: - os.chdir(os.path.dirname(path)) - self.loop.run_until_complete(self.client.connect_unix(os.path.basename(path))) - self.loop.run_until_complete(self.client.connect()) - finally: - os.chdir(cwd) - - @property - def max_chunk(self): - return self.client.max_chunk - - @max_chunk.setter - def max_chunk(self, value): - self.client.max_chunk = value + ) + + def _get_async_client(self): + return AsyncClient() diff --git a/poky/bitbake/lib/hashserv/server.py b/poky/bitbake/lib/hashserv/server.py index a0dc0c170..c941c0e9d 100644 --- a/poky/bitbake/lib/hashserv/server.py +++ b/poky/bitbake/lib/hashserv/server.py @@ -14,7 +14,9 @@ import signal import socket import sys import time -from . import chunkify, DEFAULT_MAX_CHUNK, create_async_client, TABLE_COLUMNS +from . import create_async_client, TABLE_COLUMNS +import bb.asyncrpc + logger = logging.getLogger('hashserv.server') @@ -109,12 +111,6 @@ class Stats(object): return {k: getattr(self, k) for k in ('num', 'total_time', 'max_time', 'average', 'stdev')} -class ClientError(Exception): - pass - -class ServerError(Exception): - pass - def insert_task(cursor, data, ignore=False): keys = sorted(data.keys()) query = '''INSERT%s INTO tasks_v2 (%s) VALUES (%s)''' % ( @@ -149,7 +145,7 @@ async def copy_outhash_from_upstream(client, db, method, outhash, taskhash): return d -class ServerClient(object): +class ServerClient(bb.asyncrpc.AsyncServerConnection): FAST_QUERY = 'SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1' ALL_QUERY = 'SELECT * FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1' OUTHASH_QUERY = ''' @@ -168,21 +164,19 @@ class ServerClient(object): ''' def __init__(self, reader, writer, db, request_stats, backfill_queue, upstream, read_only): - self.reader = reader - self.writer = writer + super().__init__(reader, writer, 'OEHASHEQUIV', logger) self.db = db self.request_stats = request_stats - self.max_chunk = DEFAULT_MAX_CHUNK + self.max_chunk = bb.asyncrpc.DEFAULT_MAX_CHUNK self.backfill_queue = backfill_queue self.upstream = upstream - self.handlers = { + self.handlers.update({ 'get': self.handle_get, 'get-outhash': self.handle_get_outhash, 'get-stream': self.handle_get_stream, 'get-stats': self.handle_get_stats, - 'chunk-stream': self.handle_chunk, - } + }) if not read_only: self.handlers.update({ @@ -192,56 +186,19 @@ class ServerClient(object): 'backfill-wait': self.handle_backfill_wait, }) + def validate_proto_version(self): + return (self.proto_version > (1, 0) and self.proto_version <= (1, 1)) + async def process_requests(self): if self.upstream is not None: self.upstream_client = await create_async_client(self.upstream) else: self.upstream_client = None - try: - - - self.addr = self.writer.get_extra_info('peername') - logger.debug('Client %r connected' % (self.addr,)) - - # Read protocol and version - protocol = await self.reader.readline() - if protocol is None: - return - - (proto_name, proto_version) = protocol.decode('utf-8').rstrip().split() - if proto_name != 'OEHASHEQUIV': - return - - proto_version = tuple(int(v) for v in proto_version.split('.')) - if proto_version < (1, 0) or proto_version > (1, 1): - return - - # Read headers. Currently, no headers are implemented, so look for - # an empty line to signal the end of the headers - while True: - line = await self.reader.readline() - if line is None: - return + await super().process_requests() - line = line.decode('utf-8').rstrip() - if not line: - break - - # Handle messages - while True: - d = await self.read_message() - if d is None: - break - await self.dispatch_message(d) - await self.writer.drain() - except ClientError as e: - logger.error(str(e)) - finally: - if self.upstream_client is not None: - await self.upstream_client.close() - - self.writer.close() + if self.upstream_client is not None: + await self.upstream_client.close() async def dispatch_message(self, msg): for k in self.handlers.keys(): @@ -255,47 +212,7 @@ class ServerClient(object): await self.handlers[k](msg[k]) return - raise ClientError("Unrecognized command %r" % msg) - - def write_message(self, msg): - for c in chunkify(json.dumps(msg), self.max_chunk): - self.writer.write(c.encode('utf-8')) - - async def read_message(self): - l = await self.reader.readline() - if not l: - return None - - try: - message = l.decode('utf-8') - - if not message.endswith('\n'): - return None - - return json.loads(message) - except (json.JSONDecodeError, UnicodeDecodeError) as e: - logger.error('Bad message from client: %r' % message) - raise e - - async def handle_chunk(self, request): - lines = [] - try: - while True: - l = await self.reader.readline() - l = l.rstrip(b"\n").decode("utf-8") - if not l: - break - lines.append(l) - - msg = json.loads(''.join(lines)) - except (json.JSONDecodeError, UnicodeDecodeError) as e: - logger.error('Bad message from client: %r' % message) - raise e - - if 'chunk-stream' in msg: - raise ClientError("Nested chunks are not allowed") - - await self.dispatch_message(msg) + raise bb.asyncrpc.ClientError("Unrecognized command %r" % msg) async def handle_get(self, request): method = request['method'] @@ -499,74 +416,20 @@ class ServerClient(object): cursor.close() -class Server(object): +class Server(bb.asyncrpc.AsyncServer): def __init__(self, db, loop=None, upstream=None, read_only=False): if upstream and read_only: - raise ServerError("Read-only hashserv cannot pull from an upstream server") + raise bb.asyncrpc.ServerError("Read-only hashserv cannot pull from an upstream server") + + super().__init__(logger, loop) self.request_stats = Stats() self.db = db - - if loop is None: - self.loop = asyncio.new_event_loop() - self.close_loop = True - else: - self.loop = loop - self.close_loop = False - self.upstream = upstream self.read_only = read_only - self._cleanup_socket = None - - def start_tcp_server(self, host, port): - self.server = self.loop.run_until_complete( - asyncio.start_server(self.handle_client, host, port, loop=self.loop) - ) - - for s in self.server.sockets: - logger.info('Listening on %r' % (s.getsockname(),)) - # Newer python does this automatically. Do it manually here for - # maximum compatibility - s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1) - s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1) - - name = self.server.sockets[0].getsockname() - if self.server.sockets[0].family == socket.AF_INET6: - self.address = "[%s]:%d" % (name[0], name[1]) - else: - self.address = "%s:%d" % (name[0], name[1]) - - def start_unix_server(self, path): - def cleanup(): - os.unlink(path) - - cwd = os.getcwd() - try: - # Work around path length limits in AF_UNIX - os.chdir(os.path.dirname(path)) - self.server = self.loop.run_until_complete( - asyncio.start_unix_server(self.handle_client, os.path.basename(path), loop=self.loop) - ) - finally: - os.chdir(cwd) - - logger.info('Listening on %r' % path) - - self._cleanup_socket = cleanup - self.address = "unix://%s" % os.path.abspath(path) - - async def handle_client(self, reader, writer): - # writer.transport.set_write_buffer_limits(0) - try: - client = ServerClient(reader, writer, self.db, self.request_stats, self.backfill_queue, self.upstream, self.read_only) - await client.process_requests() - except Exception as e: - import traceback - logger.error('Error from client: %s' % str(e), exc_info=True) - traceback.print_exc() - writer.close() - logger.info('Client disconnected') + def accept_client(self, reader, writer): + return ServerClient(reader, writer, self.db, self.request_stats, self.backfill_queue, self.upstream, self.read_only) @contextmanager def _backfill_worker(self): @@ -597,31 +460,8 @@ class Server(object): else: yield - def serve_forever(self): - def signal_handler(): - self.loop.stop() - - asyncio.set_event_loop(self.loop) - try: - self.backfill_queue = asyncio.Queue() - - self.loop.add_signal_handler(signal.SIGTERM, signal_handler) - - with self._backfill_worker(): - try: - self.loop.run_forever() - except KeyboardInterrupt: - pass - - self.server.close() - - self.loop.run_until_complete(self.server.wait_closed()) - logger.info('Server shutting down') - finally: - if self.close_loop: - if sys.version_info >= (3, 6): - self.loop.run_until_complete(self.loop.shutdown_asyncgens()) - self.loop.close() + def run_loop_forever(self): + self.backfill_queue = asyncio.Queue() - if self._cleanup_socket is not None: - self._cleanup_socket() + with self._backfill_worker(): + super().run_loop_forever() diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py index 1a696481e..e2b762dbf 100644 --- a/poky/bitbake/lib/hashserv/tests.py +++ b/poky/bitbake/lib/hashserv/tests.py @@ -6,7 +6,6 @@ # from . import create_server, create_client -from .client import HashConnectionError import hashlib import logging import multiprocessing @@ -277,7 +276,7 @@ class HashEquivalenceCommonTests(object): outhash2 = '3c979c3db45c569f51ab7626a4651074be3a9d11a84b1db076f5b14f7d39db44' unihash2 = '90e9bc1d1f094c51824adca7f8ea79a048d68824' - with self.assertRaises(HashConnectionError): + with self.assertRaises(ConnectionError): ro_client.report_unihash(taskhash2, self.METHOD, outhash2, unihash2) # Ensure that the database was not modified diff --git a/poky/bitbake/lib/prserv/serv.py b/poky/bitbake/lib/prserv/serv.py index 25dcf8a0e..5e322bf83 100644 --- a/poky/bitbake/lib/prserv/serv.py +++ b/poky/bitbake/lib/prserv/serv.py @@ -5,8 +5,6 @@ import os,sys,logging import signal, time from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler -import threading -import queue import socket import io import sqlite3 @@ -14,14 +12,10 @@ import bb.server.xmlrpcclient import prserv import prserv.db import errno -import select +import multiprocessing logger = logging.getLogger("BitBake.PRserv") -if sys.hexversion < 0x020600F0: - print("Sorry, python 2.6 or later is required.") - sys.exit(1) - class Handler(SimpleXMLRPCRequestHandler): def _dispatch(self,method,params): try: @@ -37,7 +31,7 @@ singleton = None class PRServer(SimpleXMLRPCServer): - def __init__(self, dbfile, logfile, interface, daemon=True): + def __init__(self, dbfile, logfile, interface): ''' constructor ''' try: SimpleXMLRPCServer.__init__(self, interface, @@ -50,57 +44,18 @@ class PRServer(SimpleXMLRPCServer): raise PRServiceConfigError self.dbfile=dbfile - self.daemon=daemon self.logfile=logfile - self.working_thread=None self.host, self.port = self.socket.getsockname() - self.pidfile=PIDPREFIX % (self.host, self.port) self.register_function(self.getPR, "getPR") - self.register_function(self.quit, "quit") self.register_function(self.ping, "ping") self.register_function(self.export, "export") - self.register_function(self.dump_db, "dump_db") self.register_function(self.importone, "importone") self.register_introspection_functions() - self.quitpipein, self.quitpipeout = os.pipe() - - self.requestqueue = queue.Queue() - self.handlerthread = threading.Thread(target = self.process_request_thread) - self.handlerthread.daemon = False - - def process_request_thread(self): - """Same as in BaseServer but as a thread. - - In addition, exception handling is done here. - - """ - iter_count = 1 + self.iter_count = 0 # 60 iterations between syncs or sync if dirty every ~30 seconds - iterations_between_sync = 60 - - bb.utils.set_process_name("PRServ Handler") - - while not self.quitflag: - try: - (request, client_address) = self.requestqueue.get(True, 30) - except queue.Empty: - self.table.sync_if_dirty() - continue - if request is None: - continue - try: - self.finish_request(request, client_address) - self.shutdown_request(request) - iter_count = (iter_count + 1) % iterations_between_sync - if iter_count == 0: - self.table.sync_if_dirty() - except: - self.handle_error(request, client_address) - self.shutdown_request(request) - self.table.sync() - self.table.sync_if_dirty() + self.iterations_between_sync = 60 def sigint_handler(self, signum, stack): if self.table: @@ -109,11 +64,30 @@ class PRServer(SimpleXMLRPCServer): def sigterm_handler(self, signum, stack): if self.table: self.table.sync() - self.quit() - self.requestqueue.put((None, None)) + raise(SystemExit) def process_request(self, request, client_address): - self.requestqueue.put((request, client_address)) + if request is None: + return + try: + self.finish_request(request, client_address) + self.shutdown_request(request) + self.iter_count = (self.iter_count + 1) % self.iterations_between_sync + if self.iter_count == 0: + self.table.sync_if_dirty() + except: + self.handle_error(request, client_address) + self.shutdown_request(request) + self.table.sync() + self.table.sync_if_dirty() + + def serve_forever(self, poll_interval=0.5): + signal.signal(signal.SIGINT, self.sigint_handler) + signal.signal(signal.SIGTERM, self.sigterm_handler) + + self.db = prserv.db.PRData(self.dbfile) + self.table = self.db["PRMAIN"] + return super().serve_forever(poll_interval) def export(self, version=None, pkgarch=None, checksum=None, colinfo=True): try: @@ -122,31 +96,11 @@ class PRServer(SimpleXMLRPCServer): logger.error(str(exc)) return None - def dump_db(self): - """ - Returns a script (string) that reconstructs the state of the - entire database at the time this function is called. The script - language is defined by the backing database engine, which is a - function of server configuration. - Returns None if the database engine does not support dumping to - script or if some other error is encountered in processing. - """ - buff = io.StringIO() - try: - self.table.sync() - self.table.dump_db(buff) - return buff.getvalue() - except Exception as exc: - logger.error(str(exc)) - return None - finally: - buff.close() - def importone(self, version, pkgarch, checksum, value): return self.table.importone(version, pkgarch, checksum, value) def ping(self): - return not self.quitflag + return True def getinfo(self): return (self.host, self.port) @@ -161,144 +115,6 @@ class PRServer(SimpleXMLRPCServer): logger.error(str(exc)) return None - def quit(self): - self.quitflag=True - os.write(self.quitpipeout, b"q") - os.close(self.quitpipeout) - return - - def work_forever(self,): - self.quitflag = False - # This timeout applies to the poll in TCPServer, we need the select - # below to wake on our quit pipe closing. We only ever call into handle_request - # if there is data there. - self.timeout = 0.01 - - bb.utils.set_process_name("PRServ") - - # DB connection must be created after all forks - self.db = prserv.db.PRData(self.dbfile) - self.table = self.db["PRMAIN"] - - logger.info("Started PRServer with DBfile: %s, IP: %s, PORT: %s, PID: %s" % - (self.dbfile, self.host, self.port, str(os.getpid()))) - - self.handlerthread.start() - while not self.quitflag: - ready = select.select([self.fileno(), self.quitpipein], [], [], 30) - if self.quitflag: - break - if self.fileno() in ready[0]: - self.handle_request() - self.handlerthread.join() - self.db.disconnect() - logger.info("PRServer: stopping...") - self.server_close() - os.close(self.quitpipein) - return - - def start(self): - if self.daemon: - pid = self.daemonize() - else: - pid = self.fork() - self.pid = pid - - # Ensure both the parent sees this and the child from the work_forever log entry above - logger.info("Started PRServer with DBfile: %s, IP: %s, PORT: %s, PID: %s" % - (self.dbfile, self.host, self.port, str(pid))) - - def delpid(self): - os.remove(self.pidfile) - - def daemonize(self): - """ - See Advanced Programming in the UNIX, Sec 13.3 - """ - try: - pid = os.fork() - if pid > 0: - os.waitpid(pid, 0) - #parent return instead of exit to give control - return pid - except OSError as e: - raise Exception("%s [%d]" % (e.strerror, e.errno)) - - os.setsid() - """ - fork again to make sure the daemon is not session leader, - which prevents it from acquiring controlling terminal - """ - try: - pid = os.fork() - if pid > 0: #parent - os._exit(0) - except OSError as e: - raise Exception("%s [%d]" % (e.strerror, e.errno)) - - self.cleanup_handles() - os._exit(0) - - def fork(self): - try: - pid = os.fork() - if pid > 0: - self.socket.close() # avoid ResourceWarning in parent - return pid - except OSError as e: - raise Exception("%s [%d]" % (e.strerror, e.errno)) - - bb.utils.signal_on_parent_exit("SIGTERM") - self.cleanup_handles() - os._exit(0) - - def cleanup_handles(self): - signal.signal(signal.SIGINT, self.sigint_handler) - signal.signal(signal.SIGTERM, self.sigterm_handler) - os.chdir("/") - - sys.stdout.flush() - sys.stderr.flush() - - # We could be called from a python thread with io.StringIO as - # stdout/stderr or it could be 'real' unix fd forking where we need - # to physically close the fds to prevent the program launching us from - # potentially hanging on a pipe. Handle both cases. - si = open('/dev/null', 'r') - try: - os.dup2(si.fileno(),sys.stdin.fileno()) - except (AttributeError, io.UnsupportedOperation): - sys.stdin = si - so = open(self.logfile, 'a+') - try: - os.dup2(so.fileno(),sys.stdout.fileno()) - except (AttributeError, io.UnsupportedOperation): - sys.stdout = so - try: - os.dup2(so.fileno(),sys.stderr.fileno()) - except (AttributeError, io.UnsupportedOperation): - sys.stderr = so - - # Clear out all log handlers prior to the fork() to avoid calling - # event handlers not part of the PRserver - for logger_iter in logging.Logger.manager.loggerDict.keys(): - logging.getLogger(logger_iter).handlers = [] - - # Ensure logging makes it to the logfile - streamhandler = logging.StreamHandler() - streamhandler.setLevel(logging.DEBUG) - formatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") - streamhandler.setFormatter(formatter) - logger.addHandler(streamhandler) - - # write pidfile - pid = str(os.getpid()) - with open(self.pidfile, 'w') as pf: - pf.write("%s\n" % pid) - - self.work_forever() - self.delpid() - class PRServSingleton(object): def __init__(self, dbfile, logfile, interface): self.dbfile = dbfile @@ -308,8 +124,10 @@ class PRServSingleton(object): self.port = None def start(self): - self.prserv = PRServer(self.dbfile, self.logfile, self.interface, daemon=False) - self.prserv.start() + self.prserv = PRServer(self.dbfile, self.logfile, self.interface) + self.process = multiprocessing.Process(target=self.prserv.serve_forever) + self.process.start() + self.host, self.port = self.prserv.getinfo() def getinfo(self): @@ -323,13 +141,6 @@ class PRServerConnection(object): self.port = port self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port) - def terminate(self): - try: - logger.info("Terminating PRServer...") - self.connection.quit() - except Exception as exc: - sys.stderr.write("%s\n" % str(exc)) - def getPR(self, version, pkgarch, checksum): return self.connection.getPR(version, pkgarch, checksum) @@ -339,15 +150,82 @@ class PRServerConnection(object): def export(self,version=None, pkgarch=None, checksum=None, colinfo=True): return self.connection.export(version, pkgarch, checksum, colinfo) - def dump_db(self): - return self.connection.dump_db() - def importone(self, version, pkgarch, checksum, value): return self.connection.importone(version, pkgarch, checksum, value) def getinfo(self): return self.host, self.port +def run_as_daemon(func, pidfile, logfile): + """ + See Advanced Programming in the UNIX, Sec 13.3 + """ + try: + pid = os.fork() + if pid > 0: + os.waitpid(pid, 0) + #parent return instead of exit to give control + return pid + except OSError as e: + raise Exception("%s [%d]" % (e.strerror, e.errno)) + + os.setsid() + """ + fork again to make sure the daemon is not session leader, + which prevents it from acquiring controlling terminal + """ + try: + pid = os.fork() + if pid > 0: #parent + os._exit(0) + except OSError as e: + raise Exception("%s [%d]" % (e.strerror, e.errno)) + + os.chdir("/") + + sys.stdout.flush() + sys.stderr.flush() + + # We could be called from a python thread with io.StringIO as + # stdout/stderr or it could be 'real' unix fd forking where we need + # to physically close the fds to prevent the program launching us from + # potentially hanging on a pipe. Handle both cases. + si = open('/dev/null', 'r') + try: + os.dup2(si.fileno(),sys.stdin.fileno()) + except (AttributeError, io.UnsupportedOperation): + sys.stdin = si + so = open(logfile, 'a+') + try: + os.dup2(so.fileno(),sys.stdout.fileno()) + except (AttributeError, io.UnsupportedOperation): + sys.stdout = so + try: + os.dup2(so.fileno(),sys.stderr.fileno()) + except (AttributeError, io.UnsupportedOperation): + sys.stderr = so + + # Clear out all log handlers prior to the fork() to avoid calling + # event handlers not part of the PRserver + for logger_iter in logging.Logger.manager.loggerDict.keys(): + logging.getLogger(logger_iter).handlers = [] + + # Ensure logging makes it to the logfile + streamhandler = logging.StreamHandler() + streamhandler.setLevel(logging.DEBUG) + formatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s") + streamhandler.setFormatter(formatter) + logger.addHandler(streamhandler) + + # write pidfile + pid = str(os.getpid()) + with open(pidfile, 'w') as pf: + pf.write("%s\n" % pid) + + func() + os.remove(pidfile) + os._exit(0) + def start_daemon(dbfile, host, port, logfile): ip = socket.gethostbyname(host) pidfile = PIDPREFIX % (ip, port) @@ -363,7 +241,7 @@ def start_daemon(dbfile, host, port, logfile): return 1 server = PRServer(os.path.abspath(dbfile), os.path.abspath(logfile), (ip,port)) - server.start() + run_as_daemon(server.serve_forever, pidfile, os.path.abspath(logfile)) # Sometimes, the port (i.e. localhost:0) indicated by the user does not match with # the one the server actually is listening, so at least warn the user about it @@ -400,25 +278,13 @@ def stop_daemon(host, port): return 1 try: - PRServerConnection(ip, port).terminate() - except: - logger.critical("Stop PRService %s:%d failed" % (host,port)) - - try: - if pid: - wait_timeout = 0 - print("Waiting for pr-server to exit.") - while is_running(pid) and wait_timeout < 50: - time.sleep(0.1) - wait_timeout += 1 - - if is_running(pid): - print("Sending SIGTERM to pr-server.") - os.kill(pid,signal.SIGTERM) - time.sleep(0.1) + if is_running(pid): + print("Sending SIGTERM to pr-server.") + os.kill(pid, signal.SIGTERM) + time.sleep(0.1) - if os.path.exists(pidfile): - os.remove(pidfile) + if os.path.exists(pidfile): + os.remove(pidfile) except OSError as e: err = str(e) @@ -494,19 +360,14 @@ def auto_start(d): def auto_shutdown(): global singleton - if singleton: - host, port = singleton.getinfo() - try: - PRServerConnection(host, port).terminate() - except: - logger.critical("Stop PRService %s:%d failed" % (host,port)) - - try: - os.waitpid(singleton.prserv.pid, 0) - except ChildProcessError: - pass + if singleton and singleton.process: + singleton.process.terminate() + singleton.process.join() singleton = None def ping(host, port): conn=PRServerConnection(host, port) return conn.ping() + +def connect(host, port): + return PRServerConnection(host, port) diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst index 974ae5ebc..6a12b19ca 100644 --- a/poky/documentation/brief-yoctoprojectqs/index.rst +++ b/poky/documentation/brief-yoctoprojectqs/index.rst @@ -238,7 +238,7 @@ an entire Linux distribution, including the toolchain, from source. You can significantly speed up your build and guard against fetcher failures by using mirrors. To use mirrors, add these lines to your - local.conf file in the Build directory: :: + local.conf file in the Build directory:: SSTATE_MIRRORS = "\ file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \ diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst index 89f156442..0b0b52d90 100644 --- a/poky/documentation/bsp-guide/bsp.rst +++ b/poky/documentation/bsp-guide/bsp.rst @@ -26,7 +26,7 @@ A BSP consists of a file structure inside a base directory. Collectively, you can think of the base directory, its file structure, and the contents as a BSP layer. Although not a strict requirement, BSP layers in the Yocto Project use the following well-established naming -convention: :: +convention:: meta-bsp_root_name @@ -58,7 +58,7 @@ Each repository is a BSP layer supported by the Yocto Project (e.g. ``meta-raspberrypi`` and ``meta-intel``). Each of these layers is a repository unto itself and clicking on the layer name displays two URLs from which you can clone the layer's repository to your local system. -Here is an example that clones the Raspberry Pi BSP layer: :: +Here is an example that clones the Raspberry Pi BSP layer:: $ git clone git://git.yoctoproject.org/meta-raspberrypi @@ -84,7 +84,7 @@ established after you run the OpenEmbedded build environment setup script (i.e. :ref:`ref-manual/structure:\`\`oe-init-build-env\`\``). Adding the root directory allows the :term:`OpenEmbedded Build System` to recognize the BSP -layer and from it build an image. Here is an example: :: +layer and from it build an image. Here is an example:: BBLAYERS ?= " \ /usr/local/src/yocto/meta \ @@ -113,7 +113,7 @@ this type of layer is OpenEmbedded's `meta-openembedded `__ layer. The ``meta-openembedded`` layer contains many ``meta-*`` layers. In cases like this, you need to include the names of the actual layers -you want to work with, such as: :: +you want to work with, such as:: BBLAYERS ?= " \ /usr/local/src/yocto/meta \ @@ -193,7 +193,7 @@ section. #. *Check Out the Proper Branch:* The branch you check out for ``meta-intel`` must match the same branch you are using for the - Yocto Project release (e.g. ``&DISTRO_NAME_NO_CAP;``): :: + Yocto Project release (e.g. ``&DISTRO_NAME_NO_CAP;``):: $ cd meta-intel $ git checkout -b &DISTRO_NAME_NO_CAP; remotes/origin/&DISTRO_NAME_NO_CAP; @@ -216,7 +216,7 @@ section. The process is identical to the process used for the ``meta-intel`` layer except for the layer's name. For example, if you determine that your hardware most closely matches the ``meta-raspberrypi``, clone - that layer: :: + that layer:: $ git clone git://git.yoctoproject.org/meta-raspberrypi Cloning into 'meta-raspberrypi'... @@ -451,7 +451,7 @@ The following sections describe each part of the proposed BSP format. License Files ------------- -You can find these files in the BSP Layer at: :: +You can find these files in the BSP Layer at:: meta-bsp_root_name/bsp_license_file @@ -469,7 +469,7 @@ section in the Yocto Project Development Tasks Manual. README File ----------- -You can find this file in the BSP Layer at: :: +You can find this file in the BSP Layer at:: meta-bsp_root_name/README @@ -484,7 +484,7 @@ name of the BSP maintainer with his or her contact information. README.sources File ------------------- -You can find this file in the BSP Layer at: :: +You can find this file in the BSP Layer at:: meta-bsp_root_name/README.sources @@ -503,7 +503,7 @@ used to generate the images that ship with the BSP. Pre-built User Binaries ----------------------- -You can find these files in the BSP Layer at: :: +You can find these files in the BSP Layer at:: meta-bsp_root_name/binary/bootable_images @@ -526,7 +526,7 @@ information on the Metadata. Layer Configuration File ------------------------ -You can find this file in the BSP Layer at: :: +You can find this file in the BSP Layer at:: meta-bsp_root_name/conf/layer.conf @@ -550,7 +550,7 @@ template). :: LAYERDEPENDS_bsp = "intel" To illustrate the string substitutions, here are the corresponding -statements from the Raspberry Pi ``conf/layer.conf`` file: :: +statements from the Raspberry Pi ``conf/layer.conf`` file:: # We have a conf and classes directory, append to BBPATH BBPATH .= ":${LAYERDIR}" @@ -576,7 +576,7 @@ recognize the BSP. Hardware Configuration Options ------------------------------ -You can find these files in the BSP Layer at: :: +You can find these files in the BSP Layer at:: meta-bsp_root_name/conf/machine/*.conf @@ -607,14 +607,14 @@ For example, many ``tune-*`` files (e.g. ``tune-arm1136jf-s.inc``, To use an include file, you simply include them in the machine configuration file. For example, the Raspberry Pi BSP -``raspberrypi3.conf`` contains the following statement: :: +``raspberrypi3.conf`` contains the following statement:: include conf/machine/include/rpi-base.inc Miscellaneous BSP-Specific Recipe Files --------------------------------------- -You can find these files in the BSP Layer at: :: +You can find these files in the BSP Layer at:: meta-bsp_root_name/recipes-bsp/* @@ -624,7 +624,7 @@ Raspberry Pi BSP, there is the ``formfactor_0.0.bbappend`` file, which is an append file used to augment the recipe that starts the build. Furthermore, there are machine-specific settings used during the build that are defined by the ``machconfig`` file further down in the -directory. Here is the ``machconfig`` file for the Raspberry Pi BSP: :: +directory. Here is the ``machconfig`` file for the Raspberry Pi BSP:: HAVE_TOUCHSCREEN=0 HAVE_KEYBOARD=1 @@ -644,7 +644,7 @@ directory. Here is the ``machconfig`` file for the Raspberry Pi BSP: :: Display Support Files --------------------- -You can find these files in the BSP Layer at: :: +You can find these files in the BSP Layer at:: meta-bsp_root_name/recipes-graphics/* @@ -655,7 +655,7 @@ to support a display are kept here. Linux Kernel Configuration -------------------------- -You can find these files in the BSP Layer at: :: +You can find these files in the BSP Layer at:: meta-bsp_root_name/recipes-kernel/linux/linux*.bbappend meta-bsp_root_name/recipes-kernel/linux/*.bb @@ -678,7 +678,7 @@ Suppose you are using the ``linux-yocto_4.4.bb`` recipe to build the kernel. In other words, you have selected the kernel in your ``"bsp_root_name".conf`` file by adding :term:`PREFERRED_PROVIDER` and :term:`PREFERRED_VERSION` -statements as follows: :: +statements as follows:: PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" PREFERRED_VERSION_linux-yocto ?= "4.4%" @@ -698,7 +698,7 @@ in the Yocto Project Linux Kernel Development Manual. An alternate scenario is when you create your own kernel recipe for the BSP. A good example of this is the Raspberry Pi BSP. If you examine the -``recipes-kernel/linux`` directory you see the following: :: +``recipes-kernel/linux`` directory you see the following:: linux-raspberrypi-dev.bb linux-raspberrypi.inc @@ -1042,7 +1042,7 @@ BSP-specific configuration file named ``interfaces`` to the also supports several other machines: #. Edit the ``init-ifupdown_1.0.bbappend`` file so that it contains the - following: :: + following:: FILESEXTRAPATHS_prepend := "${THISDIR}/files:" @@ -1050,14 +1050,14 @@ also supports several other machines: directory. #. Create and place the new ``interfaces`` configuration file in the - BSP's layer here: :: + BSP's layer here:: meta-xyz/recipes-core/init-ifupdown/files/xyz-machine-one/interfaces .. note:: If the ``meta-xyz`` layer did not support multiple machines, you would place - the interfaces configuration file in the layer here: :: + the interfaces configuration file in the layer here:: meta-xyz/recipes-core/init-ifupdown/files/interfaces @@ -1210,7 +1210,7 @@ BSP Layer Configuration Example ------------------------------- The layer's ``conf`` directory contains the ``layer.conf`` configuration -file. In this example, the ``conf/layer.conf`` is the following: :: +file. In this example, the ``conf/layer.conf`` is the following:: # We have a conf and classes directory, add to BBPATH BBPATH .= ":${LAYERDIR}" @@ -1242,7 +1242,7 @@ configuration file is what makes a layer a BSP layer as compared to a general or kernel layer. One or more machine configuration files exist in the -``bsp_layer/conf/machine/`` directory of the layer: :: +``bsp_layer/conf/machine/`` directory of the layer:: bsp_layer/conf/machine/machine1\.conf bsp_layer/conf/machine/machine2\.conf @@ -1252,7 +1252,7 @@ One or more machine configuration files exist in the For example, the machine configuration file for the `BeagleBone and BeagleBone Black development boards `__ is located in the layer ``poky/meta-yocto-bsp/conf/machine`` and is named -``beaglebone-yocto.conf``: :: +``beaglebone-yocto.conf``:: #@TYPE: Machine #@NAME: Beaglebone-yocto machine @@ -1447,7 +1447,7 @@ BSP Kernel Recipe Example ------------------------- The kernel recipe used to build the kernel image for the BeagleBone -device was established in the machine configuration: :: +device was established in the machine configuration:: PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" PREFERRED_VERSION_linux-yocto ?= "5.0%" @@ -1458,7 +1458,7 @@ metadata used to build the kernel. In this case, a kernel append file kernel recipe (i.e. ``linux-yocto_5.0.bb``), which is located in :yocto_git:`/poky/tree/meta/recipes-kernel/linux`. -Following is the contents of the append file: :: +Following is the contents of the append file:: KBRANCH_genericx86 = "v5.0/standard/base" KBRANCH_genericx86-64 = "v5.0/standard/base" diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst index 176025f9e..37c7a19bf 100644 --- a/poky/documentation/dev-manual/common-tasks.rst +++ b/poky/documentation/dev-manual/common-tasks.rst @@ -49,15 +49,13 @@ Follow these general steps to create your layer without using tools: (e.g. the cloned ``poky`` repository). While not strictly required, prepend the name of the directory with - the string "meta-". For example: - :: + the string "meta-". For example:: meta-mylayer meta-GUI_xyz meta-mymachine - With rare exceptions, a layer's name follows this form: - :: + With rare exceptions, a layer's name follows this form:: meta-root_name @@ -77,8 +75,7 @@ Follow these general steps to create your layer without using tools: :yocto_git:`Source Repositories ` demonstrates the required syntax. For your layer, you need to replace "yoctobsp" with a unique identifier for your layer (e.g. "machinexyz" - for a layer named "meta-machinexyz"): - :: + for a layer named "meta-machinexyz"):: # We have a conf and classes directory, add to BBPATH BBPATH .= ":${LAYERDIR}" @@ -195,8 +192,7 @@ following list: machine "one". To do so, you use an append file named ``base-files.bbappend`` and create a dependency on "foo" by altering the :term:`DEPENDS` - variable: - :: + variable:: DEPENDS = "foo" @@ -209,14 +205,12 @@ following list: ``foo``. To make sure your changes apply only when building machine "one", - use a machine override with the ``DEPENDS`` statement: - :: + use a machine override with the ``DEPENDS`` statement:: DEPENDS_one = "foo" You should follow the same strategy when using ``_append`` - and ``_prepend`` operations: - :: + and ``_prepend`` operations:: DEPENDS_append_one = " foo" DEPENDS_prepend_one = "foo " @@ -224,8 +218,7 @@ following list: As an actual example, here's a snippet from the generic kernel include file ``linux-yocto.inc``, wherein the kernel compile and link options are adjusted in the - case of a subset of the supported architectures: - :: + case of a subset of the supported architectures:: DEPENDS_append_aarch64 = " libgcc" KERNEL_CC_append_aarch64 = " ${TOOLCHAIN_OPTIONS}" @@ -252,8 +245,7 @@ following list: file, you can use an append file to cause the build to use your own version of the file. For example, an append file in your layer at ``meta-one/recipes-core/base-files/base-files.bbappend`` could - extend :term:`FILESPATH` using :term:`FILESEXTRAPATHS` as follows: - :: + extend :term:`FILESPATH` using :term:`FILESEXTRAPATHS` as follows:: FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" @@ -375,8 +367,7 @@ the COMMON and DISTRO related tests. Furthermore, if your layer is a BSP layer, the layer must pass the COMMON and BSP set of tests. To execute the script, enter the following commands from your build -directory: -:: +directory:: $ source oe-init-build-env $ yocto-check-layer your_layer_directory @@ -432,8 +423,7 @@ enable it. To enable your layer, simply add your layer's path to the ``BBLAYERS`` variable in your ``conf/bblayers.conf`` file, which is found in the :term:`Build Directory`. The following example shows how to enable a layer named -``meta-mylayer``: -:: +``meta-mylayer``:: # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf # changes incompatibly @@ -488,8 +478,7 @@ As an example, consider the main formfactor recipe and a corresponding formfactor append file both from the :term:`Source Directory`. Here is the main formfactor recipe, which is named ``formfactor_0.0.bb`` and located in -the "meta" layer at ``meta/recipes-bsp/formfactor``: -:: +the "meta" layer at ``meta/recipes-bsp/formfactor``:: SUMMARY = "Device formfactor information" DESCRIPTION = "A formfactor configuration file provides information about the \ @@ -521,8 +510,7 @@ during the build. Following is the append file, which is named ``formfactor_0.0.bbappend`` and is from the Raspberry Pi BSP Layer named ``meta-raspberrypi``. The -file is in the layer at ``recipes-bsp/formfactor``: -:: +file is in the layer at ``recipes-bsp/formfactor``:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" @@ -570,8 +558,7 @@ build system to calculate it based on the layer's dependencies. To specify the layer's priority manually, use the :term:`BBFILE_PRIORITY` -variable and append the layer's root name: -:: +variable and append the layer's root name:: BBFILE_PRIORITY_mylayer = "1" @@ -595,8 +582,7 @@ with their paths and priorities and on ``.bbappend`` files and their applicable recipes can help to reveal potential problems. For help on the BitBake layer management tool, use the following -command: -:: +command:: $ bitbake-layers --help NOTE: Starting bitbake server... @@ -676,8 +662,7 @@ The following list describes the available commands: variable values, you need to tidy these up yourself. Consider the following example. Here, the ``bitbake-layers`` command adds the line ``#### bbappended ...`` so that you know where the following - lines originate: - :: + lines originate:: ... DESCRIPTION = "A useful utility" @@ -691,8 +676,7 @@ The following list describes the available commands: EXTRA_OECONF += "--enable-somethingelse" - Ideally, you would tidy up these utilities as follows: - :: + Ideally, you would tidy up these utilities as follows:: ... DESCRIPTION = "Customized utility" @@ -746,14 +730,12 @@ create a layer with the following: In its simplest form, you can use the following command form to create a layer. The command creates a layer whose name corresponds to -"your_layer_name" in the current directory: -:: +"your_layer_name" in the current directory:: $ bitbake-layers create-layer your_layer_name As an example, the following command creates a layer named ``meta-scottrif`` -in your home directory: -:: +in your home directory:: $ cd /usr/home $ bitbake-layers create-layer meta-scottrif @@ -770,8 +752,7 @@ default, you can use the ``--example-recipe-name`` option. The easiest way to see how the ``bitbake-layers create-layer`` command works is to experiment with the script. You can also read the usage -information by entering the following: -:: +information by entering the following:: $ bitbake-layers create-layer --help NOTE: Starting bitbake server... @@ -799,16 +780,14 @@ Once you create your general layer, you must add it to your makes the OpenEmbedded build system aware of your layer so that it can search it for metadata. -Add your layer by using the ``bitbake-layers add-layer`` command: -:: +Add your layer by using the ``bitbake-layers add-layer`` command:: $ bitbake-layers add-layer your_layer_name Here is an example that adds a layer named ``meta-scottrif`` to the configuration file. Following the command that adds the layer is another ``bitbake-layers`` command that -shows the layers that are in your ``bblayers.conf`` file: -:: +shows the layers that are in your ``bblayers.conf`` file:: $ bitbake-layers add-layer meta-scottrif NOTE: Starting bitbake server... @@ -851,8 +830,7 @@ variable changes are in effect for every build and consequently affect all images, which might not be what you require. To add a package to your image using the local configuration file, use -the ``IMAGE_INSTALL`` variable with the ``_append`` operator: -:: +the ``IMAGE_INSTALL`` variable with the ``_append`` operator:: IMAGE_INSTALL_append = " strace" @@ -870,8 +848,7 @@ takes effect. As shown in its simplest use, ``IMAGE_INSTALL_append`` affects all images. It is possible to extend the syntax so that the variable applies -to a specific image only. Here is an example: -:: +to a specific image only. Here is an example:: IMAGE_INSTALL_append_pn-core-image-minimal = " strace" @@ -942,8 +919,7 @@ Customizing Images Using Custom .bb Files You can also customize an image by creating a custom recipe that defines additional software as part of the image. The following example shows -the form for the two lines you need: -:: +the form for the two lines you need:: IMAGE_INSTALL = "packagegroup-core-x11-base package1 package2" inherit core-image @@ -958,8 +934,7 @@ The other method for creating a custom image is to base it on an existing image. For example, if you want to create an image based on ``core-image-sato`` but add the additional package ``strace`` to the image, copy the ``meta/recipes-sato/images/core-image-sato.bb`` to a new -``.bb`` and add the following line to the end of the copy: -:: +``.bb`` and add the following line to the end of the copy:: IMAGE_INSTALL += "strace" @@ -990,8 +965,7 @@ in the ``packagegroup-base.bb`` recipe. Here is a short, fabricated example showing the same basic pieces for a hypothetical packagegroup defined in ``packagegroup-custom.bb``, where the variable ``PN`` is the standard way to abbreviate the reference to -the full packagegroup name ``packagegroup-custom``: -:: +the full packagegroup name ``packagegroup-custom``:: DESCRIPTION = "My Custom Package Groups" @@ -1033,13 +1007,11 @@ configured hostname written to ``/etc/hostname`` is "qemux86". You can customize this name by altering the value of the "hostname" variable in the ``base-files`` recipe using either an append file or a -configuration file. Use the following in an append file: -:: +configuration file. Use the following in an append file:: hostname = "myhostname" -Use the following in a configuration file: -:: +Use the following in a configuration file:: hostname_pn-base-files = "myhostname" @@ -1054,8 +1026,7 @@ you can easily reset the default hostname. Another point of interest is that if you unset the variable, the image will have no default hostname in the filesystem. Here is an example that -unsets the variable in a configuration file: -:: +unsets the variable in a configuration file:: hostname_pn-base-files = "" @@ -1136,8 +1107,7 @@ To run the tool, you just need to be in your :term:`Build Directory` and have sourced the build environment setup script (i.e. :ref:`structure-core-script`). -To get help on the tool, use the following command: -:: +To get help on the tool, use the following command:: $ recipetool -h NOTE: Starting bitbake server... @@ -1166,8 +1136,7 @@ locates it properly in the layer that contains your source files. Following are some syntax examples: - Use this syntax to generate a recipe based on source. Once generated, - the recipe resides in the existing source code layer: - :: + the recipe resides in the existing source code layer:: recipetool create -o OUTFILE source @@ -1180,8 +1149,7 @@ Following are some syntax examples: - Use this syntax to generate a recipe based on source. The options direct ``recipetool`` to generate debugging information. Once generated, - the recipe resides in the existing source code layer: - :: + the recipe resides in the existing source code layer:: recipetool create -d -o OUTFILE source @@ -1236,8 +1204,7 @@ the recipe. recipe through the layer's ``conf/layer.conf`` file and the :term:`BBFILES` variable. This variable sets up a path from which the build system can locate - recipes. Here is the typical use: - :: + recipes. Here is the typical use:: BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ ${LAYERDIR}/recipes-*/*/*.bbappend" @@ -1249,8 +1216,7 @@ the recipe. ":ref:`dev-manual/common-tasks:understanding and creating layers`" section. - *Naming Your Recipe:* When you name your recipe, you need to follow - this naming convention: - :: + this naming convention:: basename_version.bb @@ -1276,8 +1242,7 @@ Assuming you have sourced the build environment setup script (i.e. :ref:`structure-core-script`) and you are in the :term:`Build Directory`, use BitBake to process your recipe. All you need to provide is the -``basename`` of the recipe as described in the previous section: -:: +``basename`` of the recipe as described in the previous section:: $ bitbake basename @@ -1289,8 +1254,7 @@ compilation and packaging files, and so forth. The path to the per-recipe temporary work directory depends on the context in which it is being built. The quickest way to find this path -is to have BitBake return it by running the following: -:: +is to have BitBake return it by running the following:: $ bitbake -e basename | grep ^WORKDIR= @@ -1299,8 +1263,7 @@ top-level folder named ``poky``, a default Build Directory at ``poky/build``, and a ``qemux86-poky-linux`` machine target system. Furthermore, suppose your recipe is named ``foo_1.3.0.bb``. In this case, the work directory the build system uses to build the package -would be as follows: -:: +would be as follows:: poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 @@ -1352,8 +1315,7 @@ recipe to match the new version. Here is a simple example from the ``meta/recipes-devtools/strace/strace_5.5.bb`` recipe where the source comes from a single tarball. Notice the use of the -:term:`PV` variable: -:: +:term:`PV` variable:: SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ @@ -1369,8 +1331,7 @@ you must specify :term:`SRCREV` and you should specify :term:`PV` to include the revision with :term:`SRCPV`. Here is an example from the recipe -``meta/recipes-kernel/blktrace/blktrace_git.bb``: -:: +``meta/recipes-kernel/blktrace/blktrace_git.bb``:: SRCREV = "d6918c8832793b4205ed3bfede78c2f915c23385" @@ -1392,8 +1353,7 @@ SCM URLs), you need to provide the ``md5`` and ``sha256`` checksums for each URL. For these cases, you provide a name for each URL as part of the ``SRC_URI`` and then reference that name in the subsequent checksum statements. Here is an example combining lines from the files -``git.inc`` and ``git_2.24.1.bb``: -:: +``git.inc`` and ``git_2.24.1.bb``:: SRC_URI = "${KERNELORG_MIRROR}/software/scm/git/git-${PV}.tar.gz;name=tarball \ ${KERNELORG_MIRROR}/software/scm/git/git-manpages-${PV}.tar.gz;name=manpages" @@ -1512,8 +1472,7 @@ variables: include ``COPYING``, ``LICENSE``, and ``README`` files. You could also find the information near the top of a source file. For example, given a piece of software licensed under the GNU General Public - License version 2, you would set ``LICENSE`` as follows: - :: + License version 2, you would set ``LICENSE`` as follows:: LICENSE = "GPLv2" @@ -1543,8 +1502,7 @@ variables: See the ":ref:`dev-manual/common-tasks:fetching code`" section for additional information. - Here is an example that assumes the software has a ``COPYING`` file: - :: + Here is an example that assumes the software has a ``COPYING`` file:: LIC_FILES_CHKSUM = "file://COPYING;md5=xxx" @@ -1747,8 +1705,7 @@ standard mainline kernel, not your own custom one. When you use custom kernel headers you need to get them from :term:`STAGING_KERNEL_DIR`, which is the directory with kernel headers that are required to build -out-of-tree modules. Your recipe will also need the following: -:: +out-of-tree modules. Your recipe will also need the following:: do_configure[depends] += "virtual/kernel:do_shared_workdir" @@ -1779,8 +1736,7 @@ Here are some common issues that cause failures. To fix the problem, you need to either satisfy the missing dependency in the Makefile or whatever script produced the Makefile, or (as a - workaround) set :term:`PARALLEL_MAKE` to an empty string: - :: + workaround) set :term:`PARALLEL_MAKE` to an empty string:: PARALLEL_MAKE = "" @@ -1889,8 +1845,7 @@ installed correctly. missing dependencies between targets that can result in race conditions. If you experience intermittent failures during ``do_install``, you might be able to work around them by disabling - parallel Makefile installs by adding the following to the recipe: - :: + parallel Makefile installs by adding the following to the recipe:: PARALLEL_MAKEINST = "" @@ -2006,8 +1961,7 @@ take. The following list describes the process: :term:`MACHINE` value is passed into the configure script or a patch is applied only for a particular machine), you should mark them as such by adding the following to the - recipe: - :: + recipe:: PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -2016,8 +1970,7 @@ take. The following list describes the process: all (e.g. recipes that simply package script files or configuration files), you should use the :ref:`allarch ` class to - do this for you by adding this to your recipe: - :: + do this for you by adding this to your recipe:: inherit allarch @@ -2061,8 +2014,7 @@ used by the :ref:`ref-tasks-populate_sysroot` task as defined by the the :term:`SYSROOT_DIRS` variable to automatically populate the sysroot. It is possible to modify the list of directories that populate the sysroot. The following example shows how you could add the ``/opt`` directory to -the list of directories within a recipe: -:: +the list of directories within a recipe:: SYSROOT_DIRS += "/opt" @@ -2091,8 +2043,7 @@ kernel recipe. Suppose you have three kernel recipes whose in some way uses a :term:`PROVIDES` statement that essentially identifies itself as being able to provide ``virtual/kernel``. Here is one way through the -:ref:`kernel ` class: -:: +:ref:`kernel ` class:: PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }" @@ -2107,8 +2058,7 @@ an example, consider the :yocto_git:`x86-base.inc ` include file, which is a machine (i.e. :term:`MACHINE`) configuration file. This include file is the reason all x86-based machines use the ``linux-yocto`` kernel. Here are the -relevant lines from the include file: -:: +relevant lines from the include file:: PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto" PREFERRED_VERSION_linux-yocto ??= "4.15%" @@ -2116,8 +2066,7 @@ relevant lines from the include file: When you use a virtual provider, you do not have to "hard code" a recipe name as a build dependency. You can use the :term:`DEPENDS` variable to state the -build is dependent on ``virtual/kernel`` for example: -:: +build is dependent on ``virtual/kernel`` for example:: DEPENDS = "virtual/kernel" @@ -2125,8 +2074,7 @@ During the build, the OpenEmbedded build system picks the correct recipe needed for the ``virtual/kernel`` dependency based on the ``PREFERRED_PROVIDER`` variable. If you want to use the small kernel mentioned at the beginning of this section, configure your build as -follows: -:: +follows:: PREFERRED_PROVIDER_virtual/kernel ??= "kernel-small" @@ -2178,8 +2126,7 @@ In order to ensure the versions compare properly, the recommended convention is to set :term:`PV` within the recipe to "previous_version+current_version". You can use an additional variable so that you can use the current version elsewhere. Here is an -example: -:: +example:: REALPV = "0.8.16-rc1" PV = "0.8.15+${REALPV}" @@ -2198,8 +2145,7 @@ required, specify ``${``\ :term:`PN`\ ``}`` in place of PACKAGENAME. -A post-installation function has the following structure: -:: +A post-installation function has the following structure:: pkg_postinst_PACKAGENAME() { # Commands to carry out @@ -2352,13 +2298,11 @@ Otherwise, BitBake runs an empty ``do_install`` task by default. Some applications might require extra parameters to be passed to the compiler. For example, the application might need an additional header path. You can accomplish this by adding to the ``CFLAGS`` variable. The -following example shows this: -:: +following example shows this:: CFLAGS_prepend = "-I ${S}/include " -In the following example, ``mtd-utils`` is a makefile-based package: -:: +In the following example, ``mtd-utils`` is a makefile-based package:: SUMMARY = "Tools for managing memory technology devices" SECTION = "base" @@ -2403,8 +2347,7 @@ application into multiple packages. Following is an example that uses the ``libxpm`` recipe. By default, this recipe generates a single package that contains the library along with a few binaries. You can modify the recipe to split the binaries -into separate packages: -:: +into separate packages:: require xorg-lib-common.inc @@ -2498,8 +2441,7 @@ doing the following: that replaces ``do_configure`` and ``do_compile`` with custom versions, then you can use the ``[``\ :ref:`noexec `\ ``]`` - flag to turn the tasks into no-ops, as follows: - :: + flag to turn the tasks into no-ops, as follows:: do_configure[noexec] = "1" do_compile[noexec] = "1" @@ -2558,8 +2500,7 @@ chapter of the BitBake User Manual. supported. The following example shows some of the ways you can use variables in - recipes: - :: + recipes:: S = "${WORKDIR}/postfix-${PV}" CFLAGS += "-DNO_ASM" @@ -2572,8 +2513,7 @@ chapter of the BitBake User Manual. syntax, although access to OpenEmbedded variables and internal methods are also available. - The following is an example function from the ``sed`` recipe: - :: + The following is an example function from the ``sed`` recipe:: do_install () { autotools_do_install @@ -2594,16 +2534,14 @@ chapter of the BitBake User Manual. from other files (``include`` and ``require``) and export variables to the environment (``export``). - The following example shows the use of some of these keywords: - :: + The following example shows the use of some of these keywords:: export POSTCONF = "${STAGING_BINDIR}/postconf" inherit autoconf require otherfile.inc - *Comments (#):* Any lines that begin with the hash character (``#``) - are treated as comment lines and are ignored: - :: + are treated as comment lines and are ignored:: # This is a comment @@ -2615,8 +2553,7 @@ in the BitBake User Manual. - *Line Continuation (\\):* Use the backward slash (``\``) character to split a statement over multiple lines. Place the slash character at - the end of the line that is to be continued on the next line: - :: + the end of the line that is to be continued on the next line:: VAR = "A really long \ line" @@ -2627,8 +2564,7 @@ in the BitBake User Manual. slash character. - *Using Variables (${VARNAME}):* Use the ``${VARNAME}`` syntax to - access the contents of a variable: - :: + access the contents of a variable:: SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/zlib-${PV}.tar.gz" @@ -2648,8 +2584,7 @@ in the BitBake User Manual. when you make the assignment, but this is not generally needed. - *Quote All Assignments ("value"):* Use double quotes around values in - all variable assignments (e.g. ``"value"``). Following is an example: - :: + all variable assignments (e.g. ``"value"``). Following is an example:: VAR1 = "${OTHERVAR}" VAR2 = "The version is ${PV}" @@ -2663,13 +2598,11 @@ in the BitBake User Manual. Here is an example where ``VAR1`` is set to "New value" if it is currently empty. However, if ``VAR1`` has already been set, it - remains unchanged: - :: + remains unchanged:: VAR1 ?= "New value" - In this next example, ``VAR1`` is left with the value "Original value": - :: + In this next example, ``VAR1`` is left with the value "Original value":: VAR1 = "Original value" VAR1 ?= "New value" @@ -2682,8 +2615,7 @@ in the BitBake User Manual. This operator adds a space between the existing content of the variable and the new content. - Here is an example: - :: + Here is an example:: SRC_URI += "file://fix-makefile.patch" @@ -2695,8 +2627,7 @@ in the BitBake User Manual. This operator adds a space between the new content and the existing content of the variable. - Here is an example: - :: + Here is an example:: VAR =+ "Starts" @@ -2708,15 +2639,13 @@ in the BitBake User Manual. The following example shows the space being explicitly added to the start to ensure the appended value is not merged with the existing - value: - :: + value:: SRC_URI_append = " file://fix-makefile.patch" You can also use the ``_append`` operator with overrides, which results in the actions - only being performed for the specified target or machine: - :: + only being performed for the specified target or machine:: SRC_URI_append_sh4 = " file://fix-makefile.patch" @@ -2728,15 +2657,13 @@ in the BitBake User Manual. The following example shows the space being explicitly added to the end to ensure the prepended value is not merged with the existing - value: - :: + value:: CFLAGS_prepend = "-I${S}/myincludes " You can also use the ``_prepend`` operator with overrides, which results in the actions - only being performed for the specified target or machine: - :: + only being performed for the specified target or machine:: CFLAGS_prepend_sh4 = "-I${S}/myincludes " @@ -2746,8 +2673,7 @@ in the BitBake User Manual. value to "standard/base" for any target :term:`MACHINE`, except for qemuarm where it should be set to "standard/arm-versatile-926ejs", - you would do the following: - :: + you would do the following:: KBRANCH = "standard/base" KBRANCH_qemuarm = "standard/arm-versatile-926ejs" @@ -2770,8 +2696,7 @@ in the BitBake User Manual. search and replacement on a variable). You indicate Python code using the ``${@python_code}`` syntax for the - variable assignment: - :: + variable assignment:: SRC_URI = "ftp://ftp.info-zip.org/pub/infozip/src/zip${@d.getVar('PV',1).replace('.', '')}.tgz @@ -2861,8 +2786,7 @@ of adding a suitable ``defconfig`` file. The file needs to be added into a location similar to ``defconfig`` files used for other machines in a given kernel recipe. A possible way to do this is by listing the file in the ``SRC_URI`` and adding the machine to the expression in -``COMPATIBLE_MACHINE``: -:: +``COMPATIBLE_MACHINE``:: COMPATIBLE_MACHINE = '(qemux86|qemumips)' @@ -2889,8 +2813,7 @@ contains directories for specific machines such as ``qemuarm`` and defaults, see the ``meta/recipes-bsp/formfactor/files/config`` file found in the same area. -Following is an example for "qemuarm" machine: -:: +Following is an example for "qemuarm" machine:: HAVE_TOUCHSCREEN=1 HAVE_KEYBOARD=1 @@ -2961,22 +2884,19 @@ The following steps describe how to set up the AUH utility: 2. *Make Sure Git is Configured:* The AUH utility requires Git to be configured because AUH uses Git to save upgrades. Thus, you must have Git user and email configured. The following command shows your - configurations: - :: + configurations:: $ git config --list If you do not have the user and - email configured, you can use the following commands to do so: - :: + email configured, you can use the following commands to do so:: $ git config --global user.name some_name $ git config --global user.email username@domain.com 3. *Clone the AUH Repository:* To use AUH, you must clone the repository onto your development host. The following command uses Git to create - a local copy of the repository on your system: - :: + a local copy of the repository on your system:: $ git clone git://git.yoctoproject.org/auto-upgrade-helper Cloning into 'auto-upgrade-helper'... remote: Counting objects: 768, done. @@ -2992,8 +2912,7 @@ The following steps describe how to set up the AUH utility: 4. *Create a Dedicated Build Directory:* Run the :ref:`structure-core-script` script to create a fresh build directory that you use exclusively for - running the AUH utility: - :: + running the AUH utility:: $ cd poky $ source oe-init-build-env your_AUH_build_directory @@ -3010,8 +2929,7 @@ The following steps describe how to set up the AUH utility: - If you want to enable :ref:`Build History `, which is optional, you need the following lines in the - ``conf/local.conf`` file: - :: + ``conf/local.conf`` file:: INHERIT =+ "buildhistory" BUILDHISTORY_COMMIT = "1" @@ -3024,23 +2942,20 @@ The following steps describe how to set up the AUH utility: - If you want to enable testing through the :ref:`testimage ` class, which is optional, you need to have the following set in - your ``conf/local.conf`` file: - :: + your ``conf/local.conf`` file:: INHERIT += "testimage" .. note:: If your distro does not enable by default ptest, which Poky - does, you need the following in your ``local.conf`` file: - :: + does, you need the following in your ``local.conf`` file:: DISTRO_FEATURES_append = " ptest" 6. *Optionally Start a vncserver:* If you are running in a server - without an X11 session, you need to start a vncserver: - :: + without an X11 session, you need to start a vncserver:: $ vncserver :1 $ export DISPLAY=:1 @@ -3064,45 +2979,38 @@ The following steps describe how to set up the AUH utility: This next set of examples describes how to use the AUH: - *Upgrading a Specific Recipe:* To upgrade a specific recipe, use the - following form: - :: + following form:: $ upgrade-helper.py recipe_name - For example, this command upgrades the ``xmodmap`` recipe: - :: + For example, this command upgrades the ``xmodmap`` recipe:: $ upgrade-helper.py xmodmap - *Upgrading a Specific Recipe to a Particular Version:* To upgrade a - specific recipe to a particular version, use the following form: - :: + specific recipe to a particular version, use the following form:: $ upgrade-helper.py recipe_name -t version - For example, this command upgrades the ``xmodmap`` recipe to version 1.2.3: - :: + For example, this command upgrades the ``xmodmap`` recipe to version 1.2.3:: $ upgrade-helper.py xmodmap -t 1.2.3 - *Upgrading all Recipes to the Latest Versions and Suppressing Email Notifications:* To upgrade all recipes to their most recent versions - and suppress the email notifications, use the following command: - :: + and suppress the email notifications, use the following command:: $ upgrade-helper.py all - *Upgrading all Recipes to the Latest Versions and Send Email Notifications:* To upgrade all recipes to their most recent versions and send email messages to maintainers for each attempted recipe as - well as a status email, use the following command: - :: + well as a status email, use the following command:: $ upgrade-helper.py -e all Once you have run the AUH utility, you can find the results in the AUH -build directory: -:: +build directory:: ${BUILDDIR}/upgrade-helper/timestamp @@ -3127,15 +3035,13 @@ section in the Yocto Project Application Development and the Extensible Software Development Kit (eSDK) Manual. To see all the command-line options available with ``devtool upgrade``, -use the following help command: -:: +use the following help command:: $ devtool upgrade -h If you want to find out what version a recipe is currently at upstream without any attempt to upgrade your local version of the recipe, you can -use the following command: -:: +use the following command:: $ devtool latest-version recipe_name @@ -3161,15 +3067,13 @@ could add it easily using the ":ref:`bitbake-layers `" script. For example, suppose you use the ``nano.bb`` recipe from the ``meta-oe`` layer in the ``meta-openembedded`` repository. For this -example, assume that the layer has been cloned into following area: -:: +example, assume that the layer has been cloned into following area:: /home/scottrif/meta-openembedded The following command from your :term:`Build Directory` adds the layer to -your build configuration (i.e. ``${BUILDDIR}/conf/bblayers.conf``): -:: +your build configuration (i.e. ``${BUILDDIR}/conf/bblayers.conf``):: $ bitbake-layers add-layer /home/scottrif/meta-openembedded/meta-oe NOTE: Starting bitbake server... @@ -3210,8 +3114,7 @@ directory automatically upgrades the recipe for you: NOTE: New recipe is /home/scottrif/poky/build/workspace/recipes/nano/nano_2.9.3.bb Continuing with this example, you can use ``devtool build`` to build the -newly upgraded recipe: -:: +newly upgraded recipe:: $ devtool build nano NOTE: Starting bitbake server... @@ -3236,8 +3139,7 @@ and submit commits for the changes generated by the upgrade process. Once the tree is clean, you can clean things up in this example with the following command from the ``${BUILDDIR}/workspace/sources/nano`` -directory: -:: +directory:: $ devtool finish nano meta-oe NOTE: Starting bitbake server... @@ -3341,8 +3243,7 @@ build packages is available in the Build Directory as defined by the :term:`S` variable. Below is the default value for the ``S`` variable as defined in the ``meta/conf/bitbake.conf`` configuration file in the -:term:`Source Directory`: -:: +:term:`Source Directory`:: S = "${WORKDIR}/${BP}" @@ -3353,16 +3254,14 @@ usually set ``S`` to ``${WORKDIR}/git``. .. note:: The :term:`BP` represents the base recipe name, which consists of the name - and version: - :: + and version:: BP = "${BPN}-${PV}" The path to the work directory for the recipe (:term:`WORKDIR`) is defined as -follows: -:: +follows:: ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} @@ -3388,8 +3287,7 @@ As an example, assume a Source Directory top-level folder named ``poky``, a default Build Directory at ``poky/build``, and a ``qemux86-poky-linux`` machine target system. Furthermore, suppose your recipe is named ``foo_1.3.0.bb``. In this case, the work directory the -build system uses to build the package would be as follows: -:: +build system uses to build the package would be as follows:: poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 @@ -3426,15 +3324,13 @@ Follow these general steps: 3. *Create a New Patch:* Before modifying source code, you need to create a new patch. To create a new patch file, use ``quilt new`` as - below: - :: + below:: $ quilt new my_changes.patch 4. *Notify Quilt and Add Files:* After creating the patch, you need to notify Quilt about the files you plan to edit. You notify Quilt by - adding the files to the patch you just created: - :: + adding the files to the patch you just created:: $ quilt add file1.c file2.c file3.c @@ -3443,8 +3339,7 @@ Follow these general steps: 6. *Test Your Changes:* Once you have modified the source code, the easiest way to test your changes is by calling the ``do_compile`` - task as shown in the following example: - :: + task as shown in the following example:: $ bitbake -c compile -f package @@ -3481,8 +3376,7 @@ Follow these general steps: that holds the recipe (``.bb``) file or the append (``.bbappend``) file. Placing the patch here guarantees that the OpenEmbedded build system will find the patch. Next, add the patch into the ``SRC_URI`` - of the recipe. Here is an example: - :: + of the recipe. Here is an example:: SRC_URI += "file://my_changes.patch" @@ -3503,8 +3397,7 @@ this way can be helpful when debugging a build or preparing software to be used with the OpenEmbedded build system. Following is an example that uses ``devshell`` on a target named -``matchbox-desktop``: -:: +``matchbox-desktop``:: $ bitbake matchbox-desktop -c devshell @@ -3533,8 +3426,7 @@ corresponding ``run.*`` script in the directory (e.g., ``run.do_configure.``\ `pid`). If a task's script does not exist, which would be the case if the task was skipped by way of the sstate cache, you can create the task by first running it outside of the -``devshell``: -:: +``devshell``:: $ bitbake -c task @@ -3581,8 +3473,7 @@ specified target. Then a new terminal is opened. Additionally, key Python objects and code are available in the same way they are to BitBake tasks, in particular, the data store 'd'. So, commands such as the following are useful when exploring the data store and running -functions: -:: +functions:: pydevshell> d.getVar("STAGING_DIR") '/media/build1/poky/build/tmp/sysroots' @@ -3602,8 +3493,7 @@ helpful when debugging a build or preparing software to be used with the OpenEmbedded build system. Following is an example that uses ``devpyshell`` on a target named -``matchbox-desktop``: -:: +``matchbox-desktop``:: $ bitbake matchbox-desktop -c devpyshell @@ -3664,8 +3554,7 @@ The following figure and list overviews the build process: 2. *Initialize the Build Environment:* Initialize the build environment by sourcing the build environment script (i.e. - :ref:`structure-core-script`): - :: + :ref:`structure-core-script`):: $ source oe-init-build-env [build_dir] @@ -3690,8 +3579,7 @@ The following figure and list overviews the build process: and a centralized tarball download directory through the :term:`DL_DIR` variable. -4. *Build the Image:* Build the image using the ``bitbake`` command: - :: +4. *Build the Image:* Build the image using the ``bitbake`` command:: $ bitbake target @@ -3710,8 +3598,7 @@ The following figure and list overviews the build process: Project Reference Manual. As an example, the following command builds the - ``core-image-minimal`` image: - :: + ``core-image-minimal`` image:: $ bitbake core-image-minimal @@ -3763,8 +3650,7 @@ Follow these steps to set up and execute multiple configuration builds: Here is an example showing the minimal statements needed in a configuration file for a "qemux86" target whose temporary build - directory is ``tmpmultix86``: - :: + directory is ``tmpmultix86``:: MACHINE = "qemux86" TMPDIR = "${TOPDIR}/tmpmultix86" @@ -3789,8 +3675,7 @@ Follow these steps to set up and execute multiple configuration builds: variable in your ``conf/local.conf`` configuration file to specify each multiconfig. Continuing with the example from the previous figure, the ``BBMULTICONFIG`` variable needs to enable two - multiconfigs: "x86" and "arm" by specifying each configuration file: - :: + multiconfigs: "x86" and "arm" by specifying each configuration file:: BBMULTICONFIG = "x86 arm" @@ -3804,13 +3689,11 @@ Follow these steps to set up and execute multiple configuration builds: with "". - *Launch BitBake*: Use the following BitBake command form to launch - the multiple configuration build: - :: + the multiple configuration build:: $ bitbake [mc:multiconfigname:]target [[[mc:multiconfigname:]target] ... ] - For the example in this section, the following command applies: - :: + For the example in this section, the following command applies:: $ bitbake mc:x86:core-image-minimal mc:arm:core-image-sato mc::core-image-base @@ -3844,15 +3727,13 @@ essentially that the To enable dependencies in a multiple configuration build, you must declare the dependencies in the recipe using the following statement -form: -:: +form:: task_or_package[mcdepends] = "mc:from_multiconfig:to_multiconfig:recipe_name:task_on_which_to_depend" To better show how to use this statement, consider the example scenario from the first paragraph of this section. The following statement needs -to be added to the recipe that builds the ``core-image-sato`` image: -:: +to be added to the recipe that builds the ``core-image-sato`` image:: do_image[mcdepends] = "mc:x86:arm:core-image-minimal:do_rootfs" @@ -3862,8 +3743,7 @@ task on which the ``do_image`` task in the recipe depends is the with the "arm" multiconfig. Once you set up this dependency, you can build the "x86" multiconfig -using a BitBake command as follows: -:: +using a BitBake command as follows:: $ bitbake mc:x86:core-image-sato @@ -3874,8 +3754,7 @@ dependency, BitBake also executes through the ``do_rootfs`` task for the Having a recipe depend on the root filesystem of another build might not seem that useful. Consider this change to the statement in the -``core-image-sato`` recipe: -:: +``core-image-sato`` recipe:: do_image[mcdepends] = "mc:x86:arm:core-image-minimal:do_image" @@ -4091,8 +3970,7 @@ happens, which changes the way you build them. You can also modify the filesystem itself or select a different filesystem. First, find out what is hogging your root filesystem by running the -``dirsize.py`` script from your root directory: -:: +``dirsize.py`` script from your root directory:: $ cd root-directory-of-image $ dirsize.py 100000 > dirsize-100k.log @@ -4107,8 +3985,7 @@ the root filesystem that take up large amounts of memory. You need to be sure that what you eliminate does not cripple the functionality you need. One way to see how packages relate to each other -is by using the Dependency Explorer UI with the BitBake command: -:: +is by using the Dependency Explorer UI with the BitBake command:: $ cd image-directory $ bitbake -u taskexp -g image @@ -4124,8 +4001,7 @@ instead of ``udev``. Use your ``local.conf`` file to make changes. For example, to eliminate ``udev`` and ``glib``, set the following in the local configuration -file: -:: +file:: VIRTUAL-RUNTIME_dev_manager = "" @@ -4153,8 +4029,7 @@ building? Which drivers do you build by default? You can modify the kernel source if you want to help with boot time. Run the ``ksize.py`` script from the top-level Linux build directory to -get an idea of what is making up the kernel: -:: +get an idea of what is making up the kernel:: $ cd top-level-linux-build-directory $ ksize.py > ksize.log @@ -4168,8 +4043,7 @@ in a compressed kernel image. Look to reduce the areas that are large and taking up around the "90% rule." To examine, or drill down, into any particular area, use the ``-d`` -option with the script: -:: +option with the script:: $ ksize.py -d > ksize.log @@ -4316,8 +4190,7 @@ your tunings to best consider build times and package feed maintenance. machine-architecture dependent, make sure your recipe enables the "machine" package architecture through the :term:`MACHINE_ARCH` - variable: - :: + variable:: PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -4325,8 +4198,7 @@ your tunings to best consider build times and package feed maintenance. specifically enable a package architecture through the :term:`PACKAGE_ARCH`, The OpenEmbedded build system defaults to the - :term:`TUNE_PKGARCH` setting: - :: + :term:`TUNE_PKGARCH` setting:: PACKAGE_ARCH = "${TUNE_PKGARCH}" @@ -4426,15 +4298,13 @@ to do is inherit the and then set the :term:`EXTERNALSRC` variable to point to your external source code. Here are the statements to put in -your ``local.conf`` file: -:: +your ``local.conf`` file:: INHERIT += "externalsrc" EXTERNALSRC_pn-myrecipe = "path-to-your-source-tree" This next example shows how to accomplish the same thing by setting -``EXTERNALSRC`` in the recipe itself or in the recipe's append file: -:: +``EXTERNALSRC`` in the recipe itself or in the recipe's append file:: EXTERNALSRC = "path" EXTERNALSRC_BUILD = "path" @@ -4451,8 +4321,7 @@ directory separate from the external source directory as specified by to have the source built in the same directory in which it resides, or some other nominated directory, you can set :term:`EXTERNALSRC_BUILD` -to point to that directory: -:: +to point to that directory:: EXTERNALSRC_BUILD_pn-myrecipe = "path-to-your-source-tree" @@ -4475,8 +4344,7 @@ Follow these steps to populate your Downloads directory: an empty location or one that does not yet exist. 2. *Generate Tarballs of the Source Git Repositories:* Edit your - ``local.conf`` configuration file as follows: - :: + ``local.conf`` configuration file as follows:: DL_DIR = "/home/your-download-dir/" BB_GENERATE_MIRROR_TARBALLS = "1" @@ -4489,8 +4357,7 @@ Follow these steps to populate your Downloads directory: variable for more information. 3. *Populate Your Downloads Directory Without Building:* Use BitBake to - fetch your sources but inhibit the build: - :: + fetch your sources but inhibit the build:: $ bitbake target --runonly=fetch @@ -4536,8 +4403,7 @@ directory: ``${``\ :term:`TMPDIR`\ ``}`` directory or using a new :term:`Build Directory`. -3. *Build Your Target:* Use BitBake to build your target: - :: +3. *Build Your Target:* Use BitBake to build your target:: $ bitbake target @@ -4550,8 +4416,7 @@ directory: The offline build does not work if recipes attempt to find the latest version of software by setting :term:`SRCREV` to - ``${``\ :term:`AUTOREV`\ ``}``: - :: + ``${``\ :term:`AUTOREV`\ ``}``:: SRCREV = "${AUTOREV}" @@ -4670,8 +4535,7 @@ that can help you speed up the build: - Disable static library generation for recipes derived from ``autoconf`` or ``libtool``: Following is an example showing how to disable static libraries and still provide an override to handle - exceptions: - :: + exceptions:: STATICLIBCONF = "--disable-static" STATICLIBCONF_sqlite3-native = "" @@ -4726,8 +4590,7 @@ library files. static library files through ``${PN}-dev``. Following is part of the BitBake configuration file, where you can see -how the static library files are defined: -:: +how the static library files are defined:: PACKAGE_BEFORE_PN ?= "" PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}" @@ -4833,8 +4696,7 @@ After you have set up the recipes, you need to define the actual combination of multiple libraries you want to build. You accomplish this through your ``local.conf`` configuration file in the :term:`Build Directory`. An example -configuration would be as follows: -:: +configuration would be as follows:: MACHINE = "qemux86-64" require conf/multilib.conf @@ -4850,14 +4712,12 @@ on this particular tuning, see The example then includes ``lib32-glib-2.0`` in all the images, which illustrates one method of including a multiple library dependency. You -can use a normal image build to include this dependency, for example: -:: +can use a normal image build to include this dependency, for example:: $ bitbake core-image-sato You can also build Multilib packages -specifically with a command like this: -:: +specifically with a command like this:: $ bitbake lib32-glib-2.0 @@ -4952,8 +4812,7 @@ you have other recipes that depend on a given library, you need to use the :term:`DEPENDS` variable to create the dependency. Continuing with the same example, if you want to have a recipe depend on the 1.8 version of the ``clutter`` library, use -the following in your recipe: -:: +the following in your recipe:: DEPENDS = "clutter-1.8" @@ -4996,8 +4855,7 @@ follows: - Support for large images exists. To use the x32 psABI, you need to edit your ``conf/local.conf`` -configuration file as follows: -:: +configuration file as follows:: MACHINE = "qemux86-64" DEFAULTTUNE = "x86-64-x32" @@ -5006,8 +4864,7 @@ configuration file as follows: Once you have set up your configuration file, use BitBake to build an image that supports -the x32 psABI. Here is an example: -:: +the x32 psABI. Here is an example:: $ bitbake core-image-sato @@ -5066,8 +4923,7 @@ library package involves the following: 3. Try to build the recipe. If you encounter build errors that look like something is unable to find ``.so`` libraries, check where these libraries are located in the source tree and add the following to the - recipe: - :: + recipe:: GIR_EXTRA_LIBS_PATH = "${B}/something/.libs" @@ -5097,8 +4953,7 @@ perhaps QEMU does not work on your build host and target architecture combination. If so, you can use either of the following methods to disable GIR file generations: -- Add the following to your distro configuration: - :: +- Add the following to your distro configuration:: DISTRO_FEATURES_BACKFILL_CONSIDERED = "gobject-introspection-data" @@ -5106,8 +4961,7 @@ disable GIR file generations: QEMU but will still enable building introspection tools and libraries (i.e. building them does not require the use of QEMU). -- Add the following to your machine configuration: - :: +- Add the following to your machine configuration:: MACHINE_FEATURES_BACKFILL_CONSIDERED = "qemu-usermode" @@ -5140,8 +4994,7 @@ working in an image: 3. Launch a Terminal and then start Python in the terminal. -4. Enter the following in the terminal: - :: +4. Enter the following in the terminal:: >>> from gi.repository import GLib >>> GLib.get_host_name() @@ -5289,8 +5142,7 @@ system needs to meet the following requirements: form generated by the OpenEmbedded build system. - You must build several native tools, which are built to run on the - build system: - :: + build system:: $ bitbake parted-native dosfstools-native mtools-native @@ -5306,8 +5158,7 @@ Getting Help You can get general help for the ``wic`` command by entering the ``wic`` command by itself or by entering the command with a help argument as -follows: -:: +follows:: $ wic -h $ wic --help @@ -5315,32 +5166,27 @@ follows: Currently, Wic supports seven commands: ``cp``, ``create``, ``help``, ``list``, ``ls``, ``rm``, and ``write``. You can get help for all these -commands except "help" by using the following form: -:: +commands except "help" by using the following form:: $ wic help command For example, the following command returns help for the ``write`` -command: -:: +command:: $ wic help write Wic supports help for three topics: ``overview``, ``plugins``, and -``kickstart``. You can get help for any topic using the following form: -:: +``kickstart``. You can get help for any topic using the following form:: $ wic help topic -For example, the following returns overview help for Wic: -:: +For example, the following returns overview help for Wic:: $ wic help overview One additional level of help exists for Wic. You can get help on individual images through the ``list`` command. You can use the ``list`` -command to return the available Wic images as follows: -:: +command to return the available Wic images as follows:: $ wic list images genericx86 Create an EFI disk image for genericx86* @@ -5359,8 +5205,7 @@ command to return the available Wic images as follows: Once you know the list of available Wic images, you can use ``help`` with the command to get help on a particular image. For example, the following command returns help on the -"beaglebone-yocto" image: -:: +"beaglebone-yocto" image:: $ wic list beaglebone-yocto help @@ -5397,8 +5242,7 @@ can point to arbitrary kernel, root filesystem locations, and so forth. Contrast this behavior with cooked mode where Wic looks in the Build Directory (e.g. ``tmp/deploy/images/``\ machine). -The general form of the ``wic`` command in raw mode is: -:: +The general form of the ``wic`` command in raw mode is:: $ wic create wks_file options ... @@ -5456,8 +5300,7 @@ a kickstart file and the name of the image from which to use artifacts by using the "-e" option. Wic looks in the Build Directory (e.g. ``tmp/deploy/images/``\ machine) for artifacts. -The general form of the ``wic`` command using Cooked Mode is as follows: -:: +The general form of the ``wic`` command using Cooked Mode is as follows:: $ wic create wks_file -e IMAGE_NAME @@ -5480,14 +5323,12 @@ Using an Existing Kickstart File If you do not want to create your own kickstart file, you can use an existing file provided by the Wic installation. As shipped, kickstart files can be found in the :ref:`overview-manual/development-environment:yocto project source repositories` in the -following two locations: -:: +following two locations:: poky/meta-yocto-bsp/wic poky/scripts/lib/wic/canned-wks -Use the following command to list the available kickstart files: -:: +Use the following command to list the available kickstart files:: $ wic list images genericx86 Create an EFI disk image for genericx86* @@ -5505,15 +5346,13 @@ Use the following command to list the available kickstart files: When you use an existing file, you do not have to use the ``.wks`` extension. Here is an example in Raw -Mode that uses the ``directdisk`` file: -:: +Mode that uses the ``directdisk`` file:: $ wic create directdisk -r rootfs_dir -b bootimg_dir \ -k kernel_dir -n native_sysroot Here are the actual partition language commands used in the -``genericx86.wks`` file to generate an image: -:: +``genericx86.wks`` file to generate an image:: # short-description: Create an EFI disk image for genericx86* # long-description: Creates a partitioned EFI disk image for genericx86* machines @@ -5571,8 +5410,7 @@ When the Wic implementation needs to invoke a partition-specific implementation, it looks for the plugin with the same name as the ``--source`` parameter used in the kickstart file given to that partition. For example, if the partition is set up using the following -command in a kickstart file: -:: +command in a kickstart file:: part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024 @@ -5583,8 +5421,7 @@ members of the matching source plugin (i.e. ``bootimg-pcbios``) in the To be more concrete, here is the corresponding plugin definition from the ``bootimg-pcbios.py`` file for the previous command along with an example method called by the Wic implementation when it needs to prepare -a partition using an implementation-specific function: -:: +a partition using an implementation-specific function:: . . @@ -5675,8 +5512,7 @@ Generate an Image using an Existing Kickstart File ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This example runs in Cooked Mode and uses the ``mkefidisk`` kickstart -file: -:: +file:: $ wic create mkefidisk -e core-image-minimal INFO: Building wic-tools... @@ -5712,8 +5548,7 @@ and kickstart file information. Continuing with the example, you can now write the image from the Build Directory onto a USB stick, or whatever media for which you built your image, and boot from the media. You can write the image by using -``bmaptool`` or ``dd``: -:: +``bmaptool`` or ``dd``:: $ oe-run-native bmaptool copy mkefidisk-201804191017-sda.direct /dev/sdX @@ -5761,8 +5596,7 @@ the lines that specify the target disk from which to boot. Next, the example modifies the ``directdisksdb-gpt.wks`` file and changes all instances of "``--ondisk sda``" to "``--ondisk sdb``". The example changes the following two lines and leaves the remaining lines -untouched: -:: +untouched:: part /boot --source bootimg-pcbios --ondisk sdb --label boot --active --align 1024 part / --source rootfs --ondisk sdb --fstype=ext4 --label platform --align 1024 --use-uuid @@ -5799,8 +5633,7 @@ Computing (nuc) :term:`MACHINE` the Continuing with the example, you can now directly ``dd`` the image to a USB stick, or whatever media for which you built your image, and boot -the resulting media: -:: +the resulting media:: $ sudo dd if=directdisksdb-gpt-201710090938-sdb.direct of=/dev/sdb 140966+0 records in @@ -5814,8 +5647,7 @@ Using a Modified Kickstart File and Running in Raw Mode This next example manually specifies each build artifact (runs in Raw Mode) and uses a modified kickstart file. The example also uses the ``-o`` option to cause Wic to create the output somewhere other than the -default output directory, which is the current directory: -:: +default output directory, which is the current directory:: $ wic create /home/stephano/my_yocto/test.wks -o /home/stephano/testwic \ --rootfs-dir /home/stephano/build/master/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs \ @@ -5860,8 +5692,7 @@ The following example examines the contents of the Wic image, deletes the existing kernel, and then inserts a new kernel: 1. *List the Partitions:* Use the ``wic ls`` command to list all the - partitions in the Wic image: - :: + partitions in the Wic image:: $ wic ls tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic Num Start End Size Fstype @@ -5877,8 +5708,7 @@ the existing kernel, and then inserts a new kernel: .. note:: You can get command usage on any Wic command using the following - form: - :: + form:: $ wic help command @@ -5886,14 +5716,12 @@ the existing kernel, and then inserts a new kernel: For example, the following command shows you the various ways to use the wic ls - command: - :: + command:: $ wic help ls - The following command shows what is in partition one: - :: + The following command shows what is in partition one:: $ wic ls tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1 Volume in drive : is boot @@ -5915,8 +5743,7 @@ the existing kernel, and then inserts a new kernel: If you see the following error, you need to update or create a ``~/.mtoolsrc`` file and be sure to have the line "mtools_skip_check=1" - in the file. Then, run the Wic command again: - :: + in the file. Then, run the Wic command again:: ERROR: _exec_cmd: /usr/bin/mdir -i /tmp/wic-parttfokuwra ::/ returned '1' instead of 0 output: Total number of sectors (47824) not a multiple of sectors per track (32)! @@ -5924,8 +5751,7 @@ the existing kernel, and then inserts a new kernel: 3. *Remove the Old Kernel:* Use the ``wic rm`` command to remove the - ``vmlinuz`` file (kernel): - :: + ``vmlinuz`` file (kernel):: $ wic rm tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1/vmlinuz @@ -5937,8 +5763,7 @@ the existing kernel, and then inserts a new kernel: kernel will be in the ``workspace/sources`` area. The following example assumes ``devtool`` was used to build the - kernel: - :: + kernel:: $ wic cp poky_sdk/tmp/work/qemux86-poky-linux/linux-yocto/4.12.12+git999-r0/linux-yocto-4.12.12+git999/arch/x86/boot/bzImage \ poky/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86.wic:1/vmlinuz @@ -5968,14 +5793,12 @@ system image files much faster. - If you are using Ubuntu or Debian distributions, you can install the ``bmap-tools`` package using the following command and then use the tool without specifying ``PATH`` even from the root - account: - :: + account:: $ sudo apt-get install bmap-tools - If you are unable to install the ``bmap-tools`` package, you will - need to build Bmaptool before using it. Use the following command: - :: + need to build Bmaptool before using it. Use the following command:: $ bitbake bmap-tools-native @@ -5984,15 +5807,13 @@ that while this example uses a Wic image, you can use Bmaptool to flash any type of image. Use these steps to flash an image using Bmaptool: 1. *Update your local.conf File:* You need to have the following set - in your ``local.conf`` file before building your image: - :: + in your ``local.conf`` file before building your image:: IMAGE_FSTYPES += "wic wic.bmap" 2. *Get Your Image:* Either have your image ready (pre-built with the :term:`IMAGE_FSTYPES` - setting previously mentioned) or take the step to build the image: - :: + setting previously mentioned) or take the step to build the image:: $ bitbake image @@ -6000,20 +5821,17 @@ any type of image. Use these steps to flash an image using Bmaptool: depending on your particular setup. The following commands assume the image resides in the Build Directory's ``deploy/images/`` area: - - If you have write access to the media, use this command form: - :: + - If you have write access to the media, use this command form:: $ oe-run-native bmap-tools-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX - If you do not have write access to the media, set your permissions - first and then use the same command form: - :: + first and then use the same command form:: $ sudo chmod 666 /dev/sdX $ oe-run-native bmap-tools-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX -For help on the ``bmaptool`` command, use the following command: -:: +For help on the ``bmaptool`` command, use the following command:: $ bmaptool --help @@ -6107,8 +5925,7 @@ your build output more secure. The security flags are in the Use the following line in your ``local.conf`` file or in your custom distribution configuration file to enable the security compiler and -linker flags for your build: -:: +linker flags for your build:: require conf/distro/include/security_flags.inc @@ -6123,8 +5940,7 @@ system to make your images more secure: When creating a new project, the default is to provide you with an initial ``local.conf`` file that enables this feature using the :term:`EXTRA_IMAGE_FEATURES` - variable with the line: - :: + variable with the line:: EXTRA_IMAGE_FEATURES = "debug-tweaks" @@ -6250,8 +6066,7 @@ layer. The following steps provide some more detail: :term:`DISTRO` variable to point to your distribution's configuration file. For example, if your distribution's configuration file is named ``mydistro.conf``, then - you point to it as follows: - :: + you point to it as follows:: DISTRO = "mydistro" @@ -6292,8 +6107,7 @@ The OpenEmbedded build system uses the environment variable configuration information that ultimately ends up in the :term:`Build Directory` ``conf`` directory. By default, ``TEMPLATECONF`` is set as follows in the ``poky`` -repository: -:: +repository:: TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf} @@ -6335,8 +6149,7 @@ display BitBake targets as part of the script output. Customizing this targets appears as part of the script's output. Here is the default list of targets displayed as a result of running -either of the setup scripts: -:: +either of the setup scripts:: You can now run 'bitbake ' @@ -6355,8 +6168,7 @@ Conserving Disk Space During Builds To help conserve disk space during builds, you can add the following statement to your project's ``local.conf`` configuration file found in -the :term:`Build Directory`: -:: +the :term:`Build Directory`:: INHERIT += "rm_work" @@ -6534,8 +6346,7 @@ The simplest form for a PR Service is for it to exist for a single host development system that builds the package feed (building system). For this scenario, you can enable a local PR Service by setting :term:`PRSERV_HOST` in your -``local.conf`` file in the :term:`Build Directory`: -:: +``local.conf`` file in the :term:`Build Directory`:: PRSERV_HOST = "localhost:0" @@ -6546,8 +6357,7 @@ stopping the server. If you have a more complex setup where multiple host development systems work against a common, shared package feed, you have a single PR Service running and it is connected to each building system. For this scenario, -you need to start the PR Service using the ``bitbake-prserv`` command: -:: +you need to start the PR Service using the ``bitbake-prserv`` command:: bitbake-prserv --host ip --port port --start @@ -6559,8 +6369,7 @@ server and port. It is also recommended you use build history, which adds some sanity checks to binary package versions, in conjunction with the server that is running the PR Service. To enable build history, add the following to -each building system's ``local.conf`` file: -:: +each building system's ``local.conf`` file:: # It is recommended to activate "buildhistory" for testing the PR service INHERIT += "buildhistory" @@ -6629,15 +6438,13 @@ the specific source code revision from which to build. You set the ``SRCREV`` variable to :term:`AUTOREV` to cause the OpenEmbedded build system to automatically use the latest revision of -the software: -:: +the software:: SRCREV = "${AUTOREV}" Furthermore, you need to reference ``SRCPV`` in ``PV`` in order to automatically update the version whenever the revision of the source -code changes. Here is an example: -:: +code changes. Here is an example:: PV = "1.0+git${SRCPV}" @@ -6707,8 +6514,7 @@ package for each one it finds by appending to the :term:`PACKAGES` variable and setting the appropriate values for ``FILES_packagename``, ``RDEPENDS_packagename``, ``DESCRIPTION_packagename``, and so forth. -Here is an example from the ``lighttpd`` recipe: -:: +Here is an example from the ``lighttpd`` recipe:: python populate_packages_prepend () { lighttpd_libdir = d.expand('${libdir}') @@ -6751,8 +6557,7 @@ directory of the ``poky`` :ref:`source repository ` *class:* - Include the following line in each recipe: - :: + Include the following line in each recipe:: inherit ptest - *Create run-ptest:* This script starts your test. Locate the script where you will refer to it using :term:`SRC_URI`. Here is an - example that starts a test for ``dbus``: - :: + example that starts a test for ``dbus``:: #!/bin/sh cd test @@ -7352,8 +7145,7 @@ test. Here is what you have to do for each recipe: :term:`DEPENDS` and :term:`RDEPENDS` variables in your recipe in order for the package to meet the dependencies. Here - is an example where the package has a runtime dependency on "make": - :: + is an example where the package has a runtime dependency on "make":: RDEPENDS_${PN}-ptest += "make" @@ -7374,8 +7166,7 @@ test. Here is what you have to do for each recipe: Regardless, you still must add a ``do_compile_ptest`` function to build the test suite. Add a function similar to the following to your - recipe: - :: + recipe:: do_compile_ptest() { oe_runmake buildtest-TESTS @@ -7457,8 +7248,7 @@ which is a file browser web application. You must know the ``cute-files`` module version. The first thing you need to do is use ``devtool`` and the NPM fetcher to -create the recipe: -:: +create the recipe:: $ devtool add "npm://registry.npmjs.org;package=cute-files;version=1.0.2" @@ -7486,8 +7276,7 @@ runs. practical way to have the licenses for all of the dependencies represented in the license manifest of the image. -The ``devtool edit-recipe`` command lets you take a look at the recipe: -:: +The ``devtool edit-recipe`` command lets you take a look at the recipe:: $ devtool edit-recipe cute-files SUMMARY = "Turn any folder on your computer into a cute file browser, available on the local network." @@ -7520,8 +7309,7 @@ Three key points exist in the previous example: :ref:`npm ` class to package up all the modules. -You can run the following command to build the ``cute-files`` package: -:: +You can run the following command to build the ``cute-files`` package:: $ devtool build cute-files @@ -7529,8 +7317,7 @@ Remember that ``nodejs`` must be installed on the target before your package. Assuming 192.168.7.2 for the target's IP address, use the following -command to deploy your package: -:: +command to deploy your package:: $ devtool deploy-target -s cute-files root@192.168.7.2 @@ -7569,15 +7356,13 @@ projects method, you provide ``devtool`` with an URL that points to the source files. Replicating the same example, (i.e. ``cute-files``) use the following -command: -:: +command:: $ devtool add https://github.com/martinaglv/cute-files.git The recipe this command generates is very similar to the recipe created in -the previous section. However, the ``SRC_URI`` looks like the following: -:: +the previous section. However, the ``SRC_URI`` looks like the following:: SRC_URI = " \ git://github.com/martinaglv/cute-files.git;protocol=https \ @@ -7629,8 +7414,7 @@ by the literal sequence '\\n'. The separator can be redefined using the variable flag ``separator``. The following is an example that adds two custom fields for ipk -packages: -:: +packages:: PACKAGE_ADD_METADATA_IPK = "Vendor: CustomIpk\nGroup:Applications/Spreadsheets" @@ -7660,8 +7444,7 @@ adding statements to your configuration file so that the build process checks local directories first for existing tarballs before checking the Internet. -Here is an efficient way to set it up in your ``local.conf`` file: -:: +Here is an efficient way to set it up in your ``local.conf`` file:: SOURCE_MIRROR_URL ?= "file:///home/you/your-download-dir/" INHERIT += "own-mirrors" @@ -7692,8 +7475,7 @@ download directory :ref:`structure-build-downloads`, which is located with :term:`DL_DIR`. Use the following BitBake command form to fetch all the necessary -sources without starting the build: -:: +sources without starting the build:: $ bitbake target --runall=fetch @@ -7740,15 +7522,13 @@ following sections. Using systemd Exclusively ------------------------- -Set these variables in your distribution configuration file as follows: -:: +Set these variables in your distribution configuration file as follows:: DISTRO_FEATURES_append = " systemd" VIRTUAL-RUNTIME_init_manager = "systemd" You can also prevent the SysVinit distribution feature from -being automatically enabled as follows: -:: +being automatically enabled as follows:: DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" @@ -7756,8 +7536,7 @@ Doing so removes any redundant SysVinit scripts. To remove initscripts from your image altogether, set this variable -also: -:: +also:: VIRTUAL-RUNTIME_initscripts = "" @@ -7767,8 +7546,7 @@ For information on the backfill variable, see Using systemd for the Main Image and Using SysVinit for the Rescue Image ------------------------------------------------------------------------ -Set these variables in your distribution configuration file as follows: -:: +Set these variables in your distribution configuration file as follows:: DISTRO_FEATURES_append = " systemd" VIRTUAL-RUNTIME_init_manager = "systemd" @@ -7800,8 +7578,7 @@ Using Persistent and Pre-Populated\ ``/dev`` To use the static method for device population, you need to set the :term:`USE_DEVFS` variable to "0" -as follows: -:: +as follows:: USE_DEVFS = "0" @@ -7813,8 +7590,7 @@ machine or distro configuration file. Alternatively, you can set this variable in your ``local.conf`` configuration file. If you do not define the ``IMAGE_DEVICE_TABLES`` variable, the default -``device_table-minimal.txt`` is used: -:: +``device_table-minimal.txt`` is used:: IMAGE_DEVICE_TABLES = "device_table-mymachine.txt" @@ -7826,8 +7602,7 @@ Using ``devtmpfs`` and a Device Manager To use the dynamic method for device population, you need to use (or be sure to set) the :term:`USE_DEVFS` -variable to "1", which is the default: -:: +variable to "1", which is the default:: USE_DEVFS = "1" @@ -7844,8 +7619,7 @@ To have more control over the device nodes, you can use a device manager like ``udev`` or ``busybox-mdev``. You choose the device manager by defining the ``VIRTUAL-RUNTIME_dev_manager`` variable in your machine or distro configuration file. Alternatively, you can set this variable in -your ``local.conf`` configuration file: -:: +your ``local.conf`` configuration file:: VIRTUAL-RUNTIME_dev_manager = "udev" @@ -7866,14 +7640,12 @@ Subversion (SVN), Git, and Bazaar (BZR) repositories. To enable this behavior, the :term:`PV` of the recipe needs to reference -:term:`SRCPV`. Here is an example: -:: +:term:`SRCPV`. Here is an example:: PV = "1.2.3+git${SRCPV}" Then, you can add the following to your -``local.conf``: -:: +``local.conf``:: SRCREV_pn-PN = "${AUTOREV}" @@ -7881,20 +7653,17 @@ Then, you can add the following to your which you want to enable automatic source revision updating. If you do not want to update your local configuration file, you can add -the following directly to the recipe to finish enabling the feature: -:: +the following directly to the recipe to finish enabling the feature:: SRCREV = "${AUTOREV}" The Yocto Project provides a distribution named ``poky-bleeding``, whose -configuration file contains the line: -:: +configuration file contains the line:: require conf/distro/include/poky-floating-revisions.inc This line pulls in the -listed include file that contains numerous lines of exactly that form: -:: +listed include file that contains numerous lines of exactly that form:: #SRCREV_pn-opkg-native ?= "${AUTOREV}" #SRCREV_pn-opkg-sdk ?= "${AUTOREV}" @@ -7946,15 +7715,13 @@ Creating the Root Filesystem To create the read-only root filesystem, simply add the "read-only-rootfs" feature to your image, normally in one of two ways. The first way is to add the "read-only-rootfs" image feature in the -image's recipe file via the ``IMAGE_FEATURES`` variable: -:: +image's recipe file via the ``IMAGE_FEATURES`` variable:: IMAGE_FEATURES += "read-only-rootfs" As an alternative, you can add the same feature from within your build directory's ``local.conf`` file with the -associated ``EXTRA_IMAGE_FEATURES`` variable, as in: -:: +associated ``EXTRA_IMAGE_FEATURES`` variable, as in:: EXTRA_IMAGE_FEATURES = "read-only-rootfs" @@ -8051,8 +7818,7 @@ Build history is disabled by default. To enable it, add the following ``INHERIT`` statement and set the :term:`BUILDHISTORY_COMMIT` variable to "1" at the end of your ``conf/local.conf`` file found in the -:term:`Build Directory`: -:: +:term:`Build Directory`:: INHERIT += "buildhistory" BUILDHISTORY_COMMIT = "1" @@ -8140,8 +7906,7 @@ and actual revisions might differ when :term:`SRCREV` is set to ${:term:`AUTOREV`}. Here is an example assuming -``buildhistory/packages/qemux86-poky-linux/linux-yocto/latest_srcrev``): -:: +``buildhistory/packages/qemux86-poky-linux/linux-yocto/latest_srcrev``):: # SRCREV_machine = "38cd560d5022ed2dbd1ab0dca9642e47c98a0aa1" SRCREV_machine = "38cd560d5022ed2dbd1ab0dca9642e47c98a0aa1" @@ -8154,8 +7919,7 @@ collect the stored ``SRCREV`` values from build history and report them in a format suitable for use in global configuration (e.g., ``local.conf`` or a distro include file) to override floating ``AUTOREV`` values to a fixed set of revisions. Here is some example -output from this command: -:: +output from this command:: $ buildhistory-collect-srcrevs -a # i586-poky-linux @@ -8270,8 +8034,7 @@ image. If you are just interested in this information and not interested in collecting specific package or SDK information, you can enable writing only image information without any history by adding the following to your ``conf/local.conf`` file found in the -:term:`Build Directory`: -:: +:term:`Build Directory`:: INHERIT += "buildhistory" BUILDHISTORY_COMMIT = "0" @@ -8370,8 +8133,7 @@ interface. To see any changes that have occurred (assuming you have :term:`BUILDHISTORY_COMMIT` = "1"), you can simply use any Git command that allows you to view the history -of a repository. Here is one method: -:: +of a repository. Here is one method:: $ git log -p @@ -8381,8 +8143,7 @@ however, that this method does show changes that are not significant A command-line tool called ``buildhistory-diff`` does exist, though, that queries the Git repository and prints just the differences that -might be significant in human-readable form. Here is an example: -:: +might be significant in human-readable form. Here is an example:: $ poky/poky/scripts/buildhistory-diff . HEAD^ Changes to images/qemux86_64/glibc/core-image-minimal (files-in-image.txt): @@ -8402,8 +8163,7 @@ might be significant in human-readable form. Here is an example: .. note:: The ``buildhistory-diff`` tool requires the ``GitPython`` - package. Be sure to install it using Pip3 as follows: - :: + package. Be sure to install it using Pip3 as follows:: $ pip3 install GitPython --user @@ -8473,8 +8233,7 @@ In order to run tests, you need to do the following: with sudo. - The package recipe ``qemu-helper-native`` is required to run - this script. Build the package using the following command: - :: + this script. Build the package using the following command:: $ bitbake qemu-helper-native @@ -8609,8 +8368,7 @@ not need any information in this section. You can skip down to the If you did set ``TEST_TARGET`` to "SystemdbootTarget", you also need to perform a one-time setup of your master image by doing the following: -1. *Set EFI_PROVIDER:* Be sure that ``EFI_PROVIDER`` is as follows: - :: +1. *Set EFI_PROVIDER:* Be sure that ``EFI_PROVIDER`` is as follows:: EFI_PROVIDER = "systemd-boot" @@ -8648,16 +8406,14 @@ The final thing you need to do when setting ``TEST_TARGET`` to "SystemdbootTarget" is to set up the test image: 1. *Set up your local.conf file:* Make sure you have the following - statements in your ``local.conf`` file: - :: + statements in your ``local.conf`` file:: IMAGE_FSTYPES += "tar.gz" INHERIT += "testimage" TEST_TARGET = "SystemdbootTarget" TEST_TARGET_IP = "192.168.2.3" -2. *Build your test image:* Use BitBake to build the image: - :: +2. *Build your test image:* Use BitBake to build the image:: $ bitbake core-image-sato @@ -8671,8 +8427,7 @@ power: ``TEST_POWERCONTROL_EXTRA_ARGS`` as a command that runs on the host and does power cycling. The test code passes one argument to that command: off, on or cycle (off then on). Here is an example that - could appear in your ``local.conf`` file: - :: + could appear in your ``local.conf`` file:: TEST_POWERCONTROL_CMD = "powercontrol.exp test 10.11.12.1 nuc1" @@ -8705,8 +8460,7 @@ wish to experiment with automated hardware testing, you can use the the required power action. This script requires either KDialog or Zenity to be installed. To use this script, set the :term:`TEST_POWERCONTROL_CMD` -variable as follows: -:: +variable as follows:: TEST_POWERCONTROL_CMD = "${COREBASE}/scripts/contrib/dialog-power-control" @@ -8728,8 +8482,7 @@ connecting to a remote console server. Regardless of the case, the command simply needs to connect to the serial console and forward that connection to standard input and output as any normal terminal program does. For example, to use the picocom terminal program on serial device -``/dev/ttyUSB0`` at 115200bps, you would set the variable as follows: -:: +``/dev/ttyUSB0`` at 115200bps, you would set the variable as follows:: TEST_SERIALCONTROL_CMD = "picocom /dev/ttyUSB0 -b 115200" @@ -8737,8 +8490,7 @@ For local devices where the serial port device disappears when the device reboots, an additional "serdevtry" wrapper script is provided. To use this wrapper, simply prefix the terminal command with -``${COREBASE}/scripts/contrib/serdevtry``: -:: +``${COREBASE}/scripts/contrib/serdevtry``:: TEST_SERIALCONTROL_CMD = "${COREBASE}/scripts/contrib/serdevtry picocom -b 115200 /dev/ttyUSB0" @@ -8752,27 +8504,23 @@ You can start the tests automatically or manually: set the :term:`TESTIMAGE_AUTO` variable to "1" in your ``local.conf`` file in the - :term:`Build Directory`: - :: + :term:`Build Directory`:: TESTIMAGE_AUTO = "1" Next, build your image. If the image successfully builds, the - tests run: - :: + tests run:: bitbake core-image-sato - *Manually running tests:* To manually run the tests, first globally inherit the :ref:`testimage ` class - by editing your ``local.conf`` file: - :: + by editing your ``local.conf`` file:: INHERIT += "testimage" - Next, use BitBake to run the tests: - :: + Next, use BitBake to run the tests:: bitbake -c testimage image @@ -8815,18 +8563,15 @@ handling. Here are some things to keep in mind when running tests: -- The default tests for the image are defined as: - :: +- The default tests for the image are defined as:: DEFAULT_TEST_SUITES_pn-image = "ping ssh df connman syslog xorg scp vnc date rpm dnf dmesg" -- Add your own test to the list of the by using the following: - :: +- Add your own test to the list of the by using the following:: TEST_SUITES_append = " mytest" -- Run a specific list of tests as follows: - :: +- Run a specific list of tests as follows:: TEST_SUITES = "test1 test2 test3" @@ -8842,16 +8587,14 @@ test execution off to a scheduler. You can only export tests that are defined in :term:`TEST_SUITES`. If your image is already built, make sure the following are set in your -``local.conf`` file: -:: +``local.conf`` file:: INHERIT += "testexport" TEST_TARGET_IP = "IP-address-for-the-test-target" TEST_SERVER_IP = "IP-address-for-the-test-server" You can then export the tests with the -following BitBake command form: -:: +following BitBake command form:: $ bitbake image -c testexport @@ -8860,28 +8603,24 @@ Exporting the tests places them in the ``tmp/testexport/``\ image, which is controlled by the ``TEST_EXPORT_DIR`` variable. -You can now run the tests outside of the build environment: -:: +You can now run the tests outside of the build environment:: $ cd tmp/testexport/image $ ./runexported.py testdata.json Here is a complete example that shows IP addresses and uses the -``core-image-sato`` image: -:: +``core-image-sato`` image:: INHERIT += "testexport" TEST_TARGET_IP = "192.168.7.2" TEST_SERVER_IP = "192.168.7.1" -Use BitBake to export the tests: -:: +Use BitBake to export the tests:: $ bitbake core-image-sato -c testexport Run the tests outside of -the build environment using the following: -:: +the build environment using the following:: $ cd tmp/testexport/core-image-sato $ ./runexported.py testdata.json @@ -9157,14 +8896,12 @@ variables>` did not work out as expected. BitBake's ``-e`` option is used to display variable values after parsing. The following command displays the variable values after the configuration files (i.e. ``local.conf``, ``bblayers.conf``, -``bitbake.conf`` and so forth) have been parsed: -:: +``bitbake.conf`` and so forth) have been parsed:: $ bitbake -e The following command displays variable values after a specific recipe has -been parsed. The variables include those from the configuration as well: -:: +been parsed. The variables include those from the configuration as well:: $ bitbake -e recipename @@ -9187,8 +8924,7 @@ variable flags (varflags) set on the variable. The output can be very helpful during debugging. Variables that are exported to the environment are preceded by -``export`` in the output of ``bitbake -e``. See the following example: -:: +``export`` in the output of ``bitbake -e``. See the following example:: export CC="i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/ulf/poky/build/tmp/sysroots/qemux86" @@ -9250,8 +8986,7 @@ Following are a few of the available ``oe-pkgdata-util`` subcommands. - ``oe-pkgdata-util find-path path ...``: Lists the names of the packages that contain the given paths. For example, the following tells us that ``/usr/share/man/man1/make.1`` is contained in the - ``make-doc`` package: - :: + ``make-doc`` package:: $ oe-pkgdata-util find-path /usr/share/man/man1/make.1 make-doc: /usr/share/man/man1/make.1 @@ -9260,8 +8995,7 @@ Following are a few of the available ``oe-pkgdata-util`` subcommands. of the recipes that produce the given packages. For more information on the ``oe-pkgdata-util`` command, use the help -facility: -:: +facility:: $ oe-pkgdata-util --help $ oe-pkgdata-util subcommand --help @@ -9274,8 +9008,7 @@ before the one you have specified. Dependency information can help you understand why a recipe is built. To generate dependency information for a recipe, run the following -command: -:: +command:: $ bitbake -g recipename @@ -9305,8 +9038,7 @@ format and can be converted to images (e.g. using the ``dot`` tool from provide useful information. As an example, the ``task-depends.dot`` file contains lines such - as the following: - :: + as the following:: "libxslt.do_configure" -> "libxml2.do_populate_sysroot" @@ -9323,8 +9055,7 @@ format and can be converted to images (e.g. using the ``dot`` tool from displays paths between graph nodes. You can use a different method to view dependency information by using -the following command: -:: +the following command:: $ bitbake -g -u taskexp recipename @@ -9350,8 +9081,7 @@ If you are unsure whether a variable dependency is being picked up automatically for a given task, you can list the variable dependencies BitBake has determined by doing the following: -1. Build the recipe containing the task: -:: +1. Build the recipe containing the task:: $ bitbake recipename @@ -9362,8 +9092,7 @@ BitBake has determined by doing the following: checksum for the task. As an example, for the :ref:`ref-tasks-fetch` task of the ``db`` recipe, the ``sigdata`` file might be found in the following - location: - :: + location:: ${BUILDDIR}/tmp/stamps/i586-poky-linux/db/6.0.30-r1.do_fetch.sigdata.7c048c18222b16ff0bcee2000ef648b1 @@ -9375,8 +9104,7 @@ BitBake has determined by doing the following: same information as ``sigdata`` files. 3. Run ``bitbake-dumpsig`` on the ``sigdata`` or ``siginfo`` file. Here - is an example: - :: + is an example:: $ bitbake-dumpsig ${BUILDDIR}/tmp/stamps/i586-poky-linux/db/6.0.30-r1.do_fetch.sigdata.7c048c18222b16ff0bcee2000ef648b1 @@ -9406,8 +9134,7 @@ call ``bitbake-diffsigs`` with just one file, the command behaves like You can also use BitBake to dump out the signature construction information without executing tasks by using either of the following -BitBake command-line options: -:: +BitBake command-line options:: ‐‐dump-signatures=SIGNATURE_HANDLER -S SIGNATURE_HANDLER @@ -9494,8 +9221,7 @@ behavior in most cases is: ``do_fetch``, ``do_unpack``, ``do_patch``, ``do_build`` and any tasks on which it depends build first. Some tasks, such as ``do_devshell``, are not part of the default build chain. If you wish to run a task that is not part of the default build chain, you can -use the ``-c`` option in BitBake. Here is an example: -:: +use the ``-c`` option in BitBake. Here is an example:: $ bitbake matchbox-desktop -c devshell @@ -9520,8 +9246,7 @@ out), then you can use the ``-f`` option. [\ :ref:`nostamp `\ ] variable flag is already set for the task. -The following example shows one way you can use the ``-f`` option: -:: +The following example shows one way you can use the ``-f`` option:: $ bitbake matchbox-desktop . @@ -9550,8 +9275,7 @@ Using this option invalidates the given task and then runs the :ref:`ref-tasks-build` task, which is the default task if no task is given, and the tasks on which it depends. You could replace the final two commands in the previous example with -the following single command: -:: +the following single command:: $ bitbake matchbox-desktop -C compile @@ -9575,16 +9299,14 @@ task dependency mechanisms. and build output might not be in the clean state they would be in for a "normal" build, depending on what actions you took. To get rid of such warnings, you can remove the work directory and rebuild the - recipe, as follows: - :: + recipe, as follows:: $ bitbake matchbox-desktop -c clean $ bitbake matchbox-desktop You can view a list of tasks in a given package by running the -``do_listtasks`` task as follows: -:: +``do_listtasks`` task as follows:: $ bitbake matchbox-desktop -c listtasks @@ -9608,8 +9330,7 @@ Building with No Dependencies ----------------------------- To build a specific recipe (``.bb`` file), you can use the following -command form: -:: +command form:: $ bitbake -b somepath/somerecipe.bb @@ -9678,8 +9399,7 @@ in the log, use the "debug" loglevel. Following is an example written in Python. The code handles logging for a function that determines the number of tasks needed to be run. See the ":ref:`ref-tasks-listtasks`" -section for additional information: -:: +section for additional information:: python do_listtasks() { bb.debug(2, "Starting to figure out the task list") @@ -9841,21 +9561,18 @@ build, set the :term:`PARALLEL_MAKE` variable in your ``local.conf`` file to a high number (e.g. "-j 20"). Using a high value for ``PARALLEL_MAKE`` increases the chances of the race -condition showing up: -:: +condition showing up:: $ bitbake neard -Once the local build for "neard" completes, start a ``devshell`` build: -:: +Once the local build for "neard" completes, start a ``devshell`` build:: $ bitbake neard -c devshell For information on how to use a ``devshell``, see the ":ref:`dev-manual/common-tasks:using a development shell`" section. -In the ``devshell``, do the following: -:: +In the ``devshell``, do the following:: $ make clean $ make tools/snep-send.o @@ -9863,8 +9580,7 @@ In the ``devshell``, do the following: The ``devshell`` commands cause the failure to clearly be visible. In this case, a missing dependency exists for the "neard" Makefile target. Here is some abbreviated, sample output with the -missing dependency clearly visible at the end: -:: +missing dependency clearly visible at the end:: i586-poky-linux-gcc -m32 -march=i586 --sysroot=/home/scott-lenovo/...... . @@ -9885,8 +9601,7 @@ Creating a Patch for the Fix Because there is a missing dependency for the Makefile target, you need to patch the ``Makefile.am`` file, which is generated from -``Makefile.in``. You can use Quilt to create the patch: -:: +``Makefile.in``. You can use Quilt to create the patch:: $ quilt new parallelmake.patch Patch patches/parallelmake.patch is now on top @@ -9898,14 +9613,12 @@ For more information on using Quilt, see the At this point you need to make the edits to ``Makefile.am`` to add the missing dependency. For our example, you have to add the following line -to the file: -:: +to the file:: tools/snep-send.$(OBJEXT): include/near/dbus.h Once you have edited the file, use the ``refresh`` command to create the -patch: -:: +patch:: $ quilt refresh Refreshed patch patches/parallelmake.patch @@ -9913,8 +9626,7 @@ patch: Once the patch file exists, you need to add it back to the originating recipe folder. Here is an example assuming a top-level -:term:`Source Directory` named ``poky``: -:: +:term:`Source Directory` named ``poky``:: $ cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard @@ -9922,8 +9634,7 @@ The final thing you need to do to implement the fix in the build is to update the "neard" recipe (i.e. ``neard-0.14.bb``) so that the :term:`SRC_URI` statement includes the patch file. The recipe file is in the folder above the patch. Here -is what the edited ``SRC_URI`` statement would look like: -:: +is what the edited ``SRC_URI`` statement would look like:: SRC_URI = "${KERNELORG_MIRROR}/linux/network/nfc/${BPN}-${PV}.tar.xz \ file://neard.in \ @@ -9932,8 +9643,7 @@ is what the edited ``SRC_URI`` statement would look like: " With the patch complete and moved to the correct folder and the -``SRC_URI`` statement updated, you can exit the ``devshell``: -:: +``SRC_URI`` statement updated, you can exit the ``devshell``:: $ exit @@ -9941,16 +9651,14 @@ Testing the Build ~~~~~~~~~~~~~~~~~ With everything in place, you can get back to trying the build again -locally: -:: +locally:: $ bitbake neard This build should succeed. Now you can open up a ``devshell`` again and repeat the clean and make -operations as follows: -:: +operations as follows:: $ bitbake neard -c devshell $ make clean @@ -9997,42 +9705,47 @@ methods you can use: running a debuginfod server and using gdbserver. Using the debuginfod server method ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -"debuginfod" from "elfutils" is a way to distribute "debuginfo" files. -Running a "debuginfod" server makes debug symbols readily available, +``debuginfod`` from ``elfutils`` is a way to distribute ``debuginfo`` files. +Running a ``debuginfod`` server makes debug symbols readily available, which means you don't need to download debugging information and the binaries of the process being debugged. You can just fetch debug symbols from the server. -To run a debuginfod server, you need to do the following: +To run a ``debuginfod`` server, you need to do the following: -- Ensure that this variable is set in your ``local.conf`` file: - :: +- Ensure that ``debuginfod`` is present in :term:`DISTRO_FEATURES` + (it already is in ``OpenEmbedded-core`` defaults and ``poky`` reference distribution). + If not, set in your distro config file or in ``local.conf``:: - PACKAGECONFIG_pn-elfutils-native = "debuginfod libdebuginfod" + DISTRO_FEATURES_append = " debuginfod" - This :term:`PACKAGECONFIG` option enables debuginfod and libdebuginfod for - "elfutils-native". + This distro feature enables the server and client library in ``elfutils``, + and enables ``debuginfod`` support in clients (at the moment, ``gdb`` and ``binutils``). -- Run the following commands to set up the "debuginfod" server: - :: +- Run the following commands to launch the ``debuginfod`` server on the host:: $ oe-debuginfod +- To use ``debuginfod`` on the target, you need to know the ip:port where + ``debuginfod`` is listening on the host (port defaults to 8002), and export + that into the shell environment, for example in ``qemu``:: -To use debuginfod on the target, you need the following: + root@qemux86-64:~# export DEBUGINFOD_URLS="http://192.168.7.1:8002/" -- Ensure that this variable is set in your ``local.conf`` file: - :: - - DEBUGINFOD_URLS = "http://localhost:8002/" +- Then debug info fetching should simply work when running the target ``gdb``, + ``readelf`` or ``objdump``, for example:: - This :term:`DEBUGINFOD_URLS` option does the client configuration. + root@qemux86-64:~# gdb /bin/cat + ... + Reading symbols from /bin/cat... + Downloading separate debug info for /bin/cat... + Reading symbols from /home/root/.cache/debuginfod_client/923dc4780cfbc545850c616bffa884b6b5eaf322/debuginfo... - :: +- It's also possible to use ``debuginfod-find`` to just query the server:: - PACKAGECONFIG_pn-gdb = "debuginfod" + root@qemux86-64:~# debuginfod-find debuginfo /bin/ls + /home/root/.cache/debuginfod_client/356edc585f7f82d46f94fcb87a86a3fe2d2e60bd/debuginfo - This :term:`PACKAGECONFIG` option enables "debuginfod" for "gdb". Using the gdbserver method ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -10069,8 +9782,7 @@ debugger. 1. *Configure your build system to construct the companion debug filesystem:* - In your ``local.conf`` file, set the following: - :: + In your ``local.conf`` file, set the following:: IMAGE_GEN_DEBUGFS = "1" IMAGE_FSTYPES_DEBUGFS = "tar.bz2" @@ -10090,8 +9802,7 @@ debugger. 2. *Configure the system to include gdbserver in the target filesystem:* Make the following addition in either your ``local.conf`` file or in - an image recipe: - :: + an image recipe:: IMAGE_INSTALL_append = " gdbserver" @@ -10101,29 +9812,25 @@ debugger. 3. *Build the environment:* Use the following command to construct the image and the companion - Debug Filesystem: - :: + Debug Filesystem:: $ bitbake image Build the cross GDB component and make it available for debugging. Build the SDK that matches the image. Building the SDK is best for a production build that can be - used later for debugging, especially during long term maintenance: - :: + used later for debugging, especially during long term maintenance:: $ bitbake -c populate_sdk image Alternatively, you can build the minimal toolchain components that match the target. Doing so creates a smaller than typical SDK and only contains a minimal set of components with which to build simple - test applications, as well as run the debugger: - :: + test applications, as well as run the debugger:: $ bitbake meta-toolchain - A final method is to build Gdb itself within the build system: - :: + A final method is to build Gdb itself within the build system:: $ bitbake gdb-cross- @@ -10140,8 +9847,7 @@ debugger. 4. *Set up the* ``debugfs``\ *:* - Run the following commands to set up the ``debugfs``: - :: + Run the following commands to set up the ``debugfs``:: $ mkdir debugfs $ cd debugfs @@ -10180,8 +9886,7 @@ debugger. Documentation `__. After running gdbserver on the target, you need to run Gdb on the - host and configure it and connect to the target. Use these commands: - :: + host and configure it and connect to the target. Use these commands:: $ cd directory-holding-the-debugfs-directory $ arch-gdb @@ -10212,8 +9917,7 @@ debugger. If the binary is processed through the debug splitting in OpenEmbedded, you should also copy the debug items (i.e. ``.debug`` contents and corresponding ``/usr/src/debug`` files) from the work - directory. Here is an example: - :: + directory. Here is an example:: $ bitbake bash $ bitbake -c devshell bash @@ -10234,25 +9938,21 @@ debug on the target hardware. To support this kind of debugging, you need do the following: - Ensure that GDB is on the target. You can do this by adding "gdb" to - :term:`IMAGE_INSTALL`: - :: + :term:`IMAGE_INSTALL`:: IMAGE_INSTALL_append = " gdb" - Alternatively, you can add "tools-debug" to :term:`IMAGE_FEATURES`: - :: + Alternatively, you can add "tools-debug" to :term:`IMAGE_FEATURES`:: IMAGE_FEATURES_append = " tools-debug" - Ensure that debug symbols are present. You can make sure these - symbols are present by installing ``-dbg``: - :: + symbols are present by installing ``-dbg``:: IMAGE_INSTALL_append = "packagename-dbg" Alternatively, you can do the following to include - all the debug symbols: - :: + all the debug symbols:: IMAGE_FEATURES_append = " dbg-pkgs" @@ -10262,8 +9962,7 @@ To support this kind of debugging, you need do the following: of optimization used by the compiler. For example, when adding the following line to your ``local.conf`` file, you will reduce optimization from :term:`FULL_OPTIMIZATION` of "-O2" to :term:`DEBUG_OPTIMIZATION` - of "-O -fno-omit-frame-pointer": - :: + of "-O -fno-omit-frame-pointer":: DEBUG_BUILD = "1" @@ -10307,8 +10006,7 @@ Here are some other tips that you might find useful: Using GNU Grep, you can use the following shell function to recursively search through common recipe-related files, skipping binary files, ``.git`` directories, and the Build Directory (assuming - its name starts with "build"): - :: + its name starts with "build"):: g() { grep -Ir \ @@ -10321,8 +10019,7 @@ Here are some other tips that you might find useful: "$@" } - Following are some usage examples: - :: + Following are some usage examples:: $ g FOO # Search recursively for "FOO" $ g -i foo # Search recursively for "foo", ignoring case @@ -10581,8 +10278,7 @@ Preparing Changes for Submission specific convention for bug references - any commit that addresses a specific bug should use the following form for the detailed description. Be sure to use the actual bug-tracking ID from - Bugzilla for bug-id: - :: + Bugzilla for bug-id:: Fixes [YOCTO #bug-id] @@ -10608,8 +10304,7 @@ without using the scripts once the steps in provide the command, you must include a revision list or a number of patches as part of the command. For example, either of these two commands takes your most recent single commit and formats it as an - email message in the current directory: - :: + email message in the current directory:: $ git format-patch -1 @@ -10701,8 +10396,7 @@ been followed: 1. *Push Your Commits to a "Contrib" Upstream:* If you have arranged for permissions to push to an upstream contrib repository, push the - change to that repository: - :: + change to that repository:: $ git push upstream_remote_repo local_branch_name @@ -10711,8 +10405,7 @@ been followed: working in a local branch named `your_name`\ ``/README``. The following command pushes your local commits to the ``meta-intel-contrib`` upstream repository and puts the commit in a branch named - `your_name`\ ``/README``: - :: + `your_name`\ ``/README``:: $ git push meta-intel-contrib your_name/README @@ -10729,8 +10422,7 @@ been followed: - *Search by File:* Using :ref:`overview-manual/development-environment:git`, you can enter the following command to bring up a short list of all - commits against a specific file: - :: + commits against a specific file:: git shortlog -- filename @@ -10764,8 +10456,7 @@ been followed: First, create the pull request. For example, the following command runs the script, specifies the upstream repository in the contrib directory into which you pushed the change, and provides a subject - line in the created patch files: - :: + line in the created patch files:: $ poky/scripts/create-pull-request -u meta-intel-contrib -s "Updated Manual Section Reference in README" @@ -10778,8 +10469,7 @@ been followed: editing the cover letter, send the pull request. For example, the following command runs the script and specifies the patch directory and email address. In this example, the email address is a mailing - list: - :: + list:: $ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@yoctoproject.org @@ -10788,8 +10478,7 @@ been followed: .. note:: For help on using these scripts, simply provide the ``-h`` - argument as follows: - :: + argument as follows:: $ poky/scripts/create-pull-request -h $ poky/scripts/send-pull-request -h @@ -10901,8 +10590,7 @@ Specifying the ``LIC_FILES_CHKSUM`` Variable The ``LIC_FILES_CHKSUM`` variable contains checksums of the license text in the source code for the recipe. Following is an example of how to -specify ``LIC_FILES_CHKSUM``: -:: +specify ``LIC_FILES_CHKSUM``:: LIC_FILES_CHKSUM = "file://COPYING;md5=xxxx \ file://licfile1.txt;beginline=5;endline=29;md5=yyyy \ @@ -10925,8 +10613,7 @@ variable as the default directory when searching files listed in ``LIC_FILES_CHKSUM``. The previous example employs the default directory. -Consider this next example: -:: +Consider this next example:: LIC_FILES_CHKSUM = "file://src/ls.c;beginline=5;endline=16;\ md5=bb14ed3c4cda583abc85401304b5cd4e" @@ -10988,15 +10675,13 @@ are defined on a recipe-by-recipe basis through the :term:`LICENSE_FLAGS` variable definition in the affected recipe. For instance, the ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` recipe -contains the following statement: -:: +contains the following statement:: LICENSE_FLAGS = "commercial" Here is a slightly more complicated example that contains both an explicit recipe -name and version (after variable expansion): -:: +name and version (after variable expansion):: LICENSE_FLAGS = "license_${PN}_${PV}" @@ -11011,8 +10696,7 @@ could add either the string "commercial_gst-plugins-ugly" or the more general string "commercial" to ``LICENSE_FLAGS_WHITELIST``. See the ":ref:`dev-manual/common-tasks:license flag matching`" section for a full explanation of how ``LICENSE_FLAGS`` matching works. Here is the -example: -:: +example:: LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly" @@ -11020,8 +10704,7 @@ Likewise, to additionally enable the package built from the recipe containing ``LICENSE_FLAGS = "license_${PN}_${PV}"``, and assuming that the actual recipe name was ``emgd_1.10.bb``, the following string would enable that package as well as the original ``gst-plugins-ugly`` -package: -:: +package:: LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly license_emgd_1.10" @@ -11077,8 +10760,7 @@ matches any expanded ``LICENSE_FLAGS`` definition that starts with the string "commercial" such as "commercial_foo" and "commercial_bar", which are the strings the build system automatically generates for hypothetical recipes named "foo" and "bar" assuming those recipes simply -specify the following: -:: +specify the following:: LICENSE_FLAGS = "commercial" @@ -11116,8 +10798,7 @@ Other Variables Related to Commercial Licenses Other helpful variables related to commercial license handling exist and are defined in the -``poky/meta/conf/distro/include/default-distrovars.inc`` file: -:: +``poky/meta/conf/distro/include/default-distrovars.inc`` file:: COMMERCIAL_AUDIO_PLUGINS ?= "" COMMERCIAL_VIDEO_PLUGINS ?= "" @@ -11125,8 +10806,7 @@ are defined in the If you want to enable these components, you can do so by making sure you have statements similar to the following in your ``local.conf`` configuration -file: -:: +file:: COMMERCIAL_AUDIO_PLUGINS = "gst-plugins-ugly-mad \ gst-plugins-ugly-mpegaudioparse" @@ -11138,8 +10818,7 @@ file: Of course, you could also create a matching whitelist for those components using the more general "commercial" in the whitelist, but that would also enable all the other packages with ``LICENSE_FLAGS`` -containing "commercial", which you may or may not want: -:: +containing "commercial", which you may or may not want:: LICENSE_FLAGS_WHITELIST = "commercial" @@ -11219,8 +10898,7 @@ of compliance in mind. One way of doing this (but certainly not the only way) is to release just the source as a tarball. You can do this by adding the following to the ``local.conf`` file found in the -:term:`Build Directory`: -:: +:term:`Build Directory`:: INHERIT += "archiver" ARCHIVER_MODE[src] = "original" @@ -11276,8 +10954,7 @@ One requirement that is often overlooked is inclusion of license text. This requirement also needs to be dealt with prior to generating the final image. Some licenses require the license text to accompany the binary. You can achieve this by adding the following to your -``local.conf`` file: -:: +``local.conf`` file:: COPY_LIC_MANIFEST = "1" COPY_LIC_DIRS = "1" @@ -11344,8 +11021,7 @@ thing a development organization might want to consider for end-user convenience is to modify ``meta-poky/conf/bblayers.conf.sample`` to ensure that when the end user utilizes the released build system to build an image, the development organization's layers are included in -the ``bblayers.conf`` file automatically: -:: +the ``bblayers.conf`` file automatically:: # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf # changes incompatibly @@ -11413,8 +11089,7 @@ variable. Using this variable also avoids QA errors when you use a non-common, non-CLOSED license in a recipe. The following is an example that uses the ``LICENSE.Abilis.txt`` file as -the license from the fetched source: -:: +the license from the fetched source:: NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENSE.Abilis.txt" @@ -11457,8 +11132,7 @@ class by adding the following statement to the end of your By default, the error reporting feature stores information in ``${``\ :term:`LOG_DIR`\ ``}/error-report``. However, you can specify a directory to use by adding the following to -your ``local.conf`` file: -:: +your ``local.conf`` file:: ERR_REPORT_DIR = "path" @@ -11467,8 +11141,7 @@ reporting causes the build process to collect the errors and store them in a file as previously described. When the build system encounters an error, it includes a command as part of the console output. You can run the command to send the error file to the server. For example, the -following command sends the errors to an upstream server: -:: +following command sends the errors to an upstream server:: $ send-error-report /home/brandusa/project/poky/build/tmp/log/error-report/error_report_201403141617.txt @@ -11476,8 +11149,7 @@ In the previous example, the errors are sent to a public database available at https://errors.yoctoproject.org, which is used by the entire community. If you specify a particular server, you can send the errors to a different database. Use the following command for more -information on available options: -:: +information on available options:: $ send-error-report --help @@ -11557,8 +11229,7 @@ Wayland with Kernel Mode Setting (`KMS `__) support, include the "wayland" flag in the :term:`DISTRO_FEATURES` -statement in your ``local.conf`` file: -:: +statement in your ``local.conf`` file:: DISTRO_FEATURES_append = " wayland" @@ -11573,8 +11244,7 @@ Installing Wayland and Weston To install the Wayland feature into an image, you must include the following :term:`CORE_IMAGE_EXTRA_INSTALL` -statement in your ``local.conf`` file: -:: +statement in your ``local.conf`` file:: CORE_IMAGE_EXTRA_INSTALL += "wayland weston" @@ -11589,14 +11259,12 @@ Alternatively, you can run Weston through the command-line interpretor (CLI), which is better suited for development work. To run Weston under the CLI, you need to do the following after your image is built: -1. Run these commands to export ``XDG_RUNTIME_DIR``: - :: +1. Run these commands to export ``XDG_RUNTIME_DIR``:: mkdir -p /tmp/$USER-weston chmod 0700 /tmp/$USER-weston export XDG_RUNTIME_DIR=/tmp/$USER-weston -2. Launch Weston in the shell: - :: +2. Launch Weston in the shell:: weston diff --git a/poky/documentation/dev-manual/qemu.rst b/poky/documentation/dev-manual/qemu.rst index 92799d6d2..2b6d3d76c 100644 --- a/poky/documentation/dev-manual/qemu.rst +++ b/poky/documentation/dev-manual/qemu.rst @@ -55,16 +55,14 @@ available. Follow these general steps to run QEMU: - If you cloned the ``poky`` repository or you downloaded and unpacked a Yocto Project release tarball, you can source the build - environment script (i.e. :ref:`structure-core-script`): - :: + environment script (i.e. :ref:`structure-core-script`):: $ cd poky $ source oe-init-build-env - If you installed a cross-toolchain, you can run the script that initializes the toolchain. For example, the following commands run - the initialization script from the default ``poky_sdk`` directory: - :: + the initialization script from the default ``poky_sdk`` directory:: . poky_sdk/environment-setup-core2-64-poky-linux @@ -86,8 +84,7 @@ available. Follow these general steps to run QEMU: Extensible Software Development Kit (eSDK) manual for information on how to extract a root filesystem. -4. *Run QEMU:* The basic ``runqemu`` command syntax is as follows: - :: +4. *Run QEMU:* The basic ``runqemu`` command syntax is as follows:: $ runqemu [option ] [...] @@ -222,18 +219,15 @@ using an NFS server. Should you need to start, stop, or restart the NFS share, you can use the following commands: - - The following command starts the NFS share: - :: + - The following command starts the NFS share:: runqemu-export-rootfs start file-system-location - - The following command stops the NFS share: - :: + - The following command stops the NFS share:: runqemu-export-rootfs stop file-system-location - - The following command restarts the NFS share: - :: + - The following command restarts the NFS share:: runqemu-export-rootfs restart file-system-location @@ -313,8 +307,7 @@ present, the toolchain is also automatically used. QEMU Command-Line Syntax ======================== -The basic ``runqemu`` command syntax is as follows: -:: +The basic ``runqemu`` command syntax is as follows:: $ runqemu [option ] [...] @@ -325,8 +318,7 @@ timestamp when it needs to look for an image. Minimally, through the use of options, you must provide either a machine name, a virtual machine image (``*wic.vmdk``), or a kernel image (``*.bin``). -Following is the command-line help output for the ``runqemu`` command: -:: +Following is the command-line help output for the ``runqemu`` command:: $ runqemu --help diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst index 84abf4c51..18fd8ccf6 100644 --- a/poky/documentation/dev-manual/start.rst +++ b/poky/documentation/dev-manual/start.rst @@ -387,36 +387,28 @@ as your Yocto Project build host: software. Follow the instructions for your specific machine and the type of the software you need to install: - - Install `Docker CE for + - Install `Docker Desktop on Windows `__ for Windows build hosts that meet requirements. - - Install `Docker CE for + - Install `Docker Desktop on MacOs `__ for Mac build hosts that meet requirements. - - Install `Docker Toolbox for - Windows `__ - for Windows build hosts that do not meet Docker requirements. - - - Install `Docker Toolbox for - MacOS `__ - for Mac build hosts that do not meet Docker requirements. - - - Install `Docker CE for - CentOS `__ + - Install `Docker Engine on + CentOS `__ for Linux build hosts running the CentOS distribution. - - Install `Docker CE for - Debian `__ + - Install `Docker Engine on + Debian `__ for Linux build hosts running the Debian distribution. - - Install `Docker CE for - Fedora `__ + - Install `Docker Engine for + Fedora `__ for Linux build hosts running the Fedora distribution. - - Install `Docker CE for - Ubuntu `__ + - Install `Docker Engine for + Ubuntu `__ for Linux build hosts running the Ubuntu distribution. 5. *Optionally Orient Yourself With Docker:* If you are unfamiliar with @@ -486,8 +478,7 @@ your Yocto Project build host: distribution. 3. *Check your Linux distribution is using WSLv2:* Open a Windows - PowerShell and run: - :: + PowerShell and run:: C:\WINDOWS\system32> wsl -l -v NAME STATE VERSION @@ -514,8 +505,7 @@ your Yocto Project build host: 1. *Find the location of your VHDX file:* First you need to find the distro app package directory, to achieve this open a Windows - Powershell as Administrator and run: - :: + Powershell as Administrator and run:: C:\WINDOWS\system32> Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName PackageFamilyName @@ -525,8 +515,7 @@ your Yocto Project build host: You should now replace the PackageFamilyName and your user on the following path - to find your VHDX file: - :: + to find your VHDX file:: ls C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ Mode LastWriteTime Length Name @@ -536,8 +525,7 @@ your Yocto Project build host: ``C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx`` 2. *Optimize your VHDX file:* Open a Windows Powershell as - Administrator to optimize your VHDX file, shutting down WSL first: - :: + Administrator to optimize your VHDX file, shutting down WSL first:: C:\WINDOWS\system32> wsl --shutdown C:\WINDOWS\system32> optimize-vhd -Path C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx -Mode full @@ -741,8 +729,7 @@ Follow these steps to create a local version of the upstream 2. *Clone the Repository:* The following example command clones the ``poky`` repository and uses the default name "poky" for your local - repository: - :: + repository:: $ git clone git://git.yoctoproject.org/poky Cloning into 'poky'... @@ -764,8 +751,7 @@ Follow these steps to create a local version of the upstream Once the local repository is created, you can change to that directory and check its status. Here, the single "master" branch - exists on your system and by default, it is checked out: - :: + exists on your system and by default, it is checked out:: $ cd poky $ git status @@ -826,8 +812,7 @@ and then specifically check out that development branch. 3. *Check out the Branch:* Check out the development branch in which you want to work. For example, to access the files for the Yocto Project - &DISTRO; Release (&DISTRO_NAME;), use the following command: - :: + &DISTRO; Release (&DISTRO_NAME;), use the following command:: $ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP; Branch &DISTRO_NAME_NO_CAP; set up to track remote branch &DISTRO_NAME_NO_CAP; from origin. @@ -839,8 +824,7 @@ and then specifically check out that development branch. The following command displays the branches that are now part of your local poky repository. The asterisk character indicates the branch - that is currently checked out for work: - :: + that is currently checked out for work:: $ git branch master @@ -867,14 +851,12 @@ similar to checking out by branch name except you use tag names. section. 2. *Fetch the Tag Names:* To checkout the branch based on a tag name, - you need to fetch the upstream tags into your local repository: - :: + you need to fetch the upstream tags into your local repository:: $ git fetch --tags $ -3. *List the Tag Names:* You can list the tag names now: - :: +3. *List the Tag Names:* You can list the tag names now:: $ git tag 1.1_M1.final diff --git a/poky/documentation/kernel-dev/advanced.rst b/poky/documentation/kernel-dev/advanced.rst index fb6dfca85..b0d03851b 100644 --- a/poky/documentation/kernel-dev/advanced.rst +++ b/poky/documentation/kernel-dev/advanced.rst @@ -67,8 +67,7 @@ to indicate the branch. .. note:: You can use the ``KBRANCH`` value to define an alternate branch typically - with a machine override as shown here from the ``meta-yocto-bsp`` layer: - :: + with a machine override as shown here from the ``meta-yocto-bsp`` layer:: KBRANCH_edgerouter = "standard/edgerouter" @@ -106,15 +105,13 @@ You can use the variable to include features (configuration fragments, patches, or both) that are not already included by the ``KMACHINE`` and ``LINUX_KERNEL_TYPE`` variable combination. For example, to include a -feature specified as "features/netfilter/netfilter.scc", specify: -:: +feature specified as "features/netfilter/netfilter.scc", specify:: KERNEL_FEATURES += "features/netfilter/netfilter.scc" To include a feature called "cfg/sound.scc" just for the ``qemux86`` machine, -specify: -:: +specify:: KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc" @@ -157,8 +154,7 @@ types to form the final description of what will be assembled and built. While the kernel Metadata syntax does not enforce any logical separation of configuration fragments, patches, features or kernel types, best practices dictate a logical separation of these types of Metadata. The -following Metadata file hierarchy is recommended: -:: +following Metadata file hierarchy is recommended:: base/ bsp/ @@ -222,8 +218,7 @@ used with the ``linux-yocto-4.12`` kernel as defined outside of the recipe space (i.e. ``yocto-kernel-cache``). This Metadata consists of two files: ``smp.scc`` and ``smp.cfg``. You can find these files in the ``cfg`` directory of the ``yocto-4.12`` branch in the -``yocto-kernel-cache`` Git repository: -:: +``yocto-kernel-cache`` Git repository:: cfg/smp.scc: define KFEATURE_DESCRIPTION "Enable SMP for 32 bit builds" @@ -265,8 +260,7 @@ non-hardware fragment. As described in the ":ref:`kernel-dev/common:validating configuration`" section, you can -use the following BitBake command to audit your configuration: -:: +use the following BitBake command to audit your configuration:: $ bitbake linux-yocto -c kernel_configcheck -f @@ -287,8 +281,7 @@ in the ``patches/build`` directory of the ``yocto-4.12`` branch in the ``yocto-kernel-cache`` Git repository. The following listings show the ``build.scc`` file and part of the -``modpost-mask-trivial-warnings.patch`` file: -:: +``modpost-mask-trivial-warnings.patch`` file:: patches/build/build.scc: patch arm-serialize-build-targets.patch @@ -334,8 +327,7 @@ Features Features are complex kernel Metadata types that consist of configuration fragments, patches, and possibly other feature description files. As an -example, consider the following generic listing: -:: +example, consider the following generic listing:: features/myfeature.scc define KFEATURE_DESCRIPTION "Enable myfeature" @@ -371,15 +363,13 @@ the ``linux-yocto_4.12.bb`` kernel recipe found in ``poky/meta/recipes-kernel/linux``, a :ref:`require ` directive includes the ``poky/meta/recipes-kernel/linux/linux-yocto.inc`` file, -which has the following statement that defines the default kernel type: -:: +which has the following statement that defines the default kernel type:: LINUX_KERNEL_TYPE ??= "standard" Another example would be the real-time kernel (i.e. ``linux-yocto-rt_4.12.bb``). This kernel recipe directly sets the kernel -type as follows: -:: +type as follows:: LINUX_KERNEL_TYPE = "preempt-rt" @@ -412,8 +402,7 @@ for Linux Yocto kernels: For any given kernel type, the Metadata is defined by the ``.scc`` (e.g. ``standard.scc``). Here is a partial listing for the ``standard.scc`` file, which is found in the ``ktypes/standard`` directory of the -``yocto-kernel-cache`` Git repository: -:: +``yocto-kernel-cache`` Git repository:: # Include this kernel type fragment to get the standard features and # configuration values. @@ -482,15 +471,13 @@ Description Overview For simplicity, consider the following root BSP layer description files for the BeagleBone board. These files employ both a structure and naming convention for consistency. The naming convention for the file is as -follows: -:: +follows:: bsp_root_name-kernel_type.scc Here are some example root layer BSP filenames for the BeagleBone Board BSP, which is supported by the -Yocto Project: -:: +Yocto Project:: beaglebone-standard.scc beaglebone-preempt-rt.scc @@ -498,8 +485,7 @@ Yocto Project: Each file uses the root name (i.e "beaglebone") BSP name followed by the kernel type. -Examine the ``beaglebone-standard.scc`` file: -:: +Examine the ``beaglebone-standard.scc`` file:: define KMACHINE beaglebone define KTYPE standard @@ -533,8 +519,7 @@ description file match. To separate your kernel policy from your hardware configuration, you include a kernel type (``ktype``), such as "standard". In the previous -example, this is done using the following: -:: +example, this is done using the following:: include ktypes/standard/standard.scc @@ -544,13 +529,11 @@ policy. See the ":ref:`kernel-dev/advanced:kernel types`" section for more information. To aggregate common configurations and features specific to the kernel -for `mybsp`, use the following: -:: +for `mybsp`, use the following:: include mybsp.scc -You can see that in the BeagleBone example with the following: -:: +You can see that in the BeagleBone example with the following:: include beaglebone.scc @@ -558,15 +541,13 @@ For information on how to break a complete ``.config`` file into the various configuration fragments, see the ":ref:`kernel-dev/common:creating configuration fragments`" section. Finally, if you have any configurations specific to the hardware that -are not in a ``*.scc`` file, you can include them as follows: -:: +are not in a ``*.scc`` file, you can include them as follows:: kconf hardware mybsp-extra.cfg The BeagleBone example does not include these types of configurations. However, the Malta 32-bit board does -("mti-malta32"). Here is the ``mti-malta32-le-standard.scc`` file: -:: +("mti-malta32"). Here is the ``mti-malta32-le-standard.scc`` file:: define KMACHINE mti-malta32-le define KMACHINE qemumipsel @@ -623,8 +604,7 @@ found on the machine. This ``minnow.scc`` description file is then included in each of the three "minnow" description files for the supported kernel types (i.e. "standard", "preempt-rt", and "tiny"). Consider the "minnow" description for the "standard" kernel type (i.e. -``minnow-standard.scc``): -:: +``minnow-standard.scc``):: define KMACHINE minnow define KTYPE standard @@ -656,8 +636,7 @@ that defines all enabled hardware for the BSP that is common to all kernel types. Using this command significantly reduces duplication. Now consider the "minnow" description for the "tiny" kernel type (i.e. -``minnow-tiny.scc``): -:: +``minnow-tiny.scc``):: define KMACHINE minnow define KTYPE tiny @@ -720,8 +699,7 @@ See the ":ref:`kernel-dev/common:modifying an existing recipe`" section for more information. Here is an example that shows a trivial tree of kernel Metadata stored -in recipe-space within a BSP layer: -:: +in recipe-space within a BSP layer:: meta-my_bsp_layer/ `-- recipes-kernel @@ -744,8 +722,7 @@ value when changing the content of files not explicitly listed in the If the BSP description is in recipe space, you cannot simply list the ``*.scc`` in the ``SRC_URI`` statement. You need to use the following -form from your kernel append file: -:: +form from your kernel append file:: SRC_URI_append_myplatform = " \ file://myplatform;type=kmeta;destsuffix=myplatform \ @@ -759,8 +736,7 @@ reside in a separate repository. The OpenEmbedded build system adds the Metadata to the build as a "type=kmeta" repository through the :term:`SRC_URI` variable. As an example, consider the following ``SRC_URI`` statement from the -``linux-yocto_4.12.bb`` kernel recipe: -:: +``linux-yocto_4.12.bb`` kernel recipe:: SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.12.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.12;destsuffix=${KMETA}" @@ -844,14 +820,12 @@ patches into a feature. Once you have a new branch, you can set up your kernel Metadata to use the branch a couple different ways. In the recipe, you can specify the -new branch as the ``KBRANCH`` to use for the board as follows: -:: +new branch as the ``KBRANCH`` to use for the board as follows:: KBRANCH = "mynewbranch" Another method is to use the ``branch`` command in the BSP -description: -:: +description:: mybsp.scc: define KMACHINE mybsp @@ -865,15 +839,13 @@ description: If you find yourself with numerous branches, you might consider using a hierarchical branching system similar to what the Yocto Linux Kernel Git -repositories use: -:: +repositories use:: common/kernel_type/machine If you had two kernel types, "standard" and "small" for instance, three machines, and common as ``mydir``, the branches in your Git repository -might look like this: -:: +might look like this:: mydir/base mydir/standard/base @@ -905,8 +877,7 @@ that have to be regularly updated. The Yocto Project Linux kernel tools provide for this with the ``git merge`` command. To merge a feature branch into a BSP, insert the ``git merge`` command -after any ``branch`` commands: -:: +after any ``branch`` commands:: mybsp.scc: define KMACHINE mybsp diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst index 56217b9d3..3f35d8412 100644 --- a/poky/documentation/kernel-dev/common.rst +++ b/poky/documentation/kernel-dev/common.rst @@ -54,8 +54,7 @@ section: 1. *Initialize the BitBake Environment:* Before building an extensible SDK, you need to initialize the BitBake build environment by sourcing - the build environment script (i.e. :ref:`structure-core-script`): - :: + the build environment script (i.e. :ref:`structure-core-script`):: $ cd poky $ source oe-init-build-env @@ -83,16 +82,14 @@ section: In this example we wish to build for qemux86 so we must set the ``MACHINE`` variable to "qemux86" and also add the "kernel-modules". - As described we do this by appending to ``conf/local.conf``: - :: + As described we do this by appending to ``conf/local.conf``:: MACHINE = "qemux86" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules" 3. *Create a Layer for Patches:* You need to create a layer to hold patches created for the kernel image. You can use the - ``bitbake-layers create-layer`` command as follows: - :: + ``bitbake-layers create-layer`` command as follows:: $ cd poky/build $ bitbake-layers create-layer ../../meta-mylayer @@ -116,8 +113,7 @@ section: 4. *Inform the BitBake Build Environment About Your Layer:* As directed when you created your layer, you need to add the layer to the :term:`BBLAYERS` variable in the - ``bblayers.conf`` file as follows: - :: + ``bblayers.conf`` file as follows:: $ cd poky/build $ bitbake-layers add-layer ../../meta-mylayer @@ -125,16 +121,14 @@ section: $ 5. *Build the Extensible SDK:* Use BitBake to build the extensible SDK - specifically for use with images to be run using QEMU: - :: + specifically for use with images to be run using QEMU:: $ cd poky/build $ bitbake core-image-minimal -c populate_sdk_ext Once the build finishes, you can find the SDK installer file (i.e. - ``*.sh`` file) in the following directory: - :: + ``*.sh`` file) in the following directory:: poky/build/tmp/deploy/sdk @@ -143,8 +137,7 @@ section: 6. *Install the Extensible SDK:* Use the following command to install the SDK. For this example, install the SDK in the default - ``poky_sdk`` directory: - :: + ``poky_sdk`` directory:: $ cd poky/build/tmp/deploy/sdk $ ./poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh @@ -172,8 +165,7 @@ section: BitBake shell used to build the installer. After opening a new shell, run the SDK environment setup script as - directed by the output from installing the SDK: - :: + directed by the output from installing the SDK:: $ source poky_sdk/environment-setup-i586-poky-linux "SDK environment now set up; additionally you may now run devtool to perform development tasks. @@ -186,8 +178,7 @@ section: 8. *Build the Clean Image:* The final step in preparing to work on the kernel is to build an initial image using ``devtool`` in the new - terminal you just set up and initialized for SDK work: - :: + terminal you just set up and initialized for SDK work:: $ devtool build-image Parsing recipes: 100% |##########################################| Time: 0:00:05 @@ -269,16 +260,14 @@ section: In this example we wish to build for qemux86 so we must set the ``MACHINE`` variable to "qemux86" and also add the "kernel-modules". - As described we do this by appending to ``conf/local.conf``: - :: + As described we do this by appending to ``conf/local.conf``:: MACHINE = "qemux86" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules" 3. *Create a Layer for Patches:* You need to create a layer to hold patches created for the kernel image. You can use the - ``bitbake-layers create-layer`` command as follows: - :: + ``bitbake-layers create-layer`` command as follows:: $ cd poky/build $ bitbake-layers create-layer ../../meta-mylayer @@ -301,8 +290,7 @@ section: 4. *Inform the BitBake Build Environment About Your Layer:* As directed when you created your layer, you need to add the layer to the :term:`BBLAYERS` variable in the - ``bblayers.conf`` file as follows: - :: + ``bblayers.conf`` file as follows:: $ cd poky/build $ bitbake-layers add-layer ../../meta-mylayer @@ -350,8 +338,7 @@ section: the ``yocto-4.12`` branch. The following commands show how to create a local copy of the - ``yocto-kernel-cache`` and be in the ``yocto-4.12`` branch: - :: + ``yocto-kernel-cache`` and be in the ``yocto-4.12`` branch:: $ cd ~ $ git clone git://git.yoctoproject.org/yocto-kernel-cache --branch yocto-4.12 @@ -394,8 +381,7 @@ following section describes how to create a layer without the aid of tools. These steps assume creation of a layer named ``mylayer`` in your home directory: -1. *Create Structure*: Create the layer's structure: - :: +1. *Create Structure*: Create the layer's structure:: $ mkdir meta-mylayer $ mkdir meta-mylayer/conf @@ -409,8 +395,7 @@ home directory: 2. *Create the Layer Configuration File*: Move to the ``meta-mylayer/conf`` directory and create the ``layer.conf`` file as - follows: - :: + follows:: # We have a conf and classes directory, add to BBPATH BBPATH .= ":${LAYERDIR}" @@ -429,8 +414,7 @@ home directory: ``meta-mylayer/recipes-kernel/linux`` directory and create the kernel's append file. This example uses the ``linux-yocto-4.12`` kernel. Thus, the name of the append file is - ``linux-yocto_4.12.bbappend``: - :: + ``linux-yocto_4.12.bbappend``:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" @@ -483,8 +467,7 @@ The append file should initially extend the :term:`FILESPATH` search path by prepending the directory that contains your files to the :term:`FILESEXTRAPATHS` -variable as follows: -:: +variable as follows:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" @@ -492,8 +475,7 @@ The path ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}`` expands to "linux-yocto" in the current directory for this example. If you add any new files that modify the kernel recipe and you have extended ``FILESPATH`` as described above, you must place the files in -your layer in the following area: -:: +your layer in the following area:: your-layer/recipes-kernel/linux/linux-yocto/ @@ -582,8 +564,7 @@ To group related configurations into multiple files, you perform a similar procedure. Here is an example that groups separate configurations specifically for Ethernet and graphics into their own files and adds the configurations by using a ``SRC_URI`` statement like -the following in your append file: -:: +the following in your append file:: SRC_URI += "file://myconfig.cfg \ file://eth.cfg \ @@ -627,8 +608,7 @@ reference them in :term:`SRC_URI` statements. For example, you can apply a three-patch series by adding the following -lines to your linux-yocto ``.bbappend`` file in your layer: -:: +lines to your linux-yocto ``.bbappend`` file in your layer:: SRC_URI += "file://0001-first-change.patch" SRC_URI += "file://0002-second-change.patch" @@ -658,8 +638,7 @@ If you have a complete, working Linux kernel ``.config`` file you want to use for the configuration, as before, copy that file to the appropriate ``${PN}`` directory in your layer's ``recipes-kernel/linux`` directory, and rename the copied file to "defconfig". Then, add the -following lines to the linux-yocto ``.bbappend`` file in your layer: -:: +following lines to the linux-yocto ``.bbappend`` file in your layer:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://defconfig" @@ -685,8 +664,7 @@ Generally speaking, the preferred approach is to determine the incremental change you want to make and add that as a configuration fragment. For example, if you want to add support for a basic serial console, create a file named ``8250.cfg`` in the ``${PN}`` directory -with the following content (without indentation): -:: +with the following content (without indentation):: CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y @@ -698,8 +676,7 @@ with the following content (without indentation): Next, include this configuration fragment and extend the ``FILESPATH`` variable in your -``.bbappend`` file: -:: +``.bbappend`` file:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://8250.cfg" @@ -718,8 +695,7 @@ It might be desirable to have kernel configuration fragment support through a ``defconfig`` file that is pulled from the kernel source tree for the configured machine. By default, the OpenEmbedded build system looks for ``defconfig`` files in the layer used for Metadata, which is -"out-of-tree", and then configures them using the following: -:: +"out-of-tree", and then configures them using the following:: SRC_URI += "file://defconfig" @@ -732,16 +708,14 @@ append files, you can direct the OpenEmbedded build system to use a ``defconfig`` file that is "in-tree". To specify an "in-tree" ``defconfig`` file, use the following statement -form: -:: +form:: KBUILD_DEFCONFIG_KMACHINE ?= "defconfig_file" Here is an example that assigns the ``KBUILD_DEFCONFIG`` variable based on "raspberrypi2" and provides the path to the "in-tree" ``defconfig`` file to be used for -a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset: -:: +a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset:: KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig" @@ -792,8 +766,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" section for more information. - Use the following ``devtool`` command to check out the code: - :: + Use the following ``devtool`` command to check out the code:: $ devtool modify linux-yocto @@ -819,14 +792,12 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se noted where you can find the source files (e.g. ``poky_sdk/workspace/sources/linux-yocto``). Change to where the kernel source code is before making your edits to the - ``calibrate.c`` file: - :: + ``calibrate.c`` file:: $ cd poky_sdk/workspace/sources/linux-yocto 2. *Edit the source file*: Edit the ``init/calibrate.c`` file to have - the following changes: - :: + the following changes:: void calibrate_delay(void) { @@ -846,8 +817,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se . 3. *Build the Updated Kernel Source:* To build the updated kernel - source, use ``devtool``: - :: + source, use ``devtool``:: $ devtool build linux-yocto @@ -872,8 +842,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se using QEMU to verify your changes: 1. *Boot the image*: Boot the modified image in the QEMU emulator - using this command: - :: + using this command:: $ runqemu qemux86 @@ -891,8 +860,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se 6. *Stage and commit your changes*: Within your eSDK terminal, change your working directory to where you modified the ``calibrate.c`` file - and use these Git commands to stage and commit your changes: - :: + and use these Git commands to stage and commit your changes:: $ cd poky_sdk/workspace/sources/linux-yocto $ git status @@ -921,8 +889,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se image that includes your kernel patches. Execute the following command from your :term:`Build Directory` in the terminal - set up to run BitBake: - :: + set up to run BitBake:: $ cd poky/build $ bitbake core-image-minimal @@ -966,14 +933,12 @@ Section. 1. *Change the working directory*: You need to locate the source files in the local copy of the kernel Git repository. Change to where the kernel source code is before making your edits to the - ``calibrate.c`` file: - :: + ``calibrate.c`` file:: $ cd ~/linux-yocto-4.12/init 2. *Edit the source file*: Edit the ``calibrate.c`` file to have the - following changes: - :: + following changes:: void calibrate_delay(void) { @@ -993,8 +958,7 @@ Section. . 2. *Stage and Commit Your Changes:* Use standard Git commands to stage - and commit the changes you just made: - :: + and commit the changes you just made:: $ git add calibrate.c $ git commit -m "calibrate.c - Added some printk statements" @@ -1009,13 +973,11 @@ Section. updated kernel source files. Add :term:`SRC_URI` and :term:`SRCREV` statements similar - to the following to your ``local.conf``: - :: + to the following to your ``local.conf``:: $ cd poky/build/conf - Add the following to the ``local.conf``: - :: + Add the following to the ``local.conf``:: SRC_URI_pn-linux-yocto = "git:///path-to/linux-yocto-4.12;protocol=file;name=machine;branch=standard/base; \ git:///path-to/yocto-kernel-cache;protocol=file;type=kmeta;name=meta;branch=yocto-4.12;destsuffix=${KMETA}" @@ -1031,16 +993,14 @@ Section. 4. *Build the Image:* With the source modified, your changes staged and committed, and the ``local.conf`` file pointing to the kernel files, - you can now use BitBake to build the image: - :: + you can now use BitBake to build the image:: $ cd poky/build $ bitbake core-image-minimal 5. *Boot the image*: Boot the modified image in the QEMU emulator using this command. When prompted to login to the QEMU console, use "root" - with no password: - :: + with no password:: $ cd poky/build $ runqemu qemux86 @@ -1059,8 +1019,7 @@ Section. 7. *Generate the Patch File:* Once you are sure that your patch works correctly, you can generate a ``*.patch`` file in the kernel source - repository: - :: + repository:: $ cd ~/linux-yocto-4.12/init $ git format-patch -1 @@ -1073,8 +1032,7 @@ Section. ``meta-mylayer``. When the layer was created using the ``yocto-create`` script, no additional hierarchy was created to support patches. Before moving the patch file, you need to add - additional structure to your layer using the following commands: - :: + additional structure to your layer using the following commands:: $ cd ~/meta-mylayer $ mkdir recipes-kernel @@ -1083,8 +1041,7 @@ Section. Once you have created this hierarchy in your layer, you can move the patch file using the - following command: - :: + following command:: $ mv ~/linux-yocto-4.12/init/0001-calibrate.c-Added-some-printk-statements.patch ~/meta-mylayer/recipes-kernel/linux/linux-yocto @@ -1093,8 +1050,7 @@ Section. the OpenEmbedded build system to find the patch. The append file needs to be in your layer's ``recipes-kernel/linux`` directory and it must be named ``linux-yocto_4.12.bbappend`` and have the following - contents: - :: + contents:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI_append = "file://0001-calibrate.c-Added-some-printk-statements.patch" @@ -1113,8 +1069,7 @@ Section. To build ``core-image-minimal`` again and see the effects of your patch, you can essentially eliminate the temporary source files saved in ``poky/build/tmp/work/...`` and residual effects of the build by entering - the following sequence of commands: - :: + the following sequence of commands:: $ cd poky/build $ bitbake -c cleanall yocto-linux @@ -1160,8 +1115,7 @@ environment, you must do the following: - You must be sure of the state of your build's configuration in the :term:`Source Directory`. -- Your build host must have the following two packages installed: - :: +- Your build host must have the following two packages installed:: libncurses5-dev libtinfo-dev @@ -1169,8 +1123,7 @@ environment, you must do the following: The following commands initialize the BitBake environment, run the :ref:`ref-tasks-kernel_configme` task, and launch ``menuconfig``. These commands assume the Source -Directory's top-level folder is ``poky``: -:: +Directory's top-level folder is ``poky``:: $ cd poky $ source oe-init-build-env @@ -1232,8 +1185,7 @@ the ``.config`` file would be: Within the ``.config`` file, you can see the kernel settings. For example, the following entry shows that symmetric multi-processor -support is not set: -:: +support is not set:: # CONFIG_SMP is not set @@ -1274,8 +1226,7 @@ your layer's ``recipes-kernel/linux`` directory, and rename the copied file to "defconfig" (e.g. ``~/meta-mylayer/recipes-kernel/linux/linux-yocto/defconfig``). Then, add the following lines to the linux-yocto ``.bbappend`` file in your -layer: -:: +layer:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://defconfig" @@ -1323,8 +1274,7 @@ appear in the ``.config`` file, which is in the :term:`Build Directory`. It is simple to create a configuration fragment. One method is to use shell commands. For example, issuing the following from the shell creates a configuration fragment file named ``my_smp.cfg`` that enables -multi-processor support within the kernel: -:: +multi-processor support within the kernel:: $ echo "CONFIG_SMP=y" >> my_smp.cfg @@ -1342,8 +1292,7 @@ To create a configuration fragment using this method, follow these steps: 1. *Complete a Build Through Kernel Configuration:* Complete a build at - least through the kernel configuration task as follows: - :: + least through the kernel configuration task as follows:: $ bitbake linux-yocto -c kernel_configme -f @@ -1352,8 +1301,7 @@ steps: your build state might become unknown, it is best to run this task prior to starting ``menuconfig``. -2. *Launch menuconfig:* Run the ``menuconfig`` command: - :: +2. *Launch menuconfig:* Run the ``menuconfig`` command:: $ bitbake linux-yocto -c menuconfig @@ -1361,8 +1309,7 @@ steps: to prepare a configuration fragment. The resulting file ``fragment.cfg`` is placed in the ``${``\ :term:`WORKDIR`\ ``}`` - directory: - :: + directory:: $ bitbake linux-yocto -c diffconfig @@ -1387,8 +1334,7 @@ options in a file called ``myconfig.cfg``. If you put that file inside a directory named ``linux-yocto`` that resides in the same directory as the kernel's append file within your layer and then add the following statements to the kernel's append file, those configuration options will -be picked up and applied when the kernel is built: -:: +be picked up and applied when the kernel is built:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://myconfig.cfg" @@ -1397,8 +1343,7 @@ As mentioned earlier, you can group related configurations into multiple files and name them all in the ``SRC_URI`` statement as well. For example, you could group separate configurations specifically for Ethernet and graphics into their own files and add those by using a -``SRC_URI`` statement like the following in your append file: -:: +``SRC_URI`` statement like the following in your append file:: SRC_URI += "file://myconfig.cfg \ file://eth.cfg \ @@ -1409,8 +1354,7 @@ Validating Configuration You can use the :ref:`ref-tasks-kernel_configcheck` -task to provide configuration validation: -:: +task to provide configuration validation:: $ bitbake linux-yocto -c kernel_configcheck -f @@ -1537,8 +1481,7 @@ To streamline the configuration, do the following: successfully. Use this configuration file as your baseline. 2. *Run Configure and Check Tasks:* Separately run the - ``do_kernel_configme`` and ``do_kernel_configcheck`` tasks: - :: + ``do_kernel_configme`` and ``do_kernel_configcheck`` tasks:: $ bitbake linux-yocto -c kernel_configme -f $ bitbake linux-yocto -c kernel_configcheck -f @@ -1572,8 +1515,7 @@ Expanding Variables Sometimes it is helpful to determine what a variable expands to during a build. You can examine the values of variables by examining the output of the ``bitbake -e`` command. The output is long and is more -easily managed in a text file, which allows for easy searches: -:: +easily managed in a text file, which allows for easy searches:: $ bitbake -e virtual/kernel > some_text_file @@ -1590,15 +1532,13 @@ source directory. Follow these steps to clean up the version string: 1. *Discover the Uncommitted Changes:* Go to the kernel's locally cloned Git repository (source directory) and use the following Git command - to list the files that have been changed, added, or removed: - :: + to list the files that have been changed, added, or removed:: $ git status 2. *Commit the Changes:* You should commit those changes to the kernel source tree regardless of whether or not you will save, export, or - use the changes: - :: + use the changes:: $ git add $ git commit -s -a -m "getting rid of -dirty" @@ -1633,8 +1573,7 @@ linux-yocto custom recipe (``linux-yocto-custom.bb``) that uses ``kernel.org`` sources and the Yocto Project Linux kernel tools for managing kernel Metadata. You can find this recipe in the ``poky`` Git repository of the Yocto Project :yocto_git:`Source Repository <>` -at: -:: +at:: poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb @@ -1655,8 +1594,7 @@ Here are some basic steps you can use to work with your own sources: ``defconfig`` file or configuration fragment files in your layer. When you use the ``linux-yocto-custom.bb`` recipe, you must specify a configuration. If you do not have a ``defconfig`` file, you can run - the following: - :: + the following:: $ make defconfig @@ -1708,8 +1646,7 @@ Here are some basic steps you can use to work with your own sources: ``LINUX_VERSION`` with the Source Control Manager (SCM) revision as derived from the :term:`SRCPV` variable. The combined results are a string with the following - form: - :: + form:: 3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2 @@ -1723,8 +1660,7 @@ Here are some basic steps you can use to work with your own sources: triggers an explicit build failure. You must change it to match a list of the machines that your new recipe supports. For example, to support the ``qemux86`` and ``qemux86-64`` machines, use the - following form: - :: + following form:: COMPATIBLE_MACHINE = "qemux86|qemux86-64" @@ -1807,8 +1743,7 @@ Typically, you will need to set the following variables: Depending on the build system used by the module sources, you might need to make some adjustments. For example, a typical module ``Makefile`` -looks much like the one provided with the ``hello-mod`` template: -:: +looks much like the one provided with the ``hello-mod`` template:: obj-m := hello.o @@ -1845,8 +1780,7 @@ them appropriately for your machine configuration file: - :term:`MACHINE_EXTRA_RRECOMMENDS` Modules are often not required for boot and can be excluded from certain -build configurations. The following allows for the most flexibility: -:: +build configurations. The following allows for the most flexibility:: MACHINE_EXTRA_RRECOMMENDS += "kernel-module-mymodule" @@ -1895,26 +1829,22 @@ branch. $ git whatchanged origin/standard/base..origin/standard/emenlow -To see short, one line summaries of changes use the ``git log`` command: -:: +To see short, one line summaries of changes use the ``git log`` command:: $ git log --oneline origin/standard/base..origin/standard/emenlow -Use this command to see code differences for the changes: -:: +Use this command to see code differences for the changes:: $ git diff origin/standard/base..origin/standard/emenlow Use this command to see the commit log messages and the text -differences: -:: +differences:: $ git show origin/standard/base..origin/standard/emenlow Use this command to create individual patches for each change. Here is an example that creates patch files for each commit and places them -in your ``Documents`` directory: -:: +in your ``Documents`` directory:: $ git format-patch -o $HOME/Documents origin/standard/base..origin/standard/emenlow @@ -1923,15 +1853,13 @@ Showing a Particular Feature or Branch Change Tags in the Yocto Project kernel tree divide changes for significant features or branches. The ``git show`` tag command shows changes based -on a tag. Here is an example that shows ``systemtap`` changes: -:: +on a tag. Here is an example that shows ``systemtap`` changes:: $ git show systemtap You can use the ``git branch --contains`` tag command to show the branches that contain a particular feature. This command shows -the branches that contain the ``systemtap`` feature: -:: +the branches that contain the ``systemtap`` feature:: $ git branch --contains systemtap @@ -1986,8 +1914,7 @@ build. searched during the build as potential feature directories. Continuing with the example, suppose the "test.scc" feature you are - adding has a ``test.scc`` file in the following directory: - :: + adding has a ``test.scc`` file in the following directory:: my_recipe | @@ -2001,8 +1928,7 @@ build. a similarly named configuration fragment file ``test.cfg``. 2. *Add the Feature File to SRC_URI:* Add the ``.scc`` file to the - recipe's ``SRC_URI`` statement: - :: + recipe's ``SRC_URI`` statement:: SRC_URI_append = " file://test.scc" @@ -2011,8 +1937,7 @@ build. 3. *Specify the Feature as a Kernel Feature:* Use the ``KERNEL_FEATURES`` statement to specify the feature as a kernel - feature: - :: + feature:: KERNEL_FEATURES_append = " test.scc" diff --git a/poky/documentation/kernel-dev/concepts-appx.rst b/poky/documentation/kernel-dev/concepts-appx.rst index 4b6dbe5ef..63e67315f 100644 --- a/poky/documentation/kernel-dev/concepts-appx.rst +++ b/poky/documentation/kernel-dev/concepts-appx.rst @@ -359,8 +359,7 @@ To determine whether or not a given option is "hardware" or "non-hardware", the kernel Metadata in ``yocto-kernel-cache`` contains files that classify individual or groups of options as either hardware or non-hardware. To better show this, consider a situation where the -``yocto-kernel-cache`` contains the following files: -:: +``yocto-kernel-cache`` contains the following files:: yocto-kernel-cache/features/drm-psb/hardware.cfg yocto-kernel-cache/features/kgdb/hardware.cfg @@ -400,8 +399,7 @@ provides explanations for the various files: (i.e. ``hardware.kcf`` or ``non-hardware.kcf``). Here is a specific example using the -``kernel-cache/bsp/mti-malta32/hardware.cfg``: -:: +``kernel-cache/bsp/mti-malta32/hardware.cfg``:: CONFIG_SERIAL_8250 CONFIG_SERIAL_8250_CONSOLE diff --git a/poky/documentation/kernel-dev/faq.rst b/poky/documentation/kernel-dev/faq.rst index c2106f81e..816951144 100644 --- a/poky/documentation/kernel-dev/faq.rst +++ b/poky/documentation/kernel-dev/faq.rst @@ -57,8 +57,7 @@ These other variables are useful for installing specific modules: For example, set the following in the ``qemux86.conf`` file to include the ``ab123`` kernel modules with images built for the ``qemux86`` -machine: -:: +machine:: MACHINE_EXTRA_RRECOMMENDS += "kernel-module-ab123" @@ -71,8 +70,7 @@ How do I change the Linux kernel command line? The Linux kernel command line is typically specified in the machine config using the ``APPEND`` variable. For example, you can add some helpful debug information doing the -following: -:: +following:: APPEND += "printk.time=y initcall_debug debug" diff --git a/poky/documentation/kernel-dev/maint-appx.rst b/poky/documentation/kernel-dev/maint-appx.rst index 44c43893e..f84ab6e23 100644 --- a/poky/documentation/kernel-dev/maint-appx.rst +++ b/poky/documentation/kernel-dev/maint-appx.rst @@ -28,8 +28,7 @@ in the Yocto Project Linux kernel in any clone of the Yocto Project Linux kernel source repository and ``yocto-kernel-cache`` Git trees. For example, the following commands clone the Yocto Project baseline Linux kernel that branches off ``linux.org`` version 4.12 and the -``yocto-kernel-cache``, which contains stores of kernel Metadata: -:: +``yocto-kernel-cache``, which contains stores of kernel Metadata:: $ git clone git://git.yoctoproject.org/linux-yocto-4.12 $ git clone git://git.yoctoproject.org/linux-kernel-cache @@ -42,16 +41,14 @@ section. Once you have cloned the kernel Git repository and the cache of Metadata on your local machine, you can discover the branches that are available -in the repository using the following Git command: -:: +in the repository using the following Git command:: $ git branch -a Checking out a branch allows you to work with a particular Yocto Linux kernel. For example, the following commands check out the "standard/beagleboard" branch of the Yocto Linux kernel repository and -the "yocto-4.12" branch of the ``yocto-kernel-cache`` repository: -:: +the "yocto-4.12" branch of the ``yocto-kernel-cache`` repository:: $ cd ~/linux-yocto-4.12 $ git checkout -b my-kernel-4.12 remotes/origin/standard/beagleboard @@ -111,8 +108,7 @@ patch, or BSP: For a typical build, the target of the search is a feature description in an ``.scc`` file whose name follows this format (e.g. - ``beaglebone-standard.scc`` and ``beaglebone-preempt-rt.scc``): - :: + ``beaglebone-standard.scc`` and ``beaglebone-preempt-rt.scc``):: bsp_root_name-kernel_type.scc @@ -222,8 +218,7 @@ build process generates a build tree that is separate from your kernel's local Git source repository tree. This build tree has a name that uses the following form, where ``${MACHINE}`` is the metadata name of the machine (BSP) and "kernel_type" is one of the Yocto Project supported -kernel types (e.g. "standard"): -:: +kernel types (e.g. "standard"):: linux-${MACHINE}-kernel_type-build diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst index ada5143b2..2e3f1af44 100644 --- a/poky/documentation/overview-manual/concepts.rst +++ b/poky/documentation/overview-manual/concepts.rst @@ -55,8 +55,7 @@ This section briefly introduces BitBake. If you want more information on BitBake, see the :doc:`BitBake User Manual `. To see a list of the options BitBake supports, use either of the -following commands: -:: +following commands:: $ bitbake -h $ bitbake --help @@ -66,8 +65,7 @@ The most common usage for BitBake is ``bitbake recipename``, where to as the "target"). The target often equates to the first part of a recipe's filename (e.g. "foo" for a recipe named ``foo_1.3.0-r0.bb``). So, to process the ``matchbox-desktop_1.2.3.bb`` recipe file, you might -type the following: -:: +type the following:: $ bitbake matchbox-desktop @@ -1068,15 +1066,13 @@ the image. The formats used for the root filesystem depend on the support compression. As an example, a dynamically created task when creating a particular -image type would take the following form: -:: +image type would take the following form:: do_image_type So, if the type as specified by the ``IMAGE_FSTYPES`` were ``ext4``, the dynamically -generated task would be as follows: -:: +generated task would be as follows:: do_image_ext4 @@ -1478,8 +1474,7 @@ cross-compiler that is used internally within BitBake only. gcc-cross . -The chain of events that occurs when the standard toolchain is bootstrapped: -:: +The chain of events that occurs when the standard toolchain is bootstrapped:: binutils-cross -> linux-libc-headers -> gcc-cross -> libgcc-initial -> glibc -> libgcc -> gcc-runtime @@ -1528,8 +1523,7 @@ might not be the same machine as the Build Host. can take advantage of pre-built images that ship with the Yocto Project and already contain cross-development toolchain installers. -Here is the bootstrap process for the relocatable toolchain: -:: +Here is the bootstrap process for the relocatable toolchain:: gcc -> binutils-crosssdk -> gcc-crosssdk-initial -> linux-libc-headers -> glibc-initial -> nativesdk-glibc -> gcc-crosssdk -> gcc-cross-canadian @@ -1703,8 +1697,7 @@ to the task. Like the ``WORKDIR`` case, situations exist where dependencies should be ignored. For these situations, you can instruct the build process to -ignore a dependency by using a line like the following: -:: +ignore a dependency by using a line like the following:: PACKAGE_ARCHS[vardepsexclude] = "MACHINE" @@ -1714,8 +1707,7 @@ reference it. Equally, there are cases where you need to add dependencies BitBake is not able to find. You can accomplish this by using a line like the -following: -:: +following:: PACKAGE_ARCHS[vardeps] = "MACHINE" @@ -1745,8 +1737,7 @@ and the dependent task hashes can be influenced. Within the BitBake configuration file, you can give BitBake some extra information to help it construct the basehash. The following statement effectively results in a list of global variable dependency excludes (i.e. variables never -included in any checksum): -:: +included in any checksum):: BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \\ SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \\ @@ -1771,8 +1762,7 @@ desired. This file defines the two basic signature generators "OEBasicHash". By default, a dummy "noop" signature handler is enabled in BitBake. This means that behavior is unchanged from previous versions. OE-Core uses the "OEBasicHash" signature handler by default -through this setting in the ``bitbake.conf`` file: -:: +through this setting in the ``bitbake.conf`` file:: BB_SIGNATURE_HANDLER ?= "OEBasicHash" @@ -1826,8 +1816,7 @@ The Yocto Project team has tried to keep the details of the implementation hidden in ``sstate`` class. From a user's perspective, adding shared state wrapping to a task is as simple as this :ref:`ref-tasks-deploy` example taken -from the :ref:`deploy ` class: -:: +from the :ref:`deploy ` class:: DEPLOYDIR = "${WORKDIR}/deploy-${PN}" SSTATETASKS += "do_deploy" @@ -1871,8 +1860,7 @@ The following list explains the previous example: instead, skipping the ``do_deploy`` task. - The following task definition is glue logic needed to make the - previous settings effective: - :: + previous settings effective:: python do_deploy_setscene () { sstate_setscene(d) @@ -1898,8 +1886,7 @@ The following list explains the previous example: In cases where ``sstate-inputdirs`` and ``sstate-outputdirs`` would be the same, you can use ``sstate-plaindirs``. For example, to preserve the ${:term:`PKGD`} and ${:term:`PKGDEST`} output from the ``do_package`` - task, use the following: - :: + task, use the following:: do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}" @@ -1917,24 +1904,21 @@ The following list explains the previous example: multiple directories. For example, the following declares ``PKGDESTWORK`` and ``SHLIBWORK`` as shared state input directories, which populates the shared state cache, and ``PKGDATA_DIR`` and - ``SHLIBSDIR`` as the corresponding shared state output directories: - :: + ``SHLIBSDIR`` as the corresponding shared state output directories:: do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}" do_package[sstate-outputdirs] = "${PKGDATA_DIR} ${SHLIBSDIR}" - These methods also include the ability to take a lockfile when manipulating shared state directory structures, for cases where file - additions or removals are sensitive: - :: + additions or removals are sensitive:: do_package[sstate-lockfile] = "${PACKAGELOCK}" Behind the scenes, the shared state code works by looking in :term:`SSTATE_DIR` and :term:`SSTATE_MIRRORS` for -shared state files. Here is an example: -:: +shared state files. Here is an example:: SSTATE_MIRRORS ?= "\ file://.\* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ @@ -2116,8 +2100,7 @@ accomplished using fakeroot. under fakeroot. Otherwise, the task cannot run root-only operations, and cannot see the fake file ownership and permissions set by the other task. You need to also add a dependency on - ``virtual/fakeroot-native:do_populate_sysroot``, giving the following: - :: + ``virtual/fakeroot-native:do_populate_sysroot``, giving the following:: fakeroot do_mytask () { ... diff --git a/poky/documentation/overview-manual/development-environment.rst b/poky/documentation/overview-manual/development-environment.rst index a33f89e4f..1decf01e4 100644 --- a/poky/documentation/overview-manual/development-environment.rst +++ b/poky/documentation/overview-manual/development-environment.rst @@ -430,8 +430,7 @@ local working area (also called a branch) that tracks a specific development branch from the upstream source Git repository. in other words, you can define your local Git environment to work on any development branch in the repository. To help illustrate, consider the -following example Git commands: -:: +following example Git commands:: $ cd ~ $ git clone git://git.yoctoproject.org/poky @@ -476,8 +475,7 @@ create and checkout a local working Git branch based on a tag name. When you do this, you get a snapshot of the Git repository that reflects the state of the files when the change was made associated with that tag. The most common use is to checkout a working branch that matches a -specific Yocto Project release. Here is an example: -:: +specific Yocto Project release. Here is an example:: $ cd ~ $ git clone git://git.yoctoproject.org/poky diff --git a/poky/documentation/poky.yaml b/poky/documentation/poky.yaml index 8ccb359e0..22706a0fb 100644 --- a/poky/documentation/poky.yaml +++ b/poky/documentation/poky.yaml @@ -1,12 +1,12 @@ -DISTRO : "3.2.3" -DISTRO_NAME_NO_CAP : "gatesgarth" -DISTRO_NAME : "Gatesgarth" -DISTRO_NAME_NO_CAP_MINUS_ONE : "dunfell" +DISTRO : "3.3" +DISTRO_NAME_NO_CAP : "hardknott" +DISTRO_NAME : "Hardknott" +DISTRO_NAME_NO_CAP_MINUS_ONE : "gatesgarth" DISTRO_NAME_NO_CAP_LTS : "dunfell" -YOCTO_DOC_VERSION : "3.2.3" -YOCTO_DOC_VERSION_MINUS_ONE : "3.1.6" -DISTRO_REL_TAG : "yocto-3.2.3" -POKYVERSION : "24.0.3" +YOCTO_DOC_VERSION : "3.3" +YOCTO_DOC_VERSION_MINUS_ONE : "3.2.3" +DISTRO_REL_TAG : "yocto-3.3" +POKYVERSION : "25.0.0" YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;" YOCTO_DL_URL : "https://downloads.yoctoproject.org" YOCTO_AB_URL : "https://autobuilder.yoctoproject.org" diff --git a/poky/documentation/profile-manual/intro.rst b/poky/documentation/profile-manual/intro.rst index 4e1008b05..9c8fa3dbf 100644 --- a/poky/documentation/profile-manual/intro.rst +++ b/poky/documentation/profile-manual/intro.rst @@ -39,12 +39,12 @@ an 'sdk' image e.g. :: $ bitbake core-image-sato-sdk or alternatively by adding 'tools-profile' to the EXTRA_IMAGE_FEATURES line in -your local.conf: :: +your local.conf:: EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile" If you use the 'tools-profile' method, you don't need to build an sdk image - -the tracing and profiling tools will be included in non-sdk images as well e.g.: :: +the tracing and profiling tools will be included in non-sdk images as well e.g.:: $ bitbake core-image-sato @@ -55,7 +55,7 @@ the tracing and profiling tools will be included in non-sdk images as well e.g.: You can prevent that by setting the :term:`INHIBIT_PACKAGE_STRIP` - variable to "1" in your ``local.conf`` when you build the image: :: + variable to "1" in your ``local.conf`` when you build the image:: INHIBIT_PACKAGE_STRIP = "1" @@ -65,11 +65,11 @@ If you've already built a stripped image, you can generate debug packages (xxx-dbg) which you can manually install as needed. To generate debug info for packages, you can add dbg-pkgs to -EXTRA_IMAGE_FEATURES in local.conf. For example: :: +EXTRA_IMAGE_FEATURES in local.conf. For example:: EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs" Additionally, in order to generate the right type of debuginfo, we also need to -set :term:`PACKAGE_DEBUG_SPLIT_STYLE` in the ``local.conf`` file: :: +set :term:`PACKAGE_DEBUG_SPLIT_STYLE` in the ``local.conf`` file:: PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory' diff --git a/poky/documentation/profile-manual/usage.rst b/poky/documentation/profile-manual/usage.rst index c42f5b64b..825290c3f 100644 --- a/poky/documentation/profile-manual/usage.rst +++ b/poky/documentation/profile-manual/usage.rst @@ -48,7 +48,7 @@ For this section, we'll assume you've already performed the basic setup outlined in the ":ref:`profile-manual/intro:General Setup`" section. In particular, you'll get the most mileage out of perf if you profile an -image built with the following in your ``local.conf`` file: :: +image built with the following in your ``local.conf`` file:: INHIBIT_PACKAGE_STRIP = "1" @@ -62,7 +62,7 @@ Basic Perf Usage The perf tool is pretty much self-documenting. To remind yourself of the available commands, simply type 'perf', which will show you basic usage -along with the available perf subcommands: :: +along with the available perf subcommands:: root@crownbay:~# perf @@ -110,7 +110,7 @@ applets in Yocto. :: The quickest and easiest way to get some basic overall data about what's going on for a particular workload is to profile it using 'perf stat'. 'perf stat' basically profiles using a few default counters and displays -the summed counts at the end of the run: :: +the summed counts at the end of the run:: root@crownbay:~# perf stat wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2 Connecting to downloads.yoctoproject.org (140.211.169.59:80) @@ -139,7 +139,7 @@ Also, note that 'perf stat' isn't restricted to a fixed set of counters - basically any event listed in the output of 'perf list' can be tallied by 'perf stat'. For example, suppose we wanted to see a summary of all the events related to kernel memory allocation/freeing along with cache -hits and misses: :: +hits and misses:: root@crownbay:~# perf stat -e kmem:* -e cache-references -e cache-misses wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2 Connecting to downloads.yoctoproject.org (140.211.169.59:80) @@ -191,7 +191,7 @@ directory. :: To see the results in a 'text-based UI' (tui), simply run 'perf report', which will read the perf.data file in the current working directory and display the results -in an interactive UI: :: +in an interactive UI:: root@crownbay:~# perf report @@ -217,7 +217,7 @@ Before we do that, however, let's try running a different profile, one which shows something a little more interesting. The only difference between the new profile and the previous one is that we'll add the -g option, which will record not just the address of a sampled function, -but the entire callchain to the sampled function as well: :: +but the entire callchain to the sampled function as well:: root@crownbay:~# perf record -g wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2 Connecting to downloads.yoctoproject.org (140.211.169.59:80) @@ -293,7 +293,7 @@ busybox binary, which is actually stripped out by the Yocto build system. One way around that is to put the following in your ``local.conf`` file -when you build the image: :: +when you build the image:: INHIBIT_PACKAGE_STRIP = "1" @@ -302,26 +302,26 @@ what can we do to get perf to resolve the symbols? Basically we need to install the debuginfo for the BusyBox package. To generate the debug info for the packages in the image, we can add -``dbg-pkgs`` to :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example: :: +``dbg-pkgs`` to :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example:: EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs" Additionally, in order to generate the type of debuginfo that perf understands, we also need to set :term:`PACKAGE_DEBUG_SPLIT_STYLE` -in the ``local.conf`` file: :: +in the ``local.conf`` file:: PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory' Once we've done that, we can install the debuginfo for BusyBox. The debug packages once built can be found in ``build/tmp/deploy/rpm/*`` on the host system. Find the busybox-dbg-...rpm -file and copy it to the target. For example: :: +file and copy it to the target. For example:: [trz@empanada core2]$ scp /home/trz/yocto/crownbay-tracing-dbg/build/tmp/deploy/rpm/core2_32/busybox-dbg-1.20.2-r2.core2_32.rpm root@192.168.1.31: busybox-dbg-1.20.2-r2.core2_32.rpm 100% 1826KB 1.8MB/s 00:01 -Now install the debug rpm on the target: :: +Now install the debug rpm on the target:: root@crownbay:~# rpm -i busybox-dbg-1.20.2-r2.core2_32.rpm @@ -382,7 +382,7 @@ traditional tools can also make use of the expanded possibilities now available to them, and in some cases have, as mentioned previously). We can get a list of the available events that can be used to profile a -workload via 'perf list': :: +workload via 'perf list':: root@crownbay:~# perf list @@ -525,7 +525,7 @@ workload via 'perf list': :: Only a subset of these would be of interest to us when looking at this workload, so let's choose the most likely subsystems (identified by the string before the colon in the Tracepoint events) and do a 'perf stat' -run using only those wildcarded subsystems: :: +run using only those wildcarded subsystems:: root@crownbay:~# perf stat -e skb:* -e net:* -e napi:* -e sched:* -e workqueue:* -e irq:* -e syscalls:* wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2 Performance counter stats for 'wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2': @@ -587,7 +587,7 @@ run using only those wildcarded subsystems: :: Let's pick one of these tracepoints -and tell perf to do a profile using it as the sampling event: :: +and tell perf to do a profile using it as the sampling event:: root@crownbay:~# perf record -g -e sched:sched_wakeup wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2 @@ -644,14 +644,14 @@ individual steps that go into the higher-level behavior exposed by the coarse-grained profiling data. As a concrete example, we can trace all the events we think might be -applicable to our workload: :: +applicable to our workload:: root@crownbay:~# perf record -g -e skb:* -e net:* -e napi:* -e sched:sched_switch -e sched:sched_wakeup -e irq:* -e syscalls:sys_enter_read -e syscalls:sys_exit_read -e syscalls:sys_enter_write -e syscalls:sys_exit_write wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2 We can look at the raw trace output using 'perf script' with no -arguments: :: +arguments:: root@crownbay:~# perf script @@ -735,7 +735,7 @@ two programming language bindings, one for Python and one for Perl. Now that we have the trace data in perf.data, we can use 'perf script -g' to generate a skeleton script with handlers for the read/write -entry/exit events we recorded: :: +entry/exit events we recorded:: root@crownbay:~# perf script -g python generated Python script: perf-script.py @@ -755,7 +755,7 @@ with its parameters. For example: print "skbaddr=%u, len=%u, name=%s\n" % (skbaddr, len, name), We can run that script directly to print all of the events contained in the -perf.data file: :: +perf.data file:: root@crownbay:~# perf script -s perf-script.py @@ -833,7 +833,7 @@ result of all the per-event tallies. For that, we use the special for event_name, count in counts.iteritems(): print "%-40s %10s\n" % (event_name, count) -The end result is a summary of all the events recorded in the trace: :: +The end result is a summary of all the events recorded in the trace:: skb__skb_copy_datagram_iovec 13148 irq__softirq_entry 4796 @@ -877,13 +877,13 @@ To do system-wide profiling or tracing, you typically use the -a flag to 'perf record'. To demonstrate this, open up one window and start the profile using the --a flag (press Ctrl-C to stop tracing): :: +-a flag (press Ctrl-C to stop tracing):: root@crownbay:~# perf record -g -a ^C[ perf record: Woken up 6 times to write data ] [ perf record: Captured and wrote 1.400 MB perf.data (~61172 samples) ] -In another window, run the wget test: :: +In another window, run the wget test:: root@crownbay:~# wget http://downloads.yoctoproject.org/mirror/sources/linux-2.6.19.2.tar.bz2 Connecting to downloads.yoctoproject.org (140.211.169.59:80) @@ -903,7 +903,7 @@ unresolvable symbols in the expanded Xorg callchain). Note also that we have both kernel and userspace entries in the above snapshot. We can also tell perf to focus on userspace but providing a modifier, in this case 'u', to the 'cycles' hardware counter when we -record a profile: :: +record a profile:: root@crownbay:~# perf record -g -a -e cycles:u ^C[ perf record: Woken up 2 times to write data ] @@ -923,13 +923,13 @@ the entries associated with the libc-xxx.so DSO. :align: center We can also use the system-wide -a switch to do system-wide tracing. -Here we'll trace a couple of scheduler events: :: +Here we'll trace a couple of scheduler events:: root@crownbay:~# perf record -a -e sched:sched_switch -e sched:sched_wakeup ^C[ perf record: Woken up 38 times to write data ] [ perf record: Captured and wrote 9.780 MB perf.data (~427299 samples) ] -We can look at the raw output using 'perf script' with no arguments: :: +We can look at the raw output using 'perf script' with no arguments:: root@crownbay:~# perf script @@ -952,7 +952,7 @@ do with what we're interested in, namely events that schedule 'perf' itself in and out or that wake perf up. We can get rid of those by using the '--filter' option - for each event we specify using -e, we can add a --filter after that to filter out trace events that contain fields with -specific values: :: +specific values:: root@crownbay:~# perf record -a -e sched:sched_switch --filter 'next_comm != perf && prev_comm != perf' -e sched:sched_wakeup --filter 'comm != perf' ^C[ perf record: Woken up 38 times to write data ] @@ -1017,7 +1017,7 @@ perf isn't restricted to the fixed set of static tracepoints listed by 'perf list'. Users can also add their own 'dynamic' tracepoints anywhere in the kernel. For instance, suppose we want to define our own tracepoint on do_fork(). We can do that using the 'perf probe' perf -subcommand: :: +subcommand:: root@crownbay:~# perf probe do_fork Added new event: @@ -1031,7 +1031,7 @@ Adding a new tracepoint via 'perf probe' results in an event with all the expected files and format in /sys/kernel/debug/tracing/events, just the same as for static tracepoints (as discussed in more detail in the trace events subsystem -section: :: +section:: root@crownbay:/sys/kernel/debug/tracing/events/probe/do_fork# ls -al drwxr-xr-x 2 root root 0 Oct 28 11:42 . @@ -1056,7 +1056,7 @@ section: :: print fmt: "(%lx)", REC->__probe_ip We can list all dynamic tracepoints currently in -existence: :: +existence:: root@crownbay:~# perf probe -l probe:do_fork (on do_fork) @@ -1064,13 +1064,13 @@ existence: :: Let's record system-wide ('sleep 30' is a trick for recording system-wide but basically do nothing and then wake -up after 30 seconds): :: +up after 30 seconds):: root@crownbay:~# perf record -g -a -e probe:do_fork sleep 30 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.087 MB perf.data (~3812 samples) ] -Using 'perf script' we can see each do_fork event that fired: :: +Using 'perf script' we can see each do_fork event that fired:: root@crownbay:~# perf script @@ -1163,7 +1163,7 @@ addressed by a Yocto bug: :yocto_bugs:`Bug 3388 - perf: enable man pages for basic 'help' functionality `. The man pages in text form, along with some other files, such as a set -of examples, can be found in the 'perf' directory of the kernel tree: :: +of examples, can be found in the 'perf' directory of the kernel tree:: tools/perf/Documentation @@ -1197,7 +1197,7 @@ Basic ftrace usage 'ftrace' essentially refers to everything included in the /tracing directory of the mounted debugfs filesystem (Yocto follows the standard convention and mounts it at /sys/kernel/debug). Here's a listing of all -the files found in /sys/kernel/debug/tracing on a Yocto system: :: +the files found in /sys/kernel/debug/tracing on a Yocto system:: root@sugarbay:/sys/kernel/debug/tracing# ls README kprobe_events trace @@ -1222,12 +1222,12 @@ the ftrace documentation. We'll start by looking at some of the available built-in tracers. -cat'ing the 'available_tracers' file lists the set of available tracers: :: +cat'ing the 'available_tracers' file lists the set of available tracers:: root@sugarbay:/sys/kernel/debug/tracing# cat available_tracers blk function_graph function nop -The 'current_tracer' file contains the tracer currently in effect: :: +The 'current_tracer' file contains the tracer currently in effect:: root@sugarbay:/sys/kernel/debug/tracing# cat current_tracer nop @@ -1237,7 +1237,7 @@ The above listing of current_tracer shows that the there's actually no tracer currently in effect. echo'ing one of the available_tracers into current_tracer makes the -specified tracer the current tracer: :: +specified tracer the current tracer:: root@sugarbay:/sys/kernel/debug/tracing# echo function > current_tracer root@sugarbay:/sys/kernel/debug/tracing# cat current_tracer @@ -1247,7 +1247,7 @@ The above sets the current tracer to be the 'function tracer'. This tracer traces every function call in the kernel and makes it available as the contents of the 'trace' file. Reading the 'trace' file lists the currently buffered function calls that have been traced by the function -tracer: :: +tracer:: root@sugarbay:/sys/kernel/debug/tracing# cat trace | less @@ -1306,7 +1306,7 @@ great way to learn about how the kernel code works in a dynamic sense. It is a little more difficult to follow the call chains than it needs to be - luckily there's a variant of the function tracer that displays the -callchains explicitly, called the 'function_graph' tracer: :: +callchains explicitly, called the 'function_graph' tracer:: root@sugarbay:/sys/kernel/debug/tracing# echo function_graph > current_tracer root@sugarbay:/sys/kernel/debug/tracing# cat trace | less @@ -1442,7 +1442,7 @@ One especially important directory contained within the /sys/kernel/debug/tracing directory is the 'events' subdirectory, which contains representations of every tracepoint in the system. Listing out the contents of the 'events' subdirectory, we see mainly another set of -subdirectories: :: +subdirectories:: root@sugarbay:/sys/kernel/debug/tracing# cd events root@sugarbay:/sys/kernel/debug/tracing/events# ls -al @@ -1491,7 +1491,7 @@ subdirectories: :: Each one of these subdirectories corresponds to a 'subsystem' and contains yet again more subdirectories, each one of those finally corresponding to a tracepoint. For example, -here are the contents of the 'kmem' subsystem: :: +here are the contents of the 'kmem' subsystem:: root@sugarbay:/sys/kernel/debug/tracing/events# cd kmem root@sugarbay:/sys/kernel/debug/tracing/events/kmem# ls -al @@ -1513,7 +1513,7 @@ here are the contents of the 'kmem' subsystem: :: drwxr-xr-x 2 root root 0 Nov 14 23:19 mm_page_pcpu_drain Let's see what's inside the subdirectory for a -specific tracepoint, in this case the one for kmalloc: :: +specific tracepoint, in this case the one for kmalloc:: root@sugarbay:/sys/kernel/debug/tracing/events/kmem# cd kmalloc root@sugarbay:/sys/kernel/debug/tracing/events/kmem/kmalloc# ls -al @@ -1529,7 +1529,7 @@ tracepoint describes the event in memory, which is used by the various tracing tools that now make use of these tracepoint to parse the event and make sense of it, along with a 'print fmt' field that allows tools like ftrace to display the event as text. Here's what the format of the -kmalloc event looks like: :: +kmalloc event looks like:: root@sugarbay:/sys/kernel/debug/tracing/events/kmem/kmalloc# cat format name: kmalloc @@ -1568,20 +1568,20 @@ The 'enable' file in the tracepoint directory is what allows the user (or tools such as trace-cmd) to actually turn the tracepoint on and off. When enabled, the corresponding tracepoint will start appearing in the ftrace 'trace' file -described previously. For example, this turns on the kmalloc tracepoint: :: +described previously. For example, this turns on the kmalloc tracepoint:: root@sugarbay:/sys/kernel/debug/tracing/events/kmem/kmalloc# echo 1 > enable At the moment, we're not interested in the function tracer or some other tracer that might be in effect, so we first turn it off, but if we do that, we still need to turn tracing on in order to see the -events in the output buffer: :: +events in the output buffer:: root@sugarbay:/sys/kernel/debug/tracing# echo nop > current_tracer root@sugarbay:/sys/kernel/debug/tracing# echo 1 > tracing_on Now, if we look at the 'trace' file, we see nothing -but the kmalloc events we just turned on: :: +but the kmalloc events we just turned on:: root@sugarbay:/sys/kernel/debug/tracing# cat trace | less # tracer: nop @@ -1627,7 +1627,7 @@ but the kmalloc events we just turned on: :: -0 [000] ..s3 18156.400660: kmalloc: call_site=ffffffff81619b36 ptr=ffff88006d554800 bytes_req=512 bytes_alloc=512 gfp_flags=GFP_ATOMIC matchbox-termin-1361 [001] ...1 18156.552800: kmalloc: call_site=ffffffff81614050 ptr=ffff88006db34800 bytes_req=576 bytes_alloc=1024 gfp_flags=GFP_KERNEL|GFP_REPEAT -To again disable the kmalloc event, we need to send 0 to the enable file: :: +To again disable the kmalloc event, we need to send 0 to the enable file:: root@sugarbay:/sys/kernel/debug/tracing/events/kmem/kmalloc# echo 0 > enable @@ -1669,12 +1669,12 @@ a per-CPU graphical display. It directly uses 'trace-cmd' as the plumbing that accomplishes all that underneath the covers (and actually displays the trace-cmd command it uses, as we'll see). -To start a trace using kernelshark, first start kernelshark: :: +To start a trace using kernelshark, first start kernelshark:: root@sugarbay:~# kernelshark Then bring up the 'Capture' dialog by -choosing from the kernelshark menu: :: +choosing from the kernelshark menu:: Capture | Record @@ -1724,12 +1724,12 @@ ftrace Documentation -------------------- The documentation for ftrace can be found in the kernel Documentation -directory: :: +directory:: Documentation/trace/ftrace.txt The documentation for the trace event subsystem can also be found in the kernel -Documentation directory: :: +Documentation directory:: Documentation/trace/events.txt @@ -1784,7 +1784,7 @@ which it extracts from the open syscall's argstr. Normally, to execute this probe, you'd simply install systemtap on the system you want to probe, and directly run the probe on that system e.g. assuming the name of the -file containing the above text is trace_open.stp: :: +file containing the above text is trace_open.stp:: # stap trace_open.stp @@ -1825,7 +1825,7 @@ target, with arguments if necessary. In order to do this from a remote host, however, you need to have access to the build for the image you booted. The 'crosstap' script provides details on how to do this if you run the script on the host without -having done a build: :: +having done a build:: $ crosstap root@192.168.1.88 trace_open.stp @@ -1885,7 +1885,7 @@ Running a Script on a Target ---------------------------- Once you've done that, you should be able to run a systemtap script on -the target: :: +the target:: $ cd /path/to/yocto $ source oe-init-build-env @@ -1903,17 +1903,17 @@ the target: :: You can also run generated QEMU images with a command like 'runqemu qemux86-64' Once you've done that, you can cd to whatever -directory contains your scripts and use 'crosstap' to run the script: :: +directory contains your scripts and use 'crosstap' to run the script:: $ cd /path/to/my/systemap/script $ crosstap root@192.168.7.2 trace_open.stp -If you get an error connecting to the target e.g.: :: +If you get an error connecting to the target e.g.:: $ crosstap root@192.168.7.2 trace_open.stp error establishing ssh connection on remote 'root@192.168.7.2' -Try ssh'ing to the target and see what happens: :: +Try ssh'ing to the target and see what happens:: $ ssh root@192.168.7.2 @@ -2038,7 +2038,7 @@ tracing. Collecting and viewing a trace on the target (inside a shell) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -First, from the host, ssh to the target: :: +First, from the host, ssh to the target:: $ ssh -l root 192.168.1.47 The authenticity of host '192.168.1.47 (192.168.1.47)' can't be established. @@ -2047,30 +2047,30 @@ First, from the host, ssh to the target: :: Warning: Permanently added '192.168.1.47' (RSA) to the list of known hosts. root@192.168.1.47's password: -Once on the target, use these steps to create a trace: :: +Once on the target, use these steps to create a trace:: root@crownbay:~# lttng create Spawning a session daemon Session auto-20121015-232120 created. Traces will be written in /home/root/lttng-traces/auto-20121015-232120 -Enable the events you want to trace (in this case all kernel events): :: +Enable the events you want to trace (in this case all kernel events):: root@crownbay:~# lttng enable-event --kernel --all All kernel events are enabled in channel channel0 -Start the trace: :: +Start the trace:: root@crownbay:~# lttng start Tracing started for session auto-20121015-232120 And then stop the trace after awhile or after running a particular workload that -you want to trace: :: +you want to trace:: root@crownbay:~# lttng stop Tracing stopped for session auto-20121015-232120 -You can now view the trace in text form on the target: :: +You can now view the trace in text form on the target:: root@crownbay:~# lttng view [23:21:56.989270399] (+?.?????????) sys_geteuid: { 1 }, { } @@ -2116,14 +2116,14 @@ You can now view the trace in text form on the target: :: You can now safely destroy the trace session (note that this doesn't delete the trace - it's still there in -~/lttng-traces): :: +~/lttng-traces):: root@crownbay:~# lttng destroy Session auto-20121015-232120 destroyed at /home/root Note that the trace is saved in a directory of the same name as returned by 'lttng create', under the ~/lttng-traces directory (note that you can change this by -supplying your own name to 'lttng create'): :: +supplying your own name to 'lttng create'):: root@crownbay:~# ls -al ~/lttng-traces drwxrwx--- 3 root root 1024 Oct 15 23:21 . @@ -2139,18 +2139,18 @@ generated by the lttng-ust build. The 'hello' test program isn't installed on the rootfs by the lttng-ust build, so we need to copy it over manually. First cd into the build -directory that contains the hello executable: :: +directory that contains the hello executable:: $ cd build/tmp/work/core2_32-poky-linux/lttng-ust/2.0.5-r0/git/tests/hello/.libs -Copy that over to the target machine: :: +Copy that over to the target machine:: $ scp hello root@192.168.1.20: You now have the instrumented lttng 'hello world' test program on the target, ready to test. -First, from the host, ssh to the target: :: +First, from the host, ssh to the target:: $ ssh -l root 192.168.1.47 The authenticity of host '192.168.1.47 (192.168.1.47)' can't be established. @@ -2159,35 +2159,35 @@ First, from the host, ssh to the target: :: Warning: Permanently added '192.168.1.47' (RSA) to the list of known hosts. root@192.168.1.47's password: -Once on the target, use these steps to create a trace: :: +Once on the target, use these steps to create a trace:: root@crownbay:~# lttng create Session auto-20190303-021943 created. Traces will be written in /home/root/lttng-traces/auto-20190303-021943 -Enable the events you want to trace (in this case all userspace events): :: +Enable the events you want to trace (in this case all userspace events):: root@crownbay:~# lttng enable-event --userspace --all All UST events are enabled in channel channel0 -Start the trace: :: +Start the trace:: root@crownbay:~# lttng start Tracing started for session auto-20190303-021943 -Run the instrumented hello world program: :: +Run the instrumented hello world program:: root@crownbay:~# ./hello Hello, World! Tracing... done. And then stop the trace after awhile or after running a particular workload -that you want to trace: :: +that you want to trace:: root@crownbay:~# lttng stop Tracing stopped for session auto-20190303-021943 -You can now view the trace in text form on the target: :: +You can now view the trace in text form on the target:: root@crownbay:~# lttng view [02:31:14.906146544] (+?.?????????) hello:1424 ust_tests_hello:tptest: { cpu_id = 1 }, { intfield = 0, intfield2 = 0x0, longfield = 0, netintfield = 0, netintfieldhex = 0x0, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222, doublefield = 2, boolfield = 1 } @@ -2199,7 +2199,7 @@ You can now view the trace in text form on the target: :: . You can now safely destroy the trace session (note that this doesn't delete the -trace - it's still there in ~/lttng-traces): :: +trace - it's still there in ~/lttng-traces):: root@crownbay:~# lttng destroy Session auto-20190303-021943 destroyed at /home/root @@ -2244,7 +2244,7 @@ Basic blktrace Usage -------------------- To record a trace, simply run the 'blktrace' command, giving it the name -of the block device you want to trace activity on: :: +of the block device you want to trace activity on:: root@crownbay:~# blktrace /dev/sdc @@ -2265,7 +2265,7 @@ dumps them to userspace for blkparse to merge and sort later). :: Total: 8660 events (dropped 0), 406 KiB data If you examine the files saved to disk, you see multiple files, one per CPU and -with the device name as the first part of the filename: :: +with the device name as the first part of the filename:: root@crownbay:~# ls -al drwxr-xr-x 6 root root 1024 Oct 27 22:39 . @@ -2275,7 +2275,7 @@ with the device name as the first part of the filename: :: To view the trace events, simply invoke 'blkparse' in the directory containing the trace files, giving it the device name that forms the -first part of the filenames: :: +first part of the filenames:: root@crownbay:~# blkparse sdc @@ -2373,7 +2373,7 @@ Live Mode blktrace and blkparse are designed from the ground up to be able to operate together in a 'pipe mode' where the stdout of blktrace can be -fed directly into the stdin of blkparse: :: +fed directly into the stdin of blkparse:: root@crownbay:~# blktrace /dev/sdc -o - | blkparse -i - @@ -2386,7 +2386,7 @@ identify and capture conditions of interest. There's actually another blktrace command that implements the above pipeline as a single command, so the user doesn't have to bother typing -in the above command sequence: :: +in the above command sequence:: root@crownbay:~# btrace /dev/sdc @@ -2401,19 +2401,19 @@ the traced device at all by providing native support for sending all trace data over the network. To have blktrace operate in this mode, start blktrace on the target -system being traced with the -l option, along with the device to trace: :: +system being traced with the -l option, along with the device to trace:: root@crownbay:~# blktrace -l /dev/sdc server: waiting for connections... On the host system, use the -h option to connect to the target system, -also passing it the device to trace: :: +also passing it the device to trace:: $ blktrace -d /dev/sdc -h 192.168.1.43 blktrace: connecting to 192.168.1.43 blktrace: connected! -On the target system, you should see this: :: +On the target system, you should see this:: server: connection from 192.168.1.43 @@ -2424,7 +2424,7 @@ In another shell, execute a workload you want to trace. :: linux-2.6.19.2.tar.b 100% \|*******************************\| 41727k 0:00:00 ETA When it's done, do a Ctrl-C on the host system to stop the -trace: :: +trace:: ^C=== sdc === CPU 0: 7691 events, 361 KiB data @@ -2432,7 +2432,7 @@ trace: :: Total: 11800 events (dropped 0), 554 KiB data On the target system, you should also see a trace summary for the trace -just ended: :: +just ended:: server: end of run for 192.168.1.43:sdc === sdc === @@ -2441,20 +2441,20 @@ just ended: :: Total: 11800 events (dropped 0), 554 KiB data The blktrace instance on the host will -save the target output inside a hostname-timestamp directory: :: +save the target output inside a hostname-timestamp directory:: $ ls -al drwxr-xr-x 10 root root 1024 Oct 28 02:40 . drwxr-sr-x 4 root root 1024 Oct 26 18:24 .. drwxr-xr-x 2 root root 1024 Oct 28 02:40 192.168.1.43-2012-10-28-02:40:56 -cd into that directory to see the output files: :: +cd into that directory to see the output files:: $ ls -l -rw-r--r-- 1 root root 369193 Oct 28 02:44 sdc.blktrace.0 -rw-r--r-- 1 root root 197278 Oct 28 02:44 sdc.blktrace.1 -And run blkparse on the host system using the device name: :: +And run blkparse on the host system using the device name:: $ blkparse sdc @@ -2517,25 +2517,25 @@ userspace tools. To enable tracing for a given device, use /sys/block/xxx/trace/enable, where xxx is the device name. This for example enables tracing for -/dev/sdc: :: +/dev/sdc:: root@crownbay:/sys/kernel/debug/tracing# echo 1 > /sys/block/sdc/trace/enable Once you've selected the device(s) you want -to trace, selecting the 'blk' tracer will turn the blk tracer on: :: +to trace, selecting the 'blk' tracer will turn the blk tracer on:: root@crownbay:/sys/kernel/debug/tracing# cat available_tracers blk function_graph function nop root@crownbay:/sys/kernel/debug/tracing# echo blk > current_tracer -Execute the workload you're interested in: :: +Execute the workload you're interested in:: root@crownbay:/sys/kernel/debug/tracing# cat /media/sdc/testfile.txt And look at the output (note here that we're using 'trace_pipe' instead of trace to capture this trace - this allows us to wait around on the pipe -for data to appear): :: +for data to appear):: root@crownbay:/sys/kernel/debug/tracing# cat trace_pipe cat-3587 [001] d..1 3023.276361: 8,32 Q R 1699848 + 8 [cat] @@ -2554,7 +2554,7 @@ for data to appear): :: cat-3587 [001] d..1 3023.276497: 8,32 m N cfq3587 activate rq, drv=1 cat-3587 [001] d..2 3023.276500: 8,32 D R 1699848 + 8 [cat] -And this turns off tracing for the specified device: :: +And this turns off tracing for the specified device:: root@crownbay:/sys/kernel/debug/tracing# echo 0 > /sys/block/sdc/trace/enable @@ -2572,6 +2572,6 @@ section can be found here: The above manpages, along with manpages for the other blktrace utilities (btt, blkiomon, etc) can be found in the /doc directory of the blktrace -tools git repo: :: +tools git repo:: $ git clone git://git.kernel.dk/blktrace.git diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst index 52a50faf6..9a1fc2c93 100644 --- a/poky/documentation/ref-manual/classes.rst +++ b/poky/documentation/ref-manual/classes.rst @@ -168,8 +168,7 @@ example use for this class. the "subpath" parameter limits the checkout to a specific subpath of the tree. Here is an example where ``${BP}`` is used so that the files are extracted into the subdirectory expected by the default value of - ``S``: - :: + ``S``:: SRC_URI = "git://example.com/downloads/somepackage.rpm;subpath=${BP}" @@ -221,8 +220,7 @@ each recipe you wish to blacklist. Specify the :term:`PN` value as a variable flag (varflag) and provide a reason, which is reported, if the package is requested to be built as the value. For example, if you want to blacklist a recipe called "exoticware", you add -the following to your ``local.conf`` or distribution configuration: -:: +the following to your ``local.conf`` or distribution configuration:: INHERIT += "blacklist" PNBLACKLIST[exoticware] = "Not supported by our organization." @@ -470,8 +468,7 @@ information about using ``devshell``. The ``devupstream`` class uses :term:`BBCLASSEXTEND` to add a variant of the recipe that fetches from an alternative URI (e.g. Git) instead of a -tarball. Following is an example: -:: +tarball. Following is an example:: BBCLASSEXTEND = "devupstream:target" SRC_URI_class-devupstream = "git://git.example.com/example" @@ -481,8 +478,7 @@ Adding the above statements to your recipe creates a variant that has :term:`DEFAULT_PREFERENCE` set to "-1". Consequently, you need to select the variant of the recipe to use it. Any development-specific adjustments can be done by using the -``class-devupstream`` override. Here is an example: -:: +``class-devupstream`` override. Here is an example:: DEPENDS_append_class-devupstream = " gperf-native" do_configure_prepend_class-devupstream() { @@ -544,8 +540,7 @@ By default, this class expects the source code to support recipe builds that use the :term:`B` variable to point to the directory in which the OpenEmbedded build system places the generated objects built from the recipes. By default, the ``B`` directory is set to the -following, which is separate from the source directory (``S``): -:: +following, which is separate from the source directory (``S``):: ${WORKDIR}/${BPN}/{PV}/ @@ -581,8 +576,7 @@ be performed using the useradd class to add user and group configuration to a specific recipe. -Here is an example that uses this class in an image recipe: -:: +Here is an example that uses this class in an image recipe:: inherit extrausers EXTRA_USERS_PARAMS = "\ @@ -595,8 +589,7 @@ Here is an example that uses this class in an image recipe: " Here is an example that adds two users named "tester-jim" and "tester-sue" and assigns -passwords: -:: +passwords:: inherit extrausers EXTRA_USERS_PARAMS = "\ @@ -604,8 +597,7 @@ passwords: useradd -P tester01 tester-sue; \ " -Finally, here is an example that sets the root password to "1876*18": -:: +Finally, here is an example that sets the root password to "1876*18":: inherit extrausers EXTRA_USERS_PARAMS = "\ @@ -867,8 +859,7 @@ system need to either inherit the ``icecc`` class or nobody should. At the distribution level, you can inherit the ``icecc`` class to be sure that all builders start with the same sstate signatures. After inheriting the class, you can then disable the feature by setting the -:term:`ICECC_DISABLED` variable to "1" as follows: -:: +:term:`ICECC_DISABLED` variable to "1" as follows:: INHERIT_DISTRO_append = " icecc" ICECC_DISABLED ??= "1" @@ -876,8 +867,7 @@ inheriting the class, you can then disable the feature by setting the This practice makes sure everyone is using the same signatures but also requires individuals that do want to use Icecream to enable the feature -individually as follows in your ``local.conf`` file: -:: +individually as follows in your ``local.conf`` file:: ICECC_DISABLED = "" @@ -925,8 +915,7 @@ types. By default, the :ref:`image ` class automatically enables the ``image_types`` class. The ``image`` class uses the -``IMGCLASSES`` variable as follows: -:: +``IMGCLASSES`` variable as follows:: IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}" IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}" @@ -968,8 +957,7 @@ during the :ref:`ref-tasks-rootfs` task, which optimizes the size of libraries contained in the image. By default, the class is enabled in the ``local.conf.template`` using -the :term:`USER_CLASSES` variable as follows: -:: +the :term:`USER_CLASSES` variable as follows:: USER_CLASSES ?= "buildstats image-mklibs image-prelink" @@ -984,8 +972,7 @@ the dynamic linking of shared libraries to reduce executable startup time. By default, the class is enabled in the ``local.conf.template`` using -the :term:`USER_CLASSES` variable as follows: -:: +the :term:`USER_CLASSES` variable as follows:: USER_CLASSES ?= "buildstats image-mklibs image-prelink" @@ -1014,8 +1001,7 @@ configuration). However, to skip one or more checks in recipes, you should use :term:`INSANE_SKIP`. For example, to skip the check for symbolic link ``.so`` files in the main package of a recipe, add the following to the recipe. You need to realize that the -package name override, in this example ``${PN}``, must be used: -:: +package name override, in this example ``${PN}``, must be used:: INSANE_SKIP_${PN} += "dev-so" @@ -1152,8 +1138,7 @@ The following list shows the tests you can list with the ``WARN_QA`` and - ``invalid-packageconfig:`` Checks that no undefined features are being added to :term:`PACKAGECONFIG`. For - example, any name "foo" for which the following form does not exist: - :: + example, any name "foo" for which the following form does not exist:: PACKAGECONFIG[foo] = "..." @@ -1636,8 +1621,7 @@ a couple different ways: .. note:: When creating a recipe this way, the recipe name must follow this - naming convention: - :: + naming convention:: myrecipe-native.bb @@ -1645,8 +1629,7 @@ a couple different ways: Not using this naming convention can lead to subtle problems caused by existing code that depends on that naming convention. -- Create or modify a target recipe that contains the following: - :: +- Create or modify a target recipe that contains the following:: BBCLASSEXTEND = "native" @@ -1677,8 +1660,7 @@ couple different ways: inherit statement in the recipe after all other inherit statements so that the ``nativesdk`` class is inherited last. -- Create a ``nativesdk`` variant of any recipe by adding the following: - :: +- Create a ``nativesdk`` variant of any recipe by adding the following:: BBCLASSEXTEND = "nativesdk" @@ -1689,8 +1671,7 @@ couple different ways: .. note:: - When creating a recipe, you must follow this naming convention: - :: + When creating a recipe, you must follow this naming convention:: nativesdk-myrecipe.bb @@ -1753,8 +1734,7 @@ before attempting to fetch it from the upstream specified in :term:`SRC_URI` within each recipe. To use this class, inherit it globally and specify -:term:`SOURCE_MIRROR_URL`. Here is an example: -:: +:term:`SOURCE_MIRROR_URL`. Here is an example:: INHERIT += "own-mirrors" SOURCE_MIRROR_URL = "http://example.com/my-source-mirror" @@ -2017,8 +1997,7 @@ established and then populates the SDK. After populating the SDK, the contains the cross-compiler and associated tooling, and the target, which contains a target root filesystem that is configured for the SDK usage. These two images reside in :term:`SDK_OUTPUT`, -which consists of the following: -:: +which consists of the following:: ${SDK_OUTPUT}/${SDK_ARCH}-nativesdk-pkgs ${SDK_OUTPUT}/${SDKTARGETSYSROOT}/target-pkgs @@ -2180,8 +2159,7 @@ installed by ``libtool``. Removing these files results in them being absent from both the sysroot and target packages. If a recipe needs the ``.la`` files to be installed, then the recipe can -override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows: -:: +override the removal by setting ``REMOVE_LIBTOOL_LA`` to "0" as follows:: REMOVE_LIBTOOL_LA = "0" @@ -2231,8 +2209,7 @@ recipe, enabling ``rm_work`` will potentially result in your changes to the source being lost. To exclude some recipes from having their work directories deleted by ``rm_work``, you can add the names of the recipe or recipes you are working on to the ``RM_WORK_EXCLUDE`` variable, which -can also be set in your ``local.conf`` file. Here is an example: -:: +can also be set in your ``local.conf`` file. Here is an example:: RM_WORK_EXCLUDE += "busybox glibc" @@ -2531,8 +2508,7 @@ You should set :term:`SYSTEMD_SERVICE` to the name of the service file. You should also use a package name override to indicate the package to which the value applies. If the value applies to the recipe's main package, use ``${``\ :term:`PN`\ ``}``. Here -is an example from the connman recipe: -:: +is an example from the connman recipe:: SYSTEMD_SERVICE_${PN} = "connman.service" @@ -2608,8 +2584,7 @@ The tests are commands that run on the target system over ``ssh``. Each test is written in Python and makes use of the ``unittest`` module. The ``testimage.bbclass`` runs tests on an image when called using the -following: -:: +following:: $ bitbake -c testimage image @@ -2628,8 +2603,7 @@ section in the Yocto Project Development Tasks Manual. This class supports running automated tests against software development kits (SDKs). The ``testsdk`` class runs tests on an SDK when called -using the following: -:: +using the following:: $ bitbake -c testsdk image @@ -2684,8 +2658,7 @@ the environment for installed SDKs. The ``typecheck`` class provides support for validating the values of variables set at the configuration level against their defined types. The OpenEmbedded build system allows you to define the type of a -variable using the "type" varflag. Here is an example: -:: +variable using the "type" varflag. Here is an example:: IMAGE_FEATURES[type] = "list" @@ -2695,14 +2668,12 @@ variable using the "type" varflag. Here is an example: ======================== The ``uboot-config`` class provides support for U-Boot configuration for -a machine. Specify the machine in your recipe as follows: -:: +a machine. Specify the machine in your recipe as follows:: UBOOT_CONFIG ??= UBOOT_CONFIG[foo] = "config,images" -You can also specify the machine using this method: -:: +You can also specify the machine using this method:: UBOOT_MACHINE = "config" diff --git a/poky/documentation/ref-manual/devtool-reference.rst b/poky/documentation/ref-manual/devtool-reference.rst index 629aa2ffb..0ce321983 100644 --- a/poky/documentation/ref-manual/devtool-reference.rst +++ b/poky/documentation/ref-manual/devtool-reference.rst @@ -22,8 +22,7 @@ Getting Help The ``devtool`` command line is organized similarly to Git in that it has a number of sub-commands for each function. You can run -``devtool --help`` to see all the commands: -:: +``devtool --help`` to see all the commands:: $ devtool -h NOTE: Starting bitbake server... @@ -79,8 +78,7 @@ has a number of sub-commands for each function. You can run As directed in the general help output, you can get more syntax on a specific command by providing the command name and -using "--help": -:: +using "--help":: $ devtool add --help NOTE: Starting bitbake server... @@ -172,8 +170,7 @@ you. The source files the recipe uses should exist in an external area. The following example creates and adds a new recipe named ``jackson`` to a workspace layer the tool creates. The source code built by the recipes -resides in ``/home/user/sources/jackson``: -:: +resides in ``/home/user/sources/jackson``:: $ devtool add jackson /home/user/sources/jackson @@ -201,8 +198,7 @@ unpacking files from a remote URI. In some cases, you might want to specify a source revision by branch, tag, or commit hash. You can specify these options when using the ``devtool add`` command: -- To specify a source branch, use the ``--srcbranch`` option: - :: +- To specify a source branch, use the ``--srcbranch`` option:: $ devtool add --srcbranch &DISTRO_NAME_NO_CAP; jackson /home/user/sources/jackson @@ -210,8 +206,7 @@ specify these options when using the ``devtool add`` command: branch. - To specify a specific tag or commit hash, use the ``--srcrev`` - option: - :: + option:: $ devtool add --srcrev &DISTRO_REL_TAG; jackson /home/user/sources/jackson $ devtool add --srcrev some_commit_hash /home/user/sources/jackson @@ -269,8 +264,7 @@ The ``devtool modify`` command extracts the source for a recipe, sets it up as a Git repository if the source had not already been fetched from Git, checks out a branch for development, and applies any patches from the recipe as commits on top. You can use the following command to -checkout the source files: -:: +checkout the source files:: $ devtool modify recipe @@ -309,8 +303,7 @@ compile, and test the code. When you are satisfied with the results and you have committed your changes to the Git repository, you can then run the -``devtool update-recipe`` to create the patches and update the recipe: -:: +``devtool update-recipe`` to create the patches and update the recipe:: $ devtool update-recipe recipe @@ -321,8 +314,7 @@ Often, you might want to apply customizations made to your software in your own layer rather than apply them to the original recipe. If so, you can use the ``-a`` or ``--append`` option with the ``devtool update-recipe`` command. These options allow you to specify -the layer into which to write an append file: -:: +the layer into which to write an append file:: $ devtool update-recipe recipe -a base-layer-directory @@ -358,8 +350,7 @@ particular recipe. recipe's latest version tag. As with all ``devtool`` commands, you can get help on the individual -command: -:: +command:: $ devtool check-upgrade-status -h NOTE: Starting bitbake server... @@ -462,8 +453,7 @@ files have been modified, the command preserves the modified files in a separate "attic" subdirectory under the workspace layer. Here is an example that resets the workspace directory that contains the -``mtr`` recipe: -:: +``mtr`` recipe:: $ devtool reset mtr NOTE: Cleaning sysroot for recipe mtr... @@ -482,8 +472,7 @@ Use the ``devtool build`` command to build your recipe. The When you use the ``devtool build`` command, you must supply the root name of the recipe (i.e. do not provide versions, paths, or extensions). You can use either the "-s" or the "--disable-parallel-make" options to -disable parallel makes during the build. Here is an example: -:: +disable parallel makes during the build. Here is an example:: $ devtool build recipe @@ -499,8 +488,7 @@ device for testing. For proper integration into a final image, you need to edit your custom image recipe appropriately. When you use the ``devtool build-image`` command, you must supply the -name of the image. This command has no command line options: -:: +name of the image. This command has no command line options:: $ devtool build-image image @@ -510,8 +498,7 @@ Deploying Your Software on the Target Machine ============================================= Use the ``devtool deploy-target`` command to deploy the recipe's build -output to the live target machine: -:: +output to the live target machine:: $ devtool deploy-target recipe target @@ -582,15 +569,13 @@ new workspace layer, it is populated with the ``README`` file and the ``conf`` directory only. The following example creates a new workspace layer in your current -working and by default names the workspace layer "workspace": -:: +working and by default names the workspace layer "workspace":: $ devtool create-workspace You can create a workspace layer anywhere by supplying a pathname with the command. The following command creates a new workspace layer named -"new-workspace": -:: +"new-workspace":: $ devtool create-workspace /home/scottrif/new-workspace @@ -603,15 +588,13 @@ Use the ``devtool status`` command to list the recipes currently in your workspace. Information includes the paths to their respective external source trees. -The ``devtool status`` command has no command-line options: -:: +The ``devtool status`` command has no command-line options:: $ devtool status Following is sample output after using :ref:`devtool add ` -to create and add the ``mtr_0.86.bb`` recipe to the ``workspace`` directory: -:: +to create and add the ``mtr_0.86.bb`` recipe to the ``workspace`` directory:: $ devtool status mtr:/home/scottrif/poky/build/workspace/sources/mtr (/home/scottrif/poky/build/workspace/recipes/mtr/mtr_0.86.bb) diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst index 64fdfdf75..e7bca829a 100644 --- a/poky/documentation/ref-manual/faq.rst +++ b/poky/documentation/ref-manual/faq.rst @@ -125,7 +125,7 @@ file. Following is the applicable code for setting various proxy types in the ``.wgetrc`` file. By default, these settings are disabled with comments. -To use them, remove the comments: :: +To use them, remove the comments:: # You can set the default proxies for Wget to use for http, https, and ftp. # They will override the value in the environment. @@ -209,8 +209,7 @@ section in the Yocto Project Development Tasks Manual. **A:** You need to create a form factor file as described in the ":ref:`bsp-guide/bsp:miscellaneous bsp-specific recipe files`" section in the Yocto Project Board Support Packages (BSP) Developer's Guide. Set -the ``HAVE_TOUCHSCREEN`` variable equal to one as follows: -:: +the ``HAVE_TOUCHSCREEN`` variable equal to one as follows:: HAVE_TOUCHSCREEN=1 @@ -224,7 +223,7 @@ to add a BSP-specific netbase that includes an interfaces file. See the the Yocto Project Board Support Packages (BSP) Developer's Guide for information on creating these types of miscellaneous recipe files. -For example, add the following files to your layer: :: +For example, add the following files to your layer:: meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend @@ -300,7 +299,7 @@ fail. As an example, you could add a specific server for the build system to attempt before any others by adding something like the following to the -``local.conf`` configuration file: :: +``local.conf`` configuration file:: PREMIRRORS_prepend = "\ git://.*/.* http://www.yoctoproject.org/sources/ \n \ @@ -313,8 +312,7 @@ HTTPS requests and direct them to the ``http://`` sources mirror. You can use ``file://`` URLs to point to local directories or network shares as well. -Aside from the previous technique, these options also exist: -:: +Aside from the previous technique, these options also exist:: BB_NO_NETWORK = "1" @@ -322,8 +320,7 @@ This statement tells BitBake to issue an error instead of trying to access the Internet. This technique is useful if you want to ensure code builds only from local sources. -Here is another technique: -:: +Here is another technique:: BB_FETCH_PREMIRRORONLY = "1" @@ -331,8 +328,7 @@ This statement limits the build system to pulling source from the ``PREMIRRORS`` only. Again, this technique is useful for reproducing builds. -Here is another technique: -:: +Here is another technique:: BB_GENERATE_MIRROR_TARBALLS = "1" @@ -343,7 +339,7 @@ however, the technique can simply waste time during the build. Finally, consider an example where you are behind an HTTP-only firewall. You could make the following changes to the ``local.conf`` configuration -file as long as the ``PREMIRRORS`` server is current: :: +file as long as the ``PREMIRRORS`` server is current:: PREMIRRORS_prepend = "\ ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ diff --git a/poky/documentation/ref-manual/features.rst b/poky/documentation/ref-manual/features.rst index 89c06eb65..eb4947d59 100644 --- a/poky/documentation/ref-manual/features.rst +++ b/poky/documentation/ref-manual/features.rst @@ -26,8 +26,7 @@ One method you can use to determine which recipes are checking to see if a particular feature is contained or not is to ``grep`` through the :term:`Metadata` for the feature. Here is an example that discovers the recipes whose build is potentially changed based on a -given feature: -:: +given feature:: $ cd poky $ git grep 'contains.*MACHINE_FEATURES.*feature' diff --git a/poky/documentation/ref-manual/images.rst b/poky/documentation/ref-manual/images.rst index cf5cc1109..b2db1a773 100644 --- a/poky/documentation/ref-manual/images.rst +++ b/poky/documentation/ref-manual/images.rst @@ -18,8 +18,7 @@ image you want. are going to build an image using non-GPLv3 and similarly licensed components, you must make the following changes in the ``local.conf`` file before using the BitBake command to build the minimal or base - image: - :: + image:: 1. Comment out the EXTRA_IMAGE_FEATURES line 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0" @@ -27,7 +26,7 @@ image you want. From within the ``poky`` Git repository, you can use the following command to display the list of directories within the :term:`Source Directory` -that contain image recipe files: :: +that contain image recipe files:: $ ls meta*/recipes*/images/*.bb diff --git a/poky/documentation/ref-manual/kickstart.rst b/poky/documentation/ref-manual/kickstart.rst index b87cdc13b..843292b52 100644 --- a/poky/documentation/ref-manual/kickstart.rst +++ b/poky/documentation/ref-manual/kickstart.rst @@ -30,8 +30,7 @@ Command: part or partition ========================== Either of these commands creates a partition on the system and uses the -following syntax: -:: +following syntax:: part [mntpoint] partition [mntpoint] @@ -59,8 +58,7 @@ must also provide one of the ``--ondrive``, ``--ondisk``, or versions of these application are currently excluded. Here is an example that uses "/" as the mountpoint. The command uses -``--ondisk`` to force the partition onto the ``sdb`` disk: -:: +``--ondisk`` to force the partition onto the ``sdb`` disk:: part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024 diff --git a/poky/documentation/ref-manual/migration-1.3.rst b/poky/documentation/ref-manual/migration-1.3.rst index 0929f490d..b90767ff9 100644 --- a/poky/documentation/ref-manual/migration-1.3.rst +++ b/poky/documentation/ref-manual/migration-1.3.rst @@ -29,7 +29,7 @@ location (either local or remote) and then point to it in :term:`SSTATE_MIRRORS`, you need to append "PATH" to the end of the mirror URL so that the path used by BitBake before the mirror substitution is appended to the path used to access the mirror. -Here is an example: :: +Here is an example:: SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH" @@ -181,14 +181,13 @@ Linux Kernel Naming ------------------- The naming scheme for kernel output binaries has been changed to now -include :term:`PE` as part of the filename: -:: +include :term:`PE` as part of the filename:: KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}" Because the ``PE`` variable is not set by default, these binary files could result with names that include two dash characters. Here is an -example: :: +example:: bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin diff --git a/poky/documentation/ref-manual/migration-1.4.rst b/poky/documentation/ref-manual/migration-1.4.rst index f5fac7a2a..deb848749 100644 --- a/poky/documentation/ref-manual/migration-1.4.rst +++ b/poky/documentation/ref-manual/migration-1.4.rst @@ -40,8 +40,7 @@ Differences include the following: - *Shared State Code:* The shared state code has been optimized to avoid running unnecessary tasks. For example, the following no longer - populates the target sysroot since that is not necessary: - :: + populates the target sysroot since that is not necessary:: $ bitbake -c rootfs some-image @@ -136,8 +135,7 @@ Target Package Management with RPM If runtime package management is enabled and the RPM backend is selected, Smart is now installed for package download, dependency resolution, and upgrades instead of Zypper. For more information on how -to use Smart, run the following command on the target: -:: +to use Smart, run the following command on the target:: smart --help diff --git a/poky/documentation/ref-manual/migration-1.6.rst b/poky/documentation/ref-manual/migration-1.6.rst index 4c6afab1f..5a18d6310 100644 --- a/poky/documentation/ref-manual/migration-1.6.rst +++ b/poky/documentation/ref-manual/migration-1.6.rst @@ -53,8 +53,7 @@ Matching Branch Requirement for Git Fetching When fetching source from a Git repository using :term:`SRC_URI`, BitBake will now validate the :term:`SRCREV` value against the branch. You can specify -the branch using the following form: -:: +the branch using the following form:: SRC_URI = "git://server.name/repository;branch=branchname" @@ -207,7 +206,7 @@ functions to call and not arbitrary shell commands: For migration purposes, you can simply wrap shell commands in a shell -function and then call the function. Here is an example: :: +function and then call the function. Here is an example:: my_postprocess_function() { echo "hello" > ${IMAGE_ROOTFS}/hello.txt @@ -248,8 +247,7 @@ the ``autotools`` or ``autotools_stage``\ classes. ``qemu-native`` now builds without SDL-based graphical output support by default. The following additional lines are needed in your -``local.conf`` to enable it: -:: +``local.conf`` to enable it:: PACKAGECONFIG_pn-qemu-native = "sdl" ASSUME_PROVIDED += "libsdl-native" diff --git a/poky/documentation/ref-manual/migration-1.7.rst b/poky/documentation/ref-manual/migration-1.7.rst index 9cf467f28..46bf12658 100644 --- a/poky/documentation/ref-manual/migration-1.7.rst +++ b/poky/documentation/ref-manual/migration-1.7.rst @@ -15,8 +15,7 @@ optional features. The method used to set defaults for these options means that existing ``local.conf`` files will need to be modified to append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu`` instead of setting it. In other words, to enable graphical output for -QEMU, you should now have these lines in ``local.conf``: -:: +QEMU, you should now have these lines in ``local.conf``:: PACKAGECONFIG_append_pn-qemu-native = " sdl" PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" @@ -80,8 +79,7 @@ disable the scripts due to the scripts previously requiring error-prone path substitution. Software that links against these libraries using these scripts should use the much more robust ``pkg-config`` instead. The list of recipes changed in this version (and their configuration -scripts) is as follows: -:: +scripts) is as follows:: directfb (directfb-config) freetype (freetype-config) diff --git a/poky/documentation/ref-manual/migration-1.8.rst b/poky/documentation/ref-manual/migration-1.8.rst index ec2b13879..68d5dcf85 100644 --- a/poky/documentation/ref-manual/migration-1.8.rst +++ b/poky/documentation/ref-manual/migration-1.8.rst @@ -56,7 +56,7 @@ you can now remove them. Additionally, a ``bluetooth`` class has been added to make selection of the appropriate bluetooth support within a recipe a little easier. If you wish to make use of this class in a recipe, add something such as -the following: :: +the following:: inherit bluetooth PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}" @@ -84,7 +84,7 @@ where the ``linux.inc`` file in ``meta-oe`` was updated. Recipes that rely on the kernel source code and do not inherit the module classes might need to add explicit dependencies on the -``do_shared_workdir`` kernel task, for example: :: +``do_shared_workdir`` kernel task, for example:: do_configure[depends] += "virtual/kernel:do_shared_workdir" @@ -131,7 +131,7 @@ One of the improvements is to attempt to run "make clean" during the ``do_configure`` task if a ``Makefile`` exists. Some software packages do not provide a working clean target within their make files. If you have such recipes, you need to set -:term:`CLEANBROKEN` to "1" within the recipe, for example: :: +:term:`CLEANBROKEN` to "1" within the recipe, for example:: CLEANBROKEN = "1" diff --git a/poky/documentation/ref-manual/migration-2.0.rst b/poky/documentation/ref-manual/migration-2.0.rst index 9da60dfdc..8319b0ee3 100644 --- a/poky/documentation/ref-manual/migration-2.0.rst +++ b/poky/documentation/ref-manual/migration-2.0.rst @@ -25,8 +25,7 @@ and the porting guide at https://gcc.gnu.org/gcc-5/porting_to.html. Alternatively, you can switch back to GCC 4.9 or 4.8 by setting -``GCCVERSION`` in your configuration, as follows: -:: +``GCCVERSION`` in your configuration, as follows:: GCCVERSION = "4.9%" @@ -91,8 +90,7 @@ unlikely to require any changes to Metadata. However, these minor changes in behavior exist: - All potential overrides are now visible in the variable history as - seen when you run the following: - :: + seen when you run the following:: $ bitbake -e @@ -200,8 +198,7 @@ changes. Additionally, work directories for old versions of recipes are now pruned. If you wish to disable pruning old work directories, you can set -the following variable in your configuration: -:: +the following variable in your configuration:: SSTATE_PRUNE_OBSOLETEWORKDIR = "0" diff --git a/poky/documentation/ref-manual/migration-2.1.rst b/poky/documentation/ref-manual/migration-2.1.rst index 1eb9ab552..32d193f0f 100644 --- a/poky/documentation/ref-manual/migration-2.1.rst +++ b/poky/documentation/ref-manual/migration-2.1.rst @@ -42,8 +42,7 @@ defaulted to False if not specified. Now, however, no default exists so one must be specified. You must change any ``getVar()`` calls that do not specify the final expand parameter to calls that do specify the parameter. You can run the following ``sed`` command at the base of a -layer to make this change: -:: +layer to make this change:: sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *` sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *` @@ -285,8 +284,7 @@ The following changes have been made for the Poky distribution: Any recipe that needs to opt-out of having the "--disable-static" option specified on the configure command line either because it is not a supported option for the configure script or because static - libraries are needed should set the following variable: - :: + libraries are needed should set the following variable:: DISABLE_STATIC = "" @@ -369,8 +367,7 @@ These additional changes exist: - Previously, the following list of packages were removed if package-management was not in :term:`IMAGE_FEATURES`, regardless of any - dependencies: - :: + dependencies:: update-rc.d base-passwd diff --git a/poky/documentation/ref-manual/migration-2.2.rst b/poky/documentation/ref-manual/migration-2.2.rst index 198181a46..a9d3cde7b 100644 --- a/poky/documentation/ref-manual/migration-2.2.rst +++ b/poky/documentation/ref-manual/migration-2.2.rst @@ -144,8 +144,7 @@ The new ``runqemu`` is a Python script. Machine knowledge is no longer hardcoded into ``runqemu``. You can choose to use the ``qemuboot`` configuration file to define the BSP's own arguments and to make it bootable with ``runqemu``. If you use a configuration file, use the -following form: -:: +following form:: image-name-machine.qemuboot.conf @@ -160,8 +159,7 @@ rootfs). QEMU boot arguments can be set in BSP's configuration file and the ``qemuboot`` class will save them to ``qemuboot.conf``. If you want to use ``runqemu`` without a configuration file, use the -following command form: -:: +following command form:: $ runqemu machine rootfs kernel [options] @@ -179,7 +177,7 @@ Supported machines are as follows: Consider the following example, which uses the ``qemux86-64`` machine, provides a -root filesystem, provides an image, and uses the ``nographic`` option: :: +root filesystem, provides an image, and uses the ``nographic`` option:: $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tmp/deploy/images/qemux86-64/bzImage nographic @@ -244,8 +242,7 @@ recipes. You need to fix these recipes so that they use the expected ``LDFLAGS``. Depending on how the software is built, the build system used by the software (e.g. a Makefile) might need to be patched. However, sometimes making this fix is as simple as adding the following -to the recipe: -:: +to the recipe:: TARGET_CC_ARCH += "${LDFLAGS}" @@ -258,8 +255,7 @@ The ``KERNEL_IMAGE_BASE_NAME`` variable no longer uses the :term:`KERNEL_IMAGETYPE` variable to create the image's base name. Because the OpenEmbedded build system can now build multiple kernel image types, this part of the kernel image base name as -been removed leaving only the following: -:: +been removed leaving only the following:: KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" diff --git a/poky/documentation/ref-manual/migration-2.3.rst b/poky/documentation/ref-manual/migration-2.3.rst index 0541eb3e7..dfbda612a 100644 --- a/poky/documentation/ref-manual/migration-2.3.rst +++ b/poky/documentation/ref-manual/migration-2.3.rst @@ -114,8 +114,7 @@ Changes to Scripts The following changes to scripts took place: - ``oe-find-native-sysroot``: The usage for the - ``oe-find-native-sysroot`` script has changed to the following: - :: + ``oe-find-native-sysroot`` script has changed to the following:: $ . oe-find-native-sysroot recipe @@ -124,8 +123,7 @@ The following changes to scripts took place: was not necessary to provide the script with the command. - ``oe-run-native``: The usage for the ``oe-run-native`` script has - changed to the following: - :: + changed to the following:: $ oe-run-native native_recipe tool @@ -453,14 +451,11 @@ The following miscellaneous changes have occurred: tools. - The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig" - ``DISTRO_FEATURES`` feature. Distributions that previously set: - :: + ``DISTRO_FEATURES`` feature. Distributions that previously set:: USE_LDCONFIG = "0" - should now instead use the following: - - :: + should now instead use the following:: DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig" @@ -478,8 +473,7 @@ The following miscellaneous changes have occurred: order to allow module packages from multiple kernel versions to co-exist on a target system. If you wish to return to the previous naming scheme that does not include the version suffix, use the - following: - :: + following:: KERNEL_MODULE_PACKAGE_SUFFIX = "" diff --git a/poky/documentation/ref-manual/migration-2.5.rst b/poky/documentation/ref-manual/migration-2.5.rst index 9ef4b5539..86a0da9c4 100644 --- a/poky/documentation/ref-manual/migration-2.5.rst +++ b/poky/documentation/ref-manual/migration-2.5.rst @@ -138,13 +138,11 @@ The following are BitBake changes: tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``, and the ``*all`` tasks provided by the ``distrodata`` and ``archiver`` classes). There is a BitBake option to complete this for - any arbitrary task. For example: - :: + any arbitrary task. For example:: bitbake -c fetchall - should now be replaced with: - :: + should now be replaced with:: bitbake --runall=fetch @@ -169,7 +167,7 @@ one of the packages provided by the Python recipe. You can no longer run ``bitbake python-foo`` or have a :term:`DEPENDS` on ``python-foo``, but doing either of the following causes the package to work as -expected: :: +expected:: IMAGE_INSTALL_append = " python-foo" diff --git a/poky/documentation/ref-manual/migration-2.6.rst b/poky/documentation/ref-manual/migration-2.6.rst index aeac50980..d1c6c0c5f 100644 --- a/poky/documentation/ref-manual/migration-2.6.rst +++ b/poky/documentation/ref-manual/migration-2.6.rst @@ -161,13 +161,11 @@ The following changes have been made: allows easier and more direct changes. The ``IMAGE_VERSION_SUFFIX`` variable is set in the ``bitbake.conf`` - configuration file as follows: - :: + configuration file as follows:: IMAGE_VERSION_SUFFIX = "-${DATETIME}" -- Several variables have changed names for consistency: - :: +- Several variables have changed names for consistency:: Old Variable Name New Variable Name ======================================================== @@ -292,8 +290,7 @@ avoids the ``systemd`` recipe from becoming machine-specific for cases where machine-specific configurations need to be applied (e.g. for ``qemu*`` machines). -Currently, the new recipe packages the following files: -:: +Currently, the new recipe packages the following files:: ${sysconfdir}/machine-id ${sysconfdir}/systemd/coredump.conf @@ -393,8 +390,7 @@ If you wish to disable Python profile-guided optimization regardless of the value of ``MACHINE_FEATURES``, then ensure that :term:`PACKAGECONFIG` for the ``python3`` recipe does not contain "pgo". You could accomplish the latter using the -following at the configuration level: -:: +following at the configuration level:: PACKAGECONFIG_remove_pn-python3 = "pgo" @@ -411,8 +407,7 @@ The following miscellaneous changes occurred: - Default to using the Thumb-2 instruction set for armv7a and above. If you have any custom recipes that build software that needs to be built with the ARM instruction set, change the recipe to set the - instruction set as follows: - :: + instruction set as follows:: ARM_INSTRUCTION_SET = "arm" diff --git a/poky/documentation/ref-manual/migration-3.1.rst b/poky/documentation/ref-manual/migration-3.1.rst index 84d32502e..7822285a8 100644 --- a/poky/documentation/ref-manual/migration-3.1.rst +++ b/poky/documentation/ref-manual/migration-3.1.rst @@ -71,8 +71,7 @@ when building a simple image such as core-image-minimal. If you do not need runtime tests enabled for core components, then it is recommended that you remove "ptest" from :term:`DISTRO_FEATURES` to save a significant -amount of build time e.g. by adding the following in your configuration: -:: +amount of build time e.g. by adding the following in your configuration:: DISTRO_FEATURES_remove = "ptest" @@ -179,12 +178,12 @@ parameter instead of the earlier ``name`` which overlapped with the generic ``name`` parameter. All recipes using the npm fetcher will need to be changed as a result. -An example of the new scheme: :: +An example of the new scheme:: SRC_URI = "npm://registry.npmjs.org;package=array-flatten;version=1.1.1 \ npmsw://${THISDIR}/npm-shrinkwrap.json" -Another example where the sources are fetched from git rather than an npm repository: :: +Another example where the sources are fetched from git rather than an npm repository:: SRC_URI = "git://github.com/foo/bar.git;protocol=https \ npmsw://${THISDIR}/npm-shrinkwrap.json" diff --git a/poky/documentation/ref-manual/migration-3.2.rst b/poky/documentation/ref-manual/migration-3.2.rst index 39743af70..956a56f62 100644 --- a/poky/documentation/ref-manual/migration-3.2.rst +++ b/poky/documentation/ref-manual/migration-3.2.rst @@ -90,12 +90,12 @@ If you have anonymous python or in-line python conditionally adding dependencies in your custom recipes, and you intend for those recipes to work with multilib, then you will need to ensure that ``${MLPREFIX}`` is prefixed on the package names in the dependencies, for example -(from the ``glibc`` recipe): :: +(from the ``glibc`` recipe):: RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}" This also applies when conditionally adding packages to :term:`PACKAGES` where -those packages have dependencies, for example (from the ``alsa-plugins`` recipe): :: +those packages have dependencies, for example (from the ``alsa-plugins`` recipe):: PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" ... @@ -229,7 +229,7 @@ needs ``/etc/ld.so.conf`` to be present at image build time: When some recipe installs libraries to a non-standard location, and therefore installs in a file in ``/etc/ld.so.conf.d/foo.conf``, we -need ``/etc/ld.so.conf`` containing: :: +need ``/etc/ld.so.conf`` containing:: include /etc/ld.so.conf.d/*.conf diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst index 6cb767d93..9cc4c577c 100644 --- a/poky/documentation/ref-manual/qa-checks.rst +++ b/poky/documentation/ref-manual/qa-checks.rst @@ -221,8 +221,7 @@ Errors and Warnings Typically, the way to solve this performance issue is to add "-fPIC" or "-fpic" to the compiler command-line options. For example, given software that reads :term:`CFLAGS` when you build it, - you could add the following to your recipe: - :: + you could add the following to your recipe:: CFLAGS_append = " -fPIC " @@ -240,8 +239,7 @@ Errors and Warnings variable is being passed to the linker command. A common workaround for this situation is to pass in ``LDFLAGS`` using :term:`TARGET_CC_ARCH` within the recipe as - follows: - :: + follows:: TARGET_CC_ARCH += "${LDFLAGS}" @@ -265,8 +263,7 @@ Errors and Warnings The ``/usr/share/info/dir`` should not be packaged. Add the following line to your :ref:`ref-tasks-install` task or to your - ``do_install_append`` within the recipe as follows: - :: + ``do_install_append`` within the recipe as follows:: rm ${D}${infodir}/dir   @@ -675,7 +672,7 @@ Errors and Warnings task. Patch fuzz is a situation when the ``patch`` tool ignores some of the context lines in order to apply the patch. Consider this example: - Patch to be applied: :: + Patch to be applied:: --- filename +++ filename @@ -687,7 +684,7 @@ Errors and Warnings context line 5 context line 6 - Original source code: :: + Original source code:: different context line 1 different context line 2 @@ -696,7 +693,7 @@ Errors and Warnings different context line 5 different context line 6 - Outcome (after applying patch with fuzz): :: + Outcome (after applying patch with fuzz):: different context line 1 different context line 2 @@ -716,14 +713,14 @@ Errors and Warnings *How to eliminate patch fuzz warnings* Use the ``devtool`` command as explained by the warning. First, unpack the - source into devtool workspace: :: + source into devtool workspace:: devtool modify This will apply all of the patches, and create new commits out of them in the workspace - with the patch context updated. - Then, replace the patches in the recipe layer: :: + Then, replace the patches in the recipe layer:: devtool finish --force-patch-refresh diff --git a/poky/documentation/ref-manual/structure.rst b/poky/documentation/ref-manual/structure.rst index 0f2093a8d..f8dc7d282 100644 --- a/poky/documentation/ref-manual/structure.rst +++ b/poky/documentation/ref-manual/structure.rst @@ -153,8 +153,7 @@ When you run this script, your Yocto Project environment is set up, a :term:`Build Directory` is created, your working directory becomes the Build Directory, and you are presented with some simple suggestions as to what to do next, including a list of some -possible targets to build. Here is an example: -:: +possible targets to build. Here is an example:: $ source oe-init-build-env @@ -185,8 +184,7 @@ creates the ``build/`` directory in your current working directory. If you provide a Build Directory argument when you ``source`` the script, you direct the OpenEmbedded build system to create a Build Directory of your choice. For example, the following command creates a Build -Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`: -:: +Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`:: $ source oe-init-build-env ~/mybuilds @@ -269,8 +267,7 @@ and to ``meta/conf/`` when you are building from the OpenEmbedded-Core environment. Because the script variable points to the source of the ``local.conf.sample`` file, this implies that you can configure your build environment from any layer by setting the variable in the -top-level build environment setup script as follows: -:: +top-level build environment setup script as follows:: TEMPLATECONF=your_layer/conf @@ -309,8 +306,7 @@ Project development environment, and to ``meta/conf/`` when you are building from the OpenEmbedded-Core environment. Because the script variable points to the source of the ``bblayers.conf.sample`` file, this implies that you can base your build from any layer by setting the -variable in the top-level build environment setup script as follows: -:: +variable in the top-level build environment setup script as follows:: TEMPLATECONF=your_layer/conf @@ -463,8 +459,7 @@ image again. If you do accidentally delete files here, you will need to force them to be re-created. In order to do that, you will need to know the target that produced them. For example, these commands rebuild and re-create -the kernel files: -:: +the kernel files:: $ bitbake -c clean virtual/kernel $ bitbake virtual/kernel @@ -535,8 +530,7 @@ recipe-specific :term:`WORKDIR` directories. Thus, the This directory holds information that BitBake uses for accounting purposes to track what tasks have run and when they have run. The directory is sub-divided by architecture, package name, and version. -Following is an example: -:: +Following is an example:: stamps/all-poky-linux/distcc-config/1.0-r0.do_build-2fdd....2do diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst index 80378cedb..4fa4d3ef5 100644 --- a/poky/documentation/ref-manual/system-requirements.rst +++ b/poky/documentation/ref-manual/system-requirements.rst @@ -120,8 +120,7 @@ supported Ubuntu or Debian Linux distribution: might experience QEMU build failures due to the package installing its own custom ``/usr/include/linux/soundcard.h`` on the Debian system. If you run into this situation, either of the following - solutions exist: - :: + solutions exist:: $ sudo apt-get build-dep qemu $ sudo apt-get remove oss4-dev @@ -132,14 +131,12 @@ supported Ubuntu or Debian Linux distribution: $ sudo pip3 install GitPython pylint==1.9.5 -- *Essentials:* Packages needed to build an image on a headless system: - :: +- *Essentials:* Packages needed to build an image on a headless system:: $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; - *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals: - :: + Yocto Project documentation manuals:: $ sudo apt-get install make python3-pip &PIP3_HOST_PACKAGES_DOC; @@ -157,14 +154,12 @@ The following list shows the required packages by function given a supported Fedora Linux distribution: - *Essentials:* Packages needed to build an image for a headless - system: - :: + system:: $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; - *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals: - :: + Yocto Project documentation manuals:: $ sudo dnf install make python3-pip which &PIP3_HOST_PACKAGES_DOC; @@ -176,14 +171,12 @@ The following list shows the required packages by function given a supported openSUSE Linux distribution: - *Essentials:* Packages needed to build an image for a headless - system: - :: + system:: $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; - *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals: - :: + Yocto Project documentation manuals:: $ sudo zypper install make python3-pip which &PIP3_HOST_PACKAGES_DOC; @@ -196,8 +189,7 @@ The following list shows the required packages by function given a supported CentOS-7 Linux distribution: - *Essentials:* Packages needed to build an image for a headless - system: - :: + system:: $ sudo yum install &CENTOS7_HOST_PACKAGES_ESSENTIAL; @@ -212,8 +204,7 @@ supported CentOS-7 Linux distribution: ``epel-release``. - *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals: - :: + Yocto Project documentation manuals:: $ sudo yum install make python3-pip which &PIP3_HOST_PACKAGES_DOC; @@ -225,8 +216,7 @@ The following list shows the required packages by function given a supported CentOS-8 Linux distribution: - *Essentials:* Packages needed to build an image for a headless - system: - :: + system:: $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL; @@ -244,8 +234,7 @@ supported CentOS-8 Linux distribution: ``epel-release``. - *Documentation:* Packages needed if you are going to build out the - Yocto Project documentation manuals: - :: + Yocto Project documentation manuals:: $ sudo dnf install make python3-pip which &PIP3_HOST_PACKAGES_DOC; @@ -287,8 +276,7 @@ The ``install-buildtools`` script is the easiest of the three methods by which you can get these tools. It downloads a pre-built buildtools installer and automatically installs the tools for you: -1. Execute the ``install-buildtools`` script. Here is an example: - :: +1. Execute the ``install-buildtools`` script. Here is an example:: $ cd poky $ scripts/install-buildtools --without-extended-buildtools \ @@ -302,22 +290,19 @@ installer and automatically installs the tools for you: installation is functional. To avoid the need of ``sudo`` privileges, the ``install-buildtools`` - script will by default tell the installer to install in: - :: + script will by default tell the installer to install in:: /path/to/poky/buildtools If your host development system needs the additional tools provided in the ``buildtools-extended`` tarball, you can instead execute the - ``install-buildtools`` script with the default parameters: - :: + ``install-buildtools`` script with the default parameters:: $ cd poky $ scripts/install-buildtools 2. Source the tools environment setup script by using a command like the - following: - :: + following:: $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux @@ -342,13 +327,11 @@ steps: 1. Locate and download the ``*.sh`` at &YOCTO_RELEASE_DL_URL;/buildtools/ 2. Execute the installation script. Here is an example for the - traditional installer: - :: + traditional installer:: $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh - Here is an example for the extended installer: - :: + Here is an example for the extended installer:: $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh @@ -357,8 +340,7 @@ steps: ``/home/your-username/buildtools`` 3. Source the tools environment setup script by using a command like the - following: - :: + following:: $ source /home/your_username/buildtools/environment-setup-i586-poky-linux @@ -390,13 +372,11 @@ installer: your build environment with the setup script (:ref:`structure-core-script`). -2. Run the BitBake command to build the tarball: - :: +2. Run the BitBake command to build the tarball:: $ bitbake buildtools-tarball - or run the BitBake command to build the extended tarball: - :: + or run the BitBake command to build the extended tarball:: $ bitbake buildtools-extended-tarball @@ -415,13 +395,11 @@ installer: 4. On the machine that does not meet the requirements, run the ``.sh`` file to install the tools. Here is an example for the traditional - installer: - :: + installer:: $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh - Here is an example for the extended installer: - :: + Here is an example for the extended installer:: $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh @@ -430,8 +408,7 @@ installer: ``/home/your_username/buildtools`` 5. Source the tools environment setup script by using a command like the - following: - :: + following:: $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst index 9fe1c296a..001edf6bb 100644 --- a/poky/documentation/ref-manual/tasks.rst +++ b/poky/documentation/ref-manual/tasks.rst @@ -93,8 +93,7 @@ output from ``${DEPLOYDIR}`` to ``${DEPLOY_DIR_IMAGE}``. The ``do_deploy`` task is not added as a task by default and consequently needs to be added manually. If you want the task to run after :ref:`ref-tasks-compile`, you can add it by doing -the following: -:: +the following:: addtask deploy after do_compile @@ -103,8 +102,7 @@ Adding ``do_deploy`` after other tasks works the same way. .. note:: You do not need to add ``before do_build`` to the ``addtask`` command - (though it is harmless), because the ``base`` class contains the following: - :: + (though it is harmless), because the ``base`` class contains the following:: do_build[recrdeptask] += "do_deploy" @@ -302,13 +300,11 @@ Patch files, by default, are ``*.patch`` and ``*.diff`` files created and kept in a subdirectory of the directory holding the recipe file. For example, consider the :yocto_git:`bluez5 ` -recipe from the OE-Core layer (i.e. ``poky/meta``): -:: +recipe from the OE-Core layer (i.e. ``poky/meta``):: poky/meta/recipes-connectivity/bluez5 -This recipe has two patch files located here: -:: +This recipe has two patch files located here:: poky/meta/recipes-connectivity/bluez5/bluez5 @@ -323,8 +319,7 @@ and patch files needed to build the package. As mentioned earlier, the build system treats files whose file types are ``.patch`` and ``.diff`` as patch files. However, you can use the "apply=yes" parameter with the ``SRC_URI`` statement to indicate any -file as a patch file: -:: +file as a patch file:: SRC_URI = " \ git://path_to_repo/some_package \ @@ -334,8 +329,7 @@ file as a patch file: Conversely, if you have a directory full of patch files and you want to exclude some so that the ``do_patch`` task does not apply them during the patch phase, you can use the "apply=no" parameter with the -``SRC_URI`` statement: -:: +``SRC_URI`` statement:: SRC_URI = " \ git://path_to_repo/some_package \ @@ -455,8 +449,7 @@ of the recipe exists upstream and a status of not updated, updated, or unknown. To check the upstream version and status of a recipe, use the following -devtool commands: -:: +devtool commands:: $ devtool latest-version $ devtool check-upgrade-status @@ -467,8 +460,7 @@ chapter for more information on section for information on checking the upgrade status of a recipe. To build the ``checkpkg`` task, use the ``bitbake`` command with the -"-c" option and task name: -:: +"-c" option and task name:: $ bitbake core-image-minimal -c checkpkg @@ -494,8 +486,7 @@ Removes all output files for a target from the :ref:`ref-tasks-install`, and :ref:`ref-tasks-package`). -You can run this task using BitBake as follows: -:: +You can run this task using BitBake as follows:: $ bitbake -c clean recipe @@ -519,8 +510,7 @@ downloaded source files for a target (i.e. the contents of identical to the :ref:`ref-tasks-cleansstate` task with the added removal of downloaded source files. -You can run this task using BitBake as follows: -:: +You can run this task using BitBake as follows:: $ bitbake -c cleanall recipe @@ -540,8 +530,7 @@ target. Essentially, the ``do_cleansstate`` task is identical to the shared state (:ref:`sstate `) cache. -You can run this task using BitBake as follows: -:: +You can run this task using BitBake as follows:: $ bitbake -c cleansstate recipe @@ -553,8 +542,7 @@ scratch is guaranteed. The ``do_cleansstate`` task cannot remove sstate from a remote sstate mirror. If you need to build a target from scratch using remote mirrors, use - the "-f" option as follows: - :: + the "-f" option as follows:: $ bitbake -f -c do_cleansstate target @@ -687,8 +675,7 @@ changes made by the user with other methods (i.e. using (:ref:`ref-tasks-kernel_menuconfig`). Once the file of differences is created, it can be used to create a config fragment that only contains the differences. You can invoke this task -from the command line as follows: -:: +from the command line as follows:: $ bitbake linux-yocto -c diffconfig @@ -718,8 +705,7 @@ Validates the configuration produced by the configuration does not appear in the final ``.config`` file or when you override a policy configuration in a hardware configuration fragment. You can run this task explicitly and view the output by using the -following command: -:: +following command:: $ bitbake linux-yocto -c kernel_configcheck -f @@ -750,8 +736,7 @@ tool, which you then use to modify the kernel configuration. .. note:: - You can also invoke this tool from the command line as follows: - :: + You can also invoke this tool from the command line as follows:: $ bitbake linux-yocto -c menuconfig @@ -793,8 +778,7 @@ instead of the default defconfig. The saved defconfig contains the differences between the default defconfig and the changes made by the user using other methods (i.e. the :ref:`ref-tasks-kernel_menuconfig` task. You -can invoke the task using the following command: -:: +can invoke the task using the following command:: $ bitbake linux-yocto -c savedefconfig diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst index 32bb75b27..0af9af648 100644 --- a/poky/documentation/ref-manual/terms.rst +++ b/poky/documentation/ref-manual/terms.rst @@ -26,8 +26,7 @@ universal, the list includes them just in case: When you name an append file, you can use the "``%``" wildcard character to allow for matching recipe names. For example, suppose you have an - append file named as follows: - :: + append file named as follows:: busybox_1.21.%.bbappend diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst index 74ac12bf9..c339d45e1 100644 --- a/poky/documentation/ref-manual/variables.rst +++ b/poky/documentation/ref-manual/variables.rst @@ -24,8 +24,7 @@ system and gives an overview of their function and contents. ABI extensions are set in the machine include files. For example, the ``meta/conf/machine/include/arm/arch-arm.inc`` file sets the - following extension: - :: + following extension:: ABIEXTENSION = "eabi" @@ -37,8 +36,7 @@ system and gives an overview of their function and contents. requirement on the existence of the package. Like all package-controlling variables, you must always use them in - conjunction with a package name override, as in: - :: + conjunction with a package name override, as in:: ALLOW_EMPTY_${PN} = "1" ALLOW_EMPTY_${PN}-dev = "1" @@ -54,8 +52,7 @@ system and gives an overview of their function and contents. To use the variable, list out the package's commands that also exist as part of another package. For example, if the ``busybox`` package has four commands that also exist as part of another package, you - identify them as follows: - :: + identify them as follows:: ALTERNATIVE_busybox = "sh sed test bracket" @@ -68,8 +65,7 @@ system and gives an overview of their function and contents. locations. For example, if the ``bracket`` command provided by the ``busybox`` package is duplicated through another package, you must use the ``ALTERNATIVE_LINK_NAME`` variable to specify the actual - location: - :: + location:: ALTERNATIVE_LINK_NAME[bracket] = "/usr/bin/[" @@ -90,8 +86,7 @@ system and gives an overview of their function and contents. default regardless of the command name or package, a default for specific duplicated commands regardless of the package, or a default for specific commands tied to particular packages. Here are the - available syntax forms: - :: + available syntax forms:: ALTERNATIVE_PRIORITY = "priority" ALTERNATIVE_PRIORITY[name] = "priority" @@ -107,8 +102,7 @@ system and gives an overview of their function and contents. default location for all duplicated commands regardless of the command name or package, a default for specific duplicated commands regardless of the package, or a default for specific commands tied to - particular packages. Here are the available syntax forms: - :: + particular packages. Here are the available syntax forms:: ALTERNATIVE_TARGET = "target" ALTERNATIVE_TARGET[name] = "target" @@ -159,8 +153,7 @@ system and gives an overview of their function and contents. determines the type of information used to create a released archive. You can use this variable to create archives of patched source, original source, configured source, and so forth by employing the - following variable flags (varflags): - :: + following variable flags (varflags):: ARCHIVER_MODE[src] = "original" # Uses original (unpacked) source files. ARCHIVER_MODE[src] = "patched" # Uses patched source files. This is the default. @@ -193,14 +186,12 @@ system and gives an overview of their function and contents. system. Separate multiple entries using spaces. As an example, use the following form to add an ``shlib`` provider of - shlibname in packagename with the optional version: - :: + shlibname in packagename with the optional version:: shlibname:packagename[_version] Here is an example that adds a shared library named ``libEGL.so.1`` - as being provided by the ``libegl-implementation`` package: - :: + as being provided by the ``libegl-implementation`` package:: ASSUME_SHLIBS = "libEGL.so.1:libegl-implementation" @@ -224,8 +215,7 @@ system and gives an overview of their function and contents. :term:`AUTOREV` When ``SRCREV`` is set to the value of this variable, it specifies to - use the latest source revision in the repository. Here is an example: - :: + use the latest source revision in the repository. Here is an example:: SRCREV = "${AUTOREV}" @@ -286,8 +276,7 @@ system and gives an overview of their function and contents. The directory within the :term:`Build Directory` in which the OpenEmbedded build system places generated objects during a recipe's build process. By default, this directory is the same as the - :term:`S` directory, which is defined as: - :: + :term:`S` directory, which is defined as:: S = "${WORKDIR}/${BP}" @@ -301,15 +290,13 @@ system and gives an overview of their function and contents. packages are packages installed only through the :term:`RRECOMMENDS` variable. You can prevent any of these "recommended" packages from being installed by listing them - with the ``BAD_RECOMMENDATIONS`` variable: - :: + with the ``BAD_RECOMMENDATIONS`` variable:: BAD_RECOMMENDATIONS = "package_name package_name package_name ..." You can set this variable globally in your ``local.conf`` file or you can attach it to a specific image recipe by using the recipe name - override: - :: + override:: BAD_RECOMMENDATIONS_pn-target_image = "package_name" @@ -394,8 +381,7 @@ system and gives an overview of their function and contents. You can change the default behavior by setting this variable to "1", "yes", or "true" in your ``local.conf`` file, which is located in the - :term:`Build Directory`: Here is an example: - :: + :term:`Build Directory`: Here is an example:: BB_DANGLINGAPPENDS_WARNONLY = "1" @@ -444,8 +430,7 @@ system and gives an overview of their function and contents. not specify G, M, or K, Kbytes is assumed by default. Do not use GB, MB, or KB. - Here are some examples: - :: + Here are some examples:: BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K" BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G" @@ -485,8 +470,7 @@ system and gives an overview of their function and contents. If you do not provide a ``BB_DISKMON_WARNINTERVAL`` variable and you do use ``BB_DISKMON_DIRS`` with the "WARN" action, the disk - monitoring interval defaults to the following: - :: + monitoring interval defaults to the following:: BB_DISKMON_WARNINTERVAL = "50M,5K" @@ -509,8 +493,7 @@ system and gives an overview of their function and contents. G, M, or K for Gbytes, Mbytes, or Kbytes, respectively. You cannot use GB, MB, or KB. - Here is an example: - :: + Here is an example:: BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K" BB_DISKMON_WARNINTERVAL = "50M,5K" @@ -566,8 +549,7 @@ system and gives an overview of their function and contents. long the BitBake server stays resident between invocations. For example, the following statement in your ``local.conf`` file - instructs the server to be unloaded after 20 seconds of inactivity: - :: + instructs the server to be unloaded after 20 seconds of inactivity:: BB_SERVER_TIMEOUT = "20" @@ -585,8 +567,7 @@ system and gives an overview of their function and contents. "``multilib:``\ multilib_name". To build a different variant of the recipe with a minimal amount of - code, it usually is as simple as adding the following to your recipe: - :: + code, it usually is as simple as adding the following to your recipe:: BBCLASSEXTEND =+ "native nativesdk" BBCLASSEXTEND =+ "multilib:multilib_name" @@ -662,8 +643,7 @@ system and gives an overview of their function and contents. Use the following form for ``BBFILES_DYNAMIC``: collection_name:filename_pattern The following example identifies two - collection names and two filename patterns: - :: + collection names and two filename patterns:: BBFILES_DYNAMIC += " \ clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \ @@ -691,8 +671,7 @@ system and gives an overview of their function and contents. :term:`BBLAYERS` Lists the layers to enable during the build. This variable is defined in the ``bblayers.conf`` configuration file in the :term:`Build Directory`. - Here is an example: - :: + Here is an example:: BBLAYERS = " \ /home/scottrif/poky/meta \ @@ -721,14 +700,13 @@ system and gives an overview of their function and contents. The following example uses a complete regular expression to tell BitBake to ignore all recipe and recipe append files in the - ``meta-ti/recipes-misc/`` directory: - :: + ``meta-ti/recipes-misc/`` directory:: BBMASK = "meta-ti/recipes-misc/" If you want to mask out multiple directories or recipes, you can specify multiple regular expression fragments. This next example - masks out multiple directories and individual recipes: :: + masks out multiple directories and individual recipes:: BBMASK += "/meta-ti/recipes-misc/ meta-ti/recipes-ti/packagegroup/" BBMASK += "/meta-oe/recipes-support/" @@ -746,8 +724,7 @@ system and gives an overview of their function and contents. building targets with multiple configurations. Use this variable in your ``conf/local.conf`` configuration file. Specify a multiconfigname for each configuration file you are using. For - example, the following line specifies three configuration files: - :: + example, the following line specifies three configuration files:: BBMULTICONFIG = "configA configB configC" @@ -770,8 +747,7 @@ system and gives an overview of their function and contents. If you run BitBake from a directory outside of the :term:`Build Directory`, you must be sure to set ``BBPATH`` to point to the Build Directory. Set the variable as you would any - environment variable and then run BitBake: - :: + environment variable and then run BitBake:: $ BBPATH = "build_directory" $ export BBPATH @@ -783,8 +759,7 @@ system and gives an overview of their function and contents. BitBake remote server. Use the following format to export the variable to the BitBake - environment: - :: + environment:: export BBSERVER=localhost:$port @@ -803,8 +778,7 @@ system and gives an overview of their function and contents. replaced. To add multiple scripts, separate them by spaces. Here is an example - from the ``libpng`` recipe: - :: + from the ``libpng`` recipe:: BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config" @@ -834,8 +808,7 @@ system and gives an overview of their function and contents. :term:`BP` The base recipe name and version but without any special recipe name suffix (i.e. ``-native``, ``lib64-``, and so forth). ``BP`` is - comprised of the following: - :: + comprised of the following:: ${BPN}-${PV} @@ -975,8 +948,7 @@ system and gives an overview of their function and contents. you should set this value to "1". By default, the ``buildhistory`` class does not commit the build - history output in a local Git repository: - :: + history output in a local Git repository:: BUILDHISTORY_COMMIT ?= "0" @@ -992,8 +964,7 @@ system and gives an overview of their function and contents. email@host". Providing an email address or host that is not valid does not produce an error. - By default, the ``buildhistory`` class sets the variable as follows: - :: + By default, the ``buildhistory`` class sets the variable as follows:: BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory " @@ -1003,8 +974,7 @@ system and gives an overview of their function and contents. information is kept. For more information on how the variable works, see the ``buildhistory.class``. - By default, the ``buildhistory`` class sets the directory as follows: - :: + By default, the ``buildhistory`` class sets the directory as follows:: BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory" @@ -1032,8 +1002,7 @@ system and gives an overview of their function and contents. each file staged (i.e. the output of the task). By default, the ``buildhistory`` class enables the following - features: - :: + features:: BUILDHISTORY_FEATURES ?= "image package sdk" @@ -1049,8 +1018,7 @@ system and gives an overview of their function and contents. Consequently, you can include files that might not always be present. By default, the ``buildhistory`` class provides paths to the - following files: - :: + following files:: BUILDHISTORY_IMAGE_FILES ?= "/etc/passwd /etc/group" @@ -1067,8 +1035,7 @@ system and gives an overview of their function and contents. that you have set up manually using ``git remote`` within the local repository. - By default, the ``buildhistory`` class sets the variable as follows: - :: + By default, the ``buildhistory`` class sets the variable as follows:: BUILDHISTORY_PUSH_REPO ?= "" @@ -1152,8 +1119,7 @@ system and gives an overview of their function and contents. ``bitbake.conf`` file. As an example, the following override allows you to install extra - files, but only when building for the target: - :: + files, but only when building for the target:: do_install_append_class-target() { install my-extra-file ${D}${sysconfdir} @@ -1161,8 +1127,7 @@ system and gives an overview of their function and contents. Here is an example where ``FOO`` is set to "native" when building for the build host, and to "other" when not - building for the build host: - :: + building for the build host:: FOO_class-native = "native" FOO = "other" @@ -1235,8 +1200,7 @@ system and gives an overview of their function and contents. To add a new feature item pointing to a wildcard, use a variable flag to specify the feature item name and use the value to specify the - wildcard. Here is an example: - :: + wildcard. Here is an example:: COMPLEMENTARY_GLOB[dev-pkgs] = '*-dev' @@ -1268,8 +1232,7 @@ system and gives an overview of their function and contents. To use the ``CONFFILES`` variable, provide a package name override that identifies the resulting package. Then, provide a - space-separated list of files. Here is an example: - :: + space-separated list of files. Here is an example:: CONFFILES_${PN} += "${sysconfdir}/file1 \ ${sysconfdir}/file2 ${sysconfdir}/file3" @@ -1524,8 +1487,7 @@ system and gives an overview of their function and contents. The destination directory. The location in the :term:`Build Directory` where components are installed by the :ref:`ref-tasks-install` task. This location defaults - to: - :: + to:: ${WORKDIR}/image @@ -1547,8 +1509,7 @@ system and gives an overview of their function and contents. which is the default behavior, ``DEBIAN_NOAUTONAME`` specifies a particular package should not be renamed according to Debian library package naming. You must use the package name as an override when you - set this variable. Here is an example from the ``fontconfig`` recipe: - :: + set this variable. Here is an example from the ``fontconfig`` recipe:: DEBIAN_NOAUTONAME_fontconfig-utils = "1" @@ -1558,17 +1519,10 @@ system and gives an overview of their function and contents. the library name for an individual package. Overriding the library name in these cases is rare. You must use the package name as an override when you set this variable. Here is an example from the - ``dbus`` recipe: - :: + ``dbus`` recipe:: DEBIANNAME_${PN} = "dbus-1" - :term:`DEBUGINFOD_URLS` - Points to the URL of the "debuginfod" server. Such that for every - debugging information lookup, the debuginfod client will query the - server and return the requested information. You set this variable - in your ``local.conf`` file. - :term:`DEBUG_BUILD` Specifies to build packages with debugging information. This influences the value of the ``SELECTED_OPTIMIZATION`` variable. @@ -1610,8 +1564,7 @@ system and gives an overview of their function and contents. needed by the recipe at build time. As an example, consider a recipe ``foo`` that contains the following - assignment: - :: + assignment:: DEPENDS = "bar" @@ -1635,8 +1588,7 @@ system and gives an overview of their function and contents. As another example, ``DEPENDS`` can also be used to add utilities that run on the build machine during the build. For example, a recipe that makes use of a code generator built by the recipe ``codegen`` - might have the following: - :: + might have the following:: DEPENDS = "codegen-native" @@ -1702,8 +1654,7 @@ system and gives an overview of their function and contents. The BitBake configuration file initially defines the ``DEPLOY_DIR_DEB`` variable as a sub-folder of - :term:`DEPLOY_DIR`: - :: + :term:`DEPLOY_DIR`:: DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb" @@ -1738,8 +1689,7 @@ system and gives an overview of their function and contents. "package_ipk". The BitBake configuration file initially defines this variable as a - sub-folder of :term:`DEPLOY_DIR`: - :: + sub-folder of :term:`DEPLOY_DIR`:: DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk" @@ -1759,8 +1709,7 @@ system and gives an overview of their function and contents. "package_rpm". The BitBake configuration file initially defines this variable as a - sub-folder of :term:`DEPLOY_DIR`: - :: + sub-folder of :term:`DEPLOY_DIR`:: DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm" @@ -1780,8 +1729,7 @@ system and gives an overview of their function and contents. "package_tar". The BitBake configuration file initially defines this variable as a - sub-folder of :term:`DEPLOY_DIR`: - :: + sub-folder of :term:`DEPLOY_DIR`:: DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar" @@ -1796,8 +1744,7 @@ system and gives an overview of their function and contents. :term:`DEPLOYDIR` When inheriting the :ref:`deploy ` class, the ``DEPLOYDIR`` points to a temporary work area for deployed files that - is set in the ``deploy`` class as follows: - :: + is set in the ``deploy`` class as follows:: DEPLOYDIR = "${WORKDIR}/deploy-${PN}" @@ -1824,8 +1771,7 @@ system and gives an overview of their function and contents. :term:`Source Directory`. Within that ``poky.conf`` file, the ``DISTRO`` variable is set as - follows: - :: + follows:: DISTRO = "poky" @@ -1899,8 +1845,7 @@ system and gives an overview of their function and contents. able to reuse the default :term:`DISTRO_FEATURES` options without the need to write out the full set. Here is an example that uses - ``DISTRO_FEATURES_DEFAULT`` from a custom distro configuration file: - :: + ``DISTRO_FEATURES_DEFAULT`` from a custom distro configuration file:: DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} myfeature" @@ -1948,8 +1893,7 @@ system and gives an overview of their function and contents. of the :term:`Source Directory`. Within that ``poky.conf`` file, the ``DISTRO_NAME`` variable is set - as follows: - :: + as follows:: DISTRO_NAME = "Poky (Yocto Project Reference Distro)" @@ -2065,8 +2009,7 @@ system and gives an overview of their function and contents. You can set ``ERR_REPORT_DIR`` to the path you want the error reporting tool to store the debug files as follows in your - ``local.conf`` file: - :: + ``local.conf`` file:: ERR_REPORT_DIR = "path" @@ -2094,8 +2037,7 @@ system and gives an overview of their function and contents. package's particular libraries only and not the whole package. Use the ``EXCLUDE_FROM_SHLIBS`` variable by setting it to "1" for a - particular package: - :: + particular package:: EXCLUDE_FROM_SHLIBS = "1" @@ -2129,8 +2071,7 @@ system and gives an overview of their function and contents. The full package version specification as it appears on the final packages produced by a recipe. The variable's value is normally used to fix a runtime dependency to the exact same version of another - package in the same recipe: - :: + package in the same recipe:: RDEPENDS_${PN}-additional-module = "${PN} (= ${EXTENDPKGV})" @@ -2230,8 +2171,7 @@ system and gives an overview of their function and contents. Specifies additional options for the image creation command that has been specified in :term:`IMAGE_CMD`. When setting this variable, use an override for the associated image type. Here is - an example: - :: + an example:: EXTRA_IMAGECMD_ext3 ?= "-i 4096" @@ -2255,8 +2195,7 @@ system and gives an overview of their function and contents. added to the beginning of the environment variable ``PATH``. As an example, the following prepends "${STAGING_BINDIR_NATIVE}/foo:${STAGING_BINDIR_NATIVE}/bar:" to - ``PATH``: - :: + ``PATH``:: EXTRANATIVEPATH = "foo bar" @@ -2294,8 +2233,7 @@ system and gives an overview of their function and contents. The set list of commands you can configure using the ``EXTRA_USERS_PARAMS`` is shown in the ``extrausers`` class. These - commands map to the normal Unix commands of the same names: - :: + commands map to the normal Unix commands of the same names:: # EXTRA_USERS_PARAMS = "\ # useradd -p '' tester; \ @@ -2321,8 +2259,7 @@ system and gives an overview of their function and contents. Defines one or more packages to include in an image when a specific item is included in :term:`IMAGE_FEATURES`. When setting the value, ``FEATURE_PACKAGES`` should have the name of - the feature item as an override. Here is an example: - :: + the feature item as an override. Here is an example:: FEATURE_PACKAGES_widget = "package1 package2" @@ -2342,8 +2279,7 @@ system and gives an overview of their function and contents. OPKG to support runtime package management of IPK packages. You set this variable in your ``local.conf`` file. - Consider the following example: - :: + Consider the following example:: FEED_DEPLOYDIR_BASE_URI = "http://192.168.7.1/BOARD-dir" @@ -2362,8 +2298,7 @@ system and gives an overview of their function and contents. To use the ``FILES`` variable, provide a package name override that identifies the resulting package. Then, provide a space-separated list of files or paths that identify the files you want included as - part of the resulting package. Here is an example: - :: + part of the resulting package. Here is an example:: FILES_${PN} += "${bindir}/mydir1 ${bindir}/mydir2/myfile" @@ -2398,8 +2333,7 @@ system and gives an overview of their function and contents. symbolic link (symlink) for shared libraries on the target platform. The following statement from the ``bitbake.conf`` shows how it is - set: - :: + set:: FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}" @@ -2413,8 +2347,7 @@ system and gives an overview of their function and contents. Best practices dictate that you accomplish this by using ``FILESEXTRAPATHS`` from within a ``.bbappend`` file and that you - prepend paths as follows: - :: + prepend paths as follows:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" @@ -2436,8 +2369,7 @@ system and gives an overview of their function and contents. are directing BitBake to extend the path by prepending directories to the search path. - Here is another common use: - :: + Here is another common use:: FILESEXTRAPATHS_prepend := "${THISDIR}/files:" @@ -2445,15 +2377,13 @@ system and gives an overview of their function and contents. ``FILESPATH`` variable to include a directory named ``files`` that is in the same directory as the corresponding append file. - This next example specifically adds three paths: - :: + This next example specifically adds three paths:: FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:" A final example shows how you can extend the search path and include a :term:`MACHINE`-specific override, which is useful - in a BSP layer: - :: + in a BSP layer:: FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:" @@ -2485,8 +2415,7 @@ system and gives an overview of their function and contents. ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" section of the BitBake User Manual. - By default, the ``FILESOVERRIDES`` variable is defined as: - :: + By default, the ``FILESOVERRIDES`` variable is defined as:: FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}" @@ -2507,8 +2436,7 @@ system and gives an overview of their function and contents. The default value for the ``FILESPATH`` variable is defined in the ``base.bbclass`` class found in ``meta/classes`` in the - :term:`Source Directory`: - :: + :term:`Source Directory`:: FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", \ "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}" @@ -2533,8 +2461,7 @@ system and gives an overview of their function and contents. You can take advantage of this searching behavior in useful ways. For example, consider a case where the following directory structure - exists for general and machine-specific configurations: - :: + exists for general and machine-specific configurations:: files/defconfig files/MACHINEA/defconfig @@ -2662,16 +2589,14 @@ system and gives an overview of their function and contents. Programming (ROP) attacks much more difficult to execute. By default the ``security_flags.inc`` file enables PIE by setting the - variable as follows: - :: + variable as follows:: GCCPIE ?= "--enable-default-pie" :term:`GCCVERSION` Specifies the default version of the GNU C Compiler (GCC) used for compilation. By default, ``GCCVERSION`` is set to "8.x" in the - ``meta/conf/distro/include/tcmode-default.inc`` include file: - :: + ``meta/conf/distro/include/tcmode-default.inc`` include file:: GCCVERSION ?= "8.%" @@ -2706,8 +2631,7 @@ system and gives an overview of their function and contents. passed to the ``groupadd`` command if you wish to add a group to the system when the package is installed. - Here is an example from the ``dbus`` recipe: - :: + Here is an example from the ``dbus`` recipe:: GROUPADD_PARAM_${PN} = "-r netdev" @@ -2855,13 +2779,11 @@ system and gives an overview of their function and contents. section. Setting this variable to "1" in your ``local.conf`` disables the - function: - :: + function:: ICECC_DISABLED ??= "1" - To enable the function, set the variable as follows: - :: + To enable the function, set the variable as follows:: ICECC_DISABLED = "" @@ -2946,8 +2868,7 @@ system and gives an overview of their function and contents. installed name, separate it from the original name with a semi-colon (;). Source files need to be located in :term:`DEPLOY_DIR_IMAGE`. Here are two - examples: - :: + examples:: IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE};bz2" IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE} microcode.cpio" @@ -2956,8 +2877,7 @@ system and gives an overview of their function and contents. this case, the destination file must have the same name as the base name of the source file path. To install files into a directory within the target location, pass its name after a semi-colon (;). - Here are two examples: - :: + Here are two examples:: IMAGE_EFI_BOOT_FILES = "boot/loader/*" IMAGE_EFI_BOOT_FILES = "boot/loader/*;boot/" @@ -2982,8 +2902,7 @@ system and gives an overview of their function and contents. installed name, separate it from the original name with a semi-colon (;). Source files need to be located in :term:`DEPLOY_DIR_IMAGE`. Here are two - examples: - :: + examples:: IMAGE_BOOT_FILES = "u-boot.img uImage;kernel" IMAGE_BOOT_FILES = "u-boot.${UBOOT_SUFFIX} ${KERNEL_IMAGETYPE}" @@ -2992,8 +2911,7 @@ system and gives an overview of their function and contents. this case, the destination file must have the same name as the base name of the source file path. To install files into a directory within the target location, pass its name after a semi-colon (;). - Here are two examples: - :: + Here are two examples:: IMAGE_BOOT_FILES = "bcm2835-bootfiles/*" IMAGE_BOOT_FILES = "bcm2835-bootfiles/*;boot/" @@ -3026,8 +2944,7 @@ system and gives an overview of their function and contents. type, which corresponds to the value set in :term:`IMAGE_FSTYPES`, (e.g. ``ext3``, ``btrfs``, and so forth). When setting this variable, you should use - an override for the associated type. Here is an example: - :: + an override for the associated type. Here is an example:: IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} \ --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ @@ -3071,8 +2988,7 @@ system and gives an overview of their function and contents. Specifies the formats the OpenEmbedded build system uses during the build when creating the root filesystem. For example, setting ``IMAGE_FSTYPES`` as follows causes the build system to create root - filesystems using two formats: ``.ext3`` and ``.tar.bz2``: - :: + filesystems using two formats: ``.ext3`` and ``.tar.bz2``:: IMAGE_FSTYPES = "ext3 tar.bz2" @@ -3103,8 +3019,7 @@ system and gives an overview of their function and contents. auto-generated entries in ``IMAGE_INSTALL`` in addition to its default contents. - When you use this variable, it is best to use it as follows: - :: + When you use this variable, it is best to use it as follows:: IMAGE_INSTALL_append = " package-name" @@ -3147,8 +3062,7 @@ system and gives an overview of their function and contents. into separate packages. Setting the ``IMAGE_LINGUAS`` variable ensures that any locale packages that correspond to packages already selected for installation into the image are also installed. Here is - an example: - :: + an example:: IMAGE_LINGUAS = "pt-br de-de" @@ -3167,8 +3081,7 @@ system and gives an overview of their function and contents. The name of the output image symlink (which does not include the version part as :term:`IMAGE_NAME` does). The default value is derived using the :term:`IMAGE_BASENAME` and :term:`MACHINE` - variables: - :: + variables:: IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}" @@ -3176,14 +3089,12 @@ system and gives an overview of their function and contents. :term:`IMAGE_MANIFEST` The manifest file for the image. This file lists all the installed packages that make up the image. The file contains package - information on a line-per-package basis as follows: - :: + information on a line-per-package basis as follows:: packagename packagearch version The :ref:`image ` class defines the manifest - file as follows: - :: + file as follows:: IMAGE_MANIFEST ="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.manifest" @@ -3197,8 +3108,7 @@ system and gives an overview of their function and contents. The name of the output image files minus the extension. This variable is derived using the :term:`IMAGE_BASENAME`, :term:`MACHINE`, and :term:`IMAGE_VERSION_SUFFIX` - variables: - :: + variables:: IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}" @@ -3229,8 +3139,7 @@ system and gives an overview of their function and contents. to boot and allows for basic post installs while still leaving a small amount of free disk space. If 30% free space is inadequate, you can increase the default value. For example, the following setting - gives you 50% free space added to the image: - :: + gives you 50% free space added to the image:: IMAGE_OVERHEAD_FACTOR = "1.5" @@ -3271,8 +3180,7 @@ system and gives an overview of their function and contents. :term:`IMAGE_POSTPROCESS_COMMAND` Specifies a list of functions to call once the OpenEmbedded build system creates the final image output files. You can specify - functions separated by semicolons: - :: + functions separated by semicolons:: IMAGE_POSTPROCESS_COMMAND += "function; ... " @@ -3285,8 +3193,7 @@ system and gives an overview of their function and contents. :term:`IMAGE_PREPROCESS_COMMAND` Specifies a list of functions to call before the OpenEmbedded build system creates the final image output files. You can specify - functions separated by semicolons: - :: + functions separated by semicolons:: IMAGE_PREPROCESS_COMMAND += "function; ... " @@ -3317,14 +3224,12 @@ system and gives an overview of their function and contents. This variable is particularly useful when you want to ensure that a specific amount of free disk space is available on a device after an image is installed and running. For example, to be sure 5 Gbytes of - free disk space is available, set the variable as follows: - :: + free disk space is available, set the variable as follows:: IMAGE_ROOTFS_EXTRA_SPACE = "5242880" For example, the Yocto Project Build Appliance specifically requests - 40 Gbytes of extra space with the line: - :: + 40 Gbytes of extra space with the line:: IMAGE_ROOTFS_EXTRA_SPACE = "41943040" @@ -3335,8 +3240,7 @@ system and gives an overview of their function and contents. the generated image, a requested size for the image, and requested additional free disk space to be added to the image. Programatically, the build system determines the final size of the generated image as - follows: - :: + follows:: if (image-du * overhead) < rootfs-size: internal-rootfs-size = rootfs-size + xspace @@ -3355,8 +3259,7 @@ system and gives an overview of their function and contents. :term:`IMAGE_TYPEDEP` Specifies a dependency from one image type on another. Here is an - example from the :ref:`image-live ` class: - :: + example from the :ref:`image-live ` class:: IMAGE_TYPEDEP_live = "ext3" @@ -3443,8 +3346,7 @@ system and gives an overview of their function and contents. variable. Once the variable is defined in the ``include`` file, you can use the variable to set the ``PR`` values in each recipe. You will notice that when you set a recipe's ``PR`` you can provide more - granular revisioning by appending values to the ``INC_PR`` variable: - :: + granular revisioning by appending values to the ``INC_PR`` variable:: recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2" recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1" @@ -3467,8 +3369,7 @@ system and gives an overview of their function and contents. .. note:: This functionality is only regularly tested using the following - setting: - :: + setting:: INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0" @@ -3482,8 +3383,7 @@ system and gives an overview of their function and contents. It is possible to define a list of licenses that are allowed to be used instead of the licenses that are excluded. To do this, define a variable ``COMPATIBLE_LICENSES`` with the names of the licenses - that are allowed. Then define ``INCOMPATIBLE_LICENSE`` as: - :: + that are allowed. Then define ``INCOMPATIBLE_LICENSE`` as:: INCOMPATIBLE_LICENSE = "${@' '.join(sorted(set(d.getVar('AVAILABLE_LICENSES').split()) - set(d.getVar('COMPATIBLE_LICENSES').split())))}" @@ -3508,8 +3408,7 @@ system and gives an overview of their function and contents. unlikely that you want to edit this variable. The default value of the variable is set as follows in the - ``meta/conf/distro/defaultsetup.conf`` file: - :: + ``meta/conf/distro/defaultsetup.conf`` file:: INHERIT_DISTRO ?= "debian devshell sstate license" @@ -3533,8 +3432,7 @@ system and gives an overview of their function and contents. To prevent the build system from splitting out debug information during packaging, set the ``INHIBIT_PACKAGE_DEBUG_SPLIT`` variable as - follows: - :: + follows:: INHIBIT_PACKAGE_DEBUG_SPLIT = "1" @@ -3646,15 +3544,13 @@ system and gives an overview of their function and contents. Setting the variable to "1" in a configuration file causes the OpenEmbedded build system to generate a kernel image with the - initramfs specified in ``INITRAMFS_IMAGE`` bundled within: - :: + initramfs specified in ``INITRAMFS_IMAGE`` bundled within:: INITRAMFS_IMAGE_BUNDLE = "1" By default, the :ref:`kernel ` class sets this variable to a - null string as follows: - :: + null string as follows:: INITRAMFS_IMAGE_BUNDLE ?= "" @@ -3672,15 +3568,13 @@ system and gives an overview of their function and contents. :term:`INITRAMFS_LINK_NAME` The link name of the initial RAM filesystem image. This variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as - follows: - :: + follows:: INITRAMFS_LINK_NAME ?= "initramfs-${KERNEL_ARTIFACT_LINK_NAME}" The value of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same - file, has the following value: - :: + file, has the following value:: KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" @@ -3690,14 +3584,12 @@ system and gives an overview of their function and contents. :term:`INITRAMFS_NAME` The base name of the initial RAM filesystem image. This variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as - follows: - :: + follows:: INITRAMFS_NAME ?= "initramfs-${KERNEL_ARTIFACT_NAME}" The value of the :term:`KERNEL_ARTIFACT_NAME` - variable, which is set in the same file, has the following value: - :: + variable, which is set in the same file, has the following value:: KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" @@ -3735,8 +3627,7 @@ system and gives an overview of their function and contents. variable. :term:`INITSCRIPT_PARAMS` - Specifies the options to pass to ``update-rc.d``. Here is an example: - :: + Specifies the options to pass to ``update-rc.d``. Here is an example:: INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ." @@ -3756,8 +3647,7 @@ system and gives an overview of their function and contents. recipe. For example, to skip the check for symbolic link ``.so`` files in the main package of a recipe, add the following to the recipe. The package name override must be used, which in this example - is ``${PN}``: - :: + is ``${PN}``:: INSANE_SKIP_${PN} += "dev-so" @@ -3799,8 +3689,7 @@ system and gives an overview of their function and contents. kernel's append file. For example, if you are using the ``linux-yocto_4.12`` kernel, the kernel recipe file is the ``meta/recipes-kernel/linux/linux-yocto_4.12.bb`` file. ``KBRANCH`` - is set as follows in that kernel recipe file: - :: + is set as follows in that kernel recipe file:: KBRANCH ?= "standard/base" @@ -3812,8 +3701,7 @@ system and gives an overview of their function and contents. Beaglebone, EdgeRouter, and generic versions of both 32 and 64-bit IA machines (``meta-yocto-bsp``) is named ``meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend``. - Here are the related statements from that append file: - :: + Here are the related statements from that append file:: KBRANCH_genericx86 = "standard/base" KBRANCH_genericx86-64 = "standard/base" @@ -3839,19 +3727,16 @@ system and gives an overview of their function and contents. ``defconfig`` file. To use the variable, set it in the append file for your kernel recipe - using the following form: - :: + using the following form:: KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file Here is an example from a "raspberrypi2" ``KMACHINE`` build that uses - a ``defconfig`` file named "bcm2709_defconfig": - :: + a ``defconfig`` file named "bcm2709_defconfig":: KBUILD_DEFCONFIG_raspberrypi2 = "bcm2709_defconfig" - As an alternative, you can use the following within your append file: - :: + As an alternative, you can use the following within your append file:: KBUILD_DEFCONFIG_pn-linux-yocto ?= defconfig_file @@ -3872,8 +3757,7 @@ system and gives an overview of their function and contents. The value of ``KERNEL_ARTIFACT_NAME``, which is set in the ``meta/classes/kernel-artifact-names.bbclass`` file, has the - following default value: - :: + following default value:: KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" @@ -3905,15 +3789,13 @@ system and gives an overview of their function and contents. :term:`KERNEL_DTB_LINK_NAME` The link name of the kernel device tree binary (DTB). This variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as - follows: - :: + follows:: KERNEL_DTB_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" The value of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in - the same file, has the following value: - :: + the same file, has the following value:: KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" @@ -3923,14 +3805,12 @@ system and gives an overview of their function and contents. :term:`KERNEL_DTB_NAME` The base name of the kernel device tree binary (DTB). This variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` file as - follows: - :: + follows:: KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of the :term:`KERNEL_ARTIFACT_NAME` - variable, which is set in the same file, has the following value: - :: + variable, which is set in the same file, has the following value:: KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" @@ -3965,8 +3845,7 @@ system and gives an overview of their function and contents. For example, the following example from the ``linux-yocto-rt_4.12`` kernel recipe adds "netfilter" and "taskstats" features to all BSPs as well as "virtio" configurations to all QEMU machines. The last two - statements add specific configurations to targeted machine types: - :: + statements add specific configurations to targeted machine types:: KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" KERNEL_FEATURES_append = "${KERNEL_EXTRA_FEATURES}" @@ -3977,15 +3856,13 @@ system and gives an overview of their function and contents. :term:`KERNEL_FIT_LINK_NAME` The link name of the kernel flattened image tree (FIT) image. This variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` - file as follows: - :: + file as follows:: KERNEL_FIT_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" The value of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same - file, has the following value: - :: + file, has the following value:: KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" @@ -3995,28 +3872,24 @@ system and gives an overview of their function and contents. :term:`KERNEL_FIT_NAME` The base name of the kernel flattened image tree (FIT) image. This variable is set in the ``meta/classes/kernel-artifact-names.bbclass`` - file as follows: - :: + file as follows:: KERNEL_FIT_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of the :term:`KERNEL_ARTIFACT_NAME` - variable, which is set in the same file, has the following value: - :: + variable, which is set in the same file, has the following value:: KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" :term:`KERNEL_IMAGE_LINK_NAME` The link name for the kernel image. This variable is set in the - ``meta/classes/kernel-artifact-names.bbclass`` file as follows: - :: + ``meta/classes/kernel-artifact-names.bbclass`` file as follows:: KERNEL_IMAGE_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" The value of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the same - file, has the following value: - :: + file, has the following value:: KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" @@ -4038,15 +3911,13 @@ system and gives an overview of their function and contents. :term:`KERNEL_IMAGE_NAME` The base name of the kernel image. This variable is set in the - ``meta/classes/kernel-artifact-names.bbclass`` file as follows: - :: + ``meta/classes/kernel-artifact-names.bbclass`` file as follows:: KERNEL_IMAGE_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of the :term:`KERNEL_ARTIFACT_NAME` variable, - which is set in the same file, has the following value: - :: + which is set in the same file, has the following value:: KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" @@ -4074,8 +3945,7 @@ system and gives an overview of their function and contents. configuration file, an append file for the recipe, or the recipe itself). - Specify it as follows: - :: + Specify it as follows:: KERNEL_MODULE_AUTOLOAD += "module_name1 module_name2 module_name3" @@ -4083,8 +3953,7 @@ system and gives an overview of their function and contents. system to populate the ``/etc/modules-load.d/modname.conf`` file with the list of modules to be auto-loaded on boot. The modules appear one-per-line in the file. Here is an example of the most common use - case: - :: + case:: KERNEL_MODULE_AUTOLOAD += "module_name" @@ -4146,8 +4015,7 @@ system and gives an overview of their function and contents. Provides a short description of a configuration fragment. You use this variable in the ``.scc`` file that describes a configuration fragment file. Here is the variable used in a file named ``smp.scc`` - to describe SMP being enabled: - :: + to describe SMP being enabled:: define KFEATURE_DESCRIPTION "Enable SMP" @@ -4163,8 +4031,7 @@ system and gives an overview of their function and contents. These mappings between different names occur in the Yocto Linux Kernel's ``meta`` branch. As an example take a look in the - ``common/recipes-kernel/linux/linux-yocto_3.19.bbappend`` file: - :: + ``common/recipes-kernel/linux/linux-yocto_3.19.bbappend`` file:: LINUX_VERSION_core2-32-intel-common = "3.19.0" COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" @@ -4202,8 +4069,7 @@ system and gives an overview of their function and contents. :term:`LAYERDEPENDS` Lists the layers, separated by spaces, on which this recipe depends. Optionally, you can specify a specific layer version for a dependency - by adding it to the end of the layer name. Here is an example: - :: + by adding it to the end of the layer name. Here is an example:: LAYERDEPENDS_mylayer = "anotherlayer (=3)" @@ -4228,8 +4094,7 @@ system and gives an overview of their function and contents. Optionally, you can specify a specific layer version for a recommendation by adding the version to the end of the layer name. - Here is an example: - :: + Here is an example:: LAYERRECOMMENDS_mylayer = "anotherlayer (=3)" @@ -4253,8 +4118,7 @@ system and gives an overview of their function and contents. For the list, use the Yocto Project :yocto_wiki:`Release Name ` (e.g. &DISTRO_NAME_NO_CAP;). To specify multiple OE-Core versions for the - layer, use a space-separated list: - :: + layer, use a space-separated list:: LAYERSERIES_COMPAT_layer_root_name = "&DISTRO_NAME_NO_CAP; &DISTRO_NAME_NO_CAP_MINUS_ONE;" @@ -4335,8 +4199,7 @@ system and gives an overview of their function and contents. :term:`SPDXLICENSEMAP` flag names defined in ``meta/conf/licenses.conf``. - Here are some examples: - :: + Here are some examples:: LICENSE = "LGPLv2.1 | GPLv3" LICENSE = "MPL-1 & LGPLv2.1" @@ -4353,8 +4216,7 @@ system and gives an overview of their function and contents. situations where components of the output have different licenses. For example, a piece of software whose code is licensed under GPLv2 but has accompanying documentation licensed under the GNU Free - Documentation License 1.2 could be specified as follows: - :: + Documentation License 1.2 could be specified as follows:: LICENSE = "GFDL-1.2 & GPLv2" LICENSE_${PN} = "GPLv2" @@ -4409,8 +4271,7 @@ system and gives an overview of their function and contents. OpenEmbedded build system uses ``COMMON_LICENSE_DIR`` to define the directory that holds common license text used during the build. The ``LICENSE_PATH`` variable allows you to extend that location to other - areas that have additional licenses: - :: + areas that have additional licenses:: LICENSE_PATH += "path-to-additional-common-licenses" @@ -4434,14 +4295,12 @@ system and gives an overview of their function and contents. being built using the OpenEmbedded build system is based. You define this variable in the kernel recipe. For example, the ``linux-yocto-3.4.bb`` kernel recipe found in - ``meta/recipes-kernel/linux`` defines the variables as follows: - :: + ``meta/recipes-kernel/linux`` defines the variables as follows:: LINUX_VERSION ?= "3.4.24" The ``LINUX_VERSION`` variable is used to define :term:`PV` - for the recipe: - :: + for the recipe:: PV = "${LINUX_VERSION}+git${SRCPV}" @@ -4449,16 +4308,14 @@ system and gives an overview of their function and contents. A string extension compiled into the version string of the Linux kernel built with the OpenEmbedded build system. You define this variable in the kernel recipe. For example, the linux-yocto kernel - recipes all define the variable as follows: - :: + recipes all define the variable as follows:: LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}" Defining this variable essentially sets the Linux kernel configuration item ``CONFIG_LOCALVERSION``, which is visible through the ``uname`` command. Here is an example that shows the extension - assuming it was set as previously shown: - :: + assuming it was set as previously shown:: $ uname -r 3.7.0-rc8-custom @@ -4475,8 +4332,7 @@ system and gives an overview of their function and contents. ``MACHINE`` in the ``local.conf`` file found in the :term:`Build Directory`. By default, ``MACHINE`` is set to "qemux86", which is an x86-based architecture machine to be emulated - using QEMU: - :: + using QEMU:: MACHINE ?= "qemux86" @@ -4488,8 +4344,7 @@ system and gives an overview of their function and contents. ``meta/conf/machine``. The list of machines supported by the Yocto Project as shipped - include the following: - :: + include the following:: MACHINE ?= "qemuarm" MACHINE ?= "qemuarm64" @@ -4535,8 +4390,7 @@ system and gives an overview of their function and contents. As an example, suppose the machine for which you are building requires ``example-init`` to be run during boot to initialize the hardware. In this case, you would use the following in the machine's - ``.conf`` configuration file: - :: + ``.conf`` configuration file:: MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "example-init" @@ -4567,8 +4421,7 @@ system and gives an overview of their function and contents. "recommends" relationship so that in the latter case, the build will not fail due to the missing package. To accomplish this, assuming the package for the module was called ``kernel-module-ab123``, you would - use the following in the machine's ``.conf`` configuration file: - :: + use the following in the machine's ``.conf`` configuration file:: MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-ab123" @@ -4604,8 +4457,7 @@ system and gives an overview of their function and contents. exist, so it is acceptable for the build process to depend upon finding the package. In this case, assuming the package for the firmware was called ``wifidriver-firmware``, you would use the - following in the ``.conf`` file for the machine: - :: + following in the ``.conf`` file for the machine:: MACHINE_EXTRA_RDEPENDS += "wifidriver-firmware" @@ -4631,8 +4483,7 @@ system and gives an overview of their function and contents. the build to succeed instead of failing as a result of the package not being found. To accomplish this, assuming the package for the module was called ``kernel-module-examplewifi``, you would use the - following in the ``.conf`` file for the machine: - :: + following in the ``.conf`` file for the machine:: MACHINE_EXTRA_RRECOMMENDS += "kernel-module-examplewifi" @@ -4671,16 +4522,14 @@ system and gives an overview of their function and contents. should apply to a machine. For example, all machines emulated in QEMU (e.g. ``qemuarm``, ``qemux86``, and so forth) include a file named ``meta/conf/machine/include/qemu.inc`` that prepends the following - override to ``MACHINEOVERRIDES``: - :: + override to ``MACHINEOVERRIDES``:: MACHINEOVERRIDES =. "qemuall:" This override allows variables to be overridden for all machines emulated in QEMU, like in the following example from the ``connman-conf`` - recipe: - :: + recipe:: SRC_URI_append_qemuall = " file://wired.config \ file://wired-setup \ @@ -4734,27 +4583,23 @@ system and gives an overview of their function and contents. recipes by using :term:`DEPENDS`, then a dependency on "foo" will automatically get rewritten to a dependency on "nativesdk-foo". However, dependencies like the following will not - get rewritten automatically: - :: + get rewritten automatically:: do_foo[depends] += "recipe:do_foo" If you want such a dependency to also get transformed, you can do the - following: - :: + following:: do_foo[depends] += "${MLPREFIX}recipe:do_foo" module_autoload This variable has been replaced by the ``KERNEL_MODULE_AUTOLOAD`` variable. You should replace all occurrences of ``module_autoload`` - with additions to ``KERNEL_MODULE_AUTOLOAD``, for example: - :: + with additions to ``KERNEL_MODULE_AUTOLOAD``, for example:: module_autoload_rfcomm = "rfcomm" - should now be replaced with: - :: + should now be replaced with:: KERNEL_MODULE_AUTOLOAD += "rfcomm" @@ -4773,8 +4618,7 @@ system and gives an overview of their function and contents. :term:`KERNEL_MODULE_AUTOLOAD` variable. - Here is the general syntax: - :: + Here is the general syntax:: module_conf_module_name = "modprobe.d-syntax" @@ -4786,8 +4630,7 @@ system and gives an overview of their function and contents. Including ``module_conf`` causes the OpenEmbedded build system to populate the ``/etc/modprobe.d/modname.conf`` file with ``modprobe.d`` syntax lines. Here is an example that adds the options - ``arg1`` and ``arg2`` to a module named ``mymodule``: - :: + ``arg1`` and ``arg2`` to a module named ``mymodule``:: module_conf_mymodule = "options mymodule arg1=val1 arg2=val2" @@ -4801,15 +4644,13 @@ system and gives an overview of their function and contents. :term:`MODULE_TARBALL_LINK_NAME` The link name of the kernel module tarball. This variable is set in - the ``meta/classes/kernel-artifact-names.bbclass`` file as follows: - :: + the ``meta/classes/kernel-artifact-names.bbclass`` file as follows:: MODULE_TARBALL_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}" The value of the ``KERNEL_ARTIFACT_LINK_NAME`` variable, which is set in the - same file, has the following value: - :: + same file, has the following value:: KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}" @@ -4817,14 +4658,12 @@ system and gives an overview of their function and contents. :term:`MODULE_TARBALL_NAME` The base name of the kernel module tarball. This variable is set in - the ``meta/classes/kernel-artifact-names.bbclass`` file as follows: - :: + the ``meta/classes/kernel-artifact-names.bbclass`` file as follows:: MODULE_TARBALL_NAME ?= "${KERNEL_ARTIFACT_NAME}" The value of the :term:`KERNEL_ARTIFACT_NAME` variable, - which is set in the same file, has the following value: - :: + which is set in the same file, has the following value:: KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" @@ -4834,8 +4673,7 @@ system and gives an overview of their function and contents. target systems to be put into different subdirectories of the same output directory. - The default value of this variable is: - :: + The default value of this variable is:: ${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS} @@ -4874,15 +4712,13 @@ system and gives an overview of their function and contents. not exist in common licenses. The following example shows how to add ``NO_GENERIC_LICENSE`` to a - recipe: - :: + recipe:: NO_GENERIC_LICENSE[license_name] = "license_file_in_fetched_source" The following is an example that uses the ``LICENSE.Abilis.txt`` file as the license from the fetched - source: - :: + source:: NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENSE.Abilis.txt" @@ -4890,13 +4726,13 @@ system and gives an overview of their function and contents. Prevents installation of all "recommended-only" packages. Recommended-only packages are packages installed only through the :term:`RRECOMMENDS` variable). Setting the - ``NO_RECOMMENDATIONS`` variable to "1" turns this feature on: :: + ``NO_RECOMMENDATIONS`` variable to "1" turns this feature on:: NO_RECOMMENDATIONS = "1" You can set this variable globally in your ``local.conf`` file or you can attach it to a specific image recipe by using the recipe name - override: :: + override:: NO_RECOMMENDATIONS_pn-target_image = "1" @@ -4923,8 +4759,7 @@ system and gives an overview of their function and contents. Disables auto package from splitting ``.debug`` files. If a recipe requires ``FILES_${PN}-dbg`` to be set manually, the ``NOAUTOPACKAGEDEBUG`` can be defined allowing you to define the - content of the debug package. For example: - :: + content of the debug package. For example:: NOAUTOPACKAGEDEBUG = "1" FILES_${PN}-dev = "${includedir}/${QT_DIR_NAME}/Qt/*" @@ -5016,8 +4851,7 @@ system and gives an overview of their function and contents. As an example, if the string "an-override" appears as an element in the colon-separated list in ``OVERRIDES``, then the following assignment will override ``FOO`` with the value "overridden" at the - end of parsing: - :: + end of parsing:: FOO_an-override = "overridden" @@ -5032,8 +4866,7 @@ system and gives an overview of their function and contents. :term:`DISTROOVERRIDES` variables. Another important override included by default is ``pn-${PN}``. This override allows variables to be set for a single recipe within configuration - (``.conf``) files. Here is an example: - :: + (``.conf``) files. Here is an example:: FOO_pn-myrecipe = "myrecipe-specific value" @@ -5045,8 +4878,7 @@ system and gives an overview of their function and contents. Project Development Tasks Manual for more information. :term:`P` - The recipe name and version. ``P`` is comprised of the following: - :: + The recipe name and version. ``P`` is comprised of the following:: ${PN}-${PV} @@ -5082,8 +4914,7 @@ system and gives an overview of their function and contents. However, if your recipe's output packages are built specific to the target machine rather than generally for the architecture of the machine, you should set ``PACKAGE_ARCH`` to the value of - :term:`MACHINE_ARCH` in the recipe as follows: - :: + :term:`MACHINE_ARCH` in the recipe as follows:: PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -5119,8 +4950,7 @@ system and gives an overview of their function and contents. The build system uses only the first argument in the list as the package manager when creating your image or SDK. However, packages will be created using any additional packaging classes you specify. - For example, if you use the following in your ``local.conf`` file: - :: + For example, if you use the following in your ``local.conf`` file:: PACKAGE_CLASSES ?= "package_ipk" @@ -5178,15 +5008,13 @@ system and gives an overview of their function and contents. :term:`PACKAGE_EXCLUDE` Lists packages that should not be installed into an image. For - example: - :: + example:: PACKAGE_EXCLUDE = "package_name package_name package_name ..." You can set this variable globally in your ``local.conf`` file or you can attach it to a specific image recipe by using the recipe name - override: - :: + override:: PACKAGE_EXCLUDE_pn-target_image = "package_name" @@ -5230,8 +5058,7 @@ system and gives an overview of their function and contents. Consider the following example where the ``PACKAGE_FEED_URIS``, ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are - defined in your ``local.conf`` file: - :: + defined in your ``local.conf`` file:: PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ https://example.com/packagerepos/updates" @@ -5260,8 +5087,7 @@ system and gives an overview of their function and contents. Consider the following example where the ``PACKAGE_FEED_URIS``, ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are - defined in your ``local.conf`` file: - :: + defined in your ``local.conf`` file:: PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ https://example.com/packagerepos/updates" @@ -5290,8 +5116,7 @@ system and gives an overview of their function and contents. Consider the following example where the ``PACKAGE_FEED_URIS``, ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are - defined in your ``local.conf`` file: - :: + defined in your ``local.conf`` file:: PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ https://example.com/packagerepos/updates" @@ -5356,8 +5181,7 @@ system and gives an overview of their function and contents. recipe on a per-recipe basis. ``PACKAGECONFIG`` blocks are defined in recipes when you specify features and then arguments that define feature behaviors. Here is the basic block structure (broken over - multiple lines for readability): - :: + multiple lines for readability):: PACKAGECONFIG ??= "f1 f2 f3 ..." PACKAGECONFIG[f1] = "\ @@ -5423,26 +5247,22 @@ system and gives an overview of their function and contents. - *Append file:* Create an append file named recipename\ ``.bbappend`` in your layer and override the value of ``PACKAGECONFIG``. You can either completely override the - variable: - :: + variable:: PACKAGECONFIG = "f4 f5" - Or, you can just append the variable: - :: + Or, you can just append the variable:: PACKAGECONFIG_append = " f4" - *Configuration file:* This method is identical to changing the block through an append file except you edit your ``local.conf`` or ``mydistro.conf`` file. As with append files previously - described, you can either completely override the variable: - :: + described, you can either completely override the variable:: PACKAGECONFIG_pn-recipename = "f4 f5" - Or, you can just amend the variable: - :: + Or, you can just amend the variable:: PACKAGECONFIG_append_pn-recipename = " f4" @@ -5467,8 +5287,7 @@ system and gives an overview of their function and contents. :term:`PACKAGES` The list of packages the recipe creates. The default value is the - following: - :: + following:: ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN} @@ -5594,8 +5413,7 @@ system and gives an overview of their function and contents. patched, it uses "patch". If you wish to use an alternative patching tool, set the variable in - the recipe using one of the following: - :: + the recipe using one of the following:: PATCHTOOL = "patch" PATCHTOOL = "quilt" @@ -5641,8 +5459,7 @@ system and gives an overview of their function and contents. :term:`PKGD` Points to the destination directory for files to be packaged before they are split into individual packages. This directory defaults to - the following: - :: + the following:: ${WORKDIR}/package @@ -5654,8 +5471,7 @@ system and gives an overview of their function and contents. :ref:`ref-tasks-packagedata` task packages data for each recipe and installs it into this temporary, shared area. This directory defaults to the following, which you should not - change: - :: + change:: ${STAGING_DIR_HOST}/pkgdata @@ -5670,8 +5486,7 @@ system and gives an overview of their function and contents. :term:`PKGDEST` Points to the parent directory for files to be packaged after they have been split into individual packages. This directory defaults to - the following: - :: + the following:: ${WORKDIR}/packages-split @@ -5682,8 +5497,7 @@ system and gives an overview of their function and contents. :term:`PKGDESTWORK` Points to a temporary work area where the :ref:`ref-tasks-package` task saves package metadata. - The ``PKGDESTWORK`` location defaults to the following: - :: + The ``PKGDESTWORK`` location defaults to the following:: ${WORKDIR}/pkgdata @@ -5732,16 +5546,14 @@ system and gives an overview of their function and contents. To prevent a recipe from being built, use the ``PNBLACKLIST`` variable in your ``local.conf`` file. Here is an example that - prevents ``myrecipe`` from being built: - :: + prevents ``myrecipe`` from being built:: PNBLACKLIST[myrecipe] = "Not supported by our organization." :term:`POPULATE_SDK_POST_HOST_COMMAND` Specifies a list of functions to call once the OpenEmbedded build system has created the host part of the SDK. You can specify - functions separated by semicolons: - :: + functions separated by semicolons:: POPULATE_SDK_POST_HOST_COMMAND += "function; ... " @@ -5753,8 +5565,7 @@ system and gives an overview of their function and contents. :term:`POPULATE_SDK_POST_TARGET_COMMAND` Specifies a list of functions to call once the OpenEmbedded build system has created the target part of the SDK. You can specify - functions separated by semicolons: - :: + functions separated by semicolons:: POPULATE_SDK_POST_TARGET_COMMAND += "function; ... " @@ -5804,8 +5615,7 @@ system and gives an overview of their function and contents. preferred provider). You should always suffix this variable with the name of the provided item. And, you should define the variable using the preferred recipe's name (:term:`PN`). Here is a common - example: - :: + example:: PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" @@ -5813,8 +5623,7 @@ system and gives an overview of their function and contents. The ``PREFERRED_PROVIDER`` variable is set with the name (``PN``) of the recipe you prefer to provide "virtual/kernel". - Following are more examples: - :: + Following are more examples:: PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86" PREFERRED_PROVIDER_virtual/libgl ?= "mesa" @@ -5842,8 +5651,7 @@ system and gives an overview of their function and contents. through the "``%``" character. You can use the character to match any number of characters, which can be useful when specifying versions that contain long revision numbers that potentially change. Here are - two examples: - :: + two examples:: PREFERRED_VERSION_python = "3.4.0" PREFERRED_VERSION_linux-yocto = "5.0%" @@ -5857,35 +5665,30 @@ system and gives an overview of their function and contents. The specified version is matched against :term:`PV`, which does not necessarily match the version part of the recipe's filename. For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb`` - where ``foo_git.bb`` contains the following assignment: - :: + where ``foo_git.bb`` contains the following assignment:: PV = "1.1+git${SRCPV}" In this case, the correct way to select - ``foo_git.bb`` is by using an assignment such as the following: - :: + ``foo_git.bb`` is by using an assignment such as the following:: PREFERRED_VERSION_foo = "1.1+git%" Compare that previous example - against the following incorrect example, which does not work: - :: + against the following incorrect example, which does not work:: PREFERRED_VERSION_foo = "git" Sometimes the ``PREFERRED_VERSION`` variable can be set by configuration files in a way that is hard to change. You can use :term:`OVERRIDES` to set a machine-specific - override. Here is an example: - :: + override. Here is an example:: PREFERRED_VERSION_linux-yocto_qemux86 = "5.0%" Although not recommended, worst case, you can also use the "forcevariable" override, which is the strongest override possible. - Here is an example: - :: + Here is an example:: PREFERRED_VERSION_linux-yocto_forcevariable = "5.0%" @@ -5913,8 +5716,7 @@ system and gives an overview of their function and contents. Typically, you could add a specific server for the build system to attempt before any others by adding something like the following to the ``local.conf`` configuration file in the - :term:`Build Directory`: - :: + :term:`Build Directory`:: PREMIRRORS_prepend = "\ git://.*/.* http://www.yoctoproject.org/sources/ \n \ @@ -5950,8 +5752,7 @@ system and gives an overview of their function and contents. standard version of the library. Libraries specified in this variable should be specified by their - file name. For example, from the Firefox recipe in meta-browser: - :: + file name. For example, from the Firefox recipe in meta-browser:: PRIVATE_LIBS = "libmozjs.so \ libxpcom.so \ @@ -5975,8 +5776,7 @@ system and gives an overview of their function and contents. ``DEPENDS``. Consider the following example ``PROVIDES`` statement from the recipe - file ``eudev_3.2.9.bb``: - :: + file ``eudev_3.2.9.bb``:: PROVIDES += "udev" @@ -6013,8 +5813,7 @@ system and gives an overview of their function and contents. the component that manages the ``/dev`` directory. Setting the "preferred provider" for runtime dependencies is as - simple as using the following assignment in a configuration file: - :: + simple as using the following assignment in a configuration file:: VIRTUAL-RUNTIME_dev_manager = "udev" @@ -6024,8 +5823,7 @@ system and gives an overview of their function and contents. The ``conf/local.conf.sample.extended`` configuration file in the :term:`Source Directory` shows how the - ``PRSERV_HOST`` variable is set: - :: + ``PRSERV_HOST`` variable is set:: PRSERV_HOST = "localhost:0" @@ -6086,8 +5884,7 @@ system and gives an overview of their function and contents. OpenEmbedded build system automatically sets it for you. The variable allows recipes to use common infrastructure such as the - following: - :: + following:: DEPENDS += "${PYTHON_PN}-native" @@ -6102,8 +5899,7 @@ system and gives an overview of their function and contents. will not be installed if conflicting packages are not first removed. Like all package-controlling variables, you must always use them in - conjunction with a package name override. Here is an example: - :: + conjunction with a package name override. Here is an example:: RCONFLICTS_${PN} = "another_conflicting_package_name" @@ -6111,8 +5907,7 @@ system and gives an overview of their function and contents. specifying versioned dependencies. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions with the - ``RCONFLICTS`` variable: - :: + ``RCONFLICTS`` variable:: RCONFLICTS_${PN} = "package (operator version)" @@ -6125,8 +5920,7 @@ system and gives an overview of their function and contents. - >= For example, the following sets up a dependency on version 1.2 or - greater of the package ``foo``: - :: + greater of the package ``foo``:: RCONFLICTS_${PN} = "foo (>= 1.2)" @@ -6135,8 +5929,7 @@ system and gives an overview of their function and contents. packages that must be installed in order for the package to function correctly. As an example, the following assignment declares that the package ``foo`` needs the packages ``bar`` and ``baz`` to be - installed: - :: + installed:: RDEPENDS_foo = "bar baz" @@ -6177,8 +5970,7 @@ system and gives an overview of their function and contents. name (remember that a single recipe can build multiple packages). For example, suppose you are building a development package that depends on the ``perl`` package. In this case, you would use the following - ``RDEPENDS`` statement: - :: + ``RDEPENDS`` statement:: RDEPENDS_${PN}-dev += "perl" @@ -6207,8 +5999,7 @@ system and gives an overview of their function and contents. specifying versioned dependencies. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions with the - ``RDEPENDS`` variable: - :: + ``RDEPENDS`` variable:: RDEPENDS_${PN} = "package (operator version)" @@ -6228,8 +6019,7 @@ system and gives an overview of their function and contents. specification. For example, the following sets up a dependency on version 1.2 or - greater of the package ``foo``: - :: + greater of the package ``foo``:: RDEPENDS_${PN} = "foo (>= 1.2)" @@ -6270,8 +6060,7 @@ system and gives an overview of their function and contents. :term:`ROOT_HOME` Defines the root home directory. By default, this directory is set as - follows in the BitBake configuration file: - :: + follows in the BitBake configuration file:: ROOT_HOME ??= "/home/root" @@ -6284,8 +6073,7 @@ system and gives an overview of their function and contents. You can override the default by setting the variable in any layer or in the ``local.conf`` file. Because the default is set using a "weak" assignment (i.e. "??="), you can use either of the following forms to - define your override: - :: + define your override:: ROOT_HOME = "/root" ROOT_HOME ?= "/root" @@ -6303,8 +6091,7 @@ system and gives an overview of their function and contents. :term:`ROOTFS_POSTINSTALL_COMMAND` Specifies a list of functions to call after the OpenEmbedded build system has installed packages. You can specify functions separated by - semicolons: - :: + semicolons:: ROOTFS_POSTINSTALL_COMMAND += "function; ... " @@ -6317,8 +6104,7 @@ system and gives an overview of their function and contents. :term:`ROOTFS_POSTPROCESS_COMMAND` Specifies a list of functions to call once the OpenEmbedded build system has created the root filesystem. You can specify functions - separated by semicolons: - :: + separated by semicolons:: ROOTFS_POSTPROCESS_COMMAND += "function; ... " @@ -6333,8 +6119,7 @@ system and gives an overview of their function and contents. system has removed unnecessary packages. When runtime package management is disabled in the image, several packages are removed including ``base-passwd``, ``shadow``, and ``update-alternatives``. - You can specify functions separated by semicolons: - :: + You can specify functions separated by semicolons:: ROOTFS_POSTUNINSTALL_COMMAND += "function; ... " @@ -6347,8 +6132,7 @@ system and gives an overview of their function and contents. :term:`ROOTFS_PREPROCESS_COMMAND` Specifies a list of functions to call before the OpenEmbedded build system has created the root filesystem. You can specify functions - separated by semicolons: - :: + separated by semicolons:: ROOTFS_PREPROCESS_COMMAND += "function; ... " @@ -6370,8 +6154,7 @@ system and gives an overview of their function and contents. As with all package-controlling variables, you must always use the variable in conjunction with a package name override. Here is an - example: - :: + example:: RPROVIDES_${PN} = "widget-abi-2" @@ -6402,8 +6185,7 @@ system and gives an overview of their function and contents. particular package whose usability is being extended. For example, suppose you are building a development package that is extended to support wireless functionality. In this case, you would use the - following: - :: + following:: RRECOMMENDS_${PN}-dev += "wireless_package_name" @@ -6416,8 +6198,7 @@ system and gives an overview of their function and contents. specifying versioned recommends. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions with the - ``RRECOMMENDS`` variable: - :: + ``RRECOMMENDS`` variable:: RRECOMMENDS_${PN} = "package (operator version)" @@ -6430,8 +6211,7 @@ system and gives an overview of their function and contents. - >= For example, the following sets up a recommend on version 1.2 or - greater of the package ``foo``: - :: + greater of the package ``foo``:: RRECOMMENDS_${PN} = "foo (>= 1.2)" @@ -6443,8 +6223,7 @@ system and gives an overview of their function and contents. the other package to the ``RCONFLICTS`` variable. As with all package-controlling variables, you must use this variable - in conjunction with a package name override. Here is an example: - :: + in conjunction with a package name override. Here is an example:: RREPLACES_${PN} = "other_package_being_replaced" @@ -6452,8 +6231,7 @@ system and gives an overview of their function and contents. specifying versioned replacements. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions with the - ``RREPLACES`` variable: - :: + ``RREPLACES`` variable:: RREPLACES_${PN} = "package (operator version)" @@ -6466,8 +6244,7 @@ system and gives an overview of their function and contents. - >= For example, the following sets up a replacement using version 1.2 - or greater of the package ``foo``: - :: + or greater of the package ``foo``:: RREPLACES_${PN} = "foo (>= 1.2)" @@ -6478,8 +6255,7 @@ system and gives an overview of their function and contents. As with all package-controlling variables, you must always use this variable in conjunction with a package name override. Here is an - example: - :: + example:: RSUGGESTS_${PN} = "useful_package another_package" @@ -6497,8 +6273,7 @@ system and gives an overview of their function and contents. As an example, assume a :term:`Source Directory` top-level folder named ``poky`` and a default Build Directory at ``poky/build``. In this case, the work directory the build system - uses to keep the unpacked recipe for ``db`` is the following: - :: + uses to keep the unpacked recipe for ``db`` is the following:: poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 @@ -6508,8 +6283,7 @@ system and gives an overview of their function and contents. repositories are cloned to ``${WORKDIR}/git`` during :ref:`ref-tasks-fetch`. Since this path is different from the default value of ``S``, you must set it specifically so the - source can be located: - :: + source can be located:: SRC_URI = "git://path/to/repo.git" S = "${WORKDIR}/git" @@ -6544,8 +6318,7 @@ system and gives an overview of their function and contents. The directory set up and used by the :ref:`populate_sdk_base ` class to which the SDK is deployed. The ``populate_sdk_base`` class defines - ``SDK_DEPLOY`` as follows: - :: + ``SDK_DEPLOY`` as follows:: SDK_DEPLOY = "${TMPDIR}/deploy/sdk" @@ -6553,8 +6326,7 @@ system and gives an overview of their function and contents. The parent directory used by the OpenEmbedded build system when creating SDK output. The :ref:`populate_sdk_base ` class defines - the variable as follows: - :: + the variable as follows:: SDK_DIR = "${WORKDIR}/sdk" @@ -6579,14 +6351,12 @@ system and gives an overview of their function and contents. The manifest file for the host part of the SDK. This file lists all the installed packages that make up the host part of the SDK. The file contains package information on a line-per-package basis as - follows: - :: + follows:: packagename packagearch version The :ref:`populate_sdk_base ` class - defines the manifest file as follows: - :: + defines the manifest file as follows:: SDK_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest" @@ -6624,8 +6394,7 @@ system and gives an overview of their function and contents. A list of classes to remove from the :term:`INHERIT` value globally within the extensible SDK configuration. The :ref:`populate-sdk-ext ` class sets the - default value: - :: + default value:: SDK_INHERIT_BLACKLIST ?= "buildhistory icecc" @@ -6688,8 +6457,7 @@ system and gives an overview of their function and contents. :term:`DISTRO`, :term:`TCLIBC`, :term:`SDK_ARCH`, :term:`IMAGE_BASENAME`, and - :term:`TUNE_PKGARCH` variables: - :: + :term:`TUNE_PKGARCH` variables:: SDK_NAME = "${DISTRO}-${TCLIBC}-${SDK_ARCH}-${IMAGE_BASENAME}-${TUNE_PKGARCH}" @@ -6700,8 +6468,7 @@ system and gives an overview of their function and contents. :term:`SDK_OUTPUT` The location used by the OpenEmbedded build system when creating SDK output. The :ref:`populate_sdk_base ` - class defines the variable as follows: - :: + class defines the variable as follows:: SDK_DIR = "${WORKDIR}/sdk" SDK_OUTPUT = "${SDK_DIR}/image" @@ -6766,14 +6533,12 @@ system and gives an overview of their function and contents. The manifest file for the target part of the SDK. This file lists all the installed packages that make up the target part of the SDK. The file contains package information on a line-per-package basis as - follows: - :: + follows:: packagename packagearch version The :ref:`populate_sdk_base ` class - defines the manifest file as follows: - :: + defines the manifest file as follows:: SDK_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest" @@ -6793,8 +6558,7 @@ system and gives an overview of their function and contents. this title is based on the :term:`DISTRO_NAME` or :term:`DISTRO` variable and is set in the :ref:`populate_sdk_base ` class as - follows: - :: + follows:: SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK" @@ -6817,8 +6581,7 @@ system and gives an overview of their function and contents. :term:`SDK_VERSION` Specifies the version of the SDK. The Poky distribution configuration file (``/meta-poky/conf/distro/poky.conf``) sets the default - ``SDK_VERSION`` as follows: - :: + ``SDK_VERSION`` as follows:: SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}" @@ -6831,8 +6594,7 @@ system and gives an overview of their function and contents. default, this directory is based on the :term:`DISTRO` variable and is set in the :ref:`populate_sdk_base ` class as - follows: - :: + follows:: SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk" @@ -6846,8 +6608,7 @@ system and gives an overview of their function and contents. :term:`SDKIMAGE_FEATURES` Equivalent to ``IMAGE_FEATURES``. However, this variable applies to - the SDK generated from an image using the following command: - :: + the SDK generated from an image using the following command:: $ bitbake -c populate_sdk imagename @@ -6899,8 +6660,7 @@ system and gives an overview of their function and contents. Defines a serial console (TTY) to enable using `getty `__. Provide a value that specifies the baud rate followed by the TTY device name - separated by a space. You cannot specify more than one TTY device: - :: + separated by a space. You cannot specify more than one TTY device:: SERIAL_CONSOLE = "115200 ttyS0" @@ -6913,8 +6673,7 @@ system and gives an overview of their function and contents. Defines a serial console (TTY) to enable using `getty `__. Provide a value that specifies the baud rate followed by the TTY device name - separated by a semicolon. Use spaces to separate multiple devices: - :: + separated by a semicolon. Use spaces to separate multiple devices:: SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1" @@ -6924,17 +6683,21 @@ system and gives an overview of their function and contents. ``/proc/console`` before enabling them using getty. This variable allows aliasing in the format: :. If a device was listed as "sclp_line0" in ``/dev/`` and "ttyS0" was listed in - ``/proc/console``, you would do the following: :: + ``/proc/console``, you would do the following:: SERIAL_CONSOLES_CHECK = "slcp_line0:ttyS0" This variable is currently only supported with SysVinit (i.e. not - with systemd). + with systemd). Note that :term:`SERIAL_CONSOLES_CHECK` also requires + ``/etc/inittab`` to be writable when used with SysVinit. This makes it + incompatible with customizations such as the following:: + + EXTRA_IMAGE_FEATURES += "read-only-rootfs" :term:`SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS` A list of recipe dependencies that should not be used to determine signatures of tasks from one recipe when they depend on tasks from - another recipe. For example: :: + another recipe. For example:: SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "intone->mplayer2" @@ -6942,7 +6705,7 @@ system and gives an overview of their function and contents. You can use the special token ``"*"`` on the left-hand side of the dependency to match all recipes except the one on the right-hand - side. Here is an example: :: + side. Here is an example:: SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "*->quilt-native" @@ -7044,8 +6807,7 @@ system and gives an overview of their function and contents. To use this variable, you must globally inherit the :ref:`own-mirrors ` class and then provide - the URL to your mirrors. Here is the general syntax: - :: + the URL to your mirrors. Here is the general syntax:: INHERIT += "own-mirrors" SOURCE_MIRROR_URL = "http://example.com/my_source_mirror" @@ -7076,8 +6838,7 @@ system and gives an overview of their function and contents. U-Boot recipe. The SPL file type is set to "null" by default in the ``u-boot.inc`` - file as follows: - :: + file as follows:: # Some versions of u-boot build an SPL (Second Program Loader) image that # should be packaged along with the u-boot binary as well as placed in the @@ -7236,8 +6997,7 @@ system and gives an overview of their function and contents. - ``name`` - Specifies a name to be used for association with ``SRC_URI`` checksums or :term:`SRCREV` when you have more than one - file or git repository specified in ``SRC_URI``. For example: - :: + file or git repository specified in ``SRC_URI``. For example:: SRC_URI = "git://example.com/foo.git;name=first \ git://example.com/bar.git;name=second \ @@ -7268,16 +7028,14 @@ system and gives an overview of their function and contents. The ``SRCPV`` variable is defined in the ``meta/conf/bitbake.conf`` configuration file in the :term:`Source Directory` as - follows: - :: + follows:: SRCPV = "${@bb.fetch2.get_srcrev(d)}" Recipes that need to define ``PV`` do so with the help of the ``SRCPV``. For example, the ``ofono`` recipe (``ofono_git.bb``) located in ``meta/recipes-connectivity`` in the Source Directory - defines ``PV`` as follows: - :: + defines ``PV`` as follows:: PV = "0.12-git${SRCPV}" @@ -7328,8 +7086,7 @@ system and gives an overview of their function and contents. :term:`NATIVELSBSTRING` set by the :ref:`uninative ` class. For example, the following maps the local search path ``universal-4.9`` to the - server-provided path server_url_sstate_path: - :: + server-provided path server_url_sstate_path:: SSTATE_MIRRORS ?= "file://universal-4.9/(.*) http://server_url_sstate_path/universal-4.8/\1 \n" @@ -7524,8 +7281,7 @@ system and gives an overview of their function and contents. to an actual stamp file is constructed by evaluating this string and then appending additional information. Currently, the default assignment for ``STAMP`` as set in the ``meta/conf/bitbake.conf`` - file is: - :: + file is:: STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}" @@ -7562,8 +7318,7 @@ system and gives an overview of their function and contents. :term:`SYSLINUX_DEFAULT_CONSOLE` Specifies the kernel boot default console. If you want to use a console other than the default, set this variable in your recipe as - follows where "X" is the console number you want to use: - :: + follows where "X" is the console number you want to use:: SYSLINUX_DEFAULT_CONSOLE = "console=ttyX" @@ -7582,8 +7337,7 @@ system and gives an overview of their function and contents. Specifies the alternate serial port or turns it off. To turn off serial, set this variable to an empty string in your recipe. The variable's default value is set in the - :ref:`syslinux ` class as follows: - :: + :ref:`syslinux ` class as follows:: SYSLINUX_SERIAL ?= "0 115200" @@ -7592,8 +7346,7 @@ system and gives an overview of their function and contents. :term:`SYSLINUX_SERIAL_TTY` Specifies the alternate console=tty... kernel boot argument. The variable's default value is set in the - :ref:`syslinux ` class as follows: - :: + :ref:`syslinux ` class as follows:: SYSLINUX_SERIAL_TTY ?= "console=ttyS0,115200" @@ -7616,8 +7369,7 @@ system and gives an overview of their function and contents. :term:`SYSROOT_DIRS` Directories that are staged into the sysroot by the :ref:`ref-tasks-populate_sysroot` task. By - default, the following directories are staged: - :: + default, the following directories are staged:: SYSROOT_DIRS = " \ ${includedir} \ @@ -7632,8 +7384,7 @@ system and gives an overview of their function and contents. :ref:`ref-tasks-populate_sysroot` task. You can use this variable to exclude certain subdirectories of directories listed in :term:`SYSROOT_DIRS` from - staging. By default, the following directories are not staged: - :: + staging. By default, the following directories are not staged:: SYSROOT_DIRS_BLACKLIST = " \ ${mandir} \ @@ -7650,8 +7401,7 @@ system and gives an overview of their function and contents. :ref:`ref-tasks-populate_sysroot` task for ``-native`` recipes, in addition to those specified in :term:`SYSROOT_DIRS`. By default, the following - extra directories are staged: - :: + extra directories are staged:: SYSROOT_DIRS_NATIVE = " \ ${bindir} \ @@ -7680,8 +7430,7 @@ system and gives an overview of their function and contents. :term:`SYSTEMD_SERVICE` should start automatically or not. By default, the service is enabled to automatically start at boot time. The default setting is in the - :ref:`systemd ` class as follows: - :: + :ref:`systemd ` class as follows:: SYSTEMD_AUTO_ENABLE ??= "enable" @@ -7692,8 +7441,7 @@ system and gives an overview of their function and contents. "systemd-boot", the ``SYSTEMD_BOOT_CFG`` variable specifies the configuration file that should be used. By default, the :ref:`systemd-boot ` class sets the - ``SYSTEMD_BOOT_CFG`` as follows: - :: + ``SYSTEMD_BOOT_CFG`` as follows:: SYSTEMD_BOOT_CFG ?= "${:term:`S`}/loader.conf" @@ -7706,8 +7454,7 @@ system and gives an overview of their function and contents. list of entry files (``*.conf``) to install that contain one boot entry per file. By default, the :ref:`systemd-boot ` class sets the - ``SYSTEMD_BOOT_ENTRIES`` as follows: - :: + ``SYSTEMD_BOOT_ENTRIES`` as follows:: SYSTEMD_BOOT_ENTRIES ?= "" @@ -7719,8 +7466,7 @@ system and gives an overview of their function and contents. "systemd-boot", the ``SYSTEMD_BOOT_TIMEOUT`` variable specifies the boot menu timeout in seconds. By default, the :ref:`systemd-boot ` class sets the - ``SYSTEMD_BOOT_TIMEOUT`` as follows: - :: + ``SYSTEMD_BOOT_TIMEOUT`` as follows:: SYSTEMD_BOOT_TIMEOUT ?= "10" @@ -7732,8 +7478,7 @@ system and gives an overview of their function and contents. this variable locates the systemd unit files when they are not found in the main recipe's package. By default, the ``SYSTEMD_PACKAGES`` variable is set such that the systemd unit files are assumed to - reside in the recipes main package: - :: + reside in the recipes main package:: SYSTEMD_PACKAGES ?= "${PN}" @@ -7747,8 +7492,7 @@ system and gives an overview of their function and contents. When you specify this file in your recipe, use a package name override to indicate the package to which the value applies. Here is - an example from the connman recipe: - :: + an example from the connman recipe:: SYSTEMD_SERVICE_${PN} = "connman.service" @@ -7766,8 +7510,7 @@ system and gives an overview of their function and contents. :term:`T` This variable points to a directory were BitBake places temporary files, which consist mostly of task logs and scripts, when building a - particular recipe. The variable is typically set as follows: - :: + particular recipe. The variable is typically set as follows:: T = "${WORKDIR}/temp" @@ -7801,8 +7544,7 @@ system and gives an overview of their function and contents. Specifies architecture-specific assembler flags for the target system. ``TARGET_AS_ARCH`` is initialized from :term:`TUNE_ASARGS` by default in the BitBake - configuration file (``meta/conf/bitbake.conf``): - :: + configuration file (``meta/conf/bitbake.conf``):: TARGET_AS_ARCH = "${TUNE_ASARGS}" @@ -7869,8 +7611,7 @@ system and gives an overview of their function and contents. Specifies architecture-specific linker flags for the target system. ``TARGET_LD_ARCH`` is initialized from :term:`TUNE_LDARGS` by default in the BitBake - configuration file (``meta/conf/bitbake.conf``): - :: + configuration file (``meta/conf/bitbake.conf``):: TARGET_LD_ARCH = "${TUNE_LDARGS}" @@ -8051,8 +7792,7 @@ system and gives an overview of their function and contents. program does. For example, to use the Picocom terminal program on serial device - ``/dev/ttyUSB0`` at 115200bps, you would set the variable as follows: - :: + ``/dev/ttyUSB0`` at 115200bps, you would set the variable as follows:: TEST_SERIALCONTROL_CMD = "picocom /dev/ttyUSB0 -b 115200" @@ -8090,8 +7830,7 @@ system and gives an overview of their function and contents. Tests include ``ping``, ``ssh``, ``df`` among others. You can add your own tests to the list of tests by appending ``TEST_SUITES`` as - follows: - :: + follows:: TEST_SUITES_append = " mytest" @@ -8110,8 +7849,7 @@ system and gives an overview of their function and contents. another test must appear later in the list than the test on which they depend. For example, if you append the list of tests with two tests (``test_A`` and ``test_B``) where ``test_B`` is dependent on - ``test_A``, then you must order the tests as follows: - :: + ``test_A``, then you must order the tests as follows:: TEST_SUITES = "test_A test_B" @@ -8121,8 +7859,7 @@ system and gives an overview of their function and contents. :term:`TEST_TARGET` Specifies the target controller to use when running tests against a - test image. The default controller to use is "qemu": - :: + test image. The default controller to use is "qemu":: TEST_TARGET = "qemu" @@ -8161,8 +7898,7 @@ system and gives an overview of their function and contents. set to "qemu". When you specify the IP address, you can also include a port. Here is - an example: - :: + an example:: TEST_TARGET_IP = "192.168.1.4:2201" @@ -8211,8 +7947,7 @@ system and gives an overview of their function and contents. If you want to establish this directory in a location other than the default, you can uncomment and edit the following statement in the - ``conf/local.conf`` file in the :term:`Source Directory`: - :: + ``conf/local.conf`` file in the :term:`Source Directory`:: #TMPDIR = "${TOPDIR}/tmp" @@ -8231,8 +7966,7 @@ system and gives an overview of their function and contents. packages specified by this variable are part of the toolchain set that runs on the :term:`SDKMACHINE`, and each package should usually have the prefix ``nativesdk-``. For example, - consider the following command when building an SDK: - :: + consider the following command when building an SDK:: $ bitbake -c populate_sdk imagename @@ -8253,8 +7987,7 @@ system and gives an overview of their function and contents. :term:`TOOLCHAIN_OUTPUTNAME` This variable defines the name used for the toolchain output. The :ref:`populate_sdk_base ` class sets - the ``TOOLCHAIN_OUTPUTNAME`` variable as follows: - :: + the ``TOOLCHAIN_OUTPUTNAME`` variable as follows:: TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" @@ -8310,8 +8043,7 @@ system and gives an overview of their function and contents. ``TUNE_ARCH`` is tied closely to :term:`TARGET_ARCH`, which defines the target machine's architecture. The BitBake configuration file - (``meta/conf/bitbake.conf``) sets ``TARGET_ARCH`` as follows: - :: + (``meta/conf/bitbake.conf``) sets ``TARGET_ARCH`` as follows:: TARGET_ARCH = "${TUNE_ARCH}" @@ -8333,8 +8065,7 @@ system and gives an overview of their function and contents. typically under ``meta/conf/machine/include/`` and are influenced through :term:`TUNE_FEATURES`. For example, the ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags - for the x86 architecture as follows: - :: + for the x86 architecture as follows:: TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}" @@ -8367,8 +8098,7 @@ system and gives an overview of their function and contents. are not conflicting and that they are supported. The BitBake configuration file (``meta/conf/bitbake.conf``) defines - ``TUNE_FEATURES`` as follows: - :: + ``TUNE_FEATURES`` as follows:: TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" @@ -8381,8 +8111,7 @@ system and gives an overview of their function and contents. typically under ``meta/conf/machine/include/`` and are influenced through :term:`TUNE_FEATURES`. For example, the ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags - for the x86 architecture as follows: - :: + for the x86 architecture as follows:: TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}" @@ -8395,15 +8124,13 @@ system and gives an overview of their function and contents. :term:`TUNE_PKGARCH` The package architecture understood by the packaging system to define the architecture, ABI, and tuning of output packages. The specific - tune is defined using the "_tune" override as follows: - :: + tune is defined using the "_tune" override as follows:: TUNE_PKGARCH_tune-tune = "tune" These tune-specific package architectures are defined in the machine include files. Here is an example of the "core2-32" tuning as used in - the ``meta/conf/machine/include/tune-core2.inc`` file: - :: + the ``meta/conf/machine/include/tune-core2.inc`` file:: TUNE_PKGARCH_tune-core2-32 = "core2-32" @@ -8449,8 +8176,7 @@ system and gives an overview of their function and contents. the :term:`Source Directory`. Here is an example from the ``meta/conf/machine/include/mips/arch-mips.inc`` include file that lists the "o32" and "n64" features as conflicting with the "n32" - feature: - :: + feature:: TUNECONFLICTS[n32] = "o32 n64" @@ -8459,8 +8185,7 @@ system and gives an overview of their function and contents. feature. The specified feature is stored as a flag. Valid features are specified in the machine include files (e.g. ``meta/conf/machine/include/arm/arch-arm.inc``). Here is an example - from that file: - :: + from that file:: TUNEVALID[bigendian] = "Enable big-endian mode." @@ -8516,8 +8241,7 @@ system and gives an overview of their function and contents. Appends a string to the name of the local version of the U-Boot image. For example, assuming the version of the U-Boot image built was "2013.10", the full version string reported by U-Boot would be - "2013.10-yocto" given the following statement: - :: + "2013.10-yocto" given the following statement:: UBOOT_LOCALVERSION = "-yocto" @@ -8691,8 +8415,7 @@ system and gives an overview of their function and contents. OpenEmbedded build system to enable extra features (e.g. ``buildstats``, ``image-mklibs``, and so forth). - The default list is set in your ``local.conf`` file: - :: + The default list is set in your ``local.conf`` file:: USER_CLASSES ?= "buildstats image-mklibs image-prelink" @@ -8712,8 +8435,7 @@ system and gives an overview of their function and contents. ``USERADD_ERROR_DYNAMIC`` variable is by default not set. If you plan on using statically assigned ``gid`` and ``uid`` values, you should set the ``USERADD_ERROR_DYNAMIC`` variable in your ``local.conf`` - file as follows: - :: + file as follows:: USERADD_ERROR_DYNAMIC = "error" @@ -8743,8 +8465,7 @@ system and gives an overview of their function and contents. When applying static group identification (``gid``) values, the OpenEmbedded build system looks in :term:`BBPATH` for a ``files/group`` file and then applies those ``uid`` values. Set the - variable as follows in your ``local.conf`` file: - :: + variable as follows in your ``local.conf`` file:: USERADD_GID_TABLES = "files/group" @@ -8761,8 +8482,7 @@ system and gives an overview of their function and contents. You must set this variable if the recipe inherits the class. For example, the following enables adding a user for the main package in - a recipe: - :: + a recipe:: USERADD_PACKAGES = "${PN}" @@ -8778,8 +8498,7 @@ system and gives an overview of their function and contents. the ``useradd`` command if you add a user to the system when the package is installed. - Here is an example from the ``dbus`` recipe: - :: + Here is an example from the ``dbus`` recipe:: USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \ --no-create-home --shell /bin/false \ @@ -8797,8 +8516,7 @@ system and gives an overview of their function and contents. When applying static user identification (``uid``) values, the OpenEmbedded build system looks in :term:`BBPATH` for a ``files/passwd`` file and then applies those ``uid`` values. Set the - variable as follows in your ``local.conf`` file: - :: + variable as follows in your ``local.conf`` file:: USERADD_UID_TABLES = "files/passwd" @@ -8869,8 +8587,7 @@ system and gives an overview of their function and contents. With the ``WKS_FILE_DEPENDS`` variable, you have the possibility to specify a list of additional dependencies (e.g. native tools, bootloaders, and so forth), that are required to build Wic images. - Following is an example: - :: + Following is an example:: WKS_FILE_DEPENDS = "some-native-tool" @@ -8884,8 +8601,7 @@ system and gives an overview of their function and contents. :term:`TMPDIR` directory structure and is specific to the recipe being built and the system for which it is being built. - The ``WORKDIR`` directory is defined as follows: - :: + The ``WORKDIR`` directory is defined as follows:: ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} @@ -8904,8 +8620,7 @@ system and gives an overview of their function and contents. ``qemux86-poky-linux`` machine target system. Furthermore, suppose your recipe is named ``foo_1.3.0-r0.bb``. In this case, the work directory the build system uses to build the package would be as - follows: - :: + follows:: poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst index 6a65b9fb3..b95a6edf5 100644 --- a/poky/documentation/releases.rst +++ b/poky/documentation/releases.rst @@ -4,6 +4,12 @@ Current Release Manuals ========================= +******************************* +3.3 'hardknott' Release Series +******************************* + +- :yocto_docs:`3.3 Documentation ` + ******************************* 3.2 'gatesgarth' Release Series ******************************* @@ -24,6 +30,7 @@ - :yocto_docs:`3.1.4 Documentation ` - :yocto_docs:`3.1.5 Documentation ` - :yocto_docs:`3.1.6 Documentation ` +- :yocto_docs:`3.1.7 Documentation ` ========================== Previous Release Manuals diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst index 8e7115046..fb2d78452 100644 --- a/poky/documentation/sdk-manual/appendix-customizing.rst +++ b/poky/documentation/sdk-manual/appendix-customizing.rst @@ -149,8 +149,7 @@ from the :term:`DISTRO` variable. The :ref:`populate_sdk_base ` class defines the default value of the ``SDK_TITLE`` variable as -follows: -:: +follows:: SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK" @@ -162,8 +161,7 @@ an example, assume you have your own layer for your distribution named does the default "poky" distribution. If so, you could update the ``SDK_TITLE`` variable in the ``~/meta-mydistro/conf/distro/mydistro.conf`` file using the following -form: -:: +form:: SDK_TITLE = "your_title" @@ -194,8 +192,7 @@ the installed SDKs to update the installed SDKs by using the 3. Build the extensible SDK normally (i.e., use the ``bitbake -c populate_sdk_ext`` imagename command). -4. Publish the SDK using the following command: - :: +4. Publish the SDK using the following command:: $ oe-publish-sdk some_path/sdk-installer.sh path_to_shared_http_directory @@ -218,8 +215,7 @@ installation directory for the SDK is based on the :term:`SDKEXTPATH` variables from within the :ref:`populate_sdk_base ` -class as follows: -:: +class as follows:: SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk" @@ -236,8 +232,7 @@ assume you have your own layer for your distribution named does the default "poky" distribution. If so, you could update the ``SDKEXTPATH`` variable in the ``~/meta-mydistro/conf/distro/mydistro.conf`` file using the following -form: -:: +form:: SDKEXTPATH = "some_path_for_your_installed_sdk" @@ -272,8 +267,7 @@ source, you need to do a number of things: 3. Set the appropriate configuration so that the produced SDK knows how to find the configuration. The variable you need to set is - :term:`SSTATE_MIRRORS`: - :: + :term:`SSTATE_MIRRORS`:: SSTATE_MIRRORS = "file://.* http://example.com/some_path/sstate-cache/PATH" @@ -287,8 +281,7 @@ source, you need to do a number of things: side, and its contents will not interfere with the build), then you can set the variable in your ``local.conf`` or custom distro configuration file. You can then "whitelist" the variable through - to the SDK by adding the following: - :: + to the SDK by adding the following:: SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS" @@ -313,8 +306,7 @@ everything needed to reconstruct the image for which the SDK was built. This bundling can lead to an SDK installer file that is a Gigabyte or more in size. If the size of this file causes a problem, you can build an SDK that has just enough in it to install and provide access to the -``devtool command`` by setting the following in your configuration: -:: +``devtool command`` by setting the following in your configuration:: SDK_EXT_TYPE = "minimal" @@ -336,8 +328,7 @@ information enables the ``devtool search`` command to return useful results. To facilitate this wider range of information, you would need to set the -following: -:: +following:: SDK_INCLUDE_PKGDATA = "1" diff --git a/poky/documentation/sdk-manual/appendix-obtain.rst b/poky/documentation/sdk-manual/appendix-obtain.rst index 3c1dc52d1..fc6b8b9d5 100644 --- a/poky/documentation/sdk-manual/appendix-obtain.rst +++ b/poky/documentation/sdk-manual/appendix-obtain.rst @@ -25,8 +25,7 @@ Follow these steps to locate and hand-install the toolchain: download the installer appropriate for your build host, target hardware, and image type. - The installer files (``*.sh``) follow this naming convention: - :: + The installer files (``*.sh``) follow this naming convention:: poky-glibc-host_system-core-image-type-arch-toolchain[-ext]-release.sh @@ -55,15 +54,13 @@ Follow these steps to locate and hand-install the toolchain: For example, if your build host is a 64-bit x86 system and you need an extended SDK for a 64-bit core2 target, go into the ``x86_64`` - folder and download the following installer: - :: + folder and download the following installer:: poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh 4. *Run the Installer:* Be sure you have execution privileges and run the installer. Following is an example from the ``Downloads`` - directory: - :: + directory:: $ ~/Downloads/poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh @@ -132,8 +129,7 @@ build the SDK installer. Follow these steps: using to build the installer. If SDKMACHINE is not set appropriately, the build fails and provides an error - message similar to the following: - :: + message similar to the following:: The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to i686 (likely via setting SDKMACHINE) which is different from the architecture of the build machine (x86_64). @@ -142,10 +138,11 @@ build the SDK installer. Follow these steps: 6. *Build the SDK Installer:* To build the SDK installer for a standard SDK and populate the SDK image, use the following command form. Be - sure to replace image with an image (e.g. "core-image-sato"): $ - bitbake image -c populate_sdk You can do the same for the extensible - SDK using this command form: - :: + sure to replace ``image`` with an image (e.g. "core-image-sato"):: + + $ bitbake image -c populate_sdk + + You can do the same for the extensible SDK using this command form:: $ bitbake image -c populate_sdk_ext @@ -170,8 +167,7 @@ build the SDK installer. Follow these steps: libc-staticdev" 7. *Run the Installer:* You can now run the SDK installer from - ``tmp/deploy/sdk`` in the Build Directory. Following is an example: - :: + ``tmp/deploy/sdk`` in the Build Directory. Following is an example:: $ cd poky/build/tmp/deploy/sdk $ ./poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh @@ -211,8 +207,7 @@ Follow these steps to extract the root filesystem: which you can use with QEMU directly. The pre-built root filesystem image files follow these naming - conventions: - :: + conventions:: core-image-profile-arch.tar.bz2 @@ -233,8 +228,7 @@ Follow these steps to extract the root filesystem: For example, if you plan on using a BeagleBone device as your target hardware and your image is a ``core-image-sato-sdk`` image, you can - download the following file: - :: + download the following file:: core-image-sato-sdk-beaglebone-yocto.tar.bz2 @@ -246,8 +240,7 @@ Follow these steps to extract the root filesystem: installed the toolchain (e.g. ``poky_sdk``). Following is an example based on the toolchain installed in the - ":ref:`sdk-manual/appendix-obtain:locating pre-built sdk installers`" section: - :: + ":ref:`sdk-manual/appendix-obtain:locating pre-built sdk installers`" section:: $ source poky_sdk/environment-setup-core2-64-poky-linux @@ -258,12 +251,11 @@ Follow these steps to extract the root filesystem: from a previously built root filesystem image that was downloaded from the :yocto_dl:`Index of Releases `. This command extracts the root filesystem into the ``core2-64-sato`` - directory: - :: + directory:: $ runqemu-extract-sdk ~/Downloads/core-image-sato-sdk-beaglebone-yocto.tar.bz2 ~/beaglebone-sato - You could now point to the target sysroot at ``beablebone-sato``. + You could now point to the target sysroot at ``beaglebone-sato``. Installed Standard SDK Directory Structure ========================================== diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst index baa432ef3..04bafaed9 100644 --- a/poky/documentation/sdk-manual/extensible.rst +++ b/poky/documentation/sdk-manual/extensible.rst @@ -59,8 +59,7 @@ The names of the tarball installer scripts are such that a string representing the host system appears first in the filename and then is immediately followed by a string representing the target architecture. An extensible SDK has the string "-ext" as part of the name. Following -is the general form: -:: +is the general form:: poky-glibc-host_system-image_type-arch-toolchain-ext-release_version.sh @@ -83,8 +82,7 @@ is the general form: For example, the following SDK installer is for a 64-bit development host system and a i586-tuned target architecture based off -the SDK for ``core-image-sato`` and using the current &DISTRO; snapshot: -:: +the SDK for ``core-image-sato`` and using the current &DISTRO; snapshot:: poky-glibc-x86_64-core-image-sato-i586-toolchain-ext-&DISTRO;.sh @@ -150,8 +148,7 @@ begin with the string "``environment-setup``" and include as part of their name the tuned target architecture. As an example, the following commands set the working directory to where the SDK was installed and then source the environment setup script. In this example, the setup -script is for an IA-based target machine using i586 tuning: -:: +script is for an IA-based target machine using i586 tuning:: $ cd /home/scottrif/poky_sdk $ source environment-setup-core2-64-poky-linux @@ -258,8 +255,7 @@ command: to be extracted. In this situation, the source code is extracted to the default workspace - you do not want the files in some specific location outside of the workspace. Thus, everything you - need will be located in the workspace: - :: + need will be located in the workspace:: $ devtool add recipe fetchuri @@ -283,8 +279,7 @@ command: Furthermore, the first positional argument srctree in this case identifies where the ``devtool add`` command will locate the extracted code outside of the workspace. You need to specify an - empty directory: - :: + empty directory:: $ devtool add recipe srctree fetchuri @@ -300,8 +295,7 @@ command: ``devtool`` workspace. The following command provides a new recipe name and identifies - the existing source tree location: - :: + the existing source tree location:: $ devtool add recipe srctree @@ -317,8 +311,7 @@ command: 2. *Edit the Recipe*: You can use ``devtool edit-recipe`` to open up the editor as defined by the ``$EDITOR`` environment variable and modify - the file: - :: + the file:: $ devtool edit-recipe recipe @@ -338,8 +331,7 @@ command: On the other hand, if you want an image to contain the recipe's packages from the workspace for immediate deployment onto a device (e.g. for testing purposes), you can use the ``devtool build-image`` - command: - :: + command:: $ devtool build-image image @@ -435,8 +427,7 @@ command: outside the workspace (i.e. ``meta-``\ layername). The following command identifies the recipe and, by default, - extracts the source files: - :: + extracts the source files:: $ devtool modify recipe @@ -474,8 +465,7 @@ command: The following command tells ``devtool`` the recipe with which to work and, in this case, identifies a local area for the extracted source files that exists outside of the default ``devtool`` - workspace: - :: + workspace:: $ devtool modify recipe srctree @@ -508,8 +498,7 @@ command: The following command tells ``devtool`` the recipe with which to work, uses the "-n" option to indicate source does not need to be extracted, and uses srctree to point to the previously extracted - source files: - :: + source files:: $ devtool modify -n recipe srctree @@ -532,8 +521,7 @@ command: depends on what you are going to do with the new code. If you need to eventually move the build output to the target - hardware, use the following ``devtool`` command: - :: + hardware, use the following ``devtool`` command:: $ devtool build recipe @@ -556,8 +544,7 @@ command: development machine. You can deploy your build output to that target hardware by using the - ``devtool deploy-target`` command: - :: + ``devtool deploy-target`` command:: $ devtool deploy-target recipe target @@ -651,8 +638,7 @@ The following diagram shows the common development flow used with the A common situation is where third-party software has undergone a revision so that it has been upgraded. The recipe you have access to is likely in your own layer. Thus, you need to upgrade the recipe to - use the newer version of the software: - :: + use the newer version of the software:: $ devtool upgrade -V version recipe @@ -703,16 +689,14 @@ The following diagram shows the common development flow used with the depends on what you are going to do with the new code. If you need to eventually move the build output to the target - hardware, use the following ``devtool`` command: - :: + hardware, use the following ``devtool`` command:: $ devtool build recipe On the other hand, if you want an image to contain the recipe's packages from the workspace for immediate deployment onto a device (e.g. for testing purposes), you can use the ``devtool build-image`` - command: - :: + command:: $ devtool build-image image @@ -828,8 +812,7 @@ name and version, just the name, or just the version as part of the command line. Sometimes the name or version determined from the source tree might be -incorrect. For such a case, you must reset the recipe: -:: +incorrect. For such a case, you must reset the recipe:: $ devtool reset -n recipename @@ -853,8 +836,7 @@ the ``DEPENDS`` variable in the original recipe to include the new recipe. If you need to add runtime dependencies, you can do so by adding the -following to your recipe: -:: +following to your recipe:: RDEPENDS_${PN} += "dependency1 dependency2 ..." @@ -938,8 +920,7 @@ mind: the command line, add the variable setting to :term:`EXTRA_OEMAKE` or :term:`PACKAGECONFIG_CONFARGS` - within the recipe. Here is an example using ``EXTRA_OEMAKE``: - :: + within the recipe. Here is an example using ``EXTRA_OEMAKE``:: EXTRA_OEMAKE += "'CC=${CC}' 'CXX=${CXX}'" @@ -993,8 +974,7 @@ You can use the ``devtool add`` command two different ways to add Node.js modules: 1) Through ``npm`` and, 2) from a repository or local source. -Use the following form to add Node.js modules through ``npm``: -:: +Use the following form to add Node.js modules through ``npm``:: $ devtool add "npm://registry.npmjs.org;name=forever;version=0.15.1" @@ -1018,8 +998,7 @@ these behaviors ensure the reproducibility and integrity of the build. As mentioned earlier, you can also add Node.js modules directly from a repository or local source tree. To add modules this way, use -``devtool add`` in the following form: -:: +``devtool add`` in the following form:: $ devtool add https://github.com/diversario/node-ssdp @@ -1196,15 +1175,13 @@ need to restore the original files that existed prior to running the ``devtool deploy-target`` command. Because the ``devtool deploy-target`` command backs up any files it overwrites, you can use the ``devtool undeploy-target`` command to restore those files and remove -any other files the recipe deployed. Consider the following example: -:: +any other files the recipe deployed. Consider the following example:: $ devtool undeploy-target lighttpd root@192.168.7.2 If you have deployed multiple applications, you can remove them all using the "-a" option -thus restoring the target device to its original state: -:: +thus restoring the target device to its original state:: $ devtool undeploy-target -a root@192.168.7.2 @@ -1235,22 +1212,19 @@ populated on-demand. Sometimes you must explicitly install extra items into the SDK. If you need these extra items, you can first search for the items using the ``devtool search`` command. For example, suppose you need to link to libGL but you are not sure which recipe provides libGL. -You can use the following command to find out: -:: +You can use the following command to find out:: $ devtool search libGL mesa A free implementation of the OpenGL API Once you know the recipe -(i.e. ``mesa`` in this example), you can install it: -:: +(i.e. ``mesa`` in this example), you can install it:: $ devtool sdk-install mesa By default, the ``devtool sdk-install`` command assumes the item is available in pre-built form from your SDK provider. If the item is not available and it is acceptable to build the item from -source, you can add the "-s" option as follows: -:: +source, you can add the "-s" option as follows:: $ devtool sdk-install -s mesa @@ -1266,8 +1240,7 @@ If you are working with an installed extensible SDK that gets occasionally updated (e.g. a third-party SDK), then you will need to manually "pull down" the updates into the installed SDK. -To update your installed SDK, use ``devtool`` as follows: -:: +To update your installed SDK, use ``devtool`` as follows:: $ devtool sdk-update diff --git a/poky/documentation/sdk-manual/using.rst b/poky/documentation/sdk-manual/using.rst index 62967f557..fa0e8d409 100644 --- a/poky/documentation/sdk-manual/using.rst +++ b/poky/documentation/sdk-manual/using.rst @@ -77,8 +77,7 @@ immediately followed by a string representing the target architecture. For example, the following SDK installer is for a 64-bit development host system and a i586-tuned target architecture based off -the SDK for ``core-image-sato`` and using the current DISTRO snapshot: -:: +the SDK for ``core-image-sato`` and using the current DISTRO snapshot:: poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh @@ -141,8 +140,7 @@ begin with the string "``environment-setup``" and include as part of their name the tuned target architecture. As an example, the following commands set the working directory to where the SDK was installed and then source the environment setup script. In this example, the setup -script is for an IA-based target machine using i586 tuning: -:: +script is for an IA-based target machine using i586 tuning:: $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux diff --git a/poky/documentation/sdk-manual/working-projects.rst b/poky/documentation/sdk-manual/working-projects.rst index f880cbe0d..ad84ce2b8 100644 --- a/poky/documentation/sdk-manual/working-projects.rst +++ b/poky/documentation/sdk-manual/working-projects.rst @@ -45,16 +45,14 @@ project: respectively. Use the following command to create an empty README file, which is - required by GNU Coding Standards: - :: + required by GNU Coding Standards:: $ touch README Create the remaining three files as follows: - - ``hello.c``: - :: + - ``hello.c``:: #include @@ -63,8 +61,7 @@ project: printf("Hello World!\n"); } - - ``configure.ac``: - :: + - ``configure.ac``:: AC_INIT(hello,0.1) AM_INIT_AUTOMAKE([foreign]) @@ -72,8 +69,7 @@ project: AC_CONFIG_FILES(Makefile) AC_OUTPUT - - ``Makefile.am``: - :: + - ``Makefile.am``:: bin_PROGRAMS = hello hello_SOURCES = hello.c @@ -87,8 +83,7 @@ project: which is followed by the string "poky-linux". For this example, the command sources a script from the default SDK installation directory that uses the 32-bit Intel x86 Architecture and the &DISTRO; Yocto - Project release: - :: + Project release:: $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux @@ -113,8 +108,7 @@ project: the cross-compiler. The :term:`CONFIGURE_FLAGS` environment variable provides the minimal arguments for GNU - configure: - :: + configure:: $ ./configure ${CONFIGURE_FLAGS} @@ -127,14 +121,12 @@ project: ``armv5te-poky-linux-gnueabi``. You will notice that the name of the script is ``environment-setup-armv5te-poky-linux-gnueabi``. Thus, the following command works to update your project and rebuild it using - the appropriate cross-toolchain tools: - :: + the appropriate cross-toolchain tools:: $ ./configure --host=armv5te-poky-linux-gnueabi --with-libtool-sysroot=sysroot_dir 5. *Make and Install the Project:* These two commands generate and - install the project into the destination directory: - :: + install the project into the destination directory:: $ make $ make install DESTDIR=./tmp @@ -157,8 +149,7 @@ project: 6. *Execute Your Project:* To execute the project, you would need to run it on your target hardware. If your target hardware happens to be - your build host, you could run the project as follows: - :: + your build host, you could run the project as follows:: $ ./tmp/usr/local/bin/hello @@ -203,8 +194,7 @@ regarding variable behavior: .. note:: Regardless of how you set your variables, if you use the "-e" option - with ``make``, the variables from the SDK setup script take precedence: - :: + with ``make``, the variables from the SDK setup script take precedence:: $ make -e target @@ -226,8 +216,7 @@ Running the SDK setup script for a 64-bit build host and an i586-tuned target architecture for a ``core-image-sato`` image using the current &DISTRO; Yocto Project release and then echoing that variable shows the value -established through the script: -:: +established through the script:: $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux $ echo ${CC} @@ -252,8 +241,7 @@ example: Create the three files as follows: - - ``main.c``: - :: + - ``main.c``:: #include "module.h" void sample_func(); @@ -263,14 +251,12 @@ example: return 0; } - - ``module.h``: - :: + - ``module.h``:: #include void sample_func(); - - ``module.c``: - :: + - ``module.c``:: #include "module.h" void sample_func() @@ -288,8 +274,7 @@ example: which is followed by the string "poky-linux". For this example, the command sources a script from the default SDK installation directory that uses the 32-bit Intel x86 Architecture and the &DISTRO_NAME; Yocto - Project release: - :: + Project release:: $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux @@ -297,8 +282,7 @@ example: two lines that can be used to set the ``CC`` variable. One line is identical to the value that is set when you run the SDK environment setup script, and the other line sets ``CC`` to "gcc", the default - GNU compiler on the build host: - :: + GNU compiler on the build host:: # CC=i586-poky-linux-gcc -m32 -march=i586 --sysroot=/opt/poky/2.5/sysroots/i586-poky-linux # CC="gcc" @@ -315,8 +299,7 @@ example: 4. *Make the Project:* Use the ``make`` command to create the binary output file. Because variables are commented out in the Makefile, the value used for ``CC`` is the value set when the SDK environment setup - file was run: - :: + file was run:: $ make i586-poky-linux-gcc -m32 -march=i586 --sysroot=/opt/poky/2.5/sysroots/i586-poky-linux -I . -c main.c @@ -351,8 +334,7 @@ example: variable as part of the command line. Go into the Makefile and re-insert the comment character so that running ``make`` uses the established SDK compiler. However, when you run ``make``, use a - command-line argument to set ``CC`` to "gcc": - :: + command-line argument to set ``CC`` to "gcc":: $ make clean rm -rf *.o @@ -376,8 +358,7 @@ example: environment variable. In this last case, edit Makefile again to use the "gcc" compiler but - then use the "-e" option on the ``make`` command line: - :: + then use the "-e" option on the ``make`` command line:: $ make clean rm -rf *.o @@ -402,8 +383,7 @@ example: Makefile. 5. *Execute Your Project:* To execute the project (i.e. ``target_bin``), - use the following command: - :: + use the following command:: $ ./target_bin Hello World! diff --git a/poky/documentation/sphinx-static/switchers.js b/poky/documentation/sphinx-static/switchers.js index 7a4edc9e7..3f62e29b9 100644 --- a/poky/documentation/sphinx-static/switchers.js +++ b/poky/documentation/sphinx-static/switchers.js @@ -2,9 +2,10 @@ 'use strict'; var all_versions = { - 'dev': 'dev (3.3)', + 'dev': 'dev (3.4)', + '3.3': '3.3', '3.2.3': '3.2.3', - '3.1.6': '3.1.6', + '3.1.7': '3.1.7', '3.0.4': '3.0.4', '2.7.4': '2.7.4', }; diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf index c098b3026..522cc92f7 100644 --- a/poky/meta-poky/conf/distro/poky.conf +++ b/poky/meta-poky/conf/distro/poky.conf @@ -1,7 +1,7 @@ DISTRO = "poky" DISTRO_NAME = "Poky (Yocto Project Reference Distro)" -DISTRO_VERSION = "3.3" -DISTRO_CODENAME = "hardknott" +DISTRO_VERSION = "3.3+snapshot-${METADATA_REVISION}" +DISTRO_CODENAME = "master" SDK_VENDOR = "-pokysdk" SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}" SDK_VERSION[vardepvalue] = "${SDK_VERSION}" diff --git a/poky/meta-selftest/conf/layer.conf b/poky/meta-selftest/conf/layer.conf index 5604f8269..fae8c5a65 100644 --- a/poky/meta-selftest/conf/layer.conf +++ b/poky/meta-selftest/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "selftest" BBFILE_PATTERN_selftest = "^${LAYERDIR}/" BBFILE_PRIORITY_selftest = "5" -LAYERSERIES_COMPAT_selftest = "hardknott" +LAYERSERIES_COMPAT_selftest = "honister" diff --git a/poky/meta-skeleton/conf/layer.conf b/poky/meta-skeleton/conf/layer.conf index ba301742e..1cb0ca1f3 100644 --- a/poky/meta-skeleton/conf/layer.conf +++ b/poky/meta-skeleton/conf/layer.conf @@ -14,4 +14,4 @@ LAYERVERSION_skeleton = "1" LAYERDEPENDS_skeleton = "core" -LAYERSERIES_COMPAT_skeleton = "hardknott" +LAYERSERIES_COMPAT_skeleton = "honister" diff --git a/poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb b/poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb index e7d50aefd..1290968b9 100644 --- a/poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb +++ b/poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb @@ -6,7 +6,7 @@ SUMMARY = "An example of a multilib image" # # First include a base image to base things off -require recipes-sato/images/core-image-sato.bb +require recipes-graphics/images/core-image-weston.bb # Now add the multilib packages we want to install IMAGE_INSTALL += "lib32-bash" diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass index 858507b34..a3962306b 100644 --- a/poky/meta/classes/archiver.bbclass +++ b/poky/meta/classes/archiver.bbclass @@ -118,7 +118,7 @@ python () { d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_ar_patched' % pn) elif ar_src == "configured": # We can't use "addtask do_ar_configured after do_configure" since it - # will cause the deptask of do_populate_sysroot to run not matter what + # will cause the deptask of do_populate_sysroot to run no matter what # archives we need, so we add the depends here. # There is a corner case with "gcc-source-${PV}" recipes, they don't have @@ -163,7 +163,7 @@ python () { d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_configured' % pn) } -# Take all the sources for a recipe and puts them in WORKDIR/archiver-work/. +# Take all the sources for a recipe and put them in WORKDIR/archiver-work/. # Files in SRC_URI are copied directly, anything that's a directory # (e.g. git repositories) is "unpacked" and then put into a tarball. python do_ar_original() { @@ -463,7 +463,7 @@ python do_unpack_and_patch() { ar_sysroot_native = d.getVar('STAGING_DIR_NATIVE') pn = d.getVar('PN') - # The kernel class functions require it to be on work-shared, so we dont change WORKDIR + # The kernel class functions require it to be on work-shared, so we don't change WORKDIR if not is_work_shared(d): # Change the WORKDIR to make do_unpack do_patch run in another dir. d.setVar('WORKDIR', ar_workdir) @@ -505,7 +505,7 @@ python do_unpack_and_patch() { # of the output file ensures that we create it each time the recipe # gets rebuilt, at least as long as a PR server is used. We also rely # on that mechanism to catch changes in the file content, because the -# file content is not part of of the task signature either. +# file content is not part of the task signature either. do_ar_recipe[vardepsexclude] += "BBINCLUDED" python do_ar_recipe () { """ diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass index 49af61c9c..059de36a5 100644 --- a/poky/meta/classes/buildhistory.bbclass +++ b/poky/meta/classes/buildhistory.bbclass @@ -875,7 +875,7 @@ python buildhistory_eventhandler() { entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ] bb.utils.mkdirhier(olddir) for entry in entries: - os.rename(os.path.join(rootdir, entry), + bb.utils.rename(os.path.join(rootdir, entry), os.path.join(olddir, entry)) elif isinstance(e, bb.event.BuildCompleted): if reset: diff --git a/poky/meta/classes/buildstats.bbclass b/poky/meta/classes/buildstats.bbclass index 8e03039ae..8a1466d3f 100644 --- a/poky/meta/classes/buildstats.bbclass +++ b/poky/meta/classes/buildstats.bbclass @@ -104,7 +104,7 @@ def write_task_data(status, logfile, e, d): f.write("Status: FAILED \n") f.write("Ended: %0.2f \n" % e.time) -def write_host_data(logfile, e, d): +def write_host_data(logfile, e, d, type): import subprocess, os, datetime # minimum time allowed for each command to run, in seconds time_threshold = 0.5 @@ -112,15 +112,22 @@ def write_host_data(logfile, e, d): num_cmds = 0 # interval at which data will be logged interval = int(d.getVar("BB_HEARTBEAT_EVENT", False)) - # the commands to be run at each interval - cmds = d.getVar('BB_LOG_HOST_STAT_CMDS') - # if no commands are passed, issue a warning and return - if cmds is None: - d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0") - d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0") - bb.warn("buildstats: Collecting host data failed. Set BB_LOG_HOST_STAT_CMDS=\"command1 ; command2 ; ... \" in conf/local.conf\n") - return - # find the total commands + msg = "" + if type == "interval": + cmds = d.getVar('BB_LOG_HOST_STAT_CMDS_INTERVAL') + msg = "Host Stats: Collecting data at interval.\n" + if cmds is None: + d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0") + bb.warn("buildstats: Collecting host data at intervals failed. Set BB_LOG_HOST_STAT_CMDS_INTERVAL=\"command1 ; command2 ; ... \" in conf/local.conf\n") + return + if type == "failure": + cmds = d.getVar('BB_LOG_HOST_STAT_CMDS_FAILURE') + msg = "Host Stats: Collecting data on failure.\n" + msg += "Failed at task " + e.task + "\n" + if cmds is None: + d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0") + bb.warn("buildstats: Collecting host data on failure failed. Set BB_LOG_HOST_STAT_CMDS_FAILURE=\"command1 ; command2 ; ... \" in conf/local.conf\n") + return c_san = [] for cmd in cmds.split(";"): if len(cmd) == 0: @@ -147,6 +154,7 @@ def write_host_data(logfile, e, d): os.environ['PATH'] = path + ":" + opath + ":" + ospath with open(logfile, "a") as f: f.write("Event Time: %f\nDate: %s\n" % (e.time, datetime.datetime.now())) + f.write("%s" % msg) for c in c_san: try: output = subprocess.check_output(c.split(), stderr=subprocess.STDOUT, timeout=limit).decode('utf-8') @@ -171,7 +179,7 @@ python run_buildstats () { taskdir = os.path.join(bsdir, d.getVar('PF')) if isinstance(e, bb.event.HeartbeatEvent) and bb.utils.to_boolean(d.getVar("BB_LOG_HOST_STAT_ON_INTERVAL")): bb.utils.mkdirhier(bsdir) - write_host_data(os.path.join(bsdir, "host_stats"), e, d) + write_host_data(os.path.join(bsdir, "host_stats"), e, d, "interval") if isinstance(e, bb.event.BuildStarted): ######################################################################## @@ -247,7 +255,7 @@ python run_buildstats () { with open(build_status, "a") as f: f.write(d.expand("Failed at: ${PF} at task: %s \n" % e.task)) if bb.utils.to_boolean(d.getVar("BB_LOG_HOST_STAT_ON_FAILURE")): - write_host_data(build_status, e, d) + write_host_data(os.path.join(bsdir, "host_stats"), e, d, "failure") } addhandler run_buildstats diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass index 8876ce5aa..f01db7480 100644 --- a/poky/meta/classes/cmake.bbclass +++ b/poky/meta/classes/cmake.bbclass @@ -149,16 +149,14 @@ addtask generate_toolchain_file after do_patch before do_configure CONFIGURE_FILES = "CMakeLists.txt" +do_configure[cleandirs] = "${@d.getVar('B') if d.getVar('S') != d.getVar('B') else ''}" + cmake_do_configure() { if [ "${OECMAKE_BUILDPATH}" ]; then bbnote "cmake.bbclass no longer uses OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build." fi - if [ "${S}" != "${B}" ]; then - rm -rf ${B} - mkdir -p ${B} - cd ${B} - else + if [ "${S}" = "${B}" ]; then find ${B} -name CMakeFiles -or -name Makefile -or -name cmake_install.cmake -or -name CMakeCache.txt -delete fi diff --git a/poky/meta/classes/cml1.bbclass b/poky/meta/classes/cml1.bbclass index d319d66ab..1c3d70b48 100644 --- a/poky/meta/classes/cml1.bbclass +++ b/poky/meta/classes/cml1.bbclass @@ -6,7 +6,7 @@ def find_cfgs(d): if s.endswith('.cfg'): sources_list.append(s) - return sources_list + return sorted(sources_list) cml1_do_configure() { set -e diff --git a/poky/meta/classes/cpan-base.bbclass b/poky/meta/classes/cpan-base.bbclass index 867edf870..1fc3f0bcb 100644 --- a/poky/meta/classes/cpan-base.bbclass +++ b/poky/meta/classes/cpan-base.bbclass @@ -16,3 +16,12 @@ def is_target(d): PERLLIBDIRS = "${libdir}/perl5" PERLLIBDIRS_class-native = "${libdir}/perl5" + +def cpan_upstream_check_pattern(d): + for x in (d.getVar('SRC_URI') or '').split(' '): + if x.startswith("https://cpan.metacpan.org"): + _pattern = x.split('/')[-1].replace(d.getVar('PV'), '(?P\d+.\d+)') + return _pattern + return '' + +UPSTREAM_CHECK_REGEX ?= "${@cpan_upstream_check_pattern(d)}" diff --git a/poky/meta/classes/cross-canadian.bbclass b/poky/meta/classes/cross-canadian.bbclass index f5c9f6159..1e5403508 100644 --- a/poky/meta/classes/cross-canadian.bbclass +++ b/poky/meta/classes/cross-canadian.bbclass @@ -36,7 +36,7 @@ python () { return tos = d.getVar("TARGET_OS") - whitelist = [] + whitelist = ["mingw32"] extralibcs = [""] if "musl" in d.getVar("BASECANADIANEXTRAOS"): extralibcs.append("musl") diff --git a/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes/externalsrc.bbclass index 54cc7edba..3d6b80bee 100644 --- a/poky/meta/classes/externalsrc.bbclass +++ b/poky/meta/classes/externalsrc.bbclass @@ -217,11 +217,10 @@ def srctree_hash_files(d, srcdir=None): env['GIT_INDEX_FILE'] = tmp_index.name subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env) git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8") - submodule_helper = subprocess.check_output(['git', 'submodule', 'status'], cwd=s_dir, env=env).decode("utf-8") + submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8") for line in submodule_helper.splitlines(): - module_relpath = line.split()[1] - if not module_relpath.split('/')[0] == '..': - module_dir = os.path.join(s_dir, module_relpath) + module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1]) + if os.path.isdir(module_dir): proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) proc.communicate() proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 013455f49..353cc6717 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -657,7 +657,7 @@ reproducible_final_image_task () { fi # Set mtime of all files to a reproducible value bbnote "reproducible_final_image_task: mtime set to $REPRODUCIBLE_TIMESTAMP_ROOTFS" - find ${IMAGE_ROOTFS} -exec touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS {} \; + find ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS fi } diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index fa05fc055..763d5f1da 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -176,7 +176,7 @@ def package_qa_check_useless_rpaths(file, name, d, elf, messages): if rpath_eq(rpath, libdir) or rpath_eq(rpath, base_libdir): # The dynamic linker searches both these places anyway. There is no point in # looking there again. - package_qa_add_message(messages, "useless-rpaths", "%s: %s contains probably-redundant RPATH %s" % (name, package_qa_clean_path(file, d), rpath)) + package_qa_add_message(messages, "useless-rpaths", "%s: %s contains probably-redundant RPATH %s" % (name, package_qa_clean_path(file, d, name), rpath)) QAPATHTEST[dev-so] = "package_qa_check_dev" def package_qa_check_dev(path, name, d, elf, messages): @@ -185,8 +185,8 @@ def package_qa_check_dev(path, name, d, elf, messages): """ 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): - package_qa_add_message(messages, "dev-so", "non -dev/-dbg/nativesdk- package contains symlink .so: %s path '%s'" % \ - (name, package_qa_clean_path(path,d))) + package_qa_add_message(messages, "dev-so", "non -dev/-dbg/nativesdk- package %s contains symlink .so '%s'" % \ + (name, package_qa_clean_path(path, d, name))) QAPATHTEST[dev-elf] = "package_qa_check_dev_elf" def package_qa_check_dev_elf(path, name, d, elf, messages): @@ -196,8 +196,8 @@ def package_qa_check_dev_elf(path, name, d, elf, messages): install link-time .so files that are linker scripts. """ if name.endswith("-dev") and path.endswith(".so") and not os.path.islink(path) and elf: - package_qa_add_message(messages, "dev-elf", "-dev package contains non-symlink .so: %s path '%s'" % \ - (name, package_qa_clean_path(path,d))) + package_qa_add_message(messages, "dev-elf", "-dev package %s contains non-symlink .so '%s'" % \ + (name, package_qa_clean_path(path, d, name))) QAPATHTEST[staticdev] = "package_qa_check_staticdev" def package_qa_check_staticdev(path, name, d, elf, messages): @@ -210,7 +210,7 @@ def package_qa_check_staticdev(path, name, d, elf, messages): 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: package_qa_add_message(messages, "staticdev", "non -staticdev package contains static .a library: %s path '%s'" % \ - (name, package_qa_clean_path(path,d))) + (name, package_qa_clean_path(path,d, name))) QAPATHTEST[mime] = "package_qa_check_mime" def package_qa_check_mime(path, name, d, elf, messages): diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes/kernel-yocto.bbclass index 15c8dbb81..30f07de4c 100644 --- a/poky/meta/classes/kernel-yocto.bbclass +++ b/poky/meta/classes/kernel-yocto.bbclass @@ -378,7 +378,7 @@ do_kernel_checkout() { # checkout and clobber any unimportant files git checkout -f ${machine_branch} } -do_kernel_checkout[dirs] = "${S}" +do_kernel_checkout[dirs] = "${S} ${WORKDIR}" addtask kernel_checkout before do_kernel_metadata after do_symlink_kernsrc addtask kernel_metadata after do_validate_branches do_unpack before do_patch diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass index c96b032eb..73cebb4d5 100644 --- a/poky/meta/classes/license_image.bbclass +++ b/poky/meta/classes/license_image.bbclass @@ -1,3 +1,5 @@ +ROOTFS_LICENSE_DIR = "${IMAGE_ROOTFS}/usr/share/common-licenses" + python write_package_manifest() { # Get list of installed packages license_image_dir = d.expand('${LICENSE_DIRECTORY}/${IMAGE_NAME}') @@ -104,8 +106,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): copy_lic_manifest = d.getVar('COPY_LIC_MANIFEST') copy_lic_dirs = d.getVar('COPY_LIC_DIRS') if rootfs and copy_lic_manifest == "1": - rootfs_license_dir = os.path.join(d.getVar('IMAGE_ROOTFS'), - 'usr', 'share', 'common-licenses') + rootfs_license_dir = d.getVar('ROOTFS_LICENSE_DIR') bb.utils.mkdirhier(rootfs_license_dir) rootfs_license_manifest = os.path.join(rootfs_license_dir, os.path.split(license_manifest)[1]) @@ -143,12 +144,13 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): continue # Make sure we use only canonical name for the license file - rootfs_license = os.path.join(rootfs_license_dir, "generic_%s" % generic_lic) + generic_lic_file = "generic_%s" % generic_lic + rootfs_license = os.path.join(rootfs_license_dir, generic_lic_file) if not os.path.exists(rootfs_license): oe.path.copyhardlink(pkg_license, rootfs_license) if not os.path.exists(pkg_rootfs_license): - os.symlink(os.path.join('..', lic), pkg_rootfs_license) + os.symlink(os.path.join('..', generic_lic_file), pkg_rootfs_license) else: if (oe.license.license_ok(canonical_license(d, lic), bad_licenses) == False or @@ -267,3 +269,13 @@ python do_populate_lic_deploy() { addtask populate_lic_deploy before do_build after do_image_complete do_populate_lic_deploy[recrdeptask] += "do_populate_lic do_deploy" +python license_qa_dead_symlink() { + import os + + for root, dirs, files in os.walk(d.getVar('ROOTFS_LICENSE_DIR')): + for file in files: + full_path = root + "/" + file + if os.path.islink(full_path) and not os.path.exists(full_path): + bb.error("broken symlink: " + full_path) +} +IMAGE_QA_COMMANDS += "license_qa_dead_symlink" diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index e3f0a7060..cf30f33f3 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -1049,7 +1049,7 @@ python fixup_perms () { # Create path to move directory to, move it, and then setup the symlink bb.utils.mkdirhier(os.path.dirname(target)) #bb.note("Fixup Perms: Rename %s -> %s" % (dir, ptarget)) - os.rename(origin, target) + bb.utils.rename(origin, target) #bb.note("Fixup Perms: Link %s -> %s" % (dir, link)) os.symlink(link, origin) @@ -1967,7 +1967,7 @@ python package_do_shlibs() { for (old, new) in renames: bb.note("Renaming %s to %s" % (old, new)) - os.rename(old, new) + bb.utils.rename(old, new) pkgfiles[pkg].remove(old) shlibs_file = os.path.join(shlibswork_dir, pkg + ".list") diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass index 84232ed9f..fe840d9cf 100644 --- a/poky/meta/classes/populate_sdk_ext.bbclass +++ b/poky/meta/classes/populate_sdk_ext.bbclass @@ -165,7 +165,7 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath): shutil.rmtree(temp_sdkbasepath) except FileNotFoundError: pass - os.rename(sdkbasepath, temp_sdkbasepath) + bb.utils.rename(sdkbasepath, temp_sdkbasepath) cmdprefix = '. %s .; ' % conf_initpath logfile = d.getVar('WORKDIR') + '/tasklist_bb_log.txt' try: @@ -175,7 +175,7 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath): if 'attempted to execute unexpectedly and should have been setscened' in e.stdout: msg += '\n----------\n\nNOTE: "attempted to execute unexpectedly and should have been setscened" errors indicate this may be caused by missing sstate artifacts that were likely produced in earlier builds, but have been subsequently deleted for some reason.\n' bb.fatal(msg) - os.rename(temp_sdkbasepath, sdkbasepath) + bb.utils.rename(temp_sdkbasepath, sdkbasepath) # Clean out residue of running bitbake, which check_sstate_task_list() # will effectively do clean_esdk_builddir(d, sdkbasepath) diff --git a/poky/meta/classes/reproducible_build.bbclass b/poky/meta/classes/reproducible_build.bbclass index f06e00d70..ea643f286 100644 --- a/poky/meta/classes/reproducible_build.bbclass +++ b/poky/meta/classes/reproducible_build.bbclass @@ -41,6 +41,9 @@ SDE_DIR = "${WORKDIR}/source-date-epoch" SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt" SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch" +# Enable compiler warning when the __TIME__, __DATE__ and __TIMESTAMP__ macros are used. +TARGET_CC_ARCH_append_class-target = " -Wdate-time" + # A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400" @@ -63,7 +66,7 @@ python do_deploy_source_date_epoch_setscene () { if os.path.exists(sde_file): target = d.getVar('SDE_FILE') bb.debug(1, "Moving setscene SDE file %s -> %s" % (sde_file, target)) - os.rename(sde_file, target) + bb.utils.rename(sde_file, target) else: bb.debug(1, "%s not found!" % sde_file) } diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass index 894f0e310..e907a3566 100644 --- a/poky/meta/classes/sanity.bbclass +++ b/poky/meta/classes/sanity.bbclass @@ -392,9 +392,12 @@ def check_connectivity(d): msg = data.getVar('CONNECTIVITY_CHECK_MSG') or "" if len(msg) == 0: msg = "%s.\n" % err - msg += " Please ensure your host's network is configured correctly,\n" - msg += " or set BB_NO_NETWORK = \"1\" to disable network access if\n" - msg += " all required sources are on local disk.\n" + msg += " Please ensure your host's network is configured correctly.\n" + msg += " If your ISP or network is blocking the above URL,\n" + msg += " try with another domain name, for example by setting:\n" + msg += " CONNECTIVITY_CHECK_URIS = \"https://www.yoctoproject.org/\"" + msg += " You could also set BB_NO_NETWORK = \"1\" to disable network\n" + msg += " access if all required sources are on local disk.\n" retval = msg return retval @@ -882,13 +885,18 @@ def check_sanity_everybuild(status, d): except: pass - oeroot = d.getVar('COREBASE') - if oeroot.find('+') != -1: - 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.") - if oeroot.find('@') != -1: - 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.") - if oeroot.find(' ') != -1: - 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.") + for checkdir in ['COREBASE', 'TMPDIR']: + val = d.getVar(checkdir) + if val.find('..') != -1: + 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) + if val.find('+') != -1: + 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) + if val.find('@') != -1: + 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) + if val.find(' ') != -1: + 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) + if val.find('%') != -1: + 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) # Check the format of MIRRORS, PREMIRRORS and SSTATE_MIRRORS import re diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index 8e8efd18d..b1c608dcb 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -401,7 +401,7 @@ def sstate_installpkgdir(ss, d): for state in ss['dirs']: prepdir(state[1]) - os.rename(sstateinst + state[0], state[1]) + bb.utils.rename(sstateinst + state[0], state[1]) sstate_install(ss, d) for plain in ss['plaindirs']: @@ -413,7 +413,7 @@ def sstate_installpkgdir(ss, d): dest = plain bb.utils.mkdirhier(src) prepdir(dest) - os.rename(src, dest) + bb.utils.rename(src, dest) return True @@ -664,7 +664,7 @@ def sstate_package(ss, d): continue bb.error("sstate found an absolute path symlink %s pointing at %s. Please replace this with a relative link." % (srcpath, link)) bb.debug(2, "Preparing tree %s for packaging at %s" % (state[1], sstatebuild + state[0])) - os.rename(state[1], sstatebuild + state[0]) + bb.utils.rename(state[1], sstatebuild + state[0]) workdir = d.getVar('WORKDIR') sharedworkdir = os.path.join(d.getVar('TMPDIR'), "work-shared") @@ -674,7 +674,7 @@ def sstate_package(ss, d): pdir = plain.replace(sharedworkdir, sstatebuild) bb.utils.mkdirhier(plain) bb.utils.mkdirhier(pdir) - os.rename(plain, pdir) + bb.utils.rename(plain, pdir) d.setVar('SSTATE_BUILDDIR', sstatebuild) d.setVar('SSTATE_INSTDIR', sstatebuild) diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass index e61375950..43de9d4d7 100644 --- a/poky/meta/classes/testimage.bbclass +++ b/poky/meta/classes/testimage.bbclass @@ -127,6 +127,11 @@ testimage_dump_host () { netstat -an } +testimage_dump_monitor () { + query-status + query-block +} + python do_testimage() { testimage_main(d) } @@ -320,6 +325,7 @@ def testimage_main(d): target_kwargs['powercontrol_extra_args'] = d.getVar("TEST_POWERCONTROL_EXTRA_ARGS") or "" target_kwargs['serialcontrol_cmd'] = d.getVar("TEST_SERIALCONTROL_CMD") or None target_kwargs['serialcontrol_extra_args'] = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS") or "" + target_kwargs['testimage_dump_monitor'] = d.getVar("testimage_dump_monitor") or "" target_kwargs['testimage_dump_target'] = d.getVar("testimage_dump_target") or "" def export_ssh_agent(d): diff --git a/poky/meta/classes/update-alternatives.bbclass b/poky/meta/classes/update-alternatives.bbclass index 8c2b66e7f..000e4d566 100644 --- a/poky/meta/classes/update-alternatives.bbclass +++ b/poky/meta/classes/update-alternatives.bbclass @@ -184,7 +184,7 @@ python apply_update_alternative_renames () { link_rename.append((alt_target, alt_target_rename)) else: bb.note('%s: Rename %s -> %s' % (pn, alt_target, alt_target_rename)) - os.rename(src, dest) + bb.utils.rename(src, dest) update_files(alt_target, alt_target_rename, pkg, d) else: bb.warn("%s: alternative target (%s or %s) does not exist, skipping..." % (pn, alt_target, alt_target_rename)) @@ -201,7 +201,7 @@ python apply_update_alternative_renames () { if os.path.lexists(link_target): # Ok, the link_target exists, we can rename bb.note('%s: Rename (link) %s -> %s' % (pn, alt_target, alt_target_rename)) - os.rename(src, dest) + bb.utils.rename(src, dest) else: # Try to resolve the broken link to link.${BPN} link_maybe = '%s.%s' % (os.readlink(src), pn) diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 385fc7dd5..4fa47d88e 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -527,7 +527,7 @@ export STRIP = "${HOST_PREFIX}strip" export OBJCOPY = "${HOST_PREFIX}objcopy" export OBJDUMP = "${HOST_PREFIX}objdump" export STRINGS = "${HOST_PREFIX}strings" -export NM = "${HOST_PREFIX}nm" +export NM = "${HOST_PREFIX}gcc-nm" export READELF = "${HOST_PREFIX}readelf" PYTHON = "${@sys.executable}" @@ -635,6 +635,7 @@ BBLAYERS_FETCH_DIR ??= "${COREBASE}" ################################################################## APACHE_MIRROR = "https://archive.apache.org/dist" +CPAN_MIRROR = "https://search.cpan.org/CPAN" DEBIAN_MIRROR = "http://ftp.debian.org/debian/pool" GENTOO_MIRROR = "http://distfiles.gentoo.org/distfiles" GNOME_GIT = "git://gitlab.gnome.org/GNOME" @@ -643,12 +644,12 @@ GNU_MIRROR = "https://ftp.gnu.org/gnu" GNUPG_MIRROR = "https://www.gnupg.org/ftp/gcrypt" GPE_MIRROR = "http://gpe.linuxtogo.org/download/source" KERNELORG_MIRROR = "https://cdn.kernel.org/pub" +SAMBA_MIRROR = "http://samba.org/samba/ftp" +SAVANNAH_GNU_MIRROR = "https://download.savannah.gnu.org/releases" +SAVANNAH_NONGNU_MIRROR = "https://download.savannah.nongnu.org/releases" SOURCEFORGE_MIRROR = "https://downloads.sourceforge.net" XLIBS_MIRROR = "https://xlibs.freedesktop.org/release" XORG_MIRROR = "https://www.x.org/releases/" -SAVANNAH_GNU_MIRROR = "https://download.savannah.gnu.org/releases" -SAVANNAH_NONGNU_MIRROR = "https://download.savannah.nongnu.org/releases" -CPAN_MIRROR = "https://search.cpan.org/CPAN" SRC_URI[vardepsexclude] += "\ APACHE_MIRROR \ @@ -661,6 +662,7 @@ SRC_URI[vardepsexclude] += "\ GNUPG_MIRROR \ GPE_MIRROR \ KERNELORG_MIRROR \ + SAMBA_MIRROR \ SAVANNAH_GNU_MIRROR \ SAVANNAH_NONGNU_MIRROR \ SOURCEFORGE_MIRROR \ diff --git a/poky/meta/conf/distro/include/default-distrovars.inc b/poky/meta/conf/distro/include/default-distrovars.inc index 433d4b665..ac1024576 100644 --- a/poky/meta/conf/distro/include/default-distrovars.inc +++ b/poky/meta/conf/distro/include/default-distrovars.inc @@ -10,7 +10,10 @@ LOCALE_UTF8_ONLY ?= "0" LOCALE_UTF8_IS_DEFAULT ?= "1" LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0" -DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat" +# seccomp is not yet ported to rv32 +DISTRO_FEATURES_DEFAULT_remove_riscv32 = "seccomp" + +DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp" DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}" IMAGE_FEATURES ?= "" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 627633185..140f7b490 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -78,7 +78,7 @@ RECIPE_MAINTAINER_pn-boost = "Alexander Kanavin " RECIPE_MAINTAINER_pn-boost-build-native = "Alexander Kanavin " RECIPE_MAINTAINER_pn-bootchart2 = "Alexander Kanavin " RECIPE_MAINTAINER_pn-bsd-headers = "Khem Raj " -RECIPE_MAINTAINER_pn-btrfs-tools = "Wang Mingyu " +RECIPE_MAINTAINER_pn-btrfs-tools = "Wang Mingyu " RECIPE_MAINTAINER_pn-build-appliance-image = "Richard Purdie " RECIPE_MAINTAINER_pn-build-sysroots = "Richard Purdie " RECIPE_MAINTAINER_pn-builder = "Richard Purdie " @@ -117,6 +117,9 @@ RECIPE_MAINTAINER_pn-core-image-testmaster-initramfs = "Richard Purdie " RECIPE_MAINTAINER_pn-gcc-runtime = "Khem Raj " RECIPE_MAINTAINER_pn-gcc-sanitizers = "Khem Raj " -RECIPE_MAINTAINER_pn-gcc-source-10.2.0 = "Khem Raj " +RECIPE_MAINTAINER_pn-gcc-source-11.1.0 = "Khem Raj " RECIPE_MAINTAINER_pn-gconf = "Ross Burton " RECIPE_MAINTAINER_pn-gcr = "Alexander Kanavin " RECIPE_MAINTAINER_pn-gdb = "Khem Raj " @@ -279,7 +282,7 @@ RECIPE_MAINTAINER_pn-intltool = "Alexander Kanavin " RECIPE_MAINTAINER_pn-iproute2 = "Changhyeok Bae " RECIPE_MAINTAINER_pn-iptables = "Changhyeok Bae " RECIPE_MAINTAINER_pn-iputils = "Changhyeok Bae " -RECIPE_MAINTAINER_pn-iso-codes = "Wang Mingyu " +RECIPE_MAINTAINER_pn-iso-codes = "Wang Mingyu " RECIPE_MAINTAINER_pn-itstool = "Andreas Müller " RECIPE_MAINTAINER_pn-iw = "Changhyeok Bae " RECIPE_MAINTAINER_pn-libjpeg-turbo = "Anuj Mittal " @@ -350,6 +353,7 @@ RECIPE_MAINTAINER_pn-libjitterentropy = "Ross Burton " RECIPE_MAINTAINER_pn-libksba = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libmatchbox = "Ross Burton " RECIPE_MAINTAINER_pn-libmd = "Alexander Kanavin " +RECIPE_MAINTAINER_pn-libmicrohttpd = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libmnl = "Khem Raj " RECIPE_MAINTAINER_pn-libmpc = "Khem Raj " RECIPE_MAINTAINER_pn-libmodule-build-perl = "Tim Orling " @@ -364,19 +368,20 @@ RECIPE_MAINTAINER_pn-libogg = "Anuj Mittal " RECIPE_MAINTAINER_pn-libomxil = "Anuj Mittal " RECIPE_MAINTAINER_pn-libpam = "Anuj Mittal " RECIPE_MAINTAINER_pn-libpcap = "Anuj Mittal " -RECIPE_MAINTAINER_pn-libpciaccess = "Wang Mingyu " +RECIPE_MAINTAINER_pn-libpciaccess = "Wang Mingyu " RECIPE_MAINTAINER_pn-libpcre = "Yi Zhao " RECIPE_MAINTAINER_pn-libpcre2 = "Armin Kuster " -RECIPE_MAINTAINER_pn-libpipeline = "Wang Mingyu " +RECIPE_MAINTAINER_pn-libpipeline = "Wang Mingyu " RECIPE_MAINTAINER_pn-libpng = "Anuj Mittal " RECIPE_MAINTAINER_pn-libportal = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libproxy = "Anuj Mittal " RECIPE_MAINTAINER_pn-libpthread-stubs = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libpsl = "Anuj Mittal " -RECIPE_MAINTAINER_pn-librepo = "Wang Mingyu " +RECIPE_MAINTAINER_pn-librepo = "Wang Mingyu " RECIPE_MAINTAINER_pn-librsvg = "Anuj Mittal " RECIPE_MAINTAINER_pn-libsamplerate0 = "Unassigned " RECIPE_MAINTAINER_pn-libsdl2 = "Yi Zhao " +RECIPE_MAINTAINER_pn-libseccomp = "Armin Kuster " RECIPE_MAINTAINER_pn-libsecret = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libsm = "Armin Kuster " RECIPE_MAINTAINER_pn-libsndfile1 = "Unassigned " @@ -395,7 +400,7 @@ RECIPE_MAINTAINER_pn-libtool-native = "Robert Yang " RECIPE_MAINTAINER_pn-libucontext = "Khem Raj " RECIPE_MAINTAINER_pn-libunistring = "Anuj Mittal " RECIPE_MAINTAINER_pn-libunwind = "Bruce Ashfield " -RECIPE_MAINTAINER_pn-liburcu = "Wang Mingyu " +RECIPE_MAINTAINER_pn-liburcu = "Wang Mingyu " RECIPE_MAINTAINER_pn-liburi-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libusb1 = "Anuj Mittal " RECIPE_MAINTAINER_pn-libubootenv = "Stefano Babic " @@ -403,7 +408,7 @@ RECIPE_MAINTAINER_pn-libuv = "Armin Kuster " RECIPE_MAINTAINER_pn-libva = "Anuj Mittal " RECIPE_MAINTAINER_pn-libva-initial = "Anuj Mittal " RECIPE_MAINTAINER_pn-libva-utils = "Anuj Mittal " -RECIPE_MAINTAINER_pn-libvorbis = "Zang Ruochen " +RECIPE_MAINTAINER_pn-libvorbis = "Zang Ruochen " RECIPE_MAINTAINER_pn-libwebp = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libwpe = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libx11 = "Armin Kuster " @@ -444,7 +449,7 @@ RECIPE_MAINTAINER_pn-libxtst = "Armin Kuster " RECIPE_MAINTAINER_pn-libxv = "Armin Kuster " RECIPE_MAINTAINER_pn-libxvmc = "Armin Kuster " RECIPE_MAINTAINER_pn-libxxf86vm = "Armin Kuster " -RECIPE_MAINTAINER_pn-libyaml = "Wang Mingyu " +RECIPE_MAINTAINER_pn-libyaml = "Wang Mingyu " RECIPE_MAINTAINER_pn-lighttpd = "Alexander Kanavin " RECIPE_MAINTAINER_pn-linux-dummy = "Alexander Kanavin " RECIPE_MAINTAINER_pn-linux-firmware = "Otavio Salvador " @@ -509,7 +514,7 @@ RECIPE_MAINTAINER_pn-modutils-initscripts = "Yi Zhao " RECIPE_MAINTAINER_pn-mpeg2dec = "Alexander Kanavin " RECIPE_MAINTAINER_pn-mpfr = "Khem Raj " RECIPE_MAINTAINER_pn-mpg123 = "Alexander Kanavin " -RECIPE_MAINTAINER_pn-msmtp = "Wang Mingyu " +RECIPE_MAINTAINER_pn-msmtp = "Wang Mingyu " RECIPE_MAINTAINER_pn-mtd-utils = "Denys Dmytriyenko " RECIPE_MAINTAINER_pn-mtdev = "Anuj Mittal " RECIPE_MAINTAINER_pn-mtools = "Anuj Mittal " @@ -587,7 +592,7 @@ RECIPE_MAINTAINER_pn-python3-async = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-packaging = "Tim Orling " RECIPE_MAINTAINER_pn-python3-pathlib2 = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-pbr = "Zang Ruochen " -RECIPE_MAINTAINER_pn-python3-pip = "Zang Ruochen " +RECIPE_MAINTAINER_pn-python3-pbr = "Zang Ruochen " +RECIPE_MAINTAINER_pn-python3-pip = "Zang Ruochen " RECIPE_MAINTAINER_pn-python3-pluggy = "Tim Orling " RECIPE_MAINTAINER_pn-python3-py = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-pycairo = "Zang Ruochen " +RECIPE_MAINTAINER_pn-python3-pyyaml = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-pycairo = "Zang Ruochen " RECIPE_MAINTAINER_pn-python3-pyelftools = "Joshua Watt " RECIPE_MAINTAINER_pn-python3-pygments = "Oleksandr Kravchuk " -RECIPE_MAINTAINER_pn-python3-pygobject = "Zang Ruochen " +RECIPE_MAINTAINER_pn-python3-pygobject = "Zang Ruochen " RECIPE_MAINTAINER_pn-python3-pyparsing = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-pytest = "Tim Orling " RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling " RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling " RECIPE_MAINTAINER_pn-python3-setuptools = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-setuptools-scm = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-six = "Zang Ruochen " +RECIPE_MAINTAINER_pn-python3-six = "Zang Ruochen " RECIPE_MAINTAINER_pn-python3-smmap = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-sortedcontainers = "Tim Orling " RECIPE_MAINTAINER_pn-python3-subunit = "Oleksandr Kravchuk " @@ -797,6 +803,7 @@ RECIPE_MAINTAINER_pn-xset = "Armin Kuster " RECIPE_MAINTAINER_pn-xtrans = "Armin Kuster " RECIPE_MAINTAINER_pn-xuser-account = "Armin Kuster " RECIPE_MAINTAINER_pn-xvinfo = "Armin Kuster " +RECIPE_MAINTAINER_pn-xwayland = "Armin Kuster " RECIPE_MAINTAINER_pn-xwininfo = "Armin Kuster " RECIPE_MAINTAINER_pn-xxhash = "Alexander Kanavin " RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko " diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index 76ada982f..a0c35eed0 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -16,7 +16,7 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime" # Default libc config PREFERRED_PROVIDER_virtual/gettext ??= "gettext" -GCCVERSION ?= "10.%" +GCCVERSION ?= "11.%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.36%" GDBVERSION ?= "10.%" @@ -26,7 +26,7 @@ QEMUVERSION ?= "5.2%" GOVERSION ?= "1.16%" # This can not use wildcards like 8.0.% since it is also used in mesa to denote # llvm version being used, so always bump it with llvm recipe version bump -LLVMVERSION ?= "11.1.0" +LLVMVERSION ?= "12.0.0" PREFERRED_VERSION_gcc ?= "${GCCVERSION}" PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}" diff --git a/poky/meta/conf/distro/include/yocto-uninative.inc b/poky/meta/conf/distro/include/yocto-uninative.inc index a2a2dd18e..05b79d14c 100644 --- a/poky/meta/conf/distro/include/yocto-uninative.inc +++ b/poky/meta/conf/distro/include/yocto-uninative.inc @@ -8,7 +8,7 @@ UNINATIVE_MAXGLIBCVERSION = "2.33" -UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/3.0/" -UNINATIVE_CHECKSUM[aarch64] ?= "1c668909098c5b56132067adc69a249cb771f4560428e5822de903a12d97bf33" -UNINATIVE_CHECKSUM[i686] ?= "e6cc2fc056234cffa6a2ff084cce27d544ea3f487a62b5e253351cefd4421900" -UNINATIVE_CHECKSUM[x86_64] ?= "5ec5a9276046e7eceeac749a18b175667384e1f445cd4526300a41404d985a5b" +UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/3.1/" +UNINATIVE_CHECKSUM[aarch64] ?= "7fa12b9fe7a95934cc09beb0e8a25ff97179ef3105116015d32548eadd27b024" +UNINATIVE_CHECKSUM[i686] ?= "bbfcdd48336800b5af97e294918c6586a0a8fa903f127f813b0bd5110de8c55c" +UNINATIVE_CHECKSUM[x86_64] ?= "5d0611df544edff6428cef7d871257a91aa6ba1bd92f5365a2df8deb54b6b31e" diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf index 5210fd461..5892c80ae 100644 --- a/poky/meta/conf/layer.conf +++ b/poky/meta/conf/layer.conf @@ -7,12 +7,12 @@ BBFILE_COLLECTIONS += "core" BBFILE_PATTERN_core = "^${LAYERDIR}/" BBFILE_PRIORITY_core = "5" -LAYERSERIES_CORENAMES = "hardknott" +LAYERSERIES_CORENAMES = "hardknott honister" # This should only be incremented on significant changes that will # cause compatibility issues with other layers LAYERVERSION_core = "12" -LAYERSERIES_COMPAT_core = "hardknott" +LAYERSERIES_COMPAT_core = "honister" BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core" diff --git a/poky/meta/conf/machine/include/arm/arch-armv6m.inc b/poky/meta/conf/machine/include/arm/arch-armv6m.inc old mode 100755 new mode 100644 diff --git a/poky/meta/conf/sanity.conf b/poky/meta/conf/sanity.conf index ef7cee6b6..68d4523af 100644 --- a/poky/meta/conf/sanity.conf +++ b/poky/meta/conf/sanity.conf @@ -3,7 +3,7 @@ # See sanity.bbclass # # Expert users can confirm their sanity with "touch conf/sanity.conf" -BB_MIN_VERSION = "1.49.2" +BB_MIN_VERSION = "1.51.0" SANITY_ABIFILE = "${TMPDIR}/abi_version" diff --git a/poky/meta/lib/oe/package_manager/__init__.py b/poky/meta/lib/oe/package_manager/__init__.py index 8e7128b19..4d22bc029 100644 --- a/poky/meta/lib/oe/package_manager/__init__.py +++ b/poky/meta/lib/oe/package_manager/__init__.py @@ -189,7 +189,7 @@ class PackageManager(object, metaclass=ABCMeta): bb.utils.remove(self.intercepts_dir, True) bb.utils.mkdirhier(self.intercepts_dir) for intercept in postinst_intercepts: - bb.utils.copyfile(intercept, os.path.join(self.intercepts_dir, os.path.basename(intercept))) + shutil.copy(intercept, os.path.join(self.intercepts_dir, os.path.basename(intercept))) @abstractmethod def _handle_intercept_failure(self, failed_script): diff --git a/poky/meta/lib/oe/package_manager/deb/__init__.py b/poky/meta/lib/oe/package_manager/deb/__init__.py index 2ee68fefb..a4b6b6f64 100644 --- a/poky/meta/lib/oe/package_manager/deb/__init__.py +++ b/poky/meta/lib/oe/package_manager/deb/__init__.py @@ -214,7 +214,7 @@ class DpkgPM(OpkgDpkgPM): tmp_sf.write(status) - os.rename(status_file + ".tmp", status_file) + bb.utils.rename(status_file + ".tmp", status_file) def run_pre_post_installs(self, package_name=None): """ @@ -299,13 +299,13 @@ class DpkgPM(OpkgDpkgPM): for dir in dirs: new_dir = re.sub(r"\.dpkg-new", "", dir) if dir != new_dir: - os.rename(os.path.join(root, dir), + bb.utils.rename(os.path.join(root, dir), os.path.join(root, new_dir)) for file in files: new_file = re.sub(r"\.dpkg-new", "", file) if file != new_file: - os.rename(os.path.join(root, file), + bb.utils.rename(os.path.join(root, file), os.path.join(root, new_file)) diff --git a/poky/meta/lib/oe/package_manager/deb/sdk.py b/poky/meta/lib/oe/package_manager/deb/sdk.py index 9859d8f32..f4b0b6510 100644 --- a/poky/meta/lib/oe/package_manager/deb/sdk.py +++ b/poky/meta/lib/oe/package_manager/deb/sdk.py @@ -65,6 +65,8 @@ class PkgSdk(Sdk): self.target_pm.install_complementary(self.d.getVar('SDKIMAGE_INSTALL_COMPLEMENTARY')) + self.target_pm.run_pre_post_installs() + self.target_pm.run_intercepts(populate_sdk='target') execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_TARGET_COMMAND")) @@ -78,6 +80,8 @@ class PkgSdk(Sdk): self._populate_sysroot(self.host_pm, self.host_manifest) self.install_locales(self.host_pm) + self.host_pm.run_pre_post_installs() + self.host_pm.run_intercepts(populate_sdk='host') execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_HOST_COMMAND")) diff --git a/poky/meta/lib/oe/package_manager/ipk/__init__.py b/poky/meta/lib/oe/package_manager/ipk/__init__.py index da488c1c7..4cd396311 100644 --- a/poky/meta/lib/oe/package_manager/ipk/__init__.py +++ b/poky/meta/lib/oe/package_manager/ipk/__init__.py @@ -213,7 +213,7 @@ class OpkgPM(OpkgDpkgPM): tmp_sf.write(status) - os.rename(status_file + ".tmp", status_file) + bb.utils.rename(status_file + ".tmp", status_file) def _create_custom_config(self): bb.note("Building from feeds activated!") diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py index fcdbe66c1..15ce060ff 100644 --- a/poky/meta/lib/oe/prservice.py +++ b/poky/meta/lib/oe/prservice.py @@ -7,7 +7,7 @@ def prserv_make_conn(d, check = False): host_params = list([_f for _f in (d.getVar("PRSERV_HOST") or '').split(':') if _f]) try: conn = None - conn = prserv.serv.PRServerConnection(host_params[0], int(host_params[1])) + conn = prserv.serv.connect(host_params[0], int(host_params[1])) if check: if not conn.ping(): raise Exception('service not available') diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py index 5f8102304..4b48cdbb6 100644 --- a/poky/meta/lib/oe/rootfs.py +++ b/poky/meta/lib/oe/rootfs.py @@ -114,7 +114,7 @@ class Rootfs(object, metaclass=ABCMeta): shutil.rmtree(self.image_rootfs + '-orig') except: pass - os.rename(self.image_rootfs, self.image_rootfs + '-orig') + bb.utils.rename(self.image_rootfs, self.image_rootfs + '-orig') bb.note(" Creating debug rootfs...") bb.utils.mkdirhier(self.image_rootfs) @@ -165,10 +165,10 @@ class Rootfs(object, metaclass=ABCMeta): shutil.rmtree(self.image_rootfs + '-dbg') except: pass - os.rename(self.image_rootfs, self.image_rootfs + '-dbg') + bb.utils.rename(self.image_rootfs, self.image_rootfs + '-dbg') bb.note(" Restoreing original rootfs...") - os.rename(self.image_rootfs + '-orig', self.image_rootfs) + bb.utils.rename(self.image_rootfs + '-orig', self.image_rootfs) def _exec_shell_cmd(self, cmd): fakerootcmd = self.d.getVar('FAKEROOT') @@ -305,7 +305,7 @@ class Rootfs(object, metaclass=ABCMeta): def _check_for_kernel_modules(self, modules_dir): for root, dirs, files in os.walk(modules_dir, topdown=True): for name in files: - found_ko = name.endswith(".ko") + found_ko = name.endswith((".ko", ".ko.gz", ".ko.xz")) if found_ko: return found_ko return False diff --git a/poky/meta/lib/oe/terminal.py b/poky/meta/lib/oe/terminal.py index 61c2687ef..59aa80de6 100644 --- a/poky/meta/lib/oe/terminal.py +++ b/poky/meta/lib/oe/terminal.py @@ -163,7 +163,12 @@ class Tmux(Terminal): # devshells, if it's already there, add a new window to it. window_name = 'devshell-%i' % os.getpid() - self.command = 'tmux new -c "{{cwd}}" -d -s {0} -n {0} "{{command}}"'.format(window_name) + self.command = 'tmux new -c "{{cwd}}" -d -s {0} -n {0} "{{command}}"' + if not check_tmux_version('1.9'): + # `tmux new-session -c` was added in 1.9; + # older versions fail with that flag + self.command = 'tmux new -d -s {0} -n {0} "{{command}}"' + self.command = self.command.format(window_name) Terminal.__init__(self, sh_cmd, title, env, d) attach_cmd = 'tmux att -t {0}'.format(window_name) @@ -253,13 +258,18 @@ def spawn(name, sh_cmd, title=None, env=None, d=None): except OSError: return +def check_tmux_version(desired): + vernum = check_terminal_version("tmux") + if vernum and LooseVersion(vernum) < desired: + return False + return vernum + def check_tmux_pane_size(tmux): import subprocess as sub # On older tmux versions (<1.9), return false. The reason # is that there is no easy way to get the height of the active panel # on current window without nested formats (available from version 1.9) - vernum = check_terminal_version("tmux") - if vernum and LooseVersion(vernum) < '1.9': + if not check_tmux_version('1.9'): return False try: p = sub.Popen('%s list-panes -F "#{?pane_active,#{pane_height},}"' % tmux, diff --git a/poky/meta/lib/oeqa/core/case.py b/poky/meta/lib/oeqa/core/case.py index aae451fef..bc4446a93 100644 --- a/poky/meta/lib/oeqa/core/case.py +++ b/poky/meta/lib/oeqa/core/case.py @@ -43,8 +43,13 @@ class OETestCase(unittest.TestCase): clss.tearDownClassMethod() def _oeSetUp(self): - for d in self.decorators: - d.setUpDecorator() + try: + for d in self.decorators: + d.setUpDecorator() + except: + for d in self.decorators: + d.tearDownDecorator() + raise self.setUpMethod() def _oeTearDown(self): diff --git a/poky/meta/lib/oeqa/core/decorator/oetimeout.py b/poky/meta/lib/oeqa/core/decorator/oetimeout.py index df90d1c79..5e6873ad4 100644 --- a/poky/meta/lib/oeqa/core/decorator/oetimeout.py +++ b/poky/meta/lib/oeqa/core/decorator/oetimeout.py @@ -24,5 +24,6 @@ class OETimeout(OETestDecorator): def tearDownDecorator(self): signal.alarm(0) - signal.signal(signal.SIGALRM, self.alarmSignal) - self.logger.debug("Removed SIGALRM handler") + if hasattr(self, 'alarmSignal'): + signal.signal(signal.SIGALRM, self.alarmSignal) + self.logger.debug("Removed SIGALRM handler") diff --git a/poky/meta/lib/oeqa/core/target/qemu.py b/poky/meta/lib/oeqa/core/target/qemu.py index 792efca1f..4a5df4a9a 100644 --- a/poky/meta/lib/oeqa/core/target/qemu.py +++ b/poky/meta/lib/oeqa/core/target/qemu.py @@ -12,6 +12,7 @@ from collections import defaultdict from .ssh import OESSHTarget from oeqa.utils.qemurunner import QemuRunner +from oeqa.utils.dump import MonitorDumper from oeqa.utils.dump import TargetDumper supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] @@ -43,6 +44,11 @@ class OEQemuTarget(OESSHTarget): dump_host_cmds=dump_host_cmds, logger=logger, serial_ports=serial_ports, boot_patterns = boot_patterns, use_ovmf=ovmf, tmpfsdir=tmpfsdir) + dump_monitor_cmds = kwargs.get("testimage_dump_monitor") + self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) + if self.monitor_dumper: + self.monitor_dumper.create_dir("qmp") + dump_target_cmds = kwargs.get("testimage_dump_target") self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner) self.target_dumper.create_dir("qemu") diff --git a/poky/meta/lib/oeqa/core/target/ssh.py b/poky/meta/lib/oeqa/core/target/ssh.py index 461448dbc..923a223b2 100644 --- a/poky/meta/lib/oeqa/core/target/ssh.py +++ b/poky/meta/lib/oeqa/core/target/ssh.py @@ -43,6 +43,7 @@ class OESSHTarget(OETarget): if port: self.ssh = self.ssh + [ '-p', port ] self.scp = self.scp + [ '-P', port ] + self._monitor_dumper = None def start(self, **kwargs): pass @@ -50,6 +51,15 @@ class OESSHTarget(OETarget): def stop(self, **kwargs): pass + @property + def monitor_dumper(self): + return self._monitor_dumper + + @monitor_dumper.setter + def monitor_dumper(self, dumper): + self._monitor_dumper = dumper + self.monitor_dumper.dump_monitor() + def _run(self, command, timeout=None, ignore_status=True): """ Runs command in target using SSHProcess. @@ -87,9 +97,14 @@ class OESSHTarget(OETarget): processTimeout = self.timeout status, output = self._run(sshCmd, processTimeout, True) - self.logger.debug('Command: %s\nOutput: %s\n' % (command, output)) + self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output)) if (status == 255) and (('No route to host') in output): + if self.monitor_dumper: + self.monitor_dumper.dump_monitor() + if status == 255: self.target_dumper.dump_target() + if self.monitor_dumper: + self.monitor_dumper.dump_monitor() return (status, output) def copyTo(self, localSrc, remoteDst): diff --git a/poky/meta/lib/oeqa/core/tests/cases/timeout.py b/poky/meta/lib/oeqa/core/tests/cases/timeout.py index 5dfecc7b7..69cf969a6 100644 --- a/poky/meta/lib/oeqa/core/tests/cases/timeout.py +++ b/poky/meta/lib/oeqa/core/tests/cases/timeout.py @@ -8,6 +8,7 @@ from time import sleep from oeqa.core.case import OETestCase from oeqa.core.decorator.oetimeout import OETimeout +from oeqa.core.decorator.depends import OETestDepends class TimeoutTest(OETestCase): @@ -19,3 +20,15 @@ class TimeoutTest(OETestCase): def testTimeoutFail(self): sleep(2) self.assertTrue(True, msg='How is this possible?') + + + def testTimeoutSkip(self): + self.skipTest("This test needs to be skipped, so that testTimeoutDepends()'s OETestDepends kicks in") + + @OETestDepends(["timeout.TimeoutTest.testTimeoutSkip"]) + @OETimeout(3) + def testTimeoutDepends(self): + self.assertTrue(False, msg='How is this possible?') + + def testTimeoutUnrelated(self): + sleep(6) diff --git a/poky/meta/lib/oeqa/core/tests/test_data.py b/poky/meta/lib/oeqa/core/tests/test_data.py index ac74098b7..acd726f3a 100755 --- a/poky/meta/lib/oeqa/core/tests/test_data.py +++ b/poky/meta/lib/oeqa/core/tests/test_data.py @@ -33,7 +33,7 @@ class TestData(TestBase): def test_data_fail_wrong_variable(self): expectedError = 'AssertionError' - d = {'IMAGE' : 'core-image-sato', 'ARCH' : 'arm'} + d = {'IMAGE' : 'core-image-weston', 'ARCH' : 'arm'} tc = self._testLoader(d=d, modules=self.modules) results = tc.runTests() diff --git a/poky/meta/lib/oeqa/core/tests/test_decorators.py b/poky/meta/lib/oeqa/core/tests/test_decorators.py index b798bf7d3..5095f3994 100755 --- a/poky/meta/lib/oeqa/core/tests/test_decorators.py +++ b/poky/meta/lib/oeqa/core/tests/test_decorators.py @@ -133,5 +133,11 @@ class TestTimeoutDecorator(TestBase): msg = "OETestTimeout didn't restore SIGALRM" self.assertIs(alarm_signal, signal.getsignal(signal.SIGALRM), msg=msg) + def test_timeout_cancel(self): + tests = ['timeout.TimeoutTest.testTimeoutSkip', 'timeout.TimeoutTest.testTimeoutDepends', 'timeout.TimeoutTest.testTimeoutUnrelated'] + msg = 'Unrelated test failed to complete' + tc = self._testLoader(modules=self.modules, tests=tests) + self.assertTrue(tc.runTests().wasSuccessful(), msg=msg) + if __name__ == '__main__': unittest.main() diff --git a/poky/meta/lib/oeqa/manual/bsp-hw.json b/poky/meta/lib/oeqa/manual/bsp-hw.json index 75b89758c..ca91987e3 100644 --- a/poky/meta/lib/oeqa/manual/bsp-hw.json +++ b/poky/meta/lib/oeqa/manual/bsp-hw.json @@ -59,70 +59,6 @@ "summary": "live_boot_from_USB" } }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.boot_from_runlevel_3", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "Boot into system and edit /etc/inittab to make sure that system enter at the run level 3 by default, this is done by changing the line \n\n\nid:5:initdefault \n\nto \n\nid:3:initdefault \n\n", - "expected_results": "" - }, - "2": { - "action": "Reboot system, and press \"Tab\" to enter \"grub\"", - "expected_results": "" - }, - "3": { - "action": "Get into the \"kernel\" line with the edit option \"e\" and add \"psplash=false text\" at the end line.", - "expected_results": "" - }, - "4": { - "action": "Press \"F10\" or \"ctrl+x\" to boot system", - "expected_results": "" - }, - "5": { - "action": "If system ask you for a login type \"root\"", - "expected_results": "System should boot to run level 3, showing the command prompt." - } - }, - "summary": "boot_from_runlevel_3" - } - }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.boot_from_runlevel_5", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "Boot into system and edit /etc/inittab to make sure that system enter at the run level 5 by default, this is done by changing the line \n\nid:3:initdefault \n\nto \n\nid:5:initdefault \n\n", - "expected_results": "" - }, - "2": { - "action": "Reboot system, and press \"Tab\" to enter \"grub\"", - "expected_results": "" - }, - "3": { - "action": "Get into the \"kernel\" line with the edit option \"e\" and add \"psplash=false text\" at the end line.", - "expected_results": "" - }, - "4": { - "action": "Press \"F10\" or \"ctrl+x\" to boot system \nNote: The test is only for sato image.", - "expected_results": "System should boot to runlevel 5 ." - } - }, - "summary": "boot_from_runlevel_5" - } - }, { "test": { "@alias": "bsps-hw.bsps-hw.switch_among_multi_applications_and_desktop", @@ -153,70 +89,6 @@ "summary": "switch_among_multi_applications_and_desktop" } }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.ethernet_static_ip_set_in_connman", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "Boot the system and check internet connection is on . ", - "expected_results": "" - }, - "2": { - "action": "Launch connmand-properties (up-right corner on desktop)", - "expected_results": "" - }, - "3": { - "action": "Choose Ethernet device and set a valid static ip address for it. \nFor example, in our internal network, we can set as following: \nip address: 10.239.48.xxx \nMask: 255.255.255.0 \nGateway (Broadcast): 10.239.48.255", - "expected_results": "" - }, - "4": { - "action": "Check the Network configuration with \"ifconfig\"", - "expected_results": "Static IP was set successfully \n" - }, - "5": { - "action": "ping to another IP adress", - "expected_results": "Ping works correclty\n" - } - }, - "summary": "ethernet_static_ip_set_in_connman" - } - }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.ethernet_get_IP_in_connman_via_DHCP", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "Launch connmand-properties (up-right corner on your desktop). ", - "expected_results": "" - }, - "2": { - "action": "Check if Ethernet device can work properly with static IP, doing \"ping XXX.XXX.XXX.XXX\", once this is set.", - "expected_results": "Ping executed successfully . \n\n" - }, - "3": { - "action": "Then choose DHCP method for Ethernet device in connmand-properties.", - "expected_results": "" - }, - "4": { - "action": "Check with 'ifconfig\" and \"ping\" if Ethernet device get IP address via DHCP.", - "expected_results": "Ethernet device can get dynamic IP address via DHCP in connmand ." - } - }, - "summary": "ethernet_get_IP_in_connman_via_DHCP" - } - }, { "test": { "@alias": "bsps-hw.bsps-hw.connman_offline_mode_in_connman-gnome", @@ -239,40 +111,6 @@ "summary": "connman_offline_mode_in_connman-gnome" } }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.standby", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "boot system and launch terminal; check output of \"date\" and launch script \"continue.sh\"", - "expected_results": "" - }, - "2": { - "action": "echo \"mem\" > /sys/power/state", - "expected_results": "" - }, - "3": { - "action": "After system go into S3 mode, move mouse or press any key to make it resume (on NUC press power button)", - "expected_results": "" - }, - "4": { - "action": "Check \"date\" and script \"continue.sh\"", - "expected_results": "" - }, - "5": { - "action": "Check if application can work as normal \ncontinue.sh as below: \n \n#!/bin/sh \n \ni=1 \nwhile [ 0 ] \ndo \n echo $i \n sleep 1 \n i=$((i+1)) \ndone ", - "expected_results": "Screen should resume back and script can run continuously incrementing the i's value from where it was before going to standby state. Date should be the same with the corresponding time increment." - } - }, - "summary": "standby" - } - }, { "test": { "@alias": "bsps-hw.bsps-hw.check_CPU_utilization_after_standby", @@ -303,88 +141,6 @@ "summary": "check_CPU_utilization_after_standby" } }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.Test_if_LAN_device_works_well_after_resume_from_suspend_state", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "boot system and launch terminal", - "expected_results": "" - }, - "2": { - "action": "echo \"mem\" > /sys/power/state", - "expected_results": "" - }, - "3": { - "action": "After system go into S3 mode, move mouse or press any key to make it resume", - "expected_results": "" - }, - "4": { - "action": "check ping status \n\nNote: This TC apply only for core-image-full-cmd.", - "expected_results": "ping should always work before/after standby" - } - }, - "summary": "Test_if_LAN_device_works_well_after_resume_from_suspend_state" - } - }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.Test_if_usb_hid_device_works_well_after_resume_from_suspend_state", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "boot system and launch terminal", - "expected_results": "" - }, - "2": { - "action": "echo \"mem\" > /sys/power/state", - "expected_results": "" - }, - "3": { - "action": "After system go into S3 mode, resume the device by pressing the power button or using HID devices", - "expected_results": "Devices resumes " - }, - "4": { - "action": "check usb mouse and keyboard", - "expected_results": "Usb mouse and keyboard should work" - } - }, - "summary": "Test_if_usb_hid_device_works_well_after_resume_from_suspend_state" - } - }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.click_terminal_icon_on_X_desktop", - "author": [ - { - "email": "alexandru.c.georgescu@intel.com", - "name": "alexandru.c.georgescu@intel.com" - } - ], - "execution": { - "1": { - "action": "After system launch and X start up, click terminal icon on desktop", - "expected_results": "" - }, - "2": { - "action": "Check if only one terminal window launched and no other problem met", - "expected_results": "There should be no problem after launching terminal . " - } - }, - "summary": "click_terminal_icon_on_X_desktop" - } - }, { "test": { "@alias": "bsps-hw.bsps-hw.Add_multiple_files_in_media_player", @@ -837,40 +593,6 @@ "summary": "Check_if_watchdog_can_reset_the_target_system" } }, - { - "test": { - "@alias": "bsps-hw.bsps-hw.Check_if_RTC_(Real_Time_Clock)_can_work_correctly", - "author": [ - { - "email": "yi.zhao@windriver.com", - "name": "yi.zhao@windriver.com" - } - ], - "execution": { - "1": { - "action": "Read time from RTC registers. root@localhost:/root> hwclock -r Sun Mar 22 04:05:47 1970 -0.001948 seconds ", - "expected_results": "Can read and set the time from RTC.\n" - }, - "2": { - "action": "Set system current time root@localhost:/root> date 062309452008 ", - "expected_results": "" - }, - "3": { - "action": "Synchronize the system current time to RTC registers root@localhost:/root> hwclock -w ", - "expected_results": "" - }, - "4": { - "action": "Read time from RTC registers root@localhost:/root> hwclock -r ", - "expected_results": "" - }, - "5": { - "action": "Reboot target and read time from RTC again\n", - "expected_results": "" - } - }, - "summary": "Check_if_RTC_(Real_Time_Clock)_can_work_correctly" - } - }, { "test": { "@alias": "bsps-hw.bsps-hw.System_can_boot_up_via_NFS", diff --git a/poky/meta/lib/oeqa/runtime/cases/date.py b/poky/meta/lib/oeqa/runtime/cases/date.py index fdd2a6ae5..e14322911 100644 --- a/poky/meta/lib/oeqa/runtime/cases/date.py +++ b/poky/meta/lib/oeqa/runtime/cases/date.py @@ -13,12 +13,12 @@ class DateTest(OERuntimeTestCase): def setUp(self): if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd': self.logger.debug('Stopping systemd-timesyncd daemon') - self.target.run('systemctl disable --now systemd-timesyncd') + self.target.run('systemctl disable --now --runtime systemd-timesyncd') def tearDown(self): if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd': self.logger.debug('Starting systemd-timesyncd daemon') - self.target.run('systemctl enable --now systemd-timesyncd') + self.target.run('systemctl enable --now --runtime systemd-timesyncd') @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['coreutils', 'busybox']) diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py index 4714741af..1bb042552 100644 --- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py @@ -88,6 +88,8 @@ qemux86_common = [ 'tsc: HPET/PMTIMER calibration failed', "modeset(0): Failed to initialize the DRI2 extension", "glamor initialization failed", + "blk_update_request: I/O error, dev fd0, sector 0 op 0x0:(READ)", + "floppy: error", ] + common_errors ignore_errors = { diff --git a/poky/meta/lib/oeqa/runtime/cases/rtc.py b/poky/meta/lib/oeqa/runtime/cases/rtc.py index a34c101a9..c4e668132 100644 --- a/poky/meta/lib/oeqa/runtime/cases/rtc.py +++ b/poky/meta/lib/oeqa/runtime/cases/rtc.py @@ -9,12 +9,12 @@ class RTCTest(OERuntimeTestCase): def setUp(self): if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd': self.logger.debug('Stopping systemd-timesyncd daemon') - self.target.run('systemctl disable --now systemd-timesyncd') + self.target.run('systemctl disable --now --runtime systemd-timesyncd') def tearDown(self): if self.tc.td.get('VIRTUAL-RUNTIME_init_manager') == 'systemd': self.logger.debug('Starting systemd-timesyncd daemon') - self.target.run('systemctl enable --now systemd-timesyncd') + self.target.run('systemctl enable --now --runtime systemd-timesyncd') @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(['coreutils', 'busybox']) diff --git a/poky/meta/lib/oeqa/runtime/decorator/package.py b/poky/meta/lib/oeqa/runtime/decorator/package.py index 57178655c..2d7e174db 100644 --- a/poky/meta/lib/oeqa/runtime/decorator/package.py +++ b/poky/meta/lib/oeqa/runtime/decorator/package.py @@ -45,14 +45,14 @@ class OEHasPackage(OETestDecorator): msg = 'Checking if %s is not installed' % ', '.join(unneed_pkgs) self.logger.debug(msg) if not self.case.tc.image_packages.isdisjoint(unneed_pkgs): - msg = "Test can't run with %s installed" % ', or'.join(unneed_pkgs) + msg = "Test can't run with %s installed" % ', or '.join(unneed_pkgs) self._decorator_fail(msg) if need_pkgs: msg = 'Checking if at least one of %s is installed' % ', '.join(need_pkgs) self.logger.debug(msg) if self.case.tc.image_packages.isdisjoint(need_pkgs): - msg = "Test requires %s to be installed" % ', or'.join(need_pkgs) + msg = "Test requires %s to be installed" % ', or '.join(need_pkgs) self._decorator_fail(msg) def _decorator_fail(self, msg): diff --git a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index f7c356ad0..7ac03f0ce 100644 --- a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py +++ b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py @@ -90,7 +90,7 @@ class RebuildFromSState(SStateBase): self.assertFalse(failed_cleansstate, msg="The following recipes have failed cleansstate(all others have passed both cleansstate and rebuild from sstate tests): %s" % ' '.join(map(str, failed_cleansstate))) def test_sstate_relocation(self): - self.run_test_sstate_rebuild(['core-image-sato-sdk'], relocate=True, rebuild_dependencies=True) + self.run_test_sstate_rebuild(['core-image-weston-sdk'], relocate=True, rebuild_dependencies=True) def test_sstate_rebuild(self): - self.run_test_sstate_rebuild(['core-image-sato-sdk'], relocate=False, rebuild_dependencies=True) + self.run_test_sstate_rebuild(['core-image-weston-sdk'], relocate=False, rebuild_dependencies=True) diff --git a/poky/meta/lib/oeqa/selftest/cases/bblayers.py b/poky/meta/lib/oeqa/selftest/cases/bblayers.py index f131d9856..7d74833f6 100644 --- a/poky/meta/lib/oeqa/selftest/cases/bblayers.py +++ b/poky/meta/lib/oeqa/selftest/cases/bblayers.py @@ -12,6 +12,11 @@ from oeqa.selftest.case import OESelftestTestCase class BitbakeLayers(OESelftestTestCase): + def test_bitbakelayers_layerindexshowdepends(self): + result = runCmd('bitbake-layers layerindex-show-depends meta-poky') + find_in_contents = re.search("openembedded-core", result.output) + self.assertTrue(find_in_contents, msg = "openembedded-core should have been listed at this step. bitbake-layers layerindex-show-depends meta-poky output: %s" % result.output) + def test_bitbakelayers_showcrossdepends(self): result = runCmd('bitbake-layers show-cross-depends') self.assertIn('aspell', result.output) diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py index 20fe8ed8f..754b77def 100644 --- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py +++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py @@ -50,23 +50,23 @@ class ImageOptionsTests(OESelftestTestCase): def test_read_only_image(self): distro_features = get_bb_var('DISTRO_FEATURES') if not ('x11' in distro_features and 'opengl' in distro_features): - self.skipTest('core-image-sato requires x11 and opengl in distro features') + self.skipTest('core-image-sato/weston requires x11 and opengl in distro features') self.write_config('IMAGE_FEATURES += "read-only-rootfs"') - bitbake("core-image-sato") + bitbake("core-image-sato core-image-weston") # do_image will fail if there are any pending postinsts class DiskMonTest(OESelftestTestCase): def test_stoptask_behavior(self): - self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"') + self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"\nBB_HEARTBEAT_EVENT = "1"') res = bitbake("delay -c delay", ignore_status = True) self.assertTrue('ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!' in res.output, msg = "Tasks should have stopped. Disk monitor is set to STOPTASK: %s" % res.output) self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output)) - self.write_config('BB_DISKMON_DIRS = "ABORT,${TMPDIR},100000G,100K"') + self.write_config('BB_DISKMON_DIRS = "ABORT,${TMPDIR},100000G,100K"\nBB_HEARTBEAT_EVENT = "1"') res = bitbake("delay -c delay", ignore_status = True) self.assertTrue('ERROR: Immediately abort since the disk space monitor action is "ABORT"!' in res.output, "Tasks should have been aborted immediatelly. Disk monitor is set to ABORT: %s" % res.output) self.assertEqual(res.status, 1, msg = "bitbake reported exit code %s. It should have been 1. Bitbake output: %s" % (str(res.status), res.output)) - self.write_config('BB_DISKMON_DIRS = "WARN,${TMPDIR},100000G,100K"') + self.write_config('BB_DISKMON_DIRS = "WARN,${TMPDIR},100000G,100K"\nBB_HEARTBEAT_EVENT = "1"') res = bitbake("delay -c delay") self.assertTrue('WARNING: The free space' in res.output, msg = "A warning should have been displayed for disk monitor is set to WARN: %s" %res.output) diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py index fbc0c2a98..0ad6e1ef9 100644 --- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py +++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py @@ -99,7 +99,7 @@ The following recipes do not have a DESCRIPTION. Please add an entry for DESCRIP return True return False - feature = 'require conf/distro/include/maintainers.inc\nLICENSE_FLAGS_WHITELIST += " commercial"\nPARSE_ALL_RECIPES = "1"\n' + feature = 'require conf/distro/include/maintainers.inc\nLICENSE_FLAGS_WHITELIST += " commercial"\nPARSE_ALL_RECIPES = "1"\nPACKAGE_CLASSES = "package_ipk package_deb package_rpm"\n' self.write_config(feature) with bb.tinfoil.Tinfoil() as tinfoil: diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py index 6723a8198..5d4330b48 100644 --- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -240,8 +240,8 @@ USERADD_GID_TABLES += "files/static-group" def test_no_busybox_base_utils(self): config = """ -# Enable x11 -DISTRO_FEATURES_append += "x11" +# Enable wayland +DISTRO_FEATURES_append += "pam opengl wayland" # Switch to systemd DISTRO_FEATURES += "systemd" @@ -262,7 +262,7 @@ PNBLACKLIST[busybox] = "Don't build this" """ self.write_config(config) - bitbake("--graphviz core-image-sato") + bitbake("--graphviz core-image-weston") def test_image_gen_debugfs(self): """ diff --git a/poky/meta/lib/oeqa/selftest/cases/runqemu.py b/poky/meta/lib/oeqa/selftest/cases/runqemu.py index 7e676bcb4..da22f77b2 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runqemu.py +++ b/poky/meta/lib/oeqa/selftest/cases/runqemu.py @@ -163,12 +163,11 @@ class QemuTest(OESelftestTestCase): bitbake(cls.recipe) def _start_qemu_shutdown_check_if_shutdown_succeeded(self, qemu, timeout): + # Allow the runner's LoggingThread instance to exit without errors + # (such as the exception "Console connection closed unexpectedly") + # as qemu will disappear when we shut it down + qemu.runner.allowexit() qemu.run_serial("shutdown -h now") - # Stop thread will stop the LoggingThread instance used for logging - # qemu through serial console, stop thread will prevent this code - # from facing exception (Console connection closed unexpectedly) - # when qemu was shutdown by the above shutdown command - qemu.runner.stop_thread() time_track = 0 try: while True: diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py index b20c5b427..84c2cb77e 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -128,7 +128,6 @@ class TestImage(OESelftestTestCase): features += 'TEST_SUITES = "ping ssh selftest"\n' self.write_config(features) - # Build core-image-sato and testimage bitbake('core-image-full-cmdline socat') bitbake('-c testimage core-image-full-cmdline') @@ -164,7 +163,6 @@ class TestImage(OESelftestTestCase): features += 'PSEUDO_IGNORE_PATHS .= ",%s"\n' % self.gpg_home self.write_config(features) - # Build core-image-sato and testimage bitbake('core-image-full-cmdline socat') bitbake('-c testimage core-image-full-cmdline') diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py index c46e8ba48..9db2a0bb4 100644 --- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py @@ -261,7 +261,7 @@ PACKAGE_CLASSES = "package_rpm package_ipk package_deb" BB_SIGNATURE_HANDLER = "OEBasicHash" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("core-image-sato -S none") + bitbake("core-image-weston -S none") self.write_config(""" MACHINE = "qemux86" TMPDIR = "${TOPDIR}/tmp-sstatesamehash2" @@ -273,12 +273,12 @@ PACKAGE_CLASSES = "package_rpm package_ipk package_deb" BB_SIGNATURE_HANDLER = "OEBasicHash" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("core-image-sato -S none") + bitbake("core-image-weston -S none") def get_files(d): f = [] for root, dirs, files in os.walk(d): - if "core-image-sato" in root: + if "core-image-weston" in root: # SDKMACHINE changing will change # do_rootfs/do_testimage/do_build stamps of images which # is safe to ignore. @@ -306,7 +306,7 @@ NATIVELSBSTRING = \"DistroA\" BB_SIGNATURE_HANDLER = "OEBasicHash" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash") - bitbake("core-image-sato -S none") + bitbake("core-image-weston -S none") self.write_config(""" TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\" TCLIBCAPPEND = \"\" @@ -314,7 +314,7 @@ NATIVELSBSTRING = \"DistroB\" BB_SIGNATURE_HANDLER = "OEBasicHash" """) self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2") - bitbake("core-image-sato -S none") + bitbake("core-image-weston -S none") def get_files(d): f = [] diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py index fa81584a8..a11e2d078 100644 --- a/poky/meta/lib/oeqa/selftest/cases/wic.py +++ b/poky/meta/lib/oeqa/selftest/cases/wic.py @@ -1306,8 +1306,8 @@ class Wic2(WicTestCase): result = runCmd("%s/usr/sbin/sfdisk -F %s" % (sysroot, new_image_path)) self.assertTrue("0 B, 0 bytes, 0 sectors" in result.output) - os.rename(image_path, image_path + '.bak') - os.rename(new_image_path, image_path) + bb.utils.rename(image_path, image_path + '.bak') + bb.utils.rename(new_image_path, image_path) # Check if it boots in qemu with runqemu('core-image-minimal', ssh=False) as qemu: @@ -1318,7 +1318,7 @@ class Wic2(WicTestCase): if os.path.exists(new_image_path): os.unlink(new_image_path) if os.path.exists(image_path + '.bak'): - os.rename(image_path + '.bak', image_path) + bb.utils.rename(image_path + '.bak', image_path) def test_wic_ls_ext(self): """Test listing content of the ext partition using 'wic ls'""" diff --git a/poky/meta/lib/oeqa/targetcontrol.py b/poky/meta/lib/oeqa/targetcontrol.py index 12057f855..005ebaa7f 100644 --- a/poky/meta/lib/oeqa/targetcontrol.py +++ b/poky/meta/lib/oeqa/targetcontrol.py @@ -17,6 +17,7 @@ from oeqa.utils.sshcontrol import SSHControl from oeqa.utils.qemurunner import QemuRunner from oeqa.utils.qemutinyrunner import QemuTinyRunner from oeqa.utils.dump import TargetDumper +from oeqa.utils.dump import MonitorDumper from oeqa.controllers.testtargetloader import TestTargetLoader from abc import ABCMeta, abstractmethod @@ -108,6 +109,7 @@ class QemuTarget(BaseTarget): self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime) dump_target_cmds = d.getVar("testimage_dump_target") dump_host_cmds = d.getVar("testimage_dump_host") + dump_monitor_cmds = d.getVar("testimage_dump_monitor") dump_dir = d.getVar("TESTIMAGE_DUMP_DIR") if not dump_dir: dump_dir = os.path.join(d.getVar('LOG_DIR'), 'runtime-hostdump') @@ -149,6 +151,7 @@ class QemuTarget(BaseTarget): serial_ports = len(d.getVar("SERIAL_CONSOLES").split())) self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner) + self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) def deploy(self): bb.utils.mkdirhier(self.testdir) diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py index a71c16ab1..024261410 100644 --- a/poky/meta/lib/oeqa/utils/commands.py +++ b/poky/meta/lib/oeqa/utils/commands.py @@ -174,11 +174,8 @@ def runCmd(command, ignore_status=False, timeout=None, assert_error=True, sync=T if native_sysroot: extra_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \ (native_sysroot, native_sysroot, native_sysroot) - extra_libpaths = "%s/lib:%s/usr/lib" % \ - (native_sysroot, native_sysroot) nenv = dict(options.get('env', os.environ)) nenv['PATH'] = extra_paths + ':' + nenv.get('PATH', '') - nenv['LD_LIBRARY_PATH'] = extra_libpaths + ':' + nenv.get('LD_LIBRARY_PATH', '') options['env'] = nenv cmd = Command(command, timeout=timeout, output_log=output_log, **options) diff --git a/poky/meta/lib/oeqa/utils/dump.py b/poky/meta/lib/oeqa/utils/dump.py index 09a44329e..843e19fe8 100644 --- a/poky/meta/lib/oeqa/utils/dump.py +++ b/poky/meta/lib/oeqa/utils/dump.py @@ -4,6 +4,7 @@ import os import sys +import json import errno import datetime import itertools @@ -51,6 +52,8 @@ class BaseDumper(object): prefix = "host" elif isinstance(self, TargetDumper): prefix = "target" + elif isinstance(self, MonitorDumper): + prefix = "qmp" else: prefix = "unknown" for i in itertools.count(): @@ -58,9 +61,12 @@ class BaseDumper(object): fullname = os.path.join(self.dump_dir, filename) if not os.path.exists(fullname): break - with open(fullname, 'w') as dump_file: - dump_file.write(output) - + if isinstance(self, MonitorDumper): + with open(fullname, 'w') as json_file: + json.dump(output, json_file, indent=4) + else: + with open(fullname, 'w') as dump_file: + dump_file.write(output) class HostDumper(BaseDumper): """ Class to get dumps from the host running the tests """ @@ -96,3 +102,23 @@ class TargetDumper(BaseDumper): except: print("Tried to dump info from target but " "serial console failed") + print("Failed CMD: %s" % (cmd)) + +class MonitorDumper(BaseDumper): + """ Class to get dumps via the Qemu Monitor, it only works with QemuRunner """ + + def __init__(self, cmds, parent_dir, runner): + super(MonitorDumper, self).__init__(cmds, parent_dir) + self.runner = runner + + def dump_monitor(self, dump_dir=""): + if self.runner is None: + return + if dump_dir: + self.dump_dir = dump_dir + for cmd in self.cmds: + try: + output = self.runner.run_monitor(cmd) + self._write_dump(cmd, output) + except: + print("Failed to dump QMP CMD: %s" % (cmd)) diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index 278904ba0..69fee2751 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -20,8 +20,10 @@ import string import threading import codecs import logging +import tempfile from oeqa.utils.dump import HostDumper from collections import defaultdict +import importlib # Get Unicode non printable control chars control_range = list(range(0,32))+list(range(127,160)) @@ -172,6 +174,23 @@ class QemuRunner: return self.launch(launch_cmd, qemuparams=qemuparams, get_ip=get_ip, extra_bootparams=extra_bootparams, env=env) def launch(self, launch_cmd, get_ip = True, qemuparams = None, extra_bootparams = None, env = None): + # use logfile to determine the recipe-sysroot-native path and + # then add in the site-packages path components and add that + # to the python sys.path so qmp.py can be found. + python_path = os.path.dirname(os.path.dirname(self.logfile)) + python_path += "/recipe-sysroot-native/usr/lib/python3.9/site-packages" + sys.path.append(python_path) + importlib.invalidate_caches() + try: + qmp = importlib.import_module("qmp") + except: + self.logger.error("qemurunner: qmp.py missing, please ensure it's installed") + return False + # Path relative to tmpdir used as cwd for qemu below to avoid unix socket path length issues + qmp_file = "." + next(tempfile._get_candidate_names()) + qmp_param = ' -S -qmp unix:./%s,server,wait' % (qmp_file) + qmp_port = self.tmpdir + "/" + qmp_file + try: if self.serial_ports >= 2: self.threadsock, threadport = self.create_socket() @@ -188,7 +207,8 @@ class QemuRunner: # and analyze descendents in order to determine it. if os.path.exists(self.qemu_pidfile): os.remove(self.qemu_pidfile) - self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile) + self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1} {2}"'.format(bootparams, self.qemu_pidfile, qmp_param) + if qemuparams: self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"' @@ -206,7 +226,7 @@ class QemuRunner: # blocking at the end of the runqemu script when using this within # oe-selftest (this makes stty error out immediately). There ought # to be a proper fix but this will suffice for now. - self.runqemu = subprocess.Popen(launch_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, preexec_fn=os.setpgrp, env=env) + self.runqemu = subprocess.Popen(launch_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, preexec_fn=os.setpgrp, env=env, cwd=self.tmpdir) output = self.runqemu.stdout # @@ -242,6 +262,7 @@ class QemuRunner: while not self.is_alive() and time.time() < endtime: if self.runqemu.poll(): if self.runqemu_exited: + self.logger.warning("runqemu during is_alive() test") return False if self.runqemu.returncode: # No point waiting any longer @@ -253,8 +274,56 @@ class QemuRunner: time.sleep(0.5) if self.runqemu_exited: + self.logger.warning("runqemu after timeout") + return False + + if self.runqemu.returncode: + self.logger.warning('runqemu exited with code %d' % self.runqemu.returncode) return False + if not self.is_alive(): + self.logger.warning('is_alive() failed later') + return False + + # Create the client socket for the QEMU Monitor Control Socket + # This will allow us to read status from Qemu if the the process + # is still alive + self.logger.debug("QMP Initializing to %s" % (qmp_port)) + # chdir dance for path length issues with unix sockets + origpath = os.getcwd() + try: + os.chdir(os.path.dirname(qmp_port)) + try: + self.qmp = qmp.QEMUMonitorProtocol(os.path.basename(qmp_port)) + except OSError as msg: + self.logger.warning("Failed to initialize qemu monitor socket: %s File: %s" % (msg, msg.filename)) + return False + + self.logger.debug("QMP Connecting to %s" % (qmp_port)) + if not os.path.exists(qmp_port) and self.is_alive(): + self.logger.debug("QMP Port does not exist waiting for it to be created") + endtime = time.time() + self.runqemutime + while not os.path.exists(qmp_port) and self.is_alive() and time.time() < endtime: + self.logger.info("QMP port does not exist yet!") + time.sleep(0.5) + if not os.path.exists(qmp_port) and self.is_alive(): + self.logger.warning("QMP Port still does not exist but QEMU is alive") + return False + + try: + self.qmp.connect() + except OSError as msg: + self.logger.warning("Failed to connect qemu monitor socket: %s File: %s" % (msg, msg.filename)) + return False + except qmp.QMPConnectError as msg: + self.logger.warning("Failed to communicate with qemu monitor: %s" % (msg)) + return False + finally: + os.chdir(origpath) + + # Release the qemu porcess to continue running + self.run_monitor('cont') + if not self.is_alive(): self.logger.error("Qemu pid didn't appear in %s seconds (%s)" % (self.runqemutime, time.strftime("%D %H:%M:%S"))) @@ -380,7 +449,6 @@ class QemuRunner: sock.close() stopread = True - if not reachedlogin: if time.time() >= endtime: self.logger.warning("Target didn't reach login banner in %d seconds (%s)" % @@ -441,6 +509,9 @@ class QemuRunner: self.runqemu.stdout.close() self.runqemu_exited = True + if hasattr(self, 'qmp') and self.qmp: + self.qmp.close() + self.qmp = None if hasattr(self, 'server_socket') and self.server_socket: self.server_socket.close() self.server_socket = None @@ -471,6 +542,10 @@ class QemuRunner: self.thread.stop() self.thread.join() + def allowexit(self): + if self.thread: + self.thread.allowexit() + def restart(self, qemuparams = None): self.logger.warning("Restarting qemu process") if self.runqemu.poll() is None: @@ -499,6 +574,9 @@ class QemuRunner: return True return False + def run_monitor(self, command, timeout=60): + return self.qmp.cmd(command) + def run_serial(self, command, raw=False, timeout=60): # We assume target system have echo to get command status if not raw: @@ -564,6 +642,7 @@ class LoggingThread(threading.Thread): self.logger = logger self.readsock = None self.running = False + self.canexit = False self.errorevents = select.POLLERR | select.POLLHUP | select.POLLNVAL self.readevents = select.POLLIN | select.POLLPRI @@ -597,6 +676,9 @@ class LoggingThread(threading.Thread): self.close_ignore_error(self.writepipe) self.running = False + def allowexit(self): + self.canexit = True + def eventloop(self): poll = select.poll() event_read_mask = self.errorevents | self.readevents @@ -653,7 +735,9 @@ class LoggingThread(threading.Thread): # happened. But for this code it counts as an # error since the connection shouldn't go away # until qemu exits. - raise Exception("Console connection closed unexpectedly") + if not self.canexit: + raise Exception("Console connection closed unexpectedly") + return '' return data diff --git a/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb b/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb deleted file mode 100644 index 613e3161f..000000000 --- a/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "U-Boot libraries and tools to access environment" - -DESCRIPTION = "This package contains tools and libraries to read \ -and modify U-Boot environment. \ -It provides a hardware-independent replacement for fw_printenv/setenv utilities \ -provided by U-Boot" - -HOMEPAGE = "https://github.com/sbabic/libubootenv" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c" -SECTION = "libs" - -SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https" -SRCREV = "824551ac77bab1d0f7ae34d7a7c77b155240e754" - -S = "${WORKDIR}/git" - -inherit uboot-config cmake lib_package - -EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" - -DEPENDS = "zlib" -PROVIDES += "u-boot-fw-utils" -RPROVIDES_${PN}-bin += "u-boot-fw-utils" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -RRECOMMENDS_${PN}-bin_append_class-target = " u-boot-default-env" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb b/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb new file mode 100644 index 000000000..2cf87c794 --- /dev/null +++ b/poky/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb @@ -0,0 +1,30 @@ +SUMMARY = "U-Boot libraries and tools to access environment" + +DESCRIPTION = "This package contains tools and libraries to read \ +and modify U-Boot environment. \ +It provides a hardware-independent replacement for fw_printenv/setenv utilities \ +provided by U-Boot" + +HOMEPAGE = "https://github.com/sbabic/libubootenv" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c" +SECTION = "libs" + +SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https" +SRCREV = "ba7564f5006d09bec51058cf4f5ac90d4dc18b3c" + +S = "${WORKDIR}/git" + +inherit uboot-config cmake lib_package + +EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" + +DEPENDS = "zlib" +PROVIDES += "u-boot-fw-utils" +RPROVIDES_${PN}-bin += "u-boot-fw-utils" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RRECOMMENDS_${PN}-bin_append_class-target = " u-boot-default-env" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc index a7b628ce1..74b59e406 100644 --- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc @@ -52,6 +52,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \ file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ file://0001-test-gatt-Fix-hung-issue.patch \ + file://0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch \ " S = "${WORKDIR}/bluez-${PV}" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch new file mode 100644 index 000000000..d9067df02 --- /dev/null +++ b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch @@ -0,0 +1,48 @@ +From 8adab7f1e04948e78854953f9373cac741445a0f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 30 Apr 2021 21:09:33 -0700 +Subject: [PATCH] audio: Rename pause funciton to avoid shadowing glibc + defintions + +Fixes +profiles/audio/media.c:1284:13: error: static declaration of 'pause' follows non-static declaration +static bool pause(void *user_data) + ^ +/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/bluez5/5.56-r0/recipe-sysroot/usr/include/unistd.h:478:12: note: previous declaration is here +extern int pause (void); + ^ +../bluez-5.56/profiles/audio/media.c:1334:11: warning: incompatible function pointer types initializing 'bool (*)(void *)' with an expression of type 'int (void)' [-Wincompatible-function-pointer-types] + .pause = pause, + ^~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + profiles/audio/media.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/profiles/audio/media.c b/profiles/audio/media.c +index c84bbe2..7110089 100644 +--- a/profiles/audio/media.c ++++ b/profiles/audio/media.c +@@ -1281,7 +1281,7 @@ static bool stop(void *user_data) + return media_player_send(mp, "Stop"); + } + +-static bool pause(void *user_data) ++static bool apause(void *user_data) + { + struct media_player *mp = user_data; + +@@ -1331,7 +1331,7 @@ static struct avrcp_player_cb player_cb = { + .set_volume = set_volume, + .play = play, + .stop = stop, +- .pause = pause, ++ .pause = apause, + .next = next, + .previous = previous, + }; +-- +2.31.1 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch b/poky/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch new file mode 100644 index 000000000..3655b3fd6 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch @@ -0,0 +1,28 @@ +From 76e4054801350ebd4a44057379431a33d460ad0f Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 21 Apr 2021 11:01:34 +0000 +Subject: [PATCH] mbim: Fix build with ell-0.39 by restoring unlikely macro + from ell/util.h + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa +--- + drivers/mbimmodem/mbim-private.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h +index 51693eae..d917312c 100644 +--- a/drivers/mbimmodem/mbim-private.h ++++ b/drivers/mbimmodem/mbim-private.h +@@ -30,6 +30,10 @@ + __result; }) + #endif + ++/* used to be part of ell/util.h before 0.39: ++ https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=2a682421b06e41c45098217a686157f576847021 */ ++#define unlikely(x) __builtin_expect(!!(x), 0) ++ + enum mbim_control_message { + MBIM_OPEN_MSG = 0x1, + MBIM_CLOSE_MSG = 0x2, diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.31.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.31.bb index 7d0976ad7..2425ef76a 100644 --- a/poky/meta/recipes-connectivity/ofono/ofono_1.31.bb +++ b/poky/meta/recipes-connectivity/ofono/ofono_1.31.bb @@ -11,6 +11,7 @@ SRC_URI = "\ ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ file://ofono \ file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ + file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \ " SRC_URI[md5sum] = "1c26340e3c6ed132cc812595081bb3dc" SRC_URI[sha256sum] = "a15c5d28096c10eb30e47a68b6dc2e7c4a5a99d7f4cfedf0b69624f33d859e9b" @@ -30,9 +31,14 @@ PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5" EXTRA_OECONF += "--enable-test --enable-external-ell" +do_configure_prepend() { + bbnote "Removing bundled ell from ${S}/ell to prevent including it" + rm -rf ${S}/ell +} + do_install_append() { - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono } PACKAGES =+ "${PN}-tests" diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.5p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.5p1.bb deleted file mode 100644 index 6a49cf71c..000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh_8.5p1.bb +++ /dev/null @@ -1,179 +0,0 @@ -SUMMARY = "A suite of security-related network utilities based on \ -the SSH protocol including the ssh client and sshd server" -DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \ -Ssh (Secure Shell) is a program for logging into a remote machine \ -and for executing commands on a remote machine." -HOMEPAGE = "http://www.openssh.com/" -SECTION = "console/network" -LICENSE = "BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & BSD & ISC & MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=d9d2753bdef9f19466dc7bc959114b11" - -DEPENDS = "zlib openssl virtual/crypt" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" - -SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \ - file://sshd_config \ - file://ssh_config \ - file://init \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - file://sshd.socket \ - file://sshd@.service \ - file://sshdgenkeys.service \ - file://volatiles.99_sshd \ - file://run-ptest \ - file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \ - file://sshd_check_keys \ - file://add-test-support-for-busybox.patch \ - " -SRC_URI[sha256sum] = "f52f3f41d429aa9918e38cf200af225ccdd8e66f052da572870c89737646ec25" - -# This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7 -# and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded -CVE_CHECK_WHITELIST += "CVE-2014-9278" - -PAM_SRC_URI = "file://sshd" - -inherit manpages useradd update-rc.d update-alternatives systemd - -USERADD_PACKAGES = "${PN}-sshd" -USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd" -INITSCRIPT_PACKAGES = "${PN}-sshd" -INITSCRIPT_NAME_${PN}-sshd = "sshd" -INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9" - -SYSTEMD_PACKAGES = "${PN}-sshd" -SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket" - -inherit autotools-brokensep ptest - -PACKAGECONFIG ??= "rng-tools" -PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5" -PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns" -PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" -PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat" - -# Add RRECOMMENDS to rng-tools for sshd package -PACKAGECONFIG[rng-tools] = "" - -EXTRA_AUTORECONF += "--exclude=aclocal" - -# login path is hardcoded in sshd -EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ - --without-zlib-version-check \ - --with-privsep-path=${localstatedir}/run/sshd \ - --sysconfdir=${sysconfdir}/ssh \ - --with-xauth=${bindir}/xauth \ - --disable-strip \ - " - -# musl doesn't implement wtmp/utmp and logwtmp -EXTRA_OECONF_append_libc-musl = " --disable-wtmp --disable-lastlog" - -# Since we do not depend on libbsd, we do not want configure to use it -# just because it finds libutil.h. But, specifying --disable-libutil -# causes compile errors, so... -CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no" - -# passwd path is hardcoded in sshd -CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd" - -# We don't want to depend on libblockfile -CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no" - -do_configure_prepend () { - export LD="${CC}" - install -m 0644 ${WORKDIR}/sshd_config ${B}/ - install -m 0644 ${WORKDIR}/ssh_config ${B}/ -} - -do_compile_ptest() { - # skip regress/unittests/ binaries: this will silently skip - # unittests in run-ptests which is good because they are so slow. - oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \ - regress/check-perm regress/mkdtemp -} - -do_install_append () { - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then - install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd - sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config - fi - - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then - sed -i -e 's:#X11Forwarding no:X11Forwarding yes:' ${D}${sysconfdir}/ssh/sshd_config - fi - - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd - rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin - rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir} - install -d ${D}/${sysconfdir}/default/volatiles - install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd - install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir} - - # Create config files for read-only rootfs - install -d ${D}${sysconfdir}/ssh - install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly - sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly - echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly - echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly - echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly - - install -d ${D}${systemd_unitdir}/system - install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system - install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system - install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@BINDIR@,${bindir},g' \ - -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ - ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service - - sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ - ${D}${sysconfdir}/init.d/sshd - - install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys -} - -do_install_ptest () { - sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh - cp -r regress ${D}${PTEST_PATH} -} - -ALLOW_EMPTY_${PN} = "1" - -PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server" -FILES_${PN}-scp = "${bindir}/scp.${BPN}" -FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config" -FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system" -FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd" -FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys" -FILES_${PN}-sftp = "${bindir}/sftp" -FILES_${PN}-sftp-server = "${libexecdir}/sftp-server" -FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*" -FILES_${PN}-keygen = "${bindir}/ssh-keygen" - -RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen" -RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}" -RRECOMMENDS_${PN}-sshd_append_class-target = "\ - ${@bb.utils.filter('PACKAGECONFIG', 'rng-tools', d)} \ -" - -# gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies -RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils" - -RPROVIDES_${PN}-ssh = "ssh" -RPROVIDES_${PN}-sshd = "sshd" - -RCONFLICTS_${PN} = "dropbear" -RCONFLICTS_${PN}-sshd = "dropbear" - -CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config" -CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config" - -ALTERNATIVE_PRIORITY = "90" -ALTERNATIVE_${PN}-scp = "scp" -ALTERNATIVE_${PN}-ssh = "ssh" - -BBCLASSEXTEND += "nativesdk" diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb new file mode 100644 index 000000000..be56fe43b --- /dev/null +++ b/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb @@ -0,0 +1,179 @@ +SUMMARY = "A suite of security-related network utilities based on \ +the SSH protocol including the ssh client and sshd server" +DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \ +Ssh (Secure Shell) is a program for logging into a remote machine \ +and for executing commands on a remote machine." +HOMEPAGE = "http://www.openssh.com/" +SECTION = "console/network" +LICENSE = "BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & BSD & ISC & MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=d9d2753bdef9f19466dc7bc959114b11" + +DEPENDS = "zlib openssl virtual/crypt" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \ + file://sshd_config \ + file://ssh_config \ + file://init \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://sshd.socket \ + file://sshd@.service \ + file://sshdgenkeys.service \ + file://volatiles.99_sshd \ + file://run-ptest \ + file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \ + file://sshd_check_keys \ + file://add-test-support-for-busybox.patch \ + " +SRC_URI[sha256sum] = "c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae" + +# This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7 +# and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded +CVE_CHECK_WHITELIST += "CVE-2014-9278" + +PAM_SRC_URI = "file://sshd" + +inherit manpages useradd update-rc.d update-alternatives systemd + +USERADD_PACKAGES = "${PN}-sshd" +USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd" +INITSCRIPT_PACKAGES = "${PN}-sshd" +INITSCRIPT_NAME_${PN}-sshd = "sshd" +INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9" + +SYSTEMD_PACKAGES = "${PN}-sshd" +SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket" + +inherit autotools-brokensep ptest + +PACKAGECONFIG ??= "rng-tools" +PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5" +PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns" +PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" +PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat" + +# Add RRECOMMENDS to rng-tools for sshd package +PACKAGECONFIG[rng-tools] = "" + +EXTRA_AUTORECONF += "--exclude=aclocal" + +# login path is hardcoded in sshd +EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ + --without-zlib-version-check \ + --with-privsep-path=${localstatedir}/run/sshd \ + --sysconfdir=${sysconfdir}/ssh \ + --with-xauth=${bindir}/xauth \ + --disable-strip \ + " + +# musl doesn't implement wtmp/utmp and logwtmp +EXTRA_OECONF_append_libc-musl = " --disable-wtmp --disable-lastlog" + +# Since we do not depend on libbsd, we do not want configure to use it +# just because it finds libutil.h. But, specifying --disable-libutil +# causes compile errors, so... +CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no" + +# passwd path is hardcoded in sshd +CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd" + +# We don't want to depend on libblockfile +CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no" + +do_configure_prepend () { + export LD="${CC}" + install -m 0644 ${WORKDIR}/sshd_config ${B}/ + install -m 0644 ${WORKDIR}/ssh_config ${B}/ +} + +do_compile_ptest() { + # skip regress/unittests/ binaries: this will silently skip + # unittests in run-ptests which is good because they are so slow. + oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \ + regress/check-perm regress/mkdtemp +} + +do_install_append () { + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then + install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd + sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config + fi + + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then + sed -i -e 's:#X11Forwarding no:X11Forwarding yes:' ${D}${sysconfdir}/ssh/sshd_config + fi + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd + rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin + rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir} + install -d ${D}/${sysconfdir}/default/volatiles + install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd + install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir} + + # Create config files for read-only rootfs + install -d ${D}${sysconfdir}/ssh + install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly + sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly + echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly + echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly + echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly + + install -d ${D}${systemd_unitdir}/system + install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system + install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system + install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@BINDIR@,${bindir},g' \ + -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ + ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service + + sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ + ${D}${sysconfdir}/init.d/sshd + + install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys +} + +do_install_ptest () { + sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh + cp -r regress ${D}${PTEST_PATH} +} + +ALLOW_EMPTY_${PN} = "1" + +PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server" +FILES_${PN}-scp = "${bindir}/scp.${BPN}" +FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config" +FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system" +FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd" +FILES_${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys" +FILES_${PN}-sftp = "${bindir}/sftp" +FILES_${PN}-sftp-server = "${libexecdir}/sftp-server" +FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*" +FILES_${PN}-keygen = "${bindir}/ssh-keygen" + +RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen" +RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}" +RRECOMMENDS_${PN}-sshd_append_class-target = "\ + ${@bb.utils.filter('PACKAGECONFIG', 'rng-tools', d)} \ +" + +# gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies +RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils" + +RPROVIDES_${PN}-ssh = "ssh" +RPROVIDES_${PN}-sshd = "sshd" + +RCONFLICTS_${PN} = "dropbear" +RCONFLICTS_${PN}-sshd = "dropbear" + +CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config" +CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config" + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN}-scp = "scp" +ALTERNATIVE_${PN}-ssh = "ssh" + +BBCLASSEXTEND += "nativesdk" diff --git a/poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch b/poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch index 949c78834..003cfbc8d 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch +++ b/poky/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch @@ -25,16 +25,19 @@ Signed-off-by: Martin Hundebøll Update to fix buildpaths qa issue for '-fmacro-prefix-map'. Signed-off-by: Kai Kang + +Update to fix buildpaths qa issue for '-ffile-prefix-map'. + +Signed-off-by: Khem Raj + --- Configurations/unix-Makefile.tmpl | 10 +++++++++- crypto/build.info | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) -diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl -index 16af4d2087..54c162784c 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl -@@ -317,13 +317,22 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (), +@@ -420,13 +420,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lfl '$(CNF_LDFLAGS)', '$(LDFLAGS)') -} BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS) @@ -49,6 +52,7 @@ index 16af4d2087..54c162784c 100644 +CFLAGS_Q={- for (@{$config{CFLAGS}}) { + s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g; + s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g; ++ s|-ffile-prefix-map=[^ ]+|-ffile-prefix-map=|g; + } + join(' ', @{$config{CFLAGS}}) -} + @@ -58,11 +62,9 @@ index 16af4d2087..54c162784c 100644 PERLASM_SCHEME= {- $target{perlasm_scheme} -} # For x86 assembler: Set PROCESSOR to 386 if you want to support -diff --git a/crypto/build.info b/crypto/build.info -index b515b7318e..8c9cee2a09 100644 --- a/crypto/build.info +++ b/crypto/build.info -@@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \ +@@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl DEPEND[cversion.o]=buildinf.h @@ -71,6 +73,3 @@ index b515b7318e..8c9cee2a09 100644 DEPEND[buildinf.h]=../configdata.pm GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME) --- -2.19.1 - diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/CVE-2021-30004.patch b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/CVE-2021-30004.patch new file mode 100644 index 000000000..e2540fc26 --- /dev/null +++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/CVE-2021-30004.patch @@ -0,0 +1,123 @@ +From a0541334a6394f8237a4393b7372693cd7e96f15 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Sat, 13 Mar 2021 18:19:31 +0200 +Subject: [PATCH] ASN.1: Validate DigestAlgorithmIdentifier parameters + +The supported hash algorithms do not use AlgorithmIdentifier parameters. +However, there are implementations that include NULL parameters in +addition to ones that omit the parameters. Previous implementation did +not check the parameters value at all which supported both these cases, +but did not reject any other unexpected information. + +Use strict validation of digest algorithm parameters and reject any +unexpected value when validating a signature. This is needed to prevent +potential forging attacks. + +Signed-off-by: Jouni Malinen + +Upstream-Status: Backport +CVE: CVE-2021-30004 + +Reference to upstream patch: +[https://w1.fi/cgit/hostap/commit/?id=a0541334a6394f8237a4393b7372693cd7e96f15] + +Signed-off-by: Stefan Ghinea +--- + src/tls/pkcs1.c | 21 +++++++++++++++++++++ + src/tls/x509v3.c | 20 ++++++++++++++++++++ + 2 files changed, 41 insertions(+) + +diff --git a/src/tls/pkcs1.c b/src/tls/pkcs1.c +index 141ac50..e09db07 100644 +--- a/src/tls/pkcs1.c ++++ b/src/tls/pkcs1.c +@@ -240,6 +240,8 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk, + os_free(decrypted); + return -1; + } ++ wpa_hexdump(MSG_MSGDUMP, "PKCS #1: DigestInfo", ++ hdr.payload, hdr.length); + + pos = hdr.payload; + end = pos + hdr.length; +@@ -261,6 +263,8 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk, + os_free(decrypted); + return -1; + } ++ wpa_hexdump(MSG_MSGDUMP, "PKCS #1: DigestAlgorithmIdentifier", ++ hdr.payload, hdr.length); + da_end = hdr.payload + hdr.length; + + if (asn1_get_oid(hdr.payload, hdr.length, &oid, &next)) { +@@ -269,6 +273,23 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk, + os_free(decrypted); + return -1; + } ++ wpa_hexdump(MSG_MSGDUMP, "PKCS #1: Digest algorithm parameters", ++ next, da_end - next); ++ ++ /* ++ * RFC 5754: The correct encoding for the SHA2 algorithms would be to ++ * omit the parameters, but there are implementation that encode these ++ * as a NULL element. Allow these two cases and reject anything else. ++ */ ++ if (da_end > next && ++ (asn1_get_next(next, da_end - next, &hdr) < 0 || ++ !asn1_is_null(&hdr) || ++ hdr.payload + hdr.length != da_end)) { ++ wpa_printf(MSG_DEBUG, ++ "PKCS #1: Unexpected digest algorithm parameters"); ++ os_free(decrypted); ++ return -1; ++ } + + if (!asn1_oid_equal(&oid, hash_alg)) { + char txt[100], txt2[100]; +diff --git a/src/tls/x509v3.c b/src/tls/x509v3.c +index 1bd5aa0..bf2289f 100644 +--- a/src/tls/x509v3.c ++++ b/src/tls/x509v3.c +@@ -1834,6 +1834,7 @@ int x509_check_signature(struct x509_certificate *issuer, + os_free(data); + return -1; + } ++ wpa_hexdump(MSG_MSGDUMP, "X509: DigestInfo", hdr.payload, hdr.length); + + pos = hdr.payload; + end = pos + hdr.length; +@@ -1855,6 +1856,8 @@ int x509_check_signature(struct x509_certificate *issuer, + os_free(data); + return -1; + } ++ wpa_hexdump(MSG_MSGDUMP, "X509: DigestAlgorithmIdentifier", ++ hdr.payload, hdr.length); + da_end = hdr.payload + hdr.length; + + if (asn1_get_oid(hdr.payload, hdr.length, &oid, &next)) { +@@ -1862,6 +1865,23 @@ int x509_check_signature(struct x509_certificate *issuer, + os_free(data); + return -1; + } ++ wpa_hexdump(MSG_MSGDUMP, "X509: Digest algorithm parameters", ++ next, da_end - next); ++ ++ /* ++ * RFC 5754: The correct encoding for the SHA2 algorithms would be to ++ * omit the parameters, but there are implementation that encode these ++ * as a NULL element. Allow these two cases and reject anything else. ++ */ ++ if (da_end > next && ++ (asn1_get_next(next, da_end - next, &hdr) < 0 || ++ !asn1_is_null(&hdr) || ++ hdr.payload + hdr.length != da_end)) { ++ wpa_printf(MSG_DEBUG, ++ "X509: Unexpected digest algorithm parameters"); ++ os_free(data); ++ return -1; ++ } + + if (x509_sha1_oid(&oid)) { + if (signature->oid.oid[6] != 5 /* sha-1WithRSAEncryption */) { +-- +2.17.1 + diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb index 357c28634..16c591852 100644 --- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb +++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=279b4f5abb9c153c285221855ddb78cc \ DEPENDS = "dbus libnl" RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli" -PACKAGECONFIG ??= "gnutls" +PACKAGECONFIG ??= "openssl" PACKAGECONFIG[gnutls] = ",,gnutls libgcrypt" PACKAGECONFIG[openssl] = ",,openssl" @@ -32,6 +32,7 @@ SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \ file://0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch \ file://CVE-2021-0326.patch \ file://CVE-2021-27803.patch \ + file://CVE-2021-30004.patch \ " SRC_URI[md5sum] = "2d2958c782576dc9901092fbfecb4190" SRC_URI[sha256sum] = "fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17" diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb index 0021e4551..3804f4f7b 100644 --- a/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb +++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb @@ -44,9 +44,6 @@ EOF fi } -do_install_append_qemuppc64 () { - echo "9:12345:respawn:${base_sbindir}/getty 38400 hvc0" >> ${D}${sysconfdir}/inittab -} pkg_postinst_${PN} () { # run this on host and on target diff --git a/poky/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch b/poky/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch new file mode 100644 index 000000000..67c9f189c --- /dev/null +++ b/poky/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch @@ -0,0 +1,58 @@ +From fe791386ebc270219ca00406c9fdadc5130b64ee Mon Sep 17 00:00:00 2001 +From: Samuel Sapalski +Date: Wed, 3 Mar 2021 16:31:22 +0100 +Subject: [PATCH] decompress_gunzip: Fix DoS if gzip is corrupt + +On certain corrupt gzip files, huft_build will set the error bit on +the result pointer. If afterwards abort_unzip is called huft_free +might run into a segmentation fault or an invalid pointer to +free(p). + +In order to mitigate this, we check in huft_free if the error bit +is set and clear it before the linked list is freed. + +Signed-off-by: Samuel Sapalski +Signed-off-by: Peter Kaestle +Signed-off-by: Denys Vlasenko + +Upstream-Status: Backport +CVE: CVE-2021-28831 +Signed-off-by: Chen Qi +--- + archival/libarchive/decompress_gunzip.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c +index eb3b64930..e93cd5005 100644 +--- a/archival/libarchive/decompress_gunzip.c ++++ b/archival/libarchive/decompress_gunzip.c +@@ -220,10 +220,20 @@ static const uint8_t border[] ALIGN1 = { + * each table. + * t: table to free + */ ++#define BAD_HUFT(p) ((uintptr_t)(p) & 1) ++#define ERR_RET ((huft_t*)(uintptr_t)1) + static void huft_free(huft_t *p) + { + huft_t *q; + ++ /* ++ * If 'p' has the error bit set we have to clear it, otherwise we might run ++ * into a segmentation fault or an invalid pointer to free(p) ++ */ ++ if (BAD_HUFT(p)) { ++ p = (huft_t*)((uintptr_t)(p) ^ (uintptr_t)(ERR_RET)); ++ } ++ + /* Go through linked list, freeing from the malloced (t[-1]) address. */ + while (p) { + q = (--p)->v.t; +@@ -289,8 +299,6 @@ static unsigned fill_bitbuffer(STATE_PARAM unsigned bitbuffer, unsigned *current + * or a valid pointer to a Huffman table, ORed with 0x1 if incompete table + * is given: "fixed inflate" decoder feeds us such data. + */ +-#define BAD_HUFT(p) ((uintptr_t)(p) & 1) +-#define ERR_RET ((huft_t*)(uintptr_t)1) + static huft_t* huft_build(const unsigned *b, const unsigned n, + const unsigned s, const struct cp_ext *cp_ext, + unsigned *m) diff --git a/poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch b/poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch new file mode 100644 index 000000000..e0a22c5bb --- /dev/null +++ b/poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch @@ -0,0 +1,28 @@ +From bff7f16f7f41de8df67beb03722f235828ef2249 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 3 May 2021 15:48:19 -0700 +Subject: [PATCH] gen_build_files: Use C locale when calling sed on globbed files + +sort order is different based on chosen locale and also default shell +being bash or dash + +This sets the environment variable LC_ALL to the value C, which will +enforce bytewise sorting, irrespective of the shell + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + scripts/gen_build_files.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/scripts/gen_build_files.sh ++++ b/scripts/gen_build_files.sh +@@ -4,6 +4,8 @@ + # but users complain that many sed implementations + # are misinterpreting --. + ++export LC_ALL=C ++ + test $# -ge 2 || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; } + + # cd to objtree diff --git a/poky/meta/recipes-core/busybox/busybox/longopts.cfg b/poky/meta/recipes-core/busybox/busybox/longopts.cfg new file mode 100644 index 000000000..dcfab9991 --- /dev/null +++ b/poky/meta/recipes-core/busybox/busybox/longopts.cfg @@ -0,0 +1,15 @@ +CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y +CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_FEATURE_DIFF_LONG_OPTIONS=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y +CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y +CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y +CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y diff --git a/poky/meta/recipes-core/busybox/busybox_1.33.0.bb b/poky/meta/recipes-core/busybox/busybox_1.33.0.bb index 1a3f218bc..c334c4200 100644 --- a/poky/meta/recipes-core/busybox/busybox_1.33.0.bb +++ b/poky/meta/recipes-core/busybox/busybox_1.33.0.bb @@ -31,6 +31,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://sha1sum.cfg \ file://sha256sum.cfg \ file://getopts.cfg \ + file://longopts.cfg \ file://resize.cfg \ ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ ${@["", "file://rcS.default"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ @@ -46,7 +47,9 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ file://rev.cfg \ file://pgrep.cfg \ -" + file://0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch \ + file://0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch \ + " SRC_URI_append_libc-musl = " file://musl.cfg " SRC_URI[tarball.sha256sum] = "d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd" diff --git a/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb b/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb deleted file mode 100644 index 0b45805cf..000000000 --- a/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "High level language (GLib) binding for D-Bus" -DESCRIPTION = "GLib bindings for the D-Bus message bus that integrate \ -the D-Bus library with the GLib thread abstraction and main loop." -HOMEPAGE = "https://www.freedesktop.org/Software/dbus" -LICENSE = "AFL-2.1 | GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=cf5b3a2f7083750d504333114e738656 \ - file://dbus/dbus-glib.h;beginline=7;endline=21;md5=7755c9d7abccd5dbd25a6a974538bb3c" -SECTION = "base" - -DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus" -DEPENDS_class-native = "glib-2.0-native dbus-native" - -SRC_URI = "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ - file://no-examples.patch \ - file://test-install-makefile.patch \ -" -SRC_URI[md5sum] = "d7cebf1d69445cbd28b4983392145192" -SRC_URI[sha256sum] = "7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825" - -inherit autotools pkgconfig gettext bash-completion gtk-doc - -#default disable regression tests, some unit test code in non testing code -#PACKAGECONFIG_pn-${PN} = "tests" enable regression tests local.conf -PACKAGECONFIG ??= "" -PACKAGECONFIG[tests] = "--enable-tests,,," - -EXTRA_OECONF_class-target = "--with-dbus-binding-tool=${STAGING_BINDIR_NATIVE}/dbus-binding-tool" - -PACKAGES += "${PN}-tests" - -FILES_${PN} = "${libdir}/lib*${SOLIBS}" -FILES_${PN}-bash-completion += "${libexecdir}/dbus-bash-completion-helper" -FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool" -FILES_${PN}-dev += "${bindir}/dbus-binding-tool" - -RDEPENDS_${PN}-tests += "dbus-x11" -FILES_${PN}-tests = "${datadir}/${BPN}/tests" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-core/dbus/dbus-glib_0.112.bb b/poky/meta/recipes-core/dbus/dbus-glib_0.112.bb new file mode 100644 index 000000000..003c3accc --- /dev/null +++ b/poky/meta/recipes-core/dbus/dbus-glib_0.112.bb @@ -0,0 +1,39 @@ +SUMMARY = "High level language (GLib) binding for D-Bus" +DESCRIPTION = "GLib bindings for the D-Bus message bus that integrate \ +the D-Bus library with the GLib thread abstraction and main loop." +HOMEPAGE = "https://www.freedesktop.org/Software/dbus" +LICENSE = "AFL-2.1 | GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=c31c73c1d8f5d06784b2ccd22e42d641 \ + file://dbus/dbus-glib.h;beginline=7;endline=21;md5=c374833bd817988323f3a8fda0dc7f48" +SECTION = "base" + +DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus" +DEPENDS_class-native = "glib-2.0-native dbus-native" + +SRC_URI = "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ + file://no-examples.patch \ + file://test-install-makefile.patch \ +" +SRC_URI[md5sum] = "021e6c8a288df02c227e4aafbf7e7527" +SRC_URI[sha256sum] = "7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a" + +inherit autotools pkgconfig gettext bash-completion gtk-doc + +#default disable regression tests, some unit test code in non testing code +#PACKAGECONFIG_pn-${PN} = "tests" enable regression tests local.conf +PACKAGECONFIG ??= "" +PACKAGECONFIG[tests] = "--enable-tests,,," + +EXTRA_OECONF_class-target = "--with-dbus-binding-tool=${STAGING_BINDIR_NATIVE}/dbus-binding-tool" + +PACKAGES += "${PN}-tests" + +FILES_${PN} = "${libdir}/lib*${SOLIBS}" +FILES_${PN}-bash-completion += "${libexecdir}/dbus-bash-completion-helper" +FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool" +FILES_${PN}-dev += "${bindir}/dbus-binding-tool" + +RDEPENDS_${PN}-tests += "dbus-x11" +FILES_${PN}-tests = "${datadir}/${BPN}/tests" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-core/ell/ell_0.38.bb b/poky/meta/recipes-core/ell/ell_0.38.bb deleted file mode 100644 index 7d3a33997..000000000 --- a/poky/meta/recipes-core/ell/ell_0.38.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Embedded Linux Library" -HOMEPAGE = "https://01.org/ell" -DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ -low-level functionality for system daemons. It typically has no \ -dependencies other than the Linux kernel, C standard library, and \ -libdl (for dynamic linking). While ELL is designed to be efficient \ -and compact enough for use on embedded Linux platforms, it is not \ -limited to resource-constrained systems." -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "dbus" - -inherit autotools pkgconfig - -SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \ - file://0001-pem.c-do-not-use-rawmemchr.patch \ - " -SRC_URI[sha256sum] = "c1b7ae5676eec310f08757b3d8652b8e818776be1897fb5deb59e55f02a012a7" - -do_configure_prepend () { - mkdir -p ${S}/build-aux -} diff --git a/poky/meta/recipes-core/ell/ell_0.39.bb b/poky/meta/recipes-core/ell/ell_0.39.bb new file mode 100644 index 000000000..68ec4cb4a --- /dev/null +++ b/poky/meta/recipes-core/ell/ell_0.39.bb @@ -0,0 +1,24 @@ +SUMMARY = "Embedded Linux Library" +HOMEPAGE = "https://01.org/ell" +DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ +low-level functionality for system daemons. It typically has no \ +dependencies other than the Linux kernel, C standard library, and \ +libdl (for dynamic linking). While ELL is designed to be efficient \ +and compact enough for use on embedded Linux platforms, it is not \ +limited to resource-constrained systems." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "dbus" + +inherit autotools pkgconfig + +SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \ + file://0001-pem.c-do-not-use-rawmemchr.patch \ + " +SRC_URI[sha256sum] = "653e2e139e23ed31e03c56c05f15321a9e818e2dca00a315c18d2c7b72f15d08" + +do_configure_prepend () { + mkdir -p ${S}/build-aux +} diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch index d6765b163..8a6d46df7 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch @@ -17,16 +17,16 @@ diff --git a/gio/tests/meson.build b/gio/tests/meson.build index 3a19c82..b762835 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build -@@ -12,7 +12,7 @@ test_c_args = [ - '-UG_DISABLE_ASSERT', - ] +@@ -27,7 +27,7 @@ test_c_args = [ + endif # libutil.length() > 0 + endif # build_machine.system() == 'linux' -if host_machine.system() == 'windows' +if host_system == 'windows' common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] endif -@@ -133,7 +133,7 @@ else +@@ -148,7 +148,7 @@ else endif # Test programs buildable on UNIX only @@ -35,7 +35,7 @@ index 3a19c82..b762835 100644 gio_tests += { 'file' : {}, 'gdbus-peer' : { -@@ -385,7 +385,7 @@ if host_machine.system() != 'windows' +@@ -402,7 +402,7 @@ if host_machine.system() != 'windows' endif # unix # Test programs buildable on Windows only @@ -44,7 +44,7 @@ index 3a19c82..b762835 100644 gio_tests += {'win32-streams' : {}} endif -@@ -455,7 +455,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' +@@ -472,7 +472,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' } endif @@ -57,7 +57,7 @@ diff --git a/glib/tests/meson.build b/glib/tests/meson.build index 6eb23e8..36eb919 100644 --- a/glib/tests/meson.build +++ b/glib/tests/meson.build -@@ -137,7 +137,7 @@ if glib_conf.has('HAVE_EVENTFD') +@@ -142,7 +142,7 @@ if glib_conf.has('HAVE_EVENTFD') } endif diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch index 508c8c3ba..fbdd4c266 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch @@ -15,8 +15,8 @@ diff --git a/gio/tests/codegen.py b/gio/tests/codegen.py index 51de0ed..ca98c9d 100644 --- a/gio/tests/codegen.py +++ b/gio/tests/codegen.py -@@ -51,7 +51,7 @@ class TestCodegen(unittest.TestCase): - cwd = '' +@@ -55,7 +55,7 @@ class TestCodegen(unittest.TestCase): + cwd = "" def setUp(self): - self.timeout_seconds = 10 # seconds per test diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch deleted file mode 100644 index 485218652..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch +++ /dev/null @@ -1,403 +0,0 @@ -From fab561f8d05794329184cd81f9ab9d9d77dcc22a Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:12:22 +0000 -Subject: [PATCH 01/29] gobject: Drop use of volatile from get_type() macros -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -http://isvolatileusefulwiththreads.in/c/ - -It’s possible that the variables here are only marked as volatile -because they’re arguments to `g_once_*()`. Those arguments will be -modified in a subsequent commit. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - docs/reference/gobject/glib-mkenums.xml | 8 ++--- - docs/reference/gobject/tut_gtype.xml | 2 +- - gio/gioenumtypes.c.template | 8 ++--- - gio/tests/gsettings.c | 4 +-- - gobject/gbinding.c | 8 ++--- - gobject/gboxed.c | 8 ++--- - gobject/glib-enumtypes.c.template | 8 ++--- - gobject/gsourceclosure.c | 2 +- - gobject/gtype.h | 48 ++++++++++++------------- - gobject/tests/signals.c | 16 ++++----- - 10 files changed, 56 insertions(+), 56 deletions(-) - -diff --git a/docs/reference/gobject/glib-mkenums.xml b/docs/reference/gobject/glib-mkenums.xml -index 2200328ed..ce250a3ff 100644 ---- a/docs/reference/gobject/glib-mkenums.xml -+++ b/docs/reference/gobject/glib-mkenums.xml -@@ -480,9 +480,9 @@ A C source template file will typically look like this: - GType - @enum_name@_get_type (void) - { -- static volatile gsize g_@type@_type_id__volatile; -+ static gsize static_g_@type@_type_id; - -- if (g_once_init_enter (&g_define_type_id__volatile)) -+ if (g_once_init_enter (&static_g_@type@_type_id)) - { - static const G@Type@Value values[] = { - /*** END value-header ***/ -@@ -498,9 +498,9 @@ GType - GType g_@type@_type_id = - g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); - -- g_once_init_leave (&g_@type@_type_id__volatile, g_@type@_type_id); -+ g_once_init_leave (&static_g_@type@_type_id, g_@type@_type_id); - } -- return g_@type@_type_id__volatile; -+ return static_g_@type@_type_id; - } - - /*** END value-tail ***/ -diff --git a/docs/reference/gobject/tut_gtype.xml b/docs/reference/gobject/tut_gtype.xml -index 25e37dc48..ee042889d 100644 ---- a/docs/reference/gobject/tut_gtype.xml -+++ b/docs/reference/gobject/tut_gtype.xml -@@ -852,7 +852,7 @@ viewer_editable_default_init (ViewerEditableInterface *iface) - GType - viewer_editable_get_type (void) - { -- static volatile gsize type_id = 0; -+ static gsize type_id = 0; - if (g_once_init_enter (&type_id)) { - const GTypeInfo info = { - sizeof (ViewerEditableInterface), -diff --git a/gio/gioenumtypes.c.template b/gio/gioenumtypes.c.template -index e9adc4a38..948a01201 100644 ---- a/gio/gioenumtypes.c.template -+++ b/gio/gioenumtypes.c.template -@@ -13,9 +13,9 @@ - GType - @enum_name@_get_type (void) - { -- static volatile gsize g_define_type_id__volatile = 0; -+ static gsize static_g_define_type_id = 0; - -- if (g_once_init_enter (&g_define_type_id__volatile)) -+ if (g_once_init_enter (&static_g_define_type_id)) - { - static const G@Type@Value values[] = { - /*** END value-header ***/ -@@ -29,10 +29,10 @@ GType - }; - GType g_define_type_id = - g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); - } - -- return g_define_type_id__volatile; -+ return static_g_define_type_id; - } - - /*** END value-tail ***/ -diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c -index 2f81ae6c3..179d0fd2f 100644 ---- a/gio/tests/gsettings.c -+++ b/gio/tests/gsettings.c -@@ -1060,7 +1060,7 @@ test_object_set_property (GObject *object, - static GType - test_enum_get_type (void) - { -- static volatile gsize define_type_id = 0; -+ static gsize define_type_id = 0; - - if (g_once_init_enter (&define_type_id)) - { -@@ -1082,7 +1082,7 @@ test_enum_get_type (void) - static GType - test_flags_get_type (void) - { -- static volatile gsize define_type_id = 0; -+ static gsize define_type_id = 0; - - if (g_once_init_enter (&define_type_id)) - { -diff --git a/gobject/gbinding.c b/gobject/gbinding.c -index 78a883075..662d76b3c 100644 ---- a/gobject/gbinding.c -+++ b/gobject/gbinding.c -@@ -120,9 +120,9 @@ - GType - g_binding_flags_get_type (void) - { -- static volatile gsize g_define_type_id__volatile = 0; -+ static gsize static_g_define_type_id = 0; - -- if (g_once_init_enter (&g_define_type_id__volatile)) -+ if (g_once_init_enter (&static_g_define_type_id)) - { - static const GFlagsValue values[] = { - { G_BINDING_DEFAULT, "G_BINDING_DEFAULT", "default" }, -@@ -133,10 +133,10 @@ g_binding_flags_get_type (void) - }; - GType g_define_type_id = - g_flags_register_static (g_intern_static_string ("GBindingFlags"), values); -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); - } - -- return g_define_type_id__volatile; -+ return static_g_define_type_id; - } - - #define G_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), G_TYPE_BINDING, GBindingClass)) -diff --git a/gobject/gboxed.c b/gobject/gboxed.c -index 30ba4e775..194251383 100644 ---- a/gobject/gboxed.c -+++ b/gobject/gboxed.c -@@ -180,19 +180,19 @@ G_DEFINE_BOXED_TYPE (GOptionGroup, g_option_group, g_option_group_ref, g_option_ - GType - g_strv_get_type (void) - { -- static volatile gsize g_define_type_id__volatile = 0; -+ static gsize static_g_define_type_id = 0; - -- if (g_once_init_enter (&g_define_type_id__volatile)) -+ if (g_once_init_enter (&static_g_define_type_id)) - { - GType g_define_type_id = - g_boxed_type_register_static (g_intern_static_string ("GStrv"), - (GBoxedCopyFunc) g_strdupv, - (GBoxedFreeFunc) g_strfreev); - -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); - } - -- return g_define_type_id__volatile; -+ return static_g_define_type_id; - } - - GType -diff --git a/gobject/glib-enumtypes.c.template b/gobject/glib-enumtypes.c.template -index b7d36728f..1800ca8af 100644 ---- a/gobject/glib-enumtypes.c.template -+++ b/gobject/glib-enumtypes.c.template -@@ -13,9 +13,9 @@ - GType - @enum_name@_get_type (void) - { -- static volatile gsize g_define_type_id__volatile = 0; -+ static gsize static_g_define_type_id = 0; - -- if (g_once_init_enter (&g_define_type_id__volatile)) -+ if (g_once_init_enter (&static_g_define_type_id)) - { - static const G@Type@Value values[] = { - /*** END value-header ***/ -@@ -29,10 +29,10 @@ GType - }; - GType g_define_type_id = - g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); - } - -- return g_define_type_id__volatile; -+ return static_g_define_type_id; - } - - /*** END value-tail ***/ -diff --git a/gobject/gsourceclosure.c b/gobject/gsourceclosure.c -index 0d0d2e87c..d1b1ee4b3 100644 ---- a/gobject/gsourceclosure.c -+++ b/gobject/gsourceclosure.c -@@ -32,7 +32,7 @@ G_DEFINE_BOXED_TYPE (GIOChannel, g_io_channel, g_io_channel_ref, g_io_channel_un - GType - g_io_condition_get_type (void) - { -- static volatile GType etype = 0; -+ static GType etype = 0; - - if (g_once_init_enter (&etype)) - { -diff --git a/gobject/gtype.h b/gobject/gtype.h -index 9de46ac60..666fadb0c 100644 ---- a/gobject/gtype.h -+++ b/gobject/gtype.h -@@ -1727,8 +1727,8 @@ guint g_type_get_type_registration_serial (void); - * GType - * gtk_gadget_get_type (void) - * { -- * static volatile gsize g_define_type_id__volatile = 0; -- * if (g_once_init_enter (&g_define_type_id__volatile)) -+ * static gsize static_g_define_type_id = 0; -+ * if (g_once_init_enter (&static_g_define_type_id)) - * { - * GType g_define_type_id = - * g_type_register_static_simple (GTK_TYPE_WIDGET, -@@ -1748,9 +1748,9 @@ guint g_type_get_type_registration_serial (void); - * }; - * g_type_add_interface_static (g_define_type_id, TYPE_GIZMO, &g_implement_interface_info); - * } -- * g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); -+ * g_once_init_leave (&static_g_define_type_id, g_define_type_id); - * } -- * return g_define_type_id__volatile; -+ * return static_g_define_type_id; - * } - * ]| - * The only pieces which have to be manually provided are the definitions of -@@ -1995,17 +1995,17 @@ type_name##_get_instance_private (TypeName *self) \ - GType \ - type_name##_get_type (void) \ - { \ -- static volatile gsize g_define_type_id__volatile = 0; -+ static gsize static_g_define_type_id = 0; - /* Prelude goes here */ - - /* Added for _G_DEFINE_TYPE_EXTENDED_WITH_PRELUDE */ - #define _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \ -- if (g_once_init_enter (&g_define_type_id__volatile)) \ -+ if (g_once_init_enter (&static_g_define_type_id)) \ - { \ - GType g_define_type_id = type_name##_get_type_once (); \ -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ - } \ -- return g_define_type_id__volatile; \ -+ return static_g_define_type_id; \ - } /* closes type_name##_get_type() */ \ - \ - G_GNUC_NO_INLINE \ -@@ -2041,8 +2041,8 @@ static void type_name##_default_init (TypeName##Interface *klass); \ - GType \ - type_name##_get_type (void) \ - { \ -- static volatile gsize g_define_type_id__volatile = 0; \ -- if (g_once_init_enter (&g_define_type_id__volatile)) \ -+ static gsize static_g_define_type_id = 0; \ -+ if (g_once_init_enter (&static_g_define_type_id)) \ - { \ - GType g_define_type_id = \ - g_type_register_static_simple (G_TYPE_INTERFACE, \ -@@ -2058,9 +2058,9 @@ type_name##_get_type (void) \ - #define _G_DEFINE_INTERFACE_EXTENDED_END() \ - /* following custom code */ \ - } \ -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ - } \ -- return g_define_type_id__volatile; \ -+ return static_g_define_type_id; \ - } /* closes type_name##_get_type() */ - - /** -@@ -2115,13 +2115,13 @@ static GType type_name##_get_type_once (void); \ - GType \ - type_name##_get_type (void) \ - { \ -- static volatile gsize g_define_type_id__volatile = 0; \ -- if (g_once_init_enter (&g_define_type_id__volatile)) \ -+ static gsize static_g_define_type_id = 0; \ -+ if (g_once_init_enter (&static_g_define_type_id)) \ - { \ - GType g_define_type_id = type_name##_get_type_once (); \ -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ - } \ -- return g_define_type_id__volatile; \ -+ return static_g_define_type_id; \ - } \ - \ - G_GNUC_NO_INLINE \ -@@ -2152,13 +2152,13 @@ static GType type_name##_get_type_once (void); \ - GType \ - type_name##_get_type (void) \ - { \ -- static volatile gsize g_define_type_id__volatile = 0; \ -- if (g_once_init_enter (&g_define_type_id__volatile)) \ -+ static gsize static_g_define_type_id = 0; \ -+ if (g_once_init_enter (&static_g_define_type_id)) \ - { \ - GType g_define_type_id = type_name##_get_type_once (); \ -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ - } \ -- return g_define_type_id__volatile; \ -+ return static_g_define_type_id; \ - } \ - \ - G_GNUC_NO_INLINE \ -@@ -2205,13 +2205,13 @@ static GType type_name##_get_type_once (void); \ - GType \ - type_name##_get_type (void) \ - { \ -- static volatile gsize g_define_type_id__volatile = 0; \ -- if (g_once_init_enter (&g_define_type_id__volatile)) \ -+ static gsize static_g_define_type_id = 0; \ -+ if (g_once_init_enter (&static_g_define_type_id)) \ - { \ - GType g_define_type_id = type_name##_get_type_once (); \ -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ - } \ -- return g_define_type_id__volatile; \ -+ return static_g_define_type_id; \ - } \ - \ - G_GNUC_NO_INLINE \ -diff --git a/gobject/tests/signals.c b/gobject/tests/signals.c -index 120f90b5c..ac0ce5102 100644 ---- a/gobject/tests/signals.c -+++ b/gobject/tests/signals.c -@@ -66,9 +66,9 @@ custom_marshal_VOID__INVOCATIONHINT (GClosure *closure, - static GType - test_enum_get_type (void) - { -- static volatile gsize g_define_type_id__volatile = 0; -+ static gsize static_g_define_type_id = 0; - -- if (g_once_init_enter (&g_define_type_id__volatile)) -+ if (g_once_init_enter (&static_g_define_type_id)) - { - static const GEnumValue values[] = { - { TEST_ENUM_NEGATIVE, "TEST_ENUM_NEGATIVE", "negative" }, -@@ -79,18 +79,18 @@ test_enum_get_type (void) - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("TestEnum"), values); -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); - } - -- return g_define_type_id__volatile; -+ return static_g_define_type_id; - } - - static GType - test_unsigned_enum_get_type (void) - { -- static volatile gsize g_define_type_id__volatile = 0; -+ static gsize static_g_define_type_id = 0; - -- if (g_once_init_enter (&g_define_type_id__volatile)) -+ if (g_once_init_enter (&static_g_define_type_id)) - { - static const GEnumValue values[] = { - { TEST_UNSIGNED_ENUM_FOO, "TEST_UNSIGNED_ENUM_FOO", "foo" }, -@@ -99,10 +99,10 @@ test_unsigned_enum_get_type (void) - }; - GType g_define_type_id = - g_enum_register_static (g_intern_static_string ("TestUnsignedEnum"), values); -- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); -+ g_once_init_leave (&static_g_define_type_id, g_define_type_id); - } - -- return g_define_type_id__volatile; -+ return static_g_define_type_id; - } - - typedef enum { --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-tests-codegen.py-removing-unecessary-print-statement.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-tests-codegen.py-removing-unecessary-print-statement.patch deleted file mode 100644 index 40427e0e6..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-tests-codegen.py-removing-unecessary-print-statement.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6178df5658045a6253ef806e018fe80d99a8f5fb Mon Sep 17 00:00:00 2001 -From: Yi Fan Yu -Date: Mon, 1 Feb 2021 16:10:28 -0500 -Subject: [PATCH] tests/codegen.py: removing unecessary print statement - -A huge amount of output(boiler-plate code) is -printed to the console screen. -This is not critical to the test results. - -This causes intermittent test failure when another process -has to parse its output. - -Root cause is in ptest-runner, This is a workaround - -Uptream-Status: Inappropriate [other] - - - -Signed-off-by: Yi Fan Yu ---- - gio/tests/codegen.py | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/gio/tests/codegen.py b/gio/tests/codegen.py -index 51de0ede4..cfa4db42e 100644 ---- a/gio/tests/codegen.py -+++ b/gio/tests/codegen.py -@@ -250,7 +250,6 @@ class TestCodegen(unittest.TestCase): - - result = Result(info, out, err, subs) - -- print('Output:', result.out) - return result - - def runCodegenWithInterface(self, interface_contents, *args): --- -2.29.2 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch deleted file mode 100644 index fada7cc38..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch +++ /dev/null @@ -1,44 +0,0 @@ -From a6ce0e742a5c75c53a7c702ebb1af1084065160a Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:14:29 +0000 -Subject: [PATCH 02/29] tests: Fix non-atomic access to a shared variable -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -And drop the `volatile` qualifier from the variable, as that doesn’t -help with thread safety. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/tests/642026.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/glib/tests/642026.c b/glib/tests/642026.c -index ef54f14bb..26ab2ed06 100644 ---- a/glib/tests/642026.c -+++ b/glib/tests/642026.c -@@ -25,7 +25,7 @@ static GMutex *mutex; - static GCond *cond; - static guint i; - --static volatile gint freed = 0; -+static gint freed = 0; /* (atomic) */ - - static void - notify (gpointer p) -@@ -63,7 +63,7 @@ testcase (void) - GThread *t1; - - g_static_private_init (&sp); -- freed = 0; -+ g_atomic_int_set (&freed, 0); - - t1 = g_thread_create (thread_func, NULL, TRUE, NULL); - g_assert (t1 != NULL); --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch deleted file mode 100644 index 8bc71a698..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch +++ /dev/null @@ -1,90 +0,0 @@ -From ea746c79faf554d980c21b0e4381753e003d2dc6 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:17:23 +0000 -Subject: [PATCH 03/29] tests: Fix non-atomic access to a shared variable -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -And drop the `volatile` qualifier from the variable, as that doesn’t -help with thread safety. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/tests/mainloop.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -diff --git a/glib/tests/mainloop.c b/glib/tests/mainloop.c -index 16763a0ea..563a951de 100644 ---- a/glib/tests/mainloop.c -+++ b/glib/tests/mainloop.c -@@ -918,7 +918,7 @@ test_mainloop_overflow (void) - g_main_context_unref (ctx); - } - --static volatile gint ready_time_dispatched; -+static gint ready_time_dispatched; /* (atomic) */ - - static gboolean - ready_time_dispatch (GSource *source, -@@ -964,7 +964,7 @@ test_ready_time (void) - /* A source with no ready time set should not fire */ - g_assert_cmpint (g_source_get_ready_time (source), ==, -1); - while (g_main_context_iteration (NULL, FALSE)); -- g_assert_false (ready_time_dispatched); -+ g_assert_false (g_atomic_int_get (&ready_time_dispatched)); - - /* The ready time should not have been changed */ - g_assert_cmpint (g_source_get_ready_time (source), ==, -1); -@@ -978,37 +978,37 @@ test_ready_time (void) - */ - g_source_set_ready_time (source, g_get_monotonic_time () + G_TIME_SPAN_DAY); - while (g_main_context_iteration (NULL, FALSE)); -- g_assert_false (ready_time_dispatched); -+ g_assert_false (g_atomic_int_get (&ready_time_dispatched)); - /* Make sure it didn't get reset */ - g_assert_cmpint (g_source_get_ready_time (source), !=, -1); - - /* Ready time of -1 -> don't fire */ - g_source_set_ready_time (source, -1); - while (g_main_context_iteration (NULL, FALSE)); -- g_assert_false (ready_time_dispatched); -+ g_assert_false (g_atomic_int_get (&ready_time_dispatched)); - /* Not reset, but should still be -1 from above */ - g_assert_cmpint (g_source_get_ready_time (source), ==, -1); - - /* A ready time of the current time should fire immediately */ - g_source_set_ready_time (source, g_get_monotonic_time ()); - while (g_main_context_iteration (NULL, FALSE)); -- g_assert_true (ready_time_dispatched); -- ready_time_dispatched = FALSE; -+ g_assert_true (g_atomic_int_get (&ready_time_dispatched)); -+ g_atomic_int_set (&ready_time_dispatched, FALSE); - /* Should have gotten reset by the handler function */ - g_assert_cmpint (g_source_get_ready_time (source), ==, -1); - - /* As well as one in the recent past... */ - g_source_set_ready_time (source, g_get_monotonic_time () - G_TIME_SPAN_SECOND); - while (g_main_context_iteration (NULL, FALSE)); -- g_assert_true (ready_time_dispatched); -- ready_time_dispatched = FALSE; -+ g_assert_true (g_atomic_int_get (&ready_time_dispatched)); -+ g_atomic_int_set (&ready_time_dispatched, FALSE); - g_assert_cmpint (g_source_get_ready_time (source), ==, -1); - - /* Zero is the 'official' way to get a source to fire immediately */ - g_source_set_ready_time (source, 0); - while (g_main_context_iteration (NULL, FALSE)); -- g_assert_true (ready_time_dispatched); -- ready_time_dispatched = FALSE; -+ g_assert_true (g_atomic_int_get (&ready_time_dispatched)); -+ g_atomic_int_set (&ready_time_dispatched, FALSE); - g_assert_cmpint (g_source_get_ready_time (source), ==, -1); - - /* Now do some tests of cross-thread wakeups. --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch deleted file mode 100644 index 4b7b6f463..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 3dda662bebb81666d009635df1055ba5c1e17b52 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:16:17 +0000 -Subject: [PATCH 04/29] tests: Drop unnecessary volatile qualifiers from tests -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These variables were already (correctly) accessed atomically. The -`volatile` qualifier doesn’t help with that. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/tests/atomic.c | 4 ++-- - glib/tests/cond.c | 2 +- - glib/tests/gwakeuptest.c | 2 +- - glib/tests/hash.c | 2 +- - glib/tests/slice.c | 2 +- - 5 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/glib/tests/atomic.c b/glib/tests/atomic.c -index 6b6cc7f3e..7d2459f3a 100644 ---- a/glib/tests/atomic.c -+++ b/glib/tests/atomic.c -@@ -248,8 +248,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS - #define THREADS 10 - #define ROUNDS 10000 - --volatile gint bucket[THREADS]; --volatile gint atomic; -+gint bucket[THREADS]; /* never contested by threads, not accessed atomically */ -+gint atomic; /* (atomic) */ - - static gpointer - thread_func (gpointer data) -diff --git a/glib/tests/cond.c b/glib/tests/cond.c -index 0f0b3d249..ed338cce3 100644 ---- a/glib/tests/cond.c -+++ b/glib/tests/cond.c -@@ -29,7 +29,7 @@ - - static GCond cond; - static GMutex mutex; --static volatile gint next; -+static gint next; /* locked by @mutex */ - - static void - push_value (gint value) -diff --git a/glib/tests/gwakeuptest.c b/glib/tests/gwakeuptest.c -index 461a7d3de..b37fb43fc 100644 ---- a/glib/tests/gwakeuptest.c -+++ b/glib/tests/gwakeuptest.c -@@ -92,7 +92,7 @@ struct context - static struct context contexts[NUM_THREADS]; - static GThread *threads[NUM_THREADS]; - static GWakeup *last_token_wakeup; --static volatile gint tokens_alive; -+static gint tokens_alive; /* (atomic) */ - - static void - context_init (struct context *ctx) -diff --git a/glib/tests/hash.c b/glib/tests/hash.c -index 4623d18d1..f4ff55ce1 100644 ---- a/glib/tests/hash.c -+++ b/glib/tests/hash.c -@@ -1362,7 +1362,7 @@ struct _GHashTable - - GHashFunc hash_func; - GEqualFunc key_equal_func; -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - - #ifndef G_DISABLE_ASSERT - int version; -diff --git a/glib/tests/slice.c b/glib/tests/slice.c -index f37826f3a..a566280db 100644 ---- a/glib/tests/slice.c -+++ b/glib/tests/slice.c -@@ -107,7 +107,7 @@ thread_allocate (gpointer data) - gint b; - gint size; - gpointer p; -- volatile gpointer *loc; -+ gpointer *loc; /* (atomic) */ - - for (i = 0; i < 10000; i++) - { --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch deleted file mode 100644 index 3aecf4582..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch +++ /dev/null @@ -1,702 +0,0 @@ -From 7f905ff1faf0acbe0d2ce69937e031fcacce9294 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:21:00 +0000 -Subject: [PATCH 05/29] tests: Fix non-atomic access to some shared variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -And drop the `volatile` qualifier from the variables, as that doesn’t -help with thread safety. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gio/tests/gdbus-connection-flush.c | 6 +- - gio/tests/gdbus-connection.c | 40 ++++---- - gio/tests/gdbus-overflow.c | 20 ++-- - gio/tests/socket-service.c | 6 +- - gio/tests/task.c | 150 ++++++++++++++--------------- - 5 files changed, 111 insertions(+), 111 deletions(-) - ---- a/gio/tests/gdbus-connection-flush.c -+++ b/gio/tests/gdbus-connection-flush.c -@@ -43,9 +43,9 @@ G_LOCK_DEFINE_STATIC (write); - typedef struct { - GFilterOutputStream parent; - -- volatile gint started; -- volatile gint finished; -- volatile gint flushed; -+ gint started; /* (atomic) */ -+ gint finished; /* (atomic) */ -+ gint flushed; /* (atomic) */ - - GOutputStream *real_output; - } MyOutputStream; ---- a/gio/tests/gdbus-connection.c -+++ b/gio/tests/gdbus-connection.c -@@ -61,9 +61,9 @@ _log (const gchar *format, ...) - static gboolean - test_connection_quit_mainloop (gpointer user_data) - { -- volatile gboolean *quit_mainloop_fired = user_data; -+ gboolean *quit_mainloop_fired = user_data; /* (atomic) */ - _log ("quit_mainloop_fired"); -- *quit_mainloop_fired = TRUE; -+ g_atomic_int_set (quit_mainloop_fired, TRUE); - g_main_loop_quit (loop); - return TRUE; - } -@@ -113,8 +113,8 @@ on_name_owner_changed (GDBusConnection * - static void - a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop (gpointer user_data) - { -- volatile gboolean *val = user_data; -- *val = TRUE; -+ gboolean *val = user_data; /* (atomic) */ -+ g_atomic_int_set (val, TRUE); - _log ("destroynotify fired for %p", val); - g_main_loop_quit (loop); - } -@@ -143,10 +143,10 @@ test_connection_life_cycle (void) - GDBusConnection *c; - GDBusConnection *c2; - GError *error; -- volatile gboolean on_signal_registration_freed_called; -- volatile gboolean on_filter_freed_called; -- volatile gboolean on_register_object_freed_called; -- volatile gboolean quit_mainloop_fired; -+ gboolean on_signal_registration_freed_called; /* (atomic) */ -+ gboolean on_filter_freed_called; /* (atomic) */ -+ gboolean on_register_object_freed_called; /* (atomic) */ -+ gboolean quit_mainloop_fired; /* (atomic) */ - guint quit_mainloop_id; - guint registration_id; - -@@ -208,7 +208,7 @@ test_connection_life_cycle (void) - g_assert_no_error (error); - g_assert_nonnull (c2); - /* signal registration */ -- on_signal_registration_freed_called = FALSE; -+ g_atomic_int_set (&on_signal_registration_freed_called, FALSE); - g_dbus_connection_signal_subscribe (c2, - "org.freedesktop.DBus", /* bus name */ - "org.freedesktop.DBus", /* interface */ -@@ -220,13 +220,13 @@ test_connection_life_cycle (void) - (gpointer) &on_signal_registration_freed_called, - a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop); - /* filter func */ -- on_filter_freed_called = FALSE; -+ g_atomic_int_set (&on_filter_freed_called, FALSE); - g_dbus_connection_add_filter (c2, - some_filter_func, - (gpointer) &on_filter_freed_called, - a_gdestroynotify_that_sets_a_gboolean_to_true_and_quits_loop); - /* object registration */ -- on_register_object_freed_called = FALSE; -+ g_atomic_int_set (&on_register_object_freed_called, FALSE); - error = NULL; - registration_id = g_dbus_connection_register_object (c2, - "/foo", -@@ -239,7 +239,7 @@ test_connection_life_cycle (void) - g_assert_cmpuint (registration_id, >, 0); - /* ok, finalize the connection and check that all the GDestroyNotify functions are invoked as expected */ - g_object_unref (c2); -- quit_mainloop_fired = FALSE; -+ g_atomic_int_set (&quit_mainloop_fired, FALSE); - quit_mainloop_id = g_timeout_add (30000, test_connection_quit_mainloop, (gpointer) &quit_mainloop_fired); - _log ("destroynotifies for\n" - " register_object %p\n" -@@ -250,21 +250,21 @@ test_connection_life_cycle (void) - &on_signal_registration_freed_called); - while (TRUE) - { -- if (on_signal_registration_freed_called && -- on_filter_freed_called && -- on_register_object_freed_called) -+ if (g_atomic_int_get (&on_signal_registration_freed_called) && -+ g_atomic_int_get (&on_filter_freed_called) && -+ g_atomic_int_get (&on_register_object_freed_called)) - break; -- if (quit_mainloop_fired) -+ if (g_atomic_int_get (&quit_mainloop_fired)) - break; - _log ("entering loop"); - g_main_loop_run (loop); - _log ("exiting loop"); - } - g_source_remove (quit_mainloop_id); -- g_assert_true (on_signal_registration_freed_called); -- g_assert_true (on_filter_freed_called); -- g_assert_true (on_register_object_freed_called); -- g_assert_false (quit_mainloop_fired); -+ g_assert_true (g_atomic_int_get (&on_signal_registration_freed_called)); -+ g_assert_true (g_atomic_int_get (&on_filter_freed_called)); -+ g_assert_true (g_atomic_int_get (&on_register_object_freed_called)); -+ g_assert_false (g_atomic_int_get (&quit_mainloop_fired)); - - /* - * Check for correct behavior when the bus goes away ---- a/gio/tests/gdbus-overflow.c -+++ b/gio/tests/gdbus-overflow.c -@@ -86,8 +86,8 @@ overflow_filter_func (GDBusConnection *c - gboolean incoming, - gpointer user_data) - { -- volatile gint *counter = user_data; -- *counter += 1; -+ gint *counter = user_data; /* (atomic) */ -+ g_atomic_int_inc (counter); - return message; - } - -@@ -108,8 +108,8 @@ test_overflow (void) - GDBusConnection *producer, *consumer; - GError *error; - GTimer *timer; -- volatile gint n_messages_received; -- volatile gint n_messages_sent; -+ gint n_messages_received; /* (atomic) */ -+ gint n_messages_sent; /* (atomic) */ - - g_assert_cmpint (socketpair (AF_UNIX, SOCK_STREAM, 0, sv), ==, 0); - -@@ -129,7 +129,7 @@ test_overflow (void) - g_dbus_connection_set_exit_on_close (producer, TRUE); - g_assert_no_error (error); - g_object_unref (socket_connection); -- n_messages_sent = 0; -+ g_atomic_int_set (&n_messages_sent, 0); - g_dbus_connection_add_filter (producer, overflow_filter_func, (gpointer) &n_messages_sent, NULL); - - /* send enough data that we get an EAGAIN */ -@@ -155,7 +155,7 @@ test_overflow (void) - */ - g_timeout_add (500, overflow_on_500ms_later_func, NULL); - g_main_loop_run (loop); -- g_assert_cmpint (n_messages_sent, <, OVERFLOW_NUM_SIGNALS); -+ g_assert_cmpint (g_atomic_int_get (&n_messages_sent), <, OVERFLOW_NUM_SIGNALS); - - /* now suck it all out as a client, and add it up */ - socket = g_socket_new_from_fd (sv[1], &error); -@@ -171,18 +171,18 @@ test_overflow (void) - &error); - g_assert_no_error (error); - g_object_unref (socket_connection); -- n_messages_received = 0; -+ g_atomic_int_set (&n_messages_received, 0); - g_dbus_connection_add_filter (consumer, overflow_filter_func, (gpointer) &n_messages_received, NULL); - g_dbus_connection_start_message_processing (consumer); - - timer = g_timer_new (); - g_timer_start (timer); - -- while (n_messages_received < OVERFLOW_NUM_SIGNALS && g_timer_elapsed (timer, NULL) < OVERFLOW_TIMEOUT_SEC) -+ while (g_atomic_int_get (&n_messages_received) < OVERFLOW_NUM_SIGNALS && g_timer_elapsed (timer, NULL) < OVERFLOW_TIMEOUT_SEC) - g_main_context_iteration (NULL, FALSE); - -- g_assert_cmpint (n_messages_sent, ==, OVERFLOW_NUM_SIGNALS); -- g_assert_cmpint (n_messages_received, ==, OVERFLOW_NUM_SIGNALS); -+ g_assert_cmpint (g_atomic_int_get (&n_messages_sent), ==, OVERFLOW_NUM_SIGNALS); -+ g_assert_cmpint (g_atomic_int_get (&n_messages_received), ==, OVERFLOW_NUM_SIGNALS); - - g_timer_destroy (timer); - g_object_unref (consumer); ---- a/gio/tests/socket-service.c -+++ b/gio/tests/socket-service.c -@@ -99,7 +99,7 @@ test_start_stop (void) - - GMutex mutex_712570; - GCond cond_712570; --volatile gboolean finalized; -+gboolean finalized; /* (atomic) */ - - GType test_threaded_socket_service_get_type (void); - typedef GThreadedSocketService TestThreadedSocketService; -@@ -120,7 +120,7 @@ test_threaded_socket_service_finalize (G - /* Signal the main thread that finalization completed successfully - * rather than hanging. - */ -- finalized = TRUE; -+ g_atomic_int_set (&finalized, TRUE); - g_cond_signal (&cond_712570); - g_mutex_unlock (&mutex_712570); - } -@@ -235,7 +235,7 @@ test_threaded_712570 (void) - */ - g_object_unref (service); - -- while (!finalized) -+ while (!g_atomic_int_get (&finalized)) - g_cond_wait (&cond_712570, &mutex_712570); - g_mutex_unlock (&mutex_712570); - } ---- a/gio/tests/task.c -+++ b/gio/tests/task.c -@@ -957,7 +957,7 @@ task_weak_notify (gpointer user_data, - gboolean *weak_notify_ran = user_data; - - g_mutex_lock (&run_in_thread_mutex); -- *weak_notify_ran = TRUE; -+ g_atomic_int_set (weak_notify_ran, TRUE); - g_cond_signal (&run_in_thread_cond); - g_mutex_unlock (&run_in_thread_mutex); - } -@@ -1007,7 +1007,7 @@ run_in_thread_thread (GTask *task - g_assert (g_thread_self () != main_thread); - - g_mutex_lock (&run_in_thread_mutex); -- *thread_ran = TRUE; -+ g_atomic_int_set (thread_ran, TRUE); - g_cond_signal (&run_in_thread_cond); - g_mutex_unlock (&run_in_thread_mutex); - -@@ -1018,8 +1018,8 @@ static void - test_run_in_thread (void) - { - GTask *task; -- volatile gboolean thread_ran = FALSE; -- volatile gboolean weak_notify_ran = FALSE; -+ gboolean thread_ran = FALSE; /* (atomic) */ -+ gboolean weak_notify_ran = FALSE; /* (atomic) */ - gboolean notification_emitted = FALSE; - gboolean done = FALSE; - -@@ -1033,12 +1033,12 @@ test_run_in_thread (void) - g_task_run_in_thread (task, run_in_thread_thread); - - g_mutex_lock (&run_in_thread_mutex); -- while (!thread_ran) -+ while (!g_atomic_int_get (&thread_ran)) - g_cond_wait (&run_in_thread_cond, &run_in_thread_mutex); - g_mutex_unlock (&run_in_thread_mutex); - - g_assert (done == FALSE); -- g_assert (weak_notify_ran == FALSE); -+ g_assert_false (g_atomic_int_get (&weak_notify_ran)); - - g_main_loop_run (loop); - -@@ -1050,7 +1050,7 @@ test_run_in_thread (void) - g_object_unref (task); - - g_mutex_lock (&run_in_thread_mutex); -- while (!weak_notify_ran) -+ while (!g_atomic_int_get (&weak_notify_ran)) - g_cond_wait (&run_in_thread_cond, &run_in_thread_mutex); - g_mutex_unlock (&run_in_thread_mutex); - } -@@ -1081,7 +1081,7 @@ run_in_thread_sync_thread (GTask - - g_assert (g_thread_self () != main_thread); - -- *thread_ran = TRUE; -+ g_atomic_int_set (thread_ran, TRUE); - g_task_return_int (task, magic); - } - -@@ -1102,7 +1102,7 @@ test_run_in_thread_sync (void) - g_task_set_task_data (task, &thread_ran, NULL); - g_task_run_in_thread_sync (task, run_in_thread_sync_thread); - -- g_assert (thread_ran == TRUE); -+ g_assert_true (g_atomic_int_get (&thread_ran)); - g_assert (task != NULL); - g_assert (!g_task_had_error (task)); - g_assert_true (g_task_get_completed (task)); -@@ -1487,8 +1487,8 @@ test_return_on_cancel (void) - { - GTask *task; - GCancellable *cancellable; -- volatile ThreadState thread_state; -- volatile gboolean weak_notify_ran = FALSE; -+ ThreadState thread_state; /* (atomic) */ -+ gboolean weak_notify_ran = FALSE; /* (atomic) */ - gboolean callback_ran; - gboolean notification_emitted = FALSE; - -@@ -1498,7 +1498,7 @@ test_return_on_cancel (void) - * early. - */ - callback_ran = FALSE; -- thread_state = THREAD_STARTING; -+ g_atomic_int_set (&thread_state, THREAD_STARTING); - task = g_task_new (NULL, cancellable, return_on_cancel_callback, &callback_ran); - g_signal_connect (task, "notify::completed", - (GCallback) completed_cb, ¬ification_emitted); -@@ -1509,18 +1509,18 @@ test_return_on_cancel (void) - g_task_run_in_thread (task, return_on_cancel_thread); - g_object_unref (task); - -- while (thread_state == THREAD_STARTING) -+ while (g_atomic_int_get (&thread_state) == THREAD_STARTING) - g_cond_wait (&roc_init_cond, &roc_init_mutex); - g_mutex_unlock (&roc_init_mutex); - -- g_assert (thread_state == THREAD_RUNNING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING); - g_assert (callback_ran == FALSE); - - g_cancellable_cancel (cancellable); - g_mutex_unlock (&roc_finish_mutex); - g_main_loop_run (loop); - -- g_assert (thread_state == THREAD_COMPLETED); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_COMPLETED); - g_assert (callback_ran == TRUE); - g_assert_true (notification_emitted); - -@@ -1529,7 +1529,7 @@ test_return_on_cancel (void) - /* If return-on-cancel is TRUE, it does return early */ - callback_ran = FALSE; - notification_emitted = FALSE; -- thread_state = THREAD_STARTING; -+ g_atomic_int_set (&thread_state, THREAD_STARTING); - task = g_task_new (NULL, cancellable, return_on_cancel_callback, &callback_ran); - g_object_weak_ref (G_OBJECT (task), task_weak_notify, (gpointer)&weak_notify_ran); - g_signal_connect (task, "notify::completed", -@@ -1542,27 +1542,27 @@ test_return_on_cancel (void) - g_task_run_in_thread (task, return_on_cancel_thread); - g_object_unref (task); - -- while (thread_state == THREAD_STARTING) -+ while (g_atomic_int_get (&thread_state) == THREAD_STARTING) - g_cond_wait (&roc_init_cond, &roc_init_mutex); - g_mutex_unlock (&roc_init_mutex); - -- g_assert (thread_state == THREAD_RUNNING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING); - g_assert (callback_ran == FALSE); - - g_cancellable_cancel (cancellable); - g_main_loop_run (loop); -- g_assert (thread_state == THREAD_RUNNING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING); - g_assert (callback_ran == TRUE); - -- g_assert (weak_notify_ran == FALSE); -+ g_assert_false (g_atomic_int_get (&weak_notify_ran)); - -- while (thread_state == THREAD_RUNNING) -+ while (g_atomic_int_get (&thread_state) == THREAD_RUNNING) - g_cond_wait (&roc_finish_cond, &roc_finish_mutex); - g_mutex_unlock (&roc_finish_mutex); - -- g_assert (thread_state == THREAD_CANCELLED); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_CANCELLED); - g_mutex_lock (&run_in_thread_mutex); -- while (!weak_notify_ran) -+ while (!g_atomic_int_get (&weak_notify_ran)) - g_cond_wait (&run_in_thread_cond, &run_in_thread_mutex); - g_mutex_unlock (&run_in_thread_mutex); - -@@ -1574,7 +1574,7 @@ test_return_on_cancel (void) - */ - callback_ran = FALSE; - notification_emitted = FALSE; -- thread_state = THREAD_STARTING; -+ g_atomic_int_set (&thread_state, THREAD_STARTING); - task = g_task_new (NULL, cancellable, return_on_cancel_callback, &callback_ran); - g_signal_connect (task, "notify::completed", - (GCallback) completed_cb, ¬ification_emitted); -@@ -1591,17 +1591,17 @@ test_return_on_cancel (void) - g_main_loop_run (loop); - g_assert (callback_ran == TRUE); - -- while (thread_state == THREAD_STARTING) -+ while (g_atomic_int_get (&thread_state) == THREAD_STARTING) - g_cond_wait (&roc_init_cond, &roc_init_mutex); - g_mutex_unlock (&roc_init_mutex); - -- g_assert (thread_state == THREAD_RUNNING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING); - -- while (thread_state == THREAD_RUNNING) -+ while (g_atomic_int_get (&thread_state) == THREAD_RUNNING) - g_cond_wait (&roc_finish_cond, &roc_finish_mutex); - g_mutex_unlock (&roc_finish_mutex); - -- g_assert (thread_state == THREAD_CANCELLED); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_CANCELLED); - g_assert_true (notification_emitted); - - g_object_unref (cancellable); -@@ -1621,7 +1621,7 @@ test_return_on_cancel_sync (void) - { - GTask *task; - GCancellable *cancellable; -- volatile ThreadState thread_state; -+ ThreadState thread_state; /* (atomic) */ - GThread *runner_thread; - gssize ret; - GError *error = NULL; -@@ -1630,7 +1630,7 @@ test_return_on_cancel_sync (void) - - /* If return-on-cancel is FALSE, the task does not return early. - */ -- thread_state = THREAD_STARTING; -+ g_atomic_int_set (&thread_state, THREAD_STARTING); - task = g_task_new (NULL, cancellable, run_in_thread_sync_callback, NULL); - - g_task_set_task_data (task, (gpointer)&thread_state, NULL); -@@ -1639,16 +1639,16 @@ test_return_on_cancel_sync (void) - runner_thread = g_thread_new ("return-on-cancel-sync runner thread", - cancel_sync_runner_thread, task); - -- while (thread_state == THREAD_STARTING) -+ while (g_atomic_int_get (&thread_state) == THREAD_STARTING) - g_cond_wait (&roc_init_cond, &roc_init_mutex); - g_mutex_unlock (&roc_init_mutex); - -- g_assert (thread_state == THREAD_RUNNING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING); - - g_cancellable_cancel (cancellable); - g_mutex_unlock (&roc_finish_mutex); - g_thread_join (runner_thread); -- g_assert (thread_state == THREAD_COMPLETED); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_COMPLETED); - - ret = g_task_propagate_int (task, &error); - g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED); -@@ -1660,7 +1660,7 @@ test_return_on_cancel_sync (void) - g_cancellable_reset (cancellable); - - /* If return-on-cancel is TRUE, it does return early */ -- thread_state = THREAD_STARTING; -+ g_atomic_int_set (&thread_state, THREAD_STARTING); - task = g_task_new (NULL, cancellable, run_in_thread_sync_callback, NULL); - g_task_set_return_on_cancel (task, TRUE); - -@@ -1670,15 +1670,15 @@ test_return_on_cancel_sync (void) - runner_thread = g_thread_new ("return-on-cancel-sync runner thread", - cancel_sync_runner_thread, task); - -- while (thread_state == THREAD_STARTING) -+ while (g_atomic_int_get (&thread_state) == THREAD_STARTING) - g_cond_wait (&roc_init_cond, &roc_init_mutex); - g_mutex_unlock (&roc_init_mutex); - -- g_assert (thread_state == THREAD_RUNNING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING); - - g_cancellable_cancel (cancellable); - g_thread_join (runner_thread); -- g_assert (thread_state == THREAD_RUNNING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING); - - ret = g_task_propagate_int (task, &error); - g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED); -@@ -1687,18 +1687,18 @@ test_return_on_cancel_sync (void) - - g_object_unref (task); - -- while (thread_state == THREAD_RUNNING) -+ while (g_atomic_int_get (&thread_state) == THREAD_RUNNING) - g_cond_wait (&roc_finish_cond, &roc_finish_mutex); - g_mutex_unlock (&roc_finish_mutex); - -- g_assert (thread_state == THREAD_CANCELLED); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_CANCELLED); - - g_cancellable_reset (cancellable); - - /* If the task is already cancelled before it starts, it returns - * immediately, but the thread func still runs. - */ -- thread_state = THREAD_STARTING; -+ g_atomic_int_set (&thread_state, THREAD_STARTING); - task = g_task_new (NULL, cancellable, run_in_thread_sync_callback, NULL); - g_task_set_return_on_cancel (task, TRUE); - -@@ -1711,7 +1711,7 @@ test_return_on_cancel_sync (void) - cancel_sync_runner_thread, task); - - g_thread_join (runner_thread); -- g_assert (thread_state == THREAD_STARTING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_STARTING); - - ret = g_task_propagate_int (task, &error); - g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED); -@@ -1720,17 +1720,17 @@ test_return_on_cancel_sync (void) - - g_object_unref (task); - -- while (thread_state == THREAD_STARTING) -+ while (g_atomic_int_get (&thread_state) == THREAD_STARTING) - g_cond_wait (&roc_init_cond, &roc_init_mutex); - g_mutex_unlock (&roc_init_mutex); - -- g_assert (thread_state == THREAD_RUNNING); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_RUNNING); - -- while (thread_state == THREAD_RUNNING) -+ while (g_atomic_int_get (&thread_state) == THREAD_RUNNING) - g_cond_wait (&roc_finish_cond, &roc_finish_mutex); - g_mutex_unlock (&roc_finish_mutex); - -- g_assert (thread_state == THREAD_CANCELLED); -+ g_assert_cmpint (g_atomic_int_get (&thread_state), ==, THREAD_CANCELLED); - - g_object_unref (cancellable); - } -@@ -1776,7 +1776,7 @@ return_on_cancel_atomic_thread (GTask - gpointer task_data, - GCancellable *cancellable) - { -- gint *state = task_data; -+ gint *state = task_data; /* (atomic) */ - - g_assert (source_object == g_task_get_source_object (task)); - g_assert (task_data == g_task_get_task_data (task)); -@@ -1784,34 +1784,34 @@ return_on_cancel_atomic_thread (GTask - g_assert_false (g_task_get_completed (task)); - - g_assert (g_thread_self () != main_thread); -- g_assert_cmpint (*state, ==, 0); -+ g_assert_cmpint (g_atomic_int_get (state), ==, 0); - - g_mutex_lock (&roca_mutex_1); -- *state = 1; -+ g_atomic_int_set (state, 1); - g_cond_signal (&roca_cond_1); - g_mutex_unlock (&roca_mutex_1); - - g_mutex_lock (&roca_mutex_2); - if (g_task_set_return_on_cancel (task, FALSE)) -- *state = 2; -+ g_atomic_int_set (state, 2); - else -- *state = 3; -+ g_atomic_int_set (state, 3); - g_cond_signal (&roca_cond_2); - g_mutex_unlock (&roca_mutex_2); - - g_mutex_lock (&roca_mutex_1); - if (g_task_set_return_on_cancel (task, TRUE)) -- *state = 4; -+ g_atomic_int_set (state, 4); - else -- *state = 5; -+ g_atomic_int_set (state, 5); - g_cond_signal (&roca_cond_1); - g_mutex_unlock (&roca_mutex_1); - - g_mutex_lock (&roca_mutex_2); - if (g_task_set_return_on_cancel (task, TRUE)) -- *state = 6; -+ g_atomic_int_set (state, 6); - else -- *state = 7; -+ g_atomic_int_set (state, 7); - g_cond_signal (&roca_cond_2); - g_mutex_unlock (&roca_mutex_2); - -@@ -1823,7 +1823,7 @@ test_return_on_cancel_atomic (void) - { - GTask *task; - GCancellable *cancellable; -- volatile gint state; -+ gint state; /* (atomic) */ - gboolean notification_emitted = FALSE; - gboolean callback_ran; - -@@ -1832,7 +1832,7 @@ test_return_on_cancel_atomic (void) - g_mutex_lock (&roca_mutex_2); - - /* If we don't cancel it, each set_return_on_cancel() call will succeed */ -- state = 0; -+ g_atomic_int_set (&state, 0); - callback_ran = FALSE; - task = g_task_new (NULL, cancellable, return_on_cancel_atomic_callback, &callback_ran); - g_task_set_return_on_cancel (task, TRUE); -@@ -1843,23 +1843,23 @@ test_return_on_cancel_atomic (void) - g_task_run_in_thread (task, return_on_cancel_atomic_thread); - g_object_unref (task); - -- g_assert_cmpint (state, ==, 0); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 0); - -- while (state == 0) -+ while (g_atomic_int_get (&state) == 0) - g_cond_wait (&roca_cond_1, &roca_mutex_1); -- g_assert (state == 1); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 1); - -- while (state == 1) -+ while (g_atomic_int_get (&state) == 1) - g_cond_wait (&roca_cond_2, &roca_mutex_2); -- g_assert (state == 2); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 2); - -- while (state == 2) -+ while (g_atomic_int_get (&state) == 2) - g_cond_wait (&roca_cond_1, &roca_mutex_1); -- g_assert (state == 4); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 4); - -- while (state == 4) -+ while (g_atomic_int_get (&state) == 4) - g_cond_wait (&roca_cond_2, &roca_mutex_2); -- g_assert (state == 6); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 6); - - /* callback assumes there'll be a cancelled error */ - g_cancellable_cancel (cancellable); -@@ -1876,7 +1876,7 @@ test_return_on_cancel_atomic (void) - * task won't complete right away, and further - * g_task_set_return_on_cancel() calls will return FALSE. - */ -- state = 0; -+ g_atomic_int_set (&state, 0); - callback_ran = FALSE; - notification_emitted = FALSE; - task = g_task_new (NULL, cancellable, return_on_cancel_atomic_callback, &callback_ran); -@@ -1887,16 +1887,16 @@ test_return_on_cancel_atomic (void) - g_task_set_task_data (task, (gpointer)&state, NULL); - g_task_run_in_thread (task, return_on_cancel_atomic_thread); - -- g_assert_cmpint (state, ==, 0); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 0); - -- while (state == 0) -+ while (g_atomic_int_get (&state) == 0) - g_cond_wait (&roca_cond_1, &roca_mutex_1); -- g_assert (state == 1); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 1); - g_assert (g_task_get_return_on_cancel (task)); - -- while (state == 1) -+ while (g_atomic_int_get (&state) == 1) - g_cond_wait (&roca_cond_2, &roca_mutex_2); -- g_assert (state == 2); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 2); - g_assert (!g_task_get_return_on_cancel (task)); - - g_cancellable_cancel (cancellable); -@@ -1904,18 +1904,18 @@ test_return_on_cancel_atomic (void) - g_main_loop_run (loop); - g_assert (callback_ran == FALSE); - -- while (state == 2) -+ while (g_atomic_int_get (&state) == 2) - g_cond_wait (&roca_cond_1, &roca_mutex_1); -- g_assert (state == 5); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 5); - g_assert (!g_task_get_return_on_cancel (task)); - - g_main_loop_run (loop); - g_assert (callback_ran == TRUE); - g_assert_true (notification_emitted); - -- while (state == 5) -+ while (g_atomic_int_get (&state) == 5) - g_cond_wait (&roca_cond_2, &roca_mutex_2); -- g_assert (state == 7); -+ g_assert_cmpint (g_atomic_int_get (&state), ==, 7); - - g_object_unref (cancellable); - g_mutex_unlock (&roca_mutex_1); diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch deleted file mode 100644 index 7f22b4d46..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f4607def1695efb50eb49e0586eed0f5557935f2 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:20:37 +0000 -Subject: [PATCH 06/29] tests: Drop unnecessary volatile qualifiers from tests -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These variables were already (correctly) accessed atomically. The -`volatile` qualifier doesn’t help with that. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gio/tests/g-file-info.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gio/tests/g-file-info.c b/gio/tests/g-file-info.c -index 809b0ec79..1a02b5e0e 100644 ---- a/gio/tests/g-file-info.c -+++ b/gio/tests/g-file-info.c -@@ -221,7 +221,7 @@ test_internal_enhanced_stdio (void) - guint64 size_p0, alsize_p0, size_ps, alsize_ps; - const gchar *id_p0; - const gchar *id_p1; -- volatile guint64 time_p0; -+ guint64 time_p0; - gchar *tmp_dir; - wchar_t *programdata_dir_w; - wchar_t *users_dir_w; --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch deleted file mode 100644 index 78753f821..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 33612404397f87f0cd45da90d3aa9ab60df895ee Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:24:28 +0000 -Subject: [PATCH 07/29] gdbusconnection: Drop unnecessary volatile qualifiers - from variables - -This should introduce no API changes; there are public functions -exported by `GDBusConnection` which still have some (incorrectly) -`volatile` arguments, but dropping those qualifiers would be an API -break. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gio/gdbusconnection.c | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c -index ed8cf6219..91c365e80 100644 ---- a/gio/gdbusconnection.c -+++ b/gio/gdbusconnection.c -@@ -393,7 +393,7 @@ struct _GDBusConnection - * FLAG_CLOSED is the closed property. It may be read at any time, but - * may only be written while holding @lock. - */ -- volatile gint atomic_flags; -+ gint atomic_flags; /* (atomic) */ - - /* If the connection could not be established during initable_init(), - * this GError will be set. -@@ -1596,7 +1596,7 @@ static gboolean - g_dbus_connection_send_message_unlocked (GDBusConnection *connection, - GDBusMessage *message, - GDBusSendMessageFlags flags, -- volatile guint32 *out_serial, -+ guint32 *out_serial, - GError **error) - { - guchar *blob; -@@ -1741,7 +1741,7 @@ g_dbus_connection_send_message (GDBusConnection *connection, - g_return_val_if_fail (error == NULL || *error == NULL, FALSE); - - CONNECTION_LOCK (connection); -- ret = g_dbus_connection_send_message_unlocked (connection, message, flags, out_serial, error); -+ ret = g_dbus_connection_send_message_unlocked (connection, message, flags, (guint32 *) out_serial, error); - CONNECTION_UNLOCK (connection); - return ret; - } -@@ -1901,7 +1901,7 @@ g_dbus_connection_send_message_with_reply_unlocked (GDBusConnection *connect - GDBusMessage *message, - GDBusSendMessageFlags flags, - gint timeout_msec, -- volatile guint32 *out_serial, -+ guint32 *out_serial, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -@@ -1909,7 +1909,7 @@ g_dbus_connection_send_message_with_reply_unlocked (GDBusConnection *connect - GTask *task; - SendMessageData *data; - GError *error = NULL; -- volatile guint32 serial; -+ guint32 serial; - - if (out_serial == NULL) - out_serial = &serial; -@@ -2022,7 +2022,7 @@ g_dbus_connection_send_message_with_reply (GDBusConnection *connection, - message, - flags, - timeout_msec, -- out_serial, -+ (guint32 *) out_serial, - cancellable, - callback, - user_data); -@@ -3082,7 +3082,7 @@ g_dbus_connection_get_peer_credentials (GDBusConnection *connection) - - /* ---------------------------------------------------------------------------------------------------- */ - --static volatile guint _global_filter_id = 1; -+static guint _global_filter_id = 1; /* (atomic) */ - - /** - * g_dbus_connection_add_filter: -@@ -3327,9 +3327,9 @@ args_to_rule (const gchar *sender, - return g_string_free (rule, FALSE); - } - --static volatile guint _global_subscriber_id = 1; --static volatile guint _global_registration_id = 1; --static volatile guint _global_subtree_registration_id = 1; -+static guint _global_subscriber_id = 1; /* (atomic) */ -+static guint _global_registration_id = 1; /* (atomic) */ -+static guint _global_subtree_registration_id = 1; /* (atomic) */ - - /* ---------------------------------------------------------------------------------------------------- */ - -@@ -5992,7 +5992,7 @@ g_dbus_connection_call_sync_internal (GDBusConnection *connection, - message, - send_flags, - timeout_msec, -- NULL, /* volatile guint32 *out_serial */ -+ NULL, /* guint32 *out_serial */ - cancellable, - &local_error); - --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch deleted file mode 100644 index e947a264c..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 7c7623c4a31fb0f2a7176c43acc728093818b58c Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:26:19 +0000 -Subject: [PATCH 08/29] gdbuserror: Drop unnecessary volatile qualifiers from - variables - -This should introduce no API changes. The -`g_dbus_error_register_error_domain()` function still (incorrectly) has -a `volatile` argument, but dropping that qualifier would be an API -break. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gio/gdbuserror.c | 28 +++++++++++++++++----------- - 1 file changed, 17 insertions(+), 11 deletions(-) - -diff --git a/gio/gdbuserror.c b/gio/gdbuserror.c -index 682677354..b03a33f27 100644 ---- a/gio/gdbuserror.c -+++ b/gio/gdbuserror.c -@@ -84,12 +84,12 @@ - * GQuark - * foo_bar_error_quark (void) - * { -- * static volatile gsize quark_volatile = 0; -+ * static gsize quark = 0; - * g_dbus_error_register_error_domain ("foo-bar-error-quark", -- * &quark_volatile, -+ * &quark, - * foo_bar_error_entries, - * G_N_ELEMENTS (foo_bar_error_entries)); -- * return (GQuark) quark_volatile; -+ * return (GQuark) quark; - * } - * ]| - * With this setup, a D-Bus peer can transparently pass e.g. %FOO_BAR_ERROR_ANOTHER_ERROR and -@@ -160,12 +160,12 @@ GQuark - g_dbus_error_quark (void) - { - G_STATIC_ASSERT (G_N_ELEMENTS (g_dbus_error_entries) - 1 == G_DBUS_ERROR_PROPERTY_READ_ONLY); -- static volatile gsize quark_volatile = 0; -+ static gsize quark = 0; - g_dbus_error_register_error_domain ("g-dbus-error-quark", -- &quark_volatile, -+ &quark, - g_dbus_error_entries, - G_N_ELEMENTS (g_dbus_error_entries)); -- return (GQuark) quark_volatile; -+ return (GQuark) quark; - } - - /** -@@ -185,25 +185,31 @@ g_dbus_error_register_error_domain (const gchar *error_domain_quark_na - const GDBusErrorEntry *entries, - guint num_entries) - { -+ gsize *quark; -+ - g_return_if_fail (error_domain_quark_name != NULL); - g_return_if_fail (quark_volatile != NULL); - g_return_if_fail (entries != NULL); - g_return_if_fail (num_entries > 0); - -- if (g_once_init_enter (quark_volatile)) -+ /* Drop the volatile qualifier, which should never have been on the argument -+ * in the first place. */ -+ quark = (gsize *) quark_volatile; -+ -+ if (g_once_init_enter (quark)) - { - guint n; -- GQuark quark; -+ GQuark new_quark; - -- quark = g_quark_from_static_string (error_domain_quark_name); -+ new_quark = g_quark_from_static_string (error_domain_quark_name); - - for (n = 0; n < num_entries; n++) - { -- g_warn_if_fail (g_dbus_error_register_error (quark, -+ g_warn_if_fail (g_dbus_error_register_error (new_quark, - entries[n].error_code, - entries[n].dbus_error_name)); - } -- g_once_init_leave (quark_volatile, quark); -+ g_once_init_leave (quark, new_quark); - } - } - --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch deleted file mode 100644 index 7897d43bb..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch +++ /dev/null @@ -1,207 +0,0 @@ -From 74250cd9c9dfd3ad428e445c095ceac88ba18691 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:28:23 +0000 -Subject: [PATCH 09/29] gio: Drop unnecessary volatile qualifiers from internal - variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These variables were already (correctly) accessed atomically. The -`volatile` qualifier doesn’t help with that. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gio/gdbusinterfaceskeleton.c | 2 +- - gio/gdbusintrospection.h | 14 +++++++------- - gio/gdbusnameowning.c | 4 ++-- - gio/gdbusnamewatching.c | 4 ++-- - gio/gdbusprivate.c | 10 +++++----- - gio/gnetworking.c | 2 +- - 6 files changed, 18 insertions(+), 18 deletions(-) - -diff --git a/gio/gdbusinterfaceskeleton.c b/gio/gdbusinterfaceskeleton.c -index 243b4a0a4..76398df36 100644 ---- a/gio/gdbusinterfaceskeleton.c -+++ b/gio/gdbusinterfaceskeleton.c -@@ -458,7 +458,7 @@ dbus_interface_interface_init (GDBusInterfaceIface *iface) - - typedef struct - { -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - GDBusInterfaceSkeleton *interface; - GDBusInterfaceMethodCallFunc method_call_func; - GDBusMethodInvocation *invocation; -diff --git a/gio/gdbusintrospection.h b/gio/gdbusintrospection.h -index 14b171055..f2e291787 100644 ---- a/gio/gdbusintrospection.h -+++ b/gio/gdbusintrospection.h -@@ -43,7 +43,7 @@ G_BEGIN_DECLS - struct _GDBusAnnotationInfo - { - /*< public >*/ -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - gchar *key; - gchar *value; - GDBusAnnotationInfo **annotations; -@@ -63,7 +63,7 @@ struct _GDBusAnnotationInfo - struct _GDBusArgInfo - { - /*< public >*/ -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - gchar *name; - gchar *signature; - GDBusAnnotationInfo **annotations; -@@ -84,7 +84,7 @@ struct _GDBusArgInfo - struct _GDBusMethodInfo - { - /*< public >*/ -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - gchar *name; - GDBusArgInfo **in_args; - GDBusArgInfo **out_args; -@@ -105,7 +105,7 @@ struct _GDBusMethodInfo - struct _GDBusSignalInfo - { - /*< public >*/ -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - gchar *name; - GDBusArgInfo **args; - GDBusAnnotationInfo **annotations; -@@ -126,7 +126,7 @@ struct _GDBusSignalInfo - struct _GDBusPropertyInfo - { - /*< public >*/ -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - gchar *name; - gchar *signature; - GDBusPropertyInfoFlags flags; -@@ -149,7 +149,7 @@ struct _GDBusPropertyInfo - struct _GDBusInterfaceInfo - { - /*< public >*/ -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - gchar *name; - GDBusMethodInfo **methods; - GDBusSignalInfo **signals; -@@ -172,7 +172,7 @@ struct _GDBusInterfaceInfo - struct _GDBusNodeInfo - { - /*< public >*/ -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - gchar *path; - GDBusInterfaceInfo **interfaces; - GDBusNodeInfo **nodes; -diff --git a/gio/gdbusnameowning.c b/gio/gdbusnameowning.c -index d20e6ffed..1130d6789 100644 ---- a/gio/gdbusnameowning.c -+++ b/gio/gdbusnameowning.c -@@ -55,7 +55,7 @@ typedef enum - - typedef struct - { -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - guint id; - GBusNameOwnerFlags flags; - gchar *name; -@@ -73,7 +73,7 @@ typedef struct - guint name_acquired_subscription_id; - guint name_lost_subscription_id; - -- volatile gboolean cancelled; /* must hold lock when reading or modifying */ -+ gboolean cancelled; /* must hold lock when reading or modifying */ - - gboolean needs_release; - } Client; -diff --git a/gio/gdbusnamewatching.c b/gio/gdbusnamewatching.c -index bc2a9119e..8d24700c5 100644 ---- a/gio/gdbusnamewatching.c -+++ b/gio/gdbusnamewatching.c -@@ -56,7 +56,7 @@ typedef enum - - typedef struct - { -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - guint id; - gchar *name; - GBusNameWatcherFlags flags; -@@ -78,7 +78,7 @@ typedef struct - } Client; - - /* Must be accessed atomically. */ --static volatile guint next_global_id = 1; -+static guint next_global_id = 1; /* (atomic) */ - - /* Must be accessed with @lock held. */ - static GHashTable *map_id_to_client = NULL; -diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c -index 2551e4791..99b37f3eb 100644 ---- a/gio/gdbusprivate.c -+++ b/gio/gdbusprivate.c -@@ -265,7 +265,7 @@ ensure_required_types (void) - - typedef struct - { -- volatile gint refcount; -+ gint refcount; /* (atomic) */ - GThread *thread; - GMainContext *context; - GMainLoop *loop; -@@ -341,12 +341,12 @@ typedef enum { - - struct GDBusWorker - { -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - - SharedThreadData *shared_thread_data; - - /* really a boolean, but GLib 2.28 lacks atomic boolean ops */ -- volatile gint stopped; -+ gint stopped; /* (atomic) */ - - /* TODO: frozen (e.g. G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING) currently - * only affects messages received from the other peer (since GDBusServer is the -@@ -1941,11 +1941,11 @@ _g_dbus_debug_print_unlock (void) - void - _g_dbus_initialize (void) - { -- static volatile gsize initialized = 0; -+ static gsize initialized = 0; - - if (g_once_init_enter (&initialized)) - { -- volatile GQuark g_dbus_error_domain; -+ GQuark g_dbus_error_domain; - const gchar *debug; - - g_dbus_error_domain = G_DBUS_ERROR; -diff --git a/gio/gnetworking.c b/gio/gnetworking.c -index 05507fe70..7bc6d73c4 100644 ---- a/gio/gnetworking.c -+++ b/gio/gnetworking.c -@@ -61,7 +61,7 @@ void - g_networking_init (void) - { - #ifdef G_OS_WIN32 -- static volatile gsize inited = 0; -+ static gsize inited = 0; - - if (g_once_init_enter (&inited)) - { --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-kqueue-Fix-unlocked-access-to-shared-variable.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-kqueue-Fix-unlocked-access-to-shared-variable.patch deleted file mode 100644 index e52b70942..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0010-kqueue-Fix-unlocked-access-to-shared-variable.patch +++ /dev/null @@ -1,51 +0,0 @@ -From e4e88688a0722237effc56cc21438d0c8e82de88 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:29:26 +0000 -Subject: [PATCH 10/29] kqueue: Fix unlocked access to shared variable -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -And drop the `volatile` qualifier because it doesn’t help. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gio/kqueue/kqueue-missing.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/gio/kqueue/kqueue-missing.c b/gio/kqueue/kqueue-missing.c -index 37af82e5b..d1ffdf4bd 100644 ---- a/gio/kqueue/kqueue-missing.c -+++ b/gio/kqueue/kqueue-missing.c -@@ -34,7 +34,7 @@ static gboolean km_debug_enabled = FALSE; - static GSList *missing_subs_list = NULL; - G_LOCK_DEFINE_STATIC (missing_lock); - --static volatile gboolean scan_missing_running = FALSE; -+static gboolean scan_missing_running = FALSE; /* must be accessed under @missing_lock */ - - - static gboolean -@@ -62,7 +62,6 @@ _km_add_missing (kqueue_sub *sub) - - KM_W ("adding %s to missing list\n", sub->filename); - missing_subs_list = g_slist_prepend (missing_subs_list, sub); -- G_UNLOCK (missing_lock); - - if (!scan_missing_running) - { -@@ -73,6 +72,8 @@ _km_add_missing (kqueue_sub *sub) - g_source_attach (source, GLIB_PRIVATE_CALL (g_get_worker_context) ()); - g_source_unref (source); - } -+ -+ G_UNLOCK (missing_lock); - } - - /** --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch deleted file mode 100644 index ea3fd9f6e..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 7cdb68713c1863a27ad82d801756ec74097e8e87 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:30:36 +0000 -Subject: [PATCH 11/29] tests: Drop unnecessary volatile qualifiers from tests -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These variables were already (correctly) accessed atomically. The -`volatile` qualifier doesn’t help with that. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - tests/gobject/performance-threaded.c | 2 +- - tests/gobject/performance.c | 4 ++-- - tests/onceinit.c | 16 ++++++++-------- - 3 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/tests/gobject/performance-threaded.c b/tests/gobject/performance-threaded.c -index 30ea5bd80..c98541d66 100644 ---- a/tests/gobject/performance-threaded.c -+++ b/tests/gobject/performance-threaded.c -@@ -52,7 +52,7 @@ static GType liststore_interfaces[6]; - static gpointer - register_types (void) - { -- static volatile gsize inited = 0; -+ static gsize inited = 0; - if (g_once_init_enter (&inited)) - { - liststore_interfaces[0] = simple_register_class ("GtkBuildable", G_TYPE_INTERFACE, 0); -diff --git a/tests/gobject/performance.c b/tests/gobject/performance.c -index 236ffaed0..163be58b4 100644 ---- a/tests/gobject/performance.c -+++ b/tests/gobject/performance.c -@@ -575,8 +575,8 @@ test_type_check_run (PerformanceTest *test, - gpointer _data) - { - struct TypeCheckTest *data = _data; -- volatile GObject *object = data->object; -- volatile GType type, types[5]; -+ GObject *object = data->object; -+ GType type, types[5]; - int i, j; - - types[0] = test_iface1_get_type (); -diff --git a/tests/onceinit.c b/tests/onceinit.c -index 89ba6a136..9788efcbd 100644 ---- a/tests/onceinit.c -+++ b/tests/onceinit.c -@@ -25,13 +25,13 @@ - - static GMutex tmutex; - static GCond tcond; --static volatile int thread_call_count = 0; -+static int thread_call_count = 0; /* (atomic) */ - static char dummy_value = 'x'; - - static void - assert_singleton_execution1 (void) - { -- static volatile int seen_execution = 0; -+ static int seen_execution = 0; /* (atomic) */ - int old_seen_execution = g_atomic_int_add (&seen_execution, 1); - if (old_seen_execution != 0) - g_error ("%s: function executed more than once", G_STRFUNC); -@@ -40,7 +40,7 @@ assert_singleton_execution1 (void) - static void - assert_singleton_execution2 (void) - { -- static volatile int seen_execution = 0; -+ static int seen_execution = 0; /* (atomic) */ - int old_seen_execution = g_atomic_int_add (&seen_execution, 1); - if (old_seen_execution != 0) - g_error ("%s: function executed more than once", G_STRFUNC); -@@ -49,7 +49,7 @@ assert_singleton_execution2 (void) - static void - assert_singleton_execution3 (void) - { -- static volatile int seen_execution = 0; -+ static int seen_execution = 0; /* (atomic) */ - int old_seen_execution = g_atomic_int_add (&seen_execution, 1); - if (old_seen_execution != 0) - g_error ("%s: function executed more than once", G_STRFUNC); -@@ -58,7 +58,7 @@ assert_singleton_execution3 (void) - static void - initializer1 (void) - { -- static volatile gsize initialized = 0; -+ static gsize initialized = 0; - if (g_once_init_enter (&initialized)) - { - gsize initval = 42; -@@ -70,7 +70,7 @@ initializer1 (void) - static gpointer - initializer2 (void) - { -- static volatile gsize initialized = 0; -+ static gsize initialized = 0; - if (g_once_init_enter (&initialized)) - { - void *pointer_value = &dummy_value; -@@ -83,7 +83,7 @@ initializer2 (void) - static void - initializer3 (void) - { -- static volatile gsize initialized = 0; -+ static gsize initialized = 0; - if (g_once_init_enter (&initialized)) - { - gsize initval = 42; -@@ -163,7 +163,7 @@ main (int argc, - static void \ - test_initializer_##N (void) \ - { \ -- static volatile gsize initialized = 0; \ -+ static gsize initialized = 0; \ - if (g_once_init_enter (&initialized)) \ - { \ - g_free (g_strdup_printf ("cpuhog%5d", 1)); \ --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch deleted file mode 100644 index be7fcba8c..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 1a7f0002a052725fb646e136fadd5dad66222d7f Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:31:01 +0000 -Subject: [PATCH 12/29] tests: Fix non-atomic access to some shared variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -And drop the `volatile` qualifier from the variables, as that doesn’t -help with thread safety. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - tests/refcount/objects.c | 8 ++++---- - tests/refcount/properties3.c | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/tests/refcount/objects.c b/tests/refcount/objects.c -index 963766d00..0c471a42b 100644 ---- a/tests/refcount/objects.c -+++ b/tests/refcount/objects.c -@@ -26,7 +26,7 @@ struct _GTestClass - }; - - static GType my_test_get_type (void); --static volatile gboolean stopping; -+static gint stopping; /* (atomic) */ - - static void my_test_class_init (GTestClass * klass); - static void my_test_init (GTest * test); -@@ -101,7 +101,7 @@ run_thread (GTest * test) - { - gint i = 1; - -- while (!stopping) { -+ while (!g_atomic_int_get (&stopping)) { - my_test_do_refcount (test); - if ((i++ % 10000) == 0) { - g_print ("."); -@@ -128,7 +128,7 @@ main (int argc, char **argv) - - test_threads = g_array_new (FALSE, FALSE, sizeof (GThread *)); - -- stopping = FALSE; -+ g_atomic_int_set (&stopping, 0); - - for (i = 0; i < n_threads; i++) { - GThread *thread; -@@ -141,7 +141,7 @@ main (int argc, char **argv) - } - g_usleep (5000000); - -- stopping = TRUE; -+ g_atomic_int_set (&stopping, 1); - - g_print ("\nstopping\n"); - -diff --git a/tests/refcount/properties3.c b/tests/refcount/properties3.c -index bc8820661..31f26a46e 100644 ---- a/tests/refcount/properties3.c -+++ b/tests/refcount/properties3.c -@@ -34,7 +34,7 @@ struct _GTestClass - static GType my_test_get_type (void); - G_DEFINE_TYPE (GTest, my_test, G_TYPE_OBJECT) - --static volatile gboolean stopping; -+static gint stopping; /* (atomic) */ - - static void my_test_get_property (GObject *object, - guint prop_id, -@@ -140,7 +140,7 @@ run_thread (GTest * test) - { - gint i = 1; - -- while (!stopping) { -+ while (!g_atomic_int_get (&stopping)) { - my_test_do_property (test); - if ((i++ % 10000) == 0) - { -@@ -170,7 +170,7 @@ main (int argc, char **argv) - - test_threads = g_array_new (FALSE, FALSE, sizeof (GThread *)); - -- stopping = FALSE; -+ g_atomic_int_set (&stopping, 0); - - for (i = 0; i < n_threads; i++) { - GThread *thread; -@@ -180,7 +180,7 @@ main (int argc, char **argv) - } - g_usleep (30000000); - -- stopping = TRUE; -+ g_atomic_int_set (&stopping, 1); - g_print ("\nstopping\n"); - - /* join all threads */ --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch deleted file mode 100644 index efc6817bd..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch +++ /dev/null @@ -1,180 +0,0 @@ -From 3c648457c284b4ba313b8591008d2e18ae4335eb Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:36:37 +0000 -Subject: [PATCH 13/29] gatomic: Drop unnecessary volatile qualifiers from - internal variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It’s not necessary and provides no thread safety guarantees. - -The `volatile` qualifiers on the function arguments have to be kept, as -they are (unfortunately) part of the API. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/gatomic.c | 34 +++++++++++++++++----------------- - 1 file changed, 17 insertions(+), 17 deletions(-) - -diff --git a/glib/gatomic.c b/glib/gatomic.c -index 8b8c6453d..67f5ba6b4 100644 ---- a/glib/gatomic.c -+++ b/glib/gatomic.c -@@ -316,7 +316,7 @@ guint - gpointer - (g_atomic_pointer_get) (const volatile void *atomic) - { -- return g_atomic_pointer_get ((const volatile gpointer *) atomic); -+ return g_atomic_pointer_get ((gpointer *) atomic); - } - - /** -@@ -335,7 +335,7 @@ void - (g_atomic_pointer_set) (volatile void *atomic, - gpointer newval) - { -- g_atomic_pointer_set ((volatile gpointer *) atomic, newval); -+ g_atomic_pointer_set ((gpointer *) atomic, newval); - } - - /** -@@ -363,7 +363,7 @@ gboolean - gpointer oldval, - gpointer newval) - { -- return g_atomic_pointer_compare_and_exchange ((volatile gpointer *) atomic, -+ return g_atomic_pointer_compare_and_exchange ((gpointer *) atomic, - oldval, newval); - } - -@@ -387,7 +387,7 @@ gssize - (g_atomic_pointer_add) (volatile void *atomic, - gssize val) - { -- return g_atomic_pointer_add ((volatile gpointer *) atomic, val); -+ return g_atomic_pointer_add ((gpointer *) atomic, val); - } - - /** -@@ -411,7 +411,7 @@ gsize - (g_atomic_pointer_and) (volatile void *atomic, - gsize val) - { -- return g_atomic_pointer_and ((volatile gpointer *) atomic, val); -+ return g_atomic_pointer_and ((gpointer *) atomic, val); - } - - /** -@@ -435,7 +435,7 @@ gsize - (g_atomic_pointer_or) (volatile void *atomic, - gsize val) - { -- return g_atomic_pointer_or ((volatile gpointer *) atomic, val); -+ return g_atomic_pointer_or ((gpointer *) atomic, val); - } - - /** -@@ -459,7 +459,7 @@ gsize - (g_atomic_pointer_xor) (volatile void *atomic, - gsize val) - { -- return g_atomic_pointer_xor ((volatile gpointer *) atomic, val); -+ return g_atomic_pointer_xor ((gpointer *) atomic, val); - } - - #elif defined (G_PLATFORM_WIN32) -@@ -591,7 +591,7 @@ guint - gpointer - (g_atomic_pointer_get) (const volatile void *atomic) - { -- const volatile gpointer *ptr = atomic; -+ const gpointer *ptr = atomic; - - MemoryBarrier (); - return *ptr; -@@ -601,7 +601,7 @@ void - (g_atomic_pointer_set) (volatile void *atomic, - gpointer newval) - { -- volatile gpointer *ptr = atomic; -+ gpointer *ptr = atomic; - - *ptr = newval; - MemoryBarrier (); -@@ -797,7 +797,7 @@ guint - gpointer - (g_atomic_pointer_get) (const volatile void *atomic) - { -- const volatile gpointer *ptr = atomic; -+ const gpointer *ptr = atomic; - gpointer value; - - pthread_mutex_lock (&g_atomic_lock); -@@ -811,7 +811,7 @@ void - (g_atomic_pointer_set) (volatile void *atomic, - gpointer newval) - { -- volatile gpointer *ptr = atomic; -+ gpointer *ptr = atomic; - - pthread_mutex_lock (&g_atomic_lock); - *ptr = newval; -@@ -823,7 +823,7 @@ gboolean - gpointer oldval, - gpointer newval) - { -- volatile gpointer *ptr = atomic; -+ gpointer *ptr = atomic; - gboolean success; - - pthread_mutex_lock (&g_atomic_lock); -@@ -840,7 +840,7 @@ gssize - (g_atomic_pointer_add) (volatile void *atomic, - gssize val) - { -- volatile gssize *ptr = atomic; -+ gssize *ptr = atomic; - gssize oldval; - - pthread_mutex_lock (&g_atomic_lock); -@@ -855,7 +855,7 @@ gsize - (g_atomic_pointer_and) (volatile void *atomic, - gsize val) - { -- volatile gsize *ptr = atomic; -+ gsize *ptr = atomic; - gsize oldval; - - pthread_mutex_lock (&g_atomic_lock); -@@ -870,7 +870,7 @@ gsize - (g_atomic_pointer_or) (volatile void *atomic, - gsize val) - { -- volatile gsize *ptr = atomic; -+ gsize *ptr = atomic; - gsize oldval; - - pthread_mutex_lock (&g_atomic_lock); -@@ -885,7 +885,7 @@ gsize - (g_atomic_pointer_xor) (volatile void *atomic, - gsize val) - { -- volatile gsize *ptr = atomic; -+ gsize *ptr = atomic; - gsize oldval; - - pthread_mutex_lock (&g_atomic_lock); -@@ -915,5 +915,5 @@ gint - g_atomic_int_exchange_and_add (volatile gint *atomic, - gint val) - { -- return (g_atomic_int_add) (atomic, val); -+ return (g_atomic_int_add) ((gint *) atomic, val); - } --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch deleted file mode 100644 index bcc06e05c..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 9474655eb21d64519b293e780bb686976cbdb790 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:38:36 +0000 -Subject: [PATCH 14/29] gatomic: Drop unnecessary volatile qualifiers from - macro variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It’s not necessary and provides no thread safety guarantees. - -The `volatile` qualifiers on the function arguments have to be kept, as -they are (unfortunately) part of the API. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/gatomic.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/glib/gatomic.h b/glib/gatomic.h -index bb1435c70..e6eccfada 100644 ---- a/glib/gatomic.h -+++ b/glib/gatomic.h -@@ -211,7 +211,7 @@ G_END_DECLS - })) - #define g_atomic_pointer_and(atomic, val) \ - (G_GNUC_EXTENSION ({ \ -- volatile gsize *gapa_atomic = (volatile gsize *) (atomic); \ -+ gsize *gapa_atomic = (gsize *) (atomic); \ - G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ - G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize)); \ - (void) (0 ? (gpointer) *(atomic) : NULL); \ -@@ -220,7 +220,7 @@ G_END_DECLS - })) - #define g_atomic_pointer_or(atomic, val) \ - (G_GNUC_EXTENSION ({ \ -- volatile gsize *gapo_atomic = (volatile gsize *) (atomic); \ -+ gsize *gapo_atomic = (gsize *) (atomic); \ - G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ - G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize)); \ - (void) (0 ? (gpointer) *(atomic) : NULL); \ -@@ -229,7 +229,7 @@ G_END_DECLS - })) - #define g_atomic_pointer_xor(atomic, val) \ - (G_GNUC_EXTENSION ({ \ -- volatile gsize *gapx_atomic = (volatile gsize *) (atomic); \ -+ gsize *gapx_atomic = (gsize *) (atomic); \ - G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gpointer)); \ - G_STATIC_ASSERT (sizeof *(atomic) == sizeof (gsize)); \ - (void) (0 ? (gpointer) *(atomic) : NULL); \ --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch deleted file mode 100644 index 9468548e3..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 1314ff93fc4d3379483c33da6a7deff27f71ed95 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:40:56 +0000 -Subject: [PATCH 15/29] glib: Drop unnecessary volatile qualifiers from - internal variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These variables were already (correctly) accessed atomically. The -`volatile` qualifier doesn’t help with that. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/gdatetime.c | 2 +- - glib/gkeyfile.c | 2 +- - glib/gmain.c | 8 ++++---- - glib/gmarkup.c | 2 +- - glib/gregex.c | 6 +++--- - glib/gthread.c | 6 +++--- - 6 files changed, 13 insertions(+), 13 deletions(-) - -diff --git a/glib/gdatetime.c b/glib/gdatetime.c -index 1755257be..453077f6d 100644 ---- a/glib/gdatetime.c -+++ b/glib/gdatetime.c -@@ -126,7 +126,7 @@ struct _GDateTime - /* 1 is 0001-01-01 in Proleptic Gregorian */ - gint32 days; - -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - }; - - /* Time conversion {{{1 */ -diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c -index 9d0215331..bbe638b74 100644 ---- a/glib/gkeyfile.c -+++ b/glib/gkeyfile.c -@@ -512,7 +512,7 @@ struct _GKeyFile - - gchar **locales; - -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - }; - - typedef struct _GKeyFileKeyValuePair GKeyFileKeyValuePair; -diff --git a/glib/gmain.c b/glib/gmain.c -index 772b8ecfc..9c5f0ef1e 100644 ---- a/glib/gmain.c -+++ b/glib/gmain.c -@@ -272,7 +272,7 @@ struct _GMainContext - guint owner_count; - GSList *waiters; - -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - - GHashTable *sources; /* guint -> GSource */ - -@@ -303,7 +303,7 @@ struct _GMainContext - - struct _GSourceCallback - { -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - GSourceFunc func; - gpointer data; - GDestroyNotify notify; -@@ -313,7 +313,7 @@ struct _GMainLoop - { - GMainContext *context; - gboolean is_running; /* (atomic) */ -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - }; - - struct _GTimeoutSource -@@ -4749,7 +4749,7 @@ g_main_context_get_poll_func (GMainContext *context) - * - * |[ - * #define NUM_TASKS 10 -- * static volatile gint tasks_remaining = NUM_TASKS; -+ * static gint tasks_remaining = NUM_TASKS; // (atomic) - * ... - * - * while (g_atomic_int_get (&tasks_remaining) != 0) -diff --git a/glib/gmarkup.c b/glib/gmarkup.c -index ba4dfd2e4..b8327fb6d 100644 ---- a/glib/gmarkup.c -+++ b/glib/gmarkup.c -@@ -119,7 +119,7 @@ struct _GMarkupParseContext - { - const GMarkupParser *parser; - -- volatile gint ref_count; -+ gint ref_count; /* (atomic) */ - - GMarkupParseFlags flags; - -diff --git a/glib/gregex.c b/glib/gregex.c -index 52416bbb9..5e6ddfb46 100644 ---- a/glib/gregex.c -+++ b/glib/gregex.c -@@ -203,7 +203,7 @@ G_STATIC_ASSERT (G_REGEX_RAW == PCRE_UTF8); - - struct _GMatchInfo - { -- volatile gint ref_count; /* the ref count */ -+ gint ref_count; /* the ref count (atomic) */ - GRegex *regex; /* the regex */ - GRegexMatchFlags match_opts; /* options used at match time on the regex */ - gint matches; /* number of matching sub patterns */ -@@ -218,7 +218,7 @@ struct _GMatchInfo - - struct _GRegex - { -- volatile gint ref_count; /* the ref count for the immutable part */ -+ gint ref_count; /* the ref count for the immutable part (atomic) */ - gchar *pattern; /* the pattern */ - pcre *pcre_re; /* compiled form of the pattern */ - GRegexCompileFlags compile_opts; /* options used at compile time on the pattern */ -@@ -1300,7 +1300,7 @@ g_regex_new (const gchar *pattern, - pcre *re; - const gchar *errmsg; - gboolean optimize = FALSE; -- static volatile gsize initialised = 0; -+ static gsize initialised = 0; - - g_return_val_if_fail (pattern != NULL, NULL); - g_return_val_if_fail (error == NULL || *error == NULL, NULL); -diff --git a/glib/gthread.c b/glib/gthread.c -index 53f3a0848..612a9739f 100644 ---- a/glib/gthread.c -+++ b/glib/gthread.c -@@ -513,7 +513,7 @@ static GMutex g_once_mutex; - static GCond g_once_cond; - static GSList *g_once_init_list = NULL; - --static volatile guint g_thread_n_created_counter = 0; -+static guint g_thread_n_created_counter = 0; /* (atomic) */ - - static void g_thread_cleanup (gpointer data); - static GPrivate g_thread_specific_private = G_PRIVATE_INIT (g_thread_cleanup); -@@ -694,7 +694,7 @@ g_once_impl (GOnce *once, - gboolean - (g_once_init_enter) (volatile void *location) - { -- volatile gsize *value_location = location; -+ gsize *value_location = (gsize *) location; - gboolean need_init = FALSE; - g_mutex_lock (&g_once_mutex); - if (g_atomic_pointer_get (value_location) == 0) -@@ -731,7 +731,7 @@ void - (g_once_init_leave) (volatile void *location, - gsize result) - { -- volatile gsize *value_location = location; -+ gsize *value_location = (gsize *) location; - - g_return_if_fail (g_atomic_pointer_get (value_location) == 0); - g_return_if_fail (result != 0); --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch deleted file mode 100644 index 8111b3b51..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 08d04d0428cc26935a2d42083f1710432465c98a Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 18:42:43 +0000 -Subject: [PATCH 16/29] gobject: Drop unnecessary volatile qualifiers from - internal variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These variables were already (correctly) accessed atomically. The -`volatile` qualifier doesn’t help with that. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gobject/gclosure.c | 2 +- - gobject/gclosure.h | 20 ++++++++++---------- - gobject/gobject.c | 4 ++-- - gobject/gtype.c | 10 +++++----- - 4 files changed, 18 insertions(+), 18 deletions(-) - -diff --git a/gobject/gclosure.c b/gobject/gclosure.c -index 1d1f2f48a..6d41e6d8a 100644 ---- a/gobject/gclosure.c -+++ b/gobject/gclosure.c -@@ -98,7 +98,7 @@ - - typedef union { - GClosure closure; -- volatile gint vint; -+ gint vint; - } ClosureInt; - - #define CHANGE_FIELD(_closure, _field, _OP, _value, _must_set, _SET_OLD, _SET_NEW) \ -diff --git a/gobject/gclosure.h b/gobject/gclosure.h -index a0f91f538..884e403a8 100644 ---- a/gobject/gclosure.h -+++ b/gobject/gclosure.h -@@ -175,20 +175,20 @@ struct _GClosureNotifyData - struct _GClosure - { - /*< private >*/ -- volatile guint ref_count : 15; -+ guint ref_count : 15; /* (atomic) */ - /* meta_marshal is not used anymore but must be zero for historical reasons - as it was exposed in the G_CLOSURE_N_NOTIFIERS macro */ -- volatile guint meta_marshal_nouse : 1; -- volatile guint n_guards : 1; -- volatile guint n_fnotifiers : 2; /* finalization notifiers */ -- volatile guint n_inotifiers : 8; /* invalidation notifiers */ -- volatile guint in_inotify : 1; -- volatile guint floating : 1; -+ guint meta_marshal_nouse : 1; /* (atomic) */ -+ guint n_guards : 1; /* (atomic) */ -+ guint n_fnotifiers : 2; /* finalization notifiers (atomic) */ -+ guint n_inotifiers : 8; /* invalidation notifiers (atomic) */ -+ guint in_inotify : 1; /* (atomic) */ -+ guint floating : 1; /* (atomic) */ - /*< protected >*/ -- volatile guint derivative_flag : 1; -+ guint derivative_flag : 1; /* (atomic) */ - /*< public >*/ -- volatile guint in_marshal : 1; -- volatile guint is_invalid : 1; -+ guint in_marshal : 1; /* (atomic) */ -+ guint is_invalid : 1; /* (atomic) */ - - /*< private >*/ void (*marshal) (GClosure *closure, - GValue /*out*/ *return_value, -diff --git a/gobject/gobject.c b/gobject/gobject.c -index 6e9c44a1e..a3a32be9f 100644 ---- a/gobject/gobject.c -+++ b/gobject/gobject.c -@@ -174,9 +174,9 @@ typedef struct - GTypeInstance g_type_instance; - - /*< private >*/ -- volatile guint ref_count; -+ guint ref_count; /* (atomic) */ - #ifdef HAVE_OPTIONAL_FLAGS -- volatile guint optional_flags; -+ guint optional_flags; /* (atomic) */ - #endif - GData *qdata; - } GObjectReal; -diff --git a/gobject/gtype.c b/gobject/gtype.c -index 51dad7690..be5989a3e 100644 ---- a/gobject/gtype.c -+++ b/gobject/gtype.c -@@ -221,9 +221,9 @@ typedef enum - /* --- structures --- */ - struct _TypeNode - { -- guint volatile ref_count; -+ guint ref_count; /* (atomic) */ - #ifdef G_ENABLE_DEBUG -- guint volatile instance_count; -+ guint instance_count; /* (atomic) */ - #endif - GTypePlugin *plugin; - guint n_children; /* writable with lock */ -@@ -233,7 +233,7 @@ struct _TypeNode - guint is_instantiatable : 1; - guint mutatable_check_cache : 1; /* combines some common path checks */ - GType *children; /* writable with lock */ -- TypeData * volatile data; -+ TypeData *data; - GQuark qname; - GData *global_gdata; - union { -@@ -569,8 +569,8 @@ type_node_new_W (TypeNode *pnode, - } - - static inline IFaceEntry* --lookup_iface_entry_I (volatile IFaceEntries *entries, -- TypeNode *iface_node) -+lookup_iface_entry_I (IFaceEntries *entries, -+ TypeNode *iface_node) - { - guint8 *offsets; - guint offset_index; --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch deleted file mode 100644 index 02816a887..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From eee7e3c6688f2f1ee9beed5d6d209973c1df387e Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 19:14:25 +0000 -Subject: [PATCH 17/29] gmessages: Drop unnecessary volatile qualifiers from - macro variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It’s not necessary and provides no thread safety guarantees. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/gmessages.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/glib/gmessages.h b/glib/gmessages.h -index 6a28443b4..2e3650baf 100644 ---- a/glib/gmessages.h -+++ b/glib/gmessages.h -@@ -478,7 +478,7 @@ g_debug (const gchar *format, - #if defined(G_HAVE_ISO_VARARGS) && !G_ANALYZER_ANALYZING - #define g_warning_once(...) \ - G_STMT_START { \ -- static volatile int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; \ -+ static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; /* (atomic) */ \ - if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \ - 0, 1)) \ - g_warning (__VA_ARGS__); \ -@@ -487,7 +487,7 @@ g_debug (const gchar *format, - #elif defined(G_HAVE_GNUC_VARARGS) && !G_ANALYZER_ANALYZING - #define g_warning_once(format...) \ - G_STMT_START { \ -- static volatile int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; \ -+ static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; /* (atomic) */ \ - if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \ - 0, 1)) \ - g_warning (format); \ --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch deleted file mode 100644 index 50cb3c470..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8a87069ff42a0631dce153701cb2ec5e343a958c Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 19:16:30 +0000 -Subject: [PATCH 18/29] gtypes: Drop volatile qualifier from gatomicrefcount - -This is technically an API break, but since the type is meant to be -opaque (third party code is not meant to treat it like an integer) it -should not cause problems. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/gtypes.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/glib/gtypes.h b/glib/gtypes.h -index 23c5a1295..2c4825582 100644 ---- a/glib/gtypes.h -+++ b/glib/gtypes.h -@@ -550,8 +550,8 @@ struct _GTimeVal - glong tv_usec; - } GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime); - --typedef gint grefcount; --typedef volatile gint gatomicrefcount; -+typedef gint grefcount; -+typedef gint gatomicrefcount; /* should be accessed only using atomics */ - - G_END_DECLS - --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch deleted file mode 100644 index be3211664..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 46bae4f18dfec8fedda82648091752d270b2dff8 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 19:19:20 +0000 -Subject: [PATCH 19/29] gatomicarray: Drop volatile qualifier from GAtomicArray - API - -This is an API break, but it should not affect third party code since -that code should not be interacting with the `data` member in a way that -invokes its `volatile` qualifier (such as copying to an intermediate -variable). - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gobject/gatomicarray.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gobject/gatomicarray.h b/gobject/gatomicarray.h -index 9550fa396..89043c5e4 100644 ---- a/gobject/gatomicarray.h -+++ b/gobject/gatomicarray.h -@@ -29,7 +29,7 @@ G_BEGIN_DECLS - - typedef struct _GAtomicArray GAtomicArray; - struct _GAtomicArray { -- volatile gpointer data; /* elements - atomic */ -+ gpointer data; /* elements - atomic */ - }; - - void _g_atomic_array_init (GAtomicArray *array); -@@ -42,7 +42,7 @@ void _g_atomic_array_update (GAtomicArray *array, - #define G_ATOMIC_ARRAY_GET_LOCKED(_array, _type) ((_type *)((_array)->data)) - - #define G_ATOMIC_ARRAY_DO_TRANSACTION(_array, _type, _C_) G_STMT_START { \ -- volatile gpointer *_datap = &(_array)->data; \ -+ gpointer *_datap = &(_array)->data; \ - _type *transaction_data, *__check; \ - \ - __check = g_atomic_pointer_get (_datap); \ --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch deleted file mode 100644 index ae024a9af..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 334f6953364680ddc6c0d3da13fda1d92bf5379d Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 19:21:07 +0000 -Subject: [PATCH 20/29] gobject: Drop volatile qualifier from GObject.ref_count - -This is an API break, but no third party code should be touching -`GObject.ref_count`, let alone in a way which would be changed by the -removal of the `volatile` qualifier. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gobject/gobject.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gobject/gobject.h b/gobject/gobject.h -index 7f55e1976..a84c183f8 100644 ---- a/gobject/gobject.h -+++ b/gobject/gobject.h -@@ -247,7 +247,7 @@ struct _GObject - GTypeInstance g_type_instance; - - /*< private >*/ -- volatile guint ref_count; -+ guint ref_count; /* (atomic) */ - GData *qdata; - }; - /** --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch deleted file mode 100644 index b8ed99ce1..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 8a112c3c6e5fe6838ee29eec7caa62ba32d9bc40 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 19:22:49 +0000 -Subject: [PATCH 21/29] tests: Drop unnecessary volatile qualifiers from tests -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -These variables were already (correctly) accessed atomically. The -`volatile` qualifier doesn’t help with that. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gobject/tests/qdata.c | 2 +- - gobject/tests/threadtests.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/gobject/tests/qdata.c b/gobject/tests/qdata.c -index 528bdc68e..7d46efb15 100644 ---- a/gobject/tests/qdata.c -+++ b/gobject/tests/qdata.c -@@ -17,7 +17,7 @@ gboolean fail; - #define ROUNDS 10000 - - GObject *object; --volatile gint bucket[THREADS]; -+gint bucket[THREADS]; /* accessed from multiple threads, but should never be contested due to the sequence of thread operations */ - - static gpointer - thread_func (gpointer data) -diff --git a/gobject/tests/threadtests.c b/gobject/tests/threadtests.c -index e341a9d67..b6f9e17fa 100644 ---- a/gobject/tests/threadtests.c -+++ b/gobject/tests/threadtests.c -@@ -27,8 +27,8 @@ - #include - #include - --static volatile int mtsafe_call_counter = 0; /* multi thread safe call counter */ --static int unsafe_call_counter = 0; /* single-threaded call counter */ -+static int mtsafe_call_counter = 0; /* multi thread safe call counter, must be accessed atomically */ -+static int unsafe_call_counter = 0; /* single-threaded call counter */ - static GCond sync_cond; - static GMutex sync_mutex; - --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch deleted file mode 100644 index 5da509d17..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch +++ /dev/null @@ -1,38 +0,0 @@ -From daf90bfa99fc02a253d538c65fbaa12f2e6c1c45 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Wed, 11 Nov 2020 19:23:18 +0000 -Subject: [PATCH 22/29] build: Drop unnecessary volatile qualifiers from - configure tests - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - meson.build | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index e0b308a25..ad7f887fb 100644 ---- a/meson.build -+++ b/meson.build -@@ -1773,7 +1773,7 @@ endforeach - # that then to silently fall back on emulated atomic ops just because - # the user had the wrong build environment. - atomictest = '''int main() { -- volatile int atomic = 2; -+ int atomic = 2; - __sync_bool_compare_and_swap (&atomic, 2, 3); - return 0; - } -@@ -1883,6 +1883,7 @@ endif - - # FIXME: we should make it print the result and always return 0, so that - # the output in meson shows up as green -+# volatile is needed here to avoid optimisations in the test - stack_grows_check_prog = ''' - volatile int *a = 0, *b = 0; - void f (int i) { --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch deleted file mode 100644 index 012f9ca87..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0604f5858259c32744e6fc912ed4feb308651a3a Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Mon, 16 Nov 2020 14:47:23 +0000 -Subject: [PATCH 23/29] gdbusprivate: Avoid a warning about a statement with no - effect - -Signed-off-by: Philip Withnall -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gio/gdbusprivate.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/gio/gdbusprivate.c b/gio/gdbusprivate.c -index 99b37f3eb..4e42c1a4d 100644 ---- a/gio/gdbusprivate.c -+++ b/gio/gdbusprivate.c -@@ -1945,11 +1945,10 @@ _g_dbus_initialize (void) - - if (g_once_init_enter (&initialized)) - { -- GQuark g_dbus_error_domain; - const gchar *debug; - -- g_dbus_error_domain = G_DBUS_ERROR; -- (g_dbus_error_domain); /* To avoid -Wunused-but-set-variable */ -+ /* Ensure the domain is registered. */ -+ g_dbus_error_quark (); - - debug = g_getenv ("G_DBUS_DEBUG"); - if (debug != NULL) --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0024-tests-Add-comment-to-volatile-atomic-tests.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0024-tests-Add-comment-to-volatile-atomic-tests.patch deleted file mode 100644 index 7350803c6..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0024-tests-Add-comment-to-volatile-atomic-tests.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 2d03f99ae4de394cac0690717d96c2d884ccdae2 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Mon, 16 Nov 2020 14:47:47 +0000 -Subject: [PATCH 24/29] tests: Add comment to volatile atomic tests -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -`volatile` should not be used to indicate atomic variables, and we -shouldn’t encourage its use. Keep the tests, since they check that we -don’t emit warnings when built against incorrect old code which uses -`volatile`. But add a comment to stop copy/paste use of `volatile` -in the future. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/tests/atomic.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/glib/tests/atomic.c b/glib/tests/atomic.c -index 7d2459f3a..14e6e454e 100644 ---- a/glib/tests/atomic.c -+++ b/glib/tests/atomic.c -@@ -94,6 +94,9 @@ test_types (void) - res = g_atomic_pointer_compare_and_exchange (&vp_str, NULL, str); - g_assert_true (res); - -+ /* Note that atomic variables should almost certainly not be marked as -+ * `volatile` — see http://isvolatileusefulwiththreads.in/c/. This test exists -+ * to make sure that we don’t warn when built against older third party code. */ - g_atomic_pointer_set (&vp_str_vol, NULL); - res = g_atomic_pointer_compare_and_exchange (&vp_str_vol, NULL, str); - g_assert_true (res); -@@ -210,6 +213,9 @@ G_GNUC_END_IGNORE_DEPRECATIONS - res = g_atomic_pointer_compare_and_exchange (&vp_str, NULL, (char *) str); - g_assert_true (res); - -+ /* Note that atomic variables should almost certainly not be marked as -+ * `volatile` — see http://isvolatileusefulwiththreads.in/c/. This test exists -+ * to make sure that we don’t warn when built against older third party code. */ - g_atomic_pointer_set (&vp_str_vol, NULL); - res = g_atomic_pointer_compare_and_exchange (&vp_str_vol, NULL, (char *) str); - g_assert_true (res); --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch deleted file mode 100644 index c15a3b8a5..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 6bd0a4b29753570a2c20b61b5ad2c0068567b7b6 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Mon, 16 Nov 2020 16:44:29 +0000 -Subject: [PATCH 25/29] gthread: Use g_atomic() primitives correctly in - destructor list -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In the Windows destructor list, consistently access -`g_private_destructors` using atomic primitives. - -`g_atomic_pointer_compare_and_exchange()` should be equivalent to -`InterlockedCompareExchangePointer()`, but is a bit more understandable -in a general GLib context, and pairs with `g_atomic_pointer_get()`. (I -can’t find a Windows API equivalent for that.) - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - glib/gthread-win32.c | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git a/glib/gthread-win32.c b/glib/gthread-win32.c -index 0c37dc6c1..20aca6fa1 100644 ---- a/glib/gthread-win32.c -+++ b/glib/gthread-win32.c -@@ -301,7 +301,7 @@ struct _GPrivateDestructor - GPrivateDestructor *next; - }; - --static GPrivateDestructor * volatile g_private_destructors; -+static GPrivateDestructor *g_private_destructors; /* (atomic) prepend-only */ - static CRITICAL_SECTION g_private_lock; - - static DWORD -@@ -329,7 +329,7 @@ g_private_get_impl (GPrivate *key) - g_thread_abort (errno, "malloc"); - destructor->index = impl; - destructor->notify = key->notify; -- destructor->next = g_private_destructors; -+ destructor->next = g_atomic_pointer_get (&g_private_destructors); - - /* We need to do an atomic store due to the unlocked - * access to the destructor list from the thread exit -@@ -337,13 +337,14 @@ g_private_get_impl (GPrivate *key) - * - * It can double as a sanity check... - */ -- if (InterlockedCompareExchangePointer (&g_private_destructors, destructor, -- destructor->next) != destructor->next) -+ if (!g_atomic_pointer_compare_and_exchange (&g_private_destructors, -+ destructor->next, -+ destructor)) - g_thread_abort (0, "g_private_get_impl(1)"); - } - - /* Ditto, due to the unlocked access on the fast path */ -- if (InterlockedCompareExchangePointer (&key->p, impl, NULL) != NULL) -+ if (!g_atomic_pointer_compare_and_exchange (&key->p, NULL, impl)) - g_thread_abort (0, "g_private_get_impl(2)"); - } - LeaveCriticalSection (&g_private_lock); -@@ -635,7 +636,7 @@ g_thread_win32_thread_detach (void) - */ - dtors_called = FALSE; - -- for (dtor = g_private_destructors; dtor; dtor = dtor->next) -+ for (dtor = g_atomic_pointer_get (&g_private_destructors); dtor; dtor = dtor->next) - { - gpointer value; - --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0026-gtype-Fix-some-typos-in-comments.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0026-gtype-Fix-some-typos-in-comments.patch deleted file mode 100644 index 7090a12a8..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0026-gtype-Fix-some-typos-in-comments.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 041dd8b70bd14b041d6a495492eb7a5fc7568bb7 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Mon, 16 Nov 2020 16:47:54 +0000 -Subject: [PATCH 26/29] gtype: Fix some typos in comments - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] -Signed-off-by: Philip Withnall ---- - gobject/gtype.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/gobject/gtype.c b/gobject/gtype.c -index be5989a3e..ae1af8a05 100644 ---- a/gobject/gtype.c -+++ b/gobject/gtype.c -@@ -2290,7 +2290,7 @@ type_class_init_Wm (TypeNode *node, - * inherited interfaces are already init_state == INITIALIZED, because - * they either got setup in the above base_init loop, or during - * class_init from within type_add_interface_Wm() for this or -- * an anchestor type. -+ * an ancestor type. - */ - i = 0; - while ((entries = CLASSED_NODE_IFACES_ENTRIES_LOCKED (node)) != NULL) -@@ -3462,7 +3462,7 @@ g_type_depth (GType type) - * be used to determine the types and order in which the leaf type is - * descended from the root type. - * -- * Returns: immediate child of @root_type and anchestor of @leaf_type -+ * Returns: immediate child of @root_type and ancestor of @leaf_type - */ - GType - g_type_next_base (GType type, -@@ -3549,8 +3549,8 @@ type_node_conforms_to_U (TypeNode *node, - - /** - * g_type_is_a: -- * @type: type to check anchestry for -- * @is_a_type: possible anchestor of @type or interface that @type -+ * @type: type to check ancestry for -+ * @is_a_type: possible ancestor of @type or interface that @type - * could conform to - * - * If @is_a_type is a derivable type, check whether @type is a --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch deleted file mode 100644 index 9c4e45ff4..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 47da8ec5d9a284e07f77c7d59fc8eacf3ebf188a Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Mon, 16 Nov 2020 16:57:22 +0000 -Subject: [PATCH 27/29] gtype: Add some missing atomic accesses to init_state -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Half of the references to `init_state` in `gtype.c` already correctly -accessed it atomically, but a couple didn’t. Drop the `volatile` -qualifier from its declaration, as that’s not necessary for atomic -access. - -Note that this is the `init_state` in `TypeData`, *not* the `init_state` -in `IFaceEntry`. - -Signed-off-by: Philip Withnall - -Helps: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gobject/gtype.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/gobject/gtype.c b/gobject/gtype.c -index ae1af8a05..909faf138 100644 ---- a/gobject/gtype.c -+++ b/gobject/gtype.c -@@ -322,7 +322,7 @@ struct _ClassData - CommonData common; - guint16 class_size; - guint16 class_private_size; -- int volatile init_state; /* atomic - g_type_class_ref reads it unlocked */ -+ int init_state; /* (atomic) - g_type_class_ref reads it unlocked */ - GBaseInitFunc class_init_base; - GBaseFinalizeFunc class_finalize_base; - GClassInitFunc class_init; -@@ -336,7 +336,7 @@ struct _InstanceData - CommonData common; - guint16 class_size; - guint16 class_private_size; -- int volatile init_state; /* atomic - g_type_class_ref reads it unlocked */ -+ int init_state; /* (atomic) - g_type_class_ref reads it unlocked */ - GBaseInitFunc class_init_base; - GBaseFinalizeFunc class_finalize_base; - GClassInitFunc class_init; -@@ -1415,7 +1415,7 @@ type_node_add_iface_entry_W (TypeNode *node, - - if (parent_entry) - { -- if (node->data && node->data->class.init_state >= BASE_IFACE_INIT) -+ if (node->data && g_atomic_int_get (&node->data->class.init_state) >= BASE_IFACE_INIT) - { - entries->entry[i].init_state = INITIALIZED; - entries->entry[i].vtable = parent_entry->vtable; -@@ -1481,7 +1481,7 @@ type_add_interface_Wm (TypeNode *node, - */ - if (node->data) - { -- InitState class_state = node->data->class.init_state; -+ InitState class_state = g_atomic_int_get (&node->data->class.init_state); - - if (class_state >= BASE_IFACE_INIT) - type_iface_vtable_base_init_Wm (iface, node); -@@ -2175,7 +2175,7 @@ type_class_init_Wm (TypeNode *node, - g_assert (node->is_classed && node->data && - node->data->class.class_size && - !node->data->class.class && -- node->data->class.init_state == UNINITIALIZED); -+ g_atomic_int_get (&node->data->class.init_state) == UNINITIALIZED); - if (node->data->class.class_private_size) - class = g_malloc0 (ALIGN_STRUCT (node->data->class.class_size) + node->data->class.class_private_size); - else --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch deleted file mode 100644 index e03fac19f..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 7d417f8406b8fa32a25659120738d22be6a1b482 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Mon, 16 Nov 2020 17:17:21 +0000 -Subject: [PATCH 28/29] gresource: Fix a pointer mismatch with an atomic load - -This squashes a warning when compiling with Clang. - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] -Signed-off-by: Philip Withnall ---- - gio/gresource.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gio/gresource.c b/gio/gresource.c -index 79a49d33d..b495d12ac 100644 ---- a/gio/gresource.c -+++ b/gio/gresource.c -@@ -1398,7 +1398,7 @@ register_lazy_static_resources (void) - void - g_static_resource_init (GStaticResource *static_resource) - { -- gpointer next; -+ GStaticResource *next; - - do - { --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0029-docs-Document-not-to-use-volatile-qualifiers.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0029-docs-Document-not-to-use-volatile-qualifiers.patch deleted file mode 100644 index 3311ad65d..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0029-docs-Document-not-to-use-volatile-qualifiers.patch +++ /dev/null @@ -1,258 +0,0 @@ -From 83e48d8ac1fee98059e2305d8909dca26190bddc Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Tue, 17 Nov 2020 10:15:15 +0000 -Subject: [PATCH 29/29] docs: Document not to use `volatile` qualifiers - -Signed-off-by: Philip Withnall - -Fixes: #600 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719] ---- - gio/gdbusconnection.c | 12 ++++++++--- - gio/gdbuserror.c | 3 +++ - glib/gatomic.c | 48 +++++++++++++++++++++++++++++++++++++++++++ - glib/gthread.c | 6 ++++++ - 4 files changed, 66 insertions(+), 3 deletions(-) - -diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c -index 91c365e80..65939a4d2 100644 ---- a/gio/gdbusconnection.c -+++ b/gio/gdbusconnection.c -@@ -1708,7 +1708,9 @@ g_dbus_connection_send_message_unlocked (GDBusConnection *connection, - * will be assigned by @connection and set on @message via - * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the - * serial number used will be written to this location prior to -- * submitting the message to the underlying transport. -+ * submitting the message to the underlying transport. While it has a `volatile` -+ * qualifier, this is a historical artifact and the argument passed to it should -+ * not be `volatile`. - * - * If @connection is closed then the operation will fail with - * %G_IO_ERROR_CLOSED. If @message is not well-formed, -@@ -1979,7 +1981,9 @@ g_dbus_connection_send_message_with_reply_unlocked (GDBusConnection *connect - * will be assigned by @connection and set on @message via - * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the - * serial number used will be written to this location prior to -- * submitting the message to the underlying transport. -+ * submitting the message to the underlying transport. While it has a `volatile` -+ * qualifier, this is a historical artifact and the argument passed to it should -+ * not be `volatile`. - * - * If @connection is closed then the operation will fail with - * %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will -@@ -2105,7 +2109,9 @@ send_message_with_reply_sync_cb (GDBusConnection *connection, - * will be assigned by @connection and set on @message via - * g_dbus_message_set_serial(). If @out_serial is not %NULL, then the - * serial number used will be written to this location prior to -- * submitting the message to the underlying transport. -+ * submitting the message to the underlying transport. While it has a `volatile` -+ * qualifier, this is a historical artifact and the argument passed to it should -+ * not be `volatile`. - * - * If @connection is closed then the operation will fail with - * %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will -diff --git a/gio/gdbuserror.c b/gio/gdbuserror.c -index b03a33f27..4ad97bb6e 100644 ---- a/gio/gdbuserror.c -+++ b/gio/gdbuserror.c -@@ -177,6 +177,9 @@ g_dbus_error_quark (void) - * - * Helper function for associating a #GError error domain with D-Bus error names. - * -+ * While @quark_volatile has a `volatile` qualifier, this is a historical -+ * artifact and the argument passed to it should not be `volatile`. -+ * - * Since: 2.26 - */ - void -diff --git a/glib/gatomic.c b/glib/gatomic.c -index 67f5ba6b4..0bc67aa35 100644 ---- a/glib/gatomic.c -+++ b/glib/gatomic.c -@@ -105,6 +105,9 @@ - * This call acts as a full compiler and hardware - * memory barrier (before the get). - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of the integer - * - * Since: 2.4 -@@ -125,6 +128,9 @@ gint - * This call acts as a full compiler and hardware - * memory barrier (after the set). - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Since: 2.4 - */ - void -@@ -144,6 +150,9 @@ void - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Since: 2.4 - **/ - void -@@ -163,6 +172,9 @@ void - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: %TRUE if the resultant value is zero - * - * Since: 2.4 -@@ -189,6 +201,9 @@ gboolean - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: %TRUE if the exchange took place - * - * Since: 2.4 -@@ -216,6 +231,9 @@ gboolean - * Before version 2.30, this function did not return a value - * (but g_atomic_int_exchange_and_add() did, and had the same meaning). - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of @atomic before the add, signed - * - * Since: 2.4 -@@ -240,6 +258,9 @@ gint - * Think of this operation as an atomic version of - * `{ tmp = *atomic; *atomic &= val; return tmp; }`. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of @atomic before the operation, unsigned - * - * Since: 2.30 -@@ -264,6 +285,9 @@ guint - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of @atomic before the operation, unsigned - * - * Since: 2.30 -@@ -288,6 +312,9 @@ guint - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of @atomic before the operation, unsigned - * - * Since: 2.30 -@@ -309,6 +336,9 @@ guint - * This call acts as a full compiler and hardware - * memory barrier (before the get). - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of the pointer - * - * Since: 2.4 -@@ -329,6 +359,9 @@ gpointer - * This call acts as a full compiler and hardware - * memory barrier (after the set). - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Since: 2.4 - **/ - void -@@ -354,6 +387,9 @@ void - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: %TRUE if the exchange took place - * - * Since: 2.4 -@@ -379,6 +415,9 @@ gboolean - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of @atomic before the add, signed - * - * Since: 2.30 -@@ -403,6 +442,9 @@ gssize - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of @atomic before the operation, unsigned - * - * Since: 2.30 -@@ -427,6 +469,9 @@ gsize - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of @atomic before the operation, unsigned - * - * Since: 2.30 -@@ -451,6 +496,9 @@ gsize - * - * This call acts as a full compiler and hardware memory barrier. - * -+ * While @atomic has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: the value of @atomic before the operation, unsigned - * - * Since: 2.30 -diff --git a/glib/gthread.c b/glib/gthread.c -index 612a9739f..29216d7fd 100644 ---- a/glib/gthread.c -+++ b/glib/gthread.c -@@ -686,6 +686,9 @@ g_once_impl (GOnce *once, - * // use initialization_value here - * ]| - * -+ * While @location has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Returns: %TRUE if the initialization section should be entered, - * %FALSE and blocks otherwise - * -@@ -725,6 +728,9 @@ gboolean - * releases concurrent threads blocking in g_once_init_enter() on this - * initialization variable. - * -+ * While @location has a `volatile` qualifier, this is a historical artifact and -+ * the pointer passed to it should not be `volatile`. -+ * - * Since: 2.14 - */ - void --- -2.30.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch index 4cbcc29a5..7cf89c871 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -1,4 +1,4 @@ -From 011c9f024b6475d31e7d5432a38d00fb67eaea40 Mon Sep 17 00:00:00 2001 +From ff790dd7086e28896f8e7630135f756cc6f06c80 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 11 Mar 2016 15:35:55 +0000 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds @@ -19,19 +19,19 @@ Signed-off-by: Jussi Kukkonen 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gio/giomodule.c b/gio/giomodule.c -index dc4d6d3..da46906 100644 +index ca1daf2..954a250 100644 --- a/gio/giomodule.c +++ b/gio/giomodule.c -@@ -49,6 +49,8 @@ - #include "gmemorymonitordbus.h" +@@ -51,6 +51,8 @@ #ifdef G_OS_WIN32 #include "gregistrysettingsbackend.h" + #include "giowin32-priv.h" +#else +#include #endif #include -@@ -1163,7 +1165,15 @@ get_gio_module_dir (void) +@@ -1212,7 +1214,15 @@ get_gio_module_dir (void) NULL); g_free (install_dir); #else diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb deleted file mode 100644 index 3909b76dd..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.66.7.bb +++ /dev/null @@ -1,86 +0,0 @@ -require glib.inc - -PE = "1" - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ - file://run-ptest \ - file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ - file://Enable-more-tests-while-cross-compiling.patch \ - file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ - file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ - file://0001-Do-not-ignore-return-value-of-write.patch \ - file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ - file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ - file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ - file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ - file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ - file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \ - file://0001-tests-codegen.py-removing-unecessary-print-statement.patch \ - " -SRC_URI += "\ - file://0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch \ - file://0002-tests-Fix-non-atomic-access-to-a-shared-variable.patch \ - file://0003-tests-Fix-non-atomic-access-to-a-shared-variable.patch \ - file://0004-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \ - file://0005-tests-Fix-non-atomic-access-to-some-shared-variables.patch \ - file://0006-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \ - file://0007-gdbusconnection-Drop-unnecessary-volatile-qualifiers.patch \ - file://0008-gdbuserror-Drop-unnecessary-volatile-qualifiers-from.patch \ - file://0009-gio-Drop-unnecessary-volatile-qualifiers-from-intern.patch \ - file://0010-kqueue-Fix-unlocked-access-to-shared-variable.patch \ - file://0011-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \ - file://0012-tests-Fix-non-atomic-access-to-some-shared-variables.patch \ - file://0013-gatomic-Drop-unnecessary-volatile-qualifiers-from-in.patch \ - file://0014-gatomic-Drop-unnecessary-volatile-qualifiers-from-ma.patch \ - file://0015-glib-Drop-unnecessary-volatile-qualifiers-from-inter.patch \ - file://0016-gobject-Drop-unnecessary-volatile-qualifiers-from-in.patch \ - file://0017-gmessages-Drop-unnecessary-volatile-qualifiers-from-.patch \ - file://0018-gtypes-Drop-volatile-qualifier-from-gatomicrefcount.patch \ - file://0019-gatomicarray-Drop-volatile-qualifier-from-GAtomicArr.patch \ - file://0020-gobject-Drop-volatile-qualifier-from-GObject.ref_cou.patch \ - file://0021-tests-Drop-unnecessary-volatile-qualifiers-from-test.patch \ - file://0022-build-Drop-unnecessary-volatile-qualifiers-from-conf.patch \ - file://0023-gdbusprivate-Avoid-a-warning-about-a-statement-with-.patch \ - file://0024-tests-Add-comment-to-volatile-atomic-tests.patch \ - file://0025-gthread-Use-g_atomic-primitives-correctly-in-destruc.patch \ - file://0026-gtype-Fix-some-typos-in-comments.patch \ - file://0027-gtype-Add-some-missing-atomic-accesses-to-init_state.patch \ - file://0028-gresource-Fix-a-pointer-mismatch-with-an-atomic-load.patch \ - file://0029-docs-Document-not-to-use-volatile-qualifiers.patch \ -" -SRC_URI_append_class-native = " file://relocate-modules.patch" - -SRC_URI[sha256sum] = "09f158769f6f26b31074e15b1ac80ec39b13b53102dfae66cfe826fb2cc65502" - -# Find any meson cross files in FILESPATH that are relevant for the current -# build (using siteinfo) and add them to EXTRA_OEMESON. -inherit siteinfo -def find_meson_cross_files(d): - if bb.data.inherits_class('native', d): - return "" - - thisdir = os.path.normpath(d.getVar("THISDIR")) - import collections - sitedata = siteinfo_data(d) - # filename -> found - files = collections.OrderedDict() - for path in d.getVar("FILESPATH").split(":"): - for element in sitedata: - filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) - sanitized_path = filename.replace(thisdir, "${THISDIR}") - if sanitized_path == filename: - if os.path.exists(filename): - bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) - continue - files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) - - items = ["--cross-file=" + k for k,v in files.items() if v] - d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) - items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] - d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) - -python () { - find_meson_cross_files(d) -} diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb new file mode 100644 index 000000000..accc2cada --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb @@ -0,0 +1,54 @@ +require glib.inc + +PE = "1" + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ + file://run-ptest \ + file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ + file://Enable-more-tests-while-cross-compiling.patch \ + file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ + file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ + file://0001-Do-not-ignore-return-value-of-write.patch \ + file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ + file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ + file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ + file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ + file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ + file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \ + " +SRC_URI_append_class-native = " file://relocate-modules.patch" + +SRC_URI[sha256sum] = "241654b96bd36b88aaa12814efc4843b578e55d47440103727959ac346944333" + +# Find any meson cross files in FILESPATH that are relevant for the current +# build (using siteinfo) and add them to EXTRA_OEMESON. +inherit siteinfo +def find_meson_cross_files(d): + if bb.data.inherits_class('native', d): + return "" + + thisdir = os.path.normpath(d.getVar("THISDIR")) + import collections + sitedata = siteinfo_data(d) + # filename -> found + files = collections.OrderedDict() + for path in d.getVar("FILESPATH").split(":"): + for element in sitedata: + filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) + sanitized_path = filename.replace(thisdir, "${THISDIR}") + if sanitized_path == filename: + if os.path.exists(filename): + bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) + continue + files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) + + items = ["--cross-file=" + k for k,v in files.items() if v] + d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) + items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] + d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) + +python () { + find_meson_cross_files(d) +} diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb deleted file mode 100644 index 230932daf..000000000 --- a/poky/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "GLib networking extensions" -DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies." -HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/" -BUGTRACKER = "http://bugzilla.gnome.org" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SECTION = "libs" -DEPENDS = "glib-2.0" - -SRC_URI[archive.sha256sum] = "c5d7be2437fdd196eebfb70c4517b96d3ba7ec13bd496318b8f02dea383e0099" - -PACKAGECONFIG ??= "gnutls ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" - -PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls" -PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl" -PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy" -PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" - -EXTRA_OEMESON = "-Dgnome_proxy=disabled" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gettext upstream-version-is-even gio-module-cache ptest-gnome - -SRC_URI += "file://run-ptest" - -FILES_${PN} += "\ - ${libdir}/gio/modules/libgio*.so \ - ${datadir}/dbus-1/services/ \ - ${systemd_user_unitdir} \ - " -FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la" -FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb new file mode 100644 index 000000000..fac04087d --- /dev/null +++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb @@ -0,0 +1,38 @@ +SUMMARY = "GLib networking extensions" +DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies." +HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/" +BUGTRACKER = "http://bugzilla.gnome.org" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SECTION = "libs" +DEPENDS = "glib-2.0" + +SRC_URI[archive.sha256sum] = "d05d8bd124a9f53fc2b93b18f2386d512e4f48bc5a80470a7967224f3bf53b30" + +PACKAGECONFIG ??= "openssl ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" + +PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls" +PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl" +PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy" +PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" + +EXTRA_OEMESON = "-Dgnome_proxy=disabled" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gettext upstream-version-is-even gio-module-cache ptest-gnome + +SRC_URI += "file://run-ptest" + +FILES_${PN} += "\ + ${libdir}/gio/modules/libgio*.so \ + ${datadir}/dbus-1/services/ \ + ${systemd_user_unitdir} \ + " +FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la" +FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a" + +RDEPENDS_${PN}-ptest += "bash" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc index 8d0cc8047..c3d0d9152 100644 --- a/poky/meta/recipes-core/glibc/glibc-package.inc +++ b/poky/meta/recipes-core/glibc/glibc-package.inc @@ -1,6 +1,6 @@ INHIBIT_SYSROOT_STRIP = "1" -PACKAGES = "${PN}-dbg catchsegv sln nscd ldconfig ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc" +PACKAGES = "${PN}-dbg catchsegv sln nscd ldconfig ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-src" # The ld.so in this glibc supports the GNU_HASH RPROVIDES_${PN} = "eglibc rtld(GNU_HASH)" diff --git a/poky/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch b/poky/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch deleted file mode 100644 index 4e6b42710..000000000 --- a/poky/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b28bb856ccebe8fded51d11362bf5920699eed59 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 18 Mar 2021 10:52:13 +0000 -Subject: [PATCH] configure.ac: do not use compute-symver-floor - -This script (newly introduced in 4.4.18) sporadically fails, without -failing configure(), which has been reported at -https://github.com/besser82/libxcrypt/issues/123 - -Upstream-Status: Inappropriate -Signed-off-by: Alexander Kanavin ---- - configure.ac | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 45b91b4..f3ba945 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -426,11 +426,7 @@ if test x$enable_shared != xyes; then enable_obsolete_api=0; fi - # need to be binary backward compatible with. - if test $enable_obsolete_api = 1; then - AC_MSG_CHECKING([minimum symbol version to use for compatibility symbols]) -- SYMVER_FLOOR=$( -- $PERL ${srcdir}/build-aux/compute-symver-floor \ -- ${srcdir}/lib/libcrypt.minver $host_os $host_cpu \ -- 2>&AS_MESSAGE_LOG_FD -- ) -+ SYMVER_FLOOR=GLIBC_2.0 - AC_MSG_RESULT([$SYMVER_FLOOR]) - case "$SYMVER_FLOOR" in - ERROR) diff --git a/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch b/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch new file mode 100644 index 000000000..5448fe0fa --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch @@ -0,0 +1,24 @@ +If you pass CFLAGS with a leading space, " " gets passed to popen and convinces +gcc to try and open a file called " ". This results in a confusing error message +like: + +x86_64-pokysdk-linux-gcc: error: : No such file or directory + +Avoid this by stripping empty elements out of CFLAGS. + +Upstream-Status: Submitted [https://github.com/besser82/libxcrypt/pull/126] +Signed-off-by: Richard Purdie + +Index: a/build-aux/compute-symver-floor +=================================================================== +--- a/build-aux/compute-symver-floor ++++ b/build-aux/compute-symver-floor +@@ -36,6 +36,8 @@ sub preprocessor_check { + die "C compiler not available\n" unless @CC; + + @CFLAGS = sh_split($ENV{CFLAGS} // q{}); ++ # Remove empty elements, particularly leading ones which cause issues with popen below ++ @CFLAGS = grep {$_} @CFLAGS; + + # We call ensure_C_locale here, not from the main section, + # because this sub might not get called at all, in which diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.18.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.18.bb deleted file mode 100644 index ba74eb1f9..000000000 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.18.bb +++ /dev/null @@ -1,18 +0,0 @@ -# -# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular -# - -require libxcrypt.inc - -PROVIDES = "" -AUTO_LIBNAME_PKGS = "" -EXCLUDE_FROM_WORLD = "1" - -API = "--enable-obsolete-api" - -do_install_append () { - rm -rf ${D}${includedir} - rm -rf ${D}${libdir}/pkgconfig - rm -rf ${D}${datadir} -} - diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.19.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.19.bb new file mode 100644 index 000000000..ba74eb1f9 --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.19.bb @@ -0,0 +1,18 @@ +# +# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular +# + +require libxcrypt.inc + +PROVIDES = "" +AUTO_LIBNAME_PKGS = "" +EXCLUDE_FROM_WORLD = "1" + +API = "--enable-obsolete-api" + +do_install_append () { + rm -rf ${D}${includedir} + rm -rf ${D}${libdir}/pkgconfig + rm -rf ${D}${datadir} +} + diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc index b5ca863d5..694e55546 100644 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc @@ -3,18 +3,18 @@ DESCRIPTION = "Forked code from glibc libary to extract only crypto part." HOMEPAGE = "https://github.com/besser82/libxcrypt" SECTION = "libs" LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSING;md5=bd5d9777dfe7076c4f2928f12fed226a \ +LIC_FILES_CHKSUM = "file://LICENSING;md5=afed27a72ae2a8075978299eebaa1f5d \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ " inherit autotools pkgconfig -SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH} \ - file://0001-configure.ac-do-not-use-compute-symver-floor.patch \ - " -SRCREV = "94d84f92ca123d851586016c4678eb1f21c19029" +SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}" +SRCREV = "c79119414d7e30017d7b49566e7e4ea35112bdc8" SRCBRANCH ?= "develop" +SRC_URI += "file://fix_cflags_handling.patch" + PROVIDES = "virtual/crypt" FILES_${PN} = "${libdir}/libcrypt*.so.* \ diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.18.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.18.bb deleted file mode 100644 index 79dba2f6d..000000000 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.18.bb +++ /dev/null @@ -1,2 +0,0 @@ -require libxcrypt.inc - diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.19.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.19.bb new file mode 100644 index 000000000..79dba2f6d --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.19.bb @@ -0,0 +1,2 @@ +require libxcrypt.inc + diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb index 25ec6bac7..e5822cee5 100644 --- a/poky/meta/recipes-core/meta/cve-update-db-native.bb +++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb @@ -139,7 +139,12 @@ def parse_node_and_insert(c, node, cveId): for cpe in node.get('cpe_match', ()): if not cpe['vulnerable']: return - cpe23 = cpe['cpe23Uri'].split(':') + cpe23 = cpe.get('cpe23Uri') + if not cpe23: + return + cpe23 = cpe23.split(':') + if len(cpe23) < 6: + return vendor = cpe23[3] product = cpe23[4] version = cpe23[5] diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index e6f9e2441..ef8bc2eec 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -4,7 +4,7 @@ require musl.inc inherit linuxloader -SRCREV = "e5d2823631bbfebacf48e1a34ed28f28d7cb2570" +SRCREV = "aad50fcd791e009961621ddfbe3d4c245fd689a3" BASEVER = "1.2.2" diff --git a/poky/meta/recipes-core/netbase/netbase_6.2.bb b/poky/meta/recipes-core/netbase/netbase_6.2.bb deleted file mode 100644 index a54d2e776..000000000 --- a/poky/meta/recipes-core/netbase/netbase_6.2.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Basic TCP/IP networking support" -DESCRIPTION = "This package provides the necessary infrastructure for basic TCP/IP based networking" -HOMEPAGE = "http://packages.debian.org/netbase" -SECTION = "base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab" -PE = "1" - -SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz" - -inherit allarch - -SRC_URI[sha256sum] = "309a24146a06347d654b261e9e07a82fab844b173674a42e223803dd8258541e" - -UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/" - -do_install () { - install -d ${D}${sysconfdir} - install -m 0644 ${S}/etc/rpc ${D}${sysconfdir}/rpc - install -m 0644 ${S}/etc/protocols ${D}${sysconfdir}/protocols - install -m 0644 ${S}/etc/services ${D}${sysconfdir}/services - install -m 0644 ${S}/etc/ethertypes ${D}${sysconfdir}/ethertypes -} diff --git a/poky/meta/recipes-core/netbase/netbase_6.3.bb b/poky/meta/recipes-core/netbase/netbase_6.3.bb new file mode 100644 index 000000000..0a7a9d71e --- /dev/null +++ b/poky/meta/recipes-core/netbase/netbase_6.3.bb @@ -0,0 +1,23 @@ +SUMMARY = "Basic TCP/IP networking support" +DESCRIPTION = "This package provides the necessary infrastructure for basic TCP/IP based networking" +HOMEPAGE = "http://packages.debian.org/netbase" +SECTION = "base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab" +PE = "1" + +SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz" + +inherit allarch + +SRC_URI[sha256sum] = "7c42a6a1cafa0c64103c71cab6431fc8613179b2449a1a00e55e3584e860d81c" + +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/" + +do_install () { + install -d ${D}${sysconfdir} + install -m 0644 ${S}/etc/rpc ${D}${sysconfdir}/rpc + install -m 0644 ${S}/etc/protocols ${D}${sysconfdir}/protocols + install -m 0644 ${S}/etc/services ${D}${sysconfdir}/services + install -m 0644 ${S}/etc/ethertypes ${D}${sysconfdir}/ethertypes +} diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb index b8e2c718e..194dca76d 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb @@ -57,6 +57,7 @@ VALGRIND_armv6 = "" VALGRIND_armeb = "" VALGRIND_aarch64 = "" VALGRIND_riscv64 = "" +VALGRIND_riscv32 = "" VALGRIND_powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', '', 'valgrind', d)}" VALGRIND_linux-gnux32 = "" VALGRIND_linux-gnun32 = "" diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb index a5fc15285..015810cb6 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb +++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-testapps.bb @@ -16,6 +16,7 @@ KEXECTOOLS_e5500-64b ?= "" KEXECTOOLS_microblaze ?= "" KEXECTOOLS_nios2 ?= "" KEXECTOOLS_riscv64 ?= "" +KEXECTOOLS_riscv32 ?= "" GSTEXAMPLES ?= "gst-examples" GSTEXAMPLES_riscv64 = "" diff --git a/poky/meta/recipes-core/systemd/systemd-boot_247.4.bb b/poky/meta/recipes-core/systemd/systemd-boot_247.4.bb deleted file mode 100644 index 249e620f4..000000000 --- a/poky/meta/recipes-core/systemd/systemd-boot_247.4.bb +++ /dev/null @@ -1,70 +0,0 @@ -require systemd.inc -FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:" - -require conf/image-uefi.conf - -DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native" - -inherit meson pkgconfig gettext -inherit deploy - -LDFLAGS_prepend = "${@ " ".join(d.getVar('LD').split()[1:])} " - -do_write_config[vardeps] += "CC OBJCOPY" -do_write_config_append() { - cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross < +Date: Mon, 12 Apr 2021 23:44:53 -0700 +Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl + +musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64 +unlike glibc where these are provided by libc headers, therefore define +them here in case they are undefined + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + src/basic/missing_syscall.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h +index 0594a1b930..495d161334 100644 +--- a/src/basic/missing_syscall.h ++++ b/src/basic/missing_syscall.h +@@ -15,6 +15,12 @@ + #include + #endif + ++#ifndef _MIPS_SIM_ABI32 ++#define _MIPS_SIM_ABI32 1 ++#define _MIPS_SIM_NABI32 2 ++#define _MIPS_SIM_ABI64 3 ++#endif ++ + #if defined(__x86_64__) && defined(__ILP32__) + # define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000) + #elif defined(__ia64__) +-- +2.31.1 + diff --git a/poky/meta/recipes-core/systemd/systemd_247.4.bb b/poky/meta/recipes-core/systemd/systemd_247.4.bb deleted file mode 100644 index cd67e65ab..000000000 --- a/poky/meta/recipes-core/systemd/systemd_247.4.bb +++ /dev/null @@ -1,767 +0,0 @@ -require systemd.inc - -PROVIDES = "udev" - -PE = "1" - -DEPENDS = "intltool-native gperf-native libcap util-linux" - -SECTION = "base/shell" - -inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check - -# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so -# that we don't build both udev and systemd in world builds. -REQUIRED_DISTRO_FEATURES = "systemd" - -SRC_URI += "file://touchscreen.rules \ - file://00-create-volatile.conf \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \ - file://init \ - file://99-default.preset \ - file://systemd-pager.sh \ - file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ - file://0003-implment-systemd-sysv-install-for-OE.patch \ - file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \ - file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \ - file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \ - file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \ - " - -# patches needed by musl -SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" -SRC_URI_MUSL = "\ - file://0002-don-t-use-glibc-specific-qsort_r.patch \ - file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \ - file://0004-add-fallback-parse_printf_format-implementation.patch \ - file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \ - file://0006-Include-netinet-if_ether.h.patch \ - file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ - file://0008-add-missing-FTW_-macros-for-musl.patch \ - file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ - file://0010-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ - file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ - file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ - file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ - file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ - file://0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \ - file://0017-missing_type.h-add-__compar_d_fn_t-definition.patch \ - file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \ - file://0019-Handle-missing-LOCK_EX.patch \ - file://0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch \ - file://0021-test-json.c-define-M_PIl.patch \ - file://0022-do-not-disable-buffer-in-writing-files.patch \ - file://0025-Handle-__cpu_mask-usage.patch \ - file://0026-Handle-missing-gshadow.patch \ - " - -PAM_PLUGINS = " \ - pam-plugin-unix \ - pam-plugin-loginuid \ - pam-plugin-keyinit \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ - backlight \ - binfmt \ - gshadow \ - hibernate \ - hostnamed \ - idn \ - ima \ - kmod \ - localed \ - logind \ - machined \ - myhostname \ - networkd \ - nss \ - nss-mymachines \ - nss-resolve \ - quotacheck \ - randomseed \ - resolved \ - set-time-epoch \ - sysusers \ - sysvinit \ - timedated \ - timesyncd \ - userdb \ - utmp \ - vconsole \ - xz \ -" - -PACKAGECONFIG_remove_libc-musl = " \ - gshadow \ - idn \ - localed \ - myhostname \ - nss \ - nss-mymachines \ - nss-resolve \ - sysusers \ - userdb \ - utmp \ -" - -CFLAGS_append_libc-musl = " -D__UAPI_DEF_ETHHDR=0 " - -# Some of the dependencies are weak-style recommends - if not available at runtime, -# systemd won't fail but the library-related feature will be skipped with a warning. - -# Use the upstream systemd serial-getty@.service and rely on -# systemd-getty-generator instead of using the OE-core specific -# systemd-serialgetty.bb - not enabled by default. -PACKAGECONFIG[serial-getty-generator] = "" - -PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl" -PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit" -PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" -PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" -PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2" -PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid" -PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" -PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup" -PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" -PACKAGECONFIG[efi] = "-Defi=true,-Defi=false" -PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi" -PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils" -PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" -# Sign the journal for anti-tampering -PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt" -PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" -PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" -PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" -PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" -PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" -PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" -# importd requires journal-upload/xz/zlib/bzip2/gcrypt -PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false" -# Update NAT firewall rules -PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables" -PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl" -PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod" -PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig" -PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn" -PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2" -PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false" -PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false" -PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4" -PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" -PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" -PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" -PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false" -PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" -PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false" -PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false" -PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl" -PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}" -PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2" -PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false" -# If polkit is disabled and networkd+hostnamed are in use, enabling this option and -# using dbus-broker will allow networkd to be authorized to change the -# hostname without acquiring additional privileges -PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit" -PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false" -PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode" -PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false" -PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false" -PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false" -PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false" -# libseccomp is found in meta-security -PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" -PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell" -PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" -PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" -PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d" -# When enabled use reproducble build timestamp if set as time epoch, -# or build time if not. When disabled, time epoch is unset. -def build_epoch(d): - epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1" - return '-Dtime-epoch=%d' % int(epoch) -PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" -PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" -PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" -PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true" -PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true" -PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false" -PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false" -PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind" -PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup" -PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" -# Verify keymaps on locale change -PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon" -PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz" -PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib" - -# Helper variables to clarify locations. This mirrors the logic in systemd's -# build system. -rootprefix ?= "${root_prefix}" -rootlibdir ?= "${base_libdir}" -rootlibexecdir = "${rootprefix}/lib" - -# This links udev statically with systemd helper library. -# Otherwise udev package would depend on systemd package (which has the needed shared library), -# and always pull it into images. -EXTRA_OEMESON += "-Dlink-udev-shared=false" - -EXTRA_OEMESON += "-Dnobody-user=nobody \ - -Dnobody-group=nobody \ - -Drootlibdir=${rootlibdir} \ - -Drootprefix=${rootprefix} \ - -Ddefault-locale=C \ - -Dmode=release \ - -Dsystem-alloc-uid-min=101 \ - -Dsystem-uid-max=999 \ - -Dsystem-alloc-gid-min=101 \ - -Dsystem-gid-max=999 \ - " - -# Hardcode target binary paths to avoid using paths from sysroot -EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \ - -Dkmod-path=${base_bindir}/kmod \ - -Dmount-path=${base_bindir}/mount \ - -Dquotacheck-path=${sbindir}/quotacheck \ - -Dquotaon-path=${sbindir}/quotaon \ - -Dsulogin-path=${base_sbindir}/sulogin \ - -Dnologin-path=${base_sbindir}/nologin \ - -Dumount-path=${base_bindir}/umount" - -do_install() { - meson_do_install - install -d ${D}/${base_sbindir} - if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then - # Provided by a separate recipe - rm ${D}${systemd_unitdir}/system/serial-getty* -f - fi - - # Provide support for initramfs - [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init - [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd - - install -d ${D}${sysconfdir}/udev/rules.d/ - install -d ${D}${sysconfdir}/tmpfiles.d - for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do - install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ - done - - install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ - - if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd - sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd - install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install - fi - - chown root:systemd-journal ${D}/${localstatedir}/log/journal - - # Delete journal README, as log can be symlinked inside volatile. - rm -f ${D}/${localstatedir}/log/README - - # journal-remote creates this at start - rm -rf ${D}/${localstatedir}/log/journal/remote - - install -d ${D}${systemd_unitdir}/system/graphical.target.wants - install -d ${D}${systemd_unitdir}/system/multi-user.target.wants - install -d ${D}${systemd_unitdir}/system/poweroff.target.wants - install -d ${D}${systemd_unitdir}/system/reboot.target.wants - install -d ${D}${systemd_unitdir}/system/rescue.target.wants - - # Create symlinks for systemd-update-utmp-runlevel.service - if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service - fi - - # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it - # for existence else it fails - if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then - ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)} - fi - if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then - echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf - echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf - echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf - ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd - else - sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf - ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd - fi - if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then - rm ${D}${exec_prefix}/lib/tmpfiles.d/x11.conf - rm -r ${D}${sysconfdir}/X11 - fi - - # If polkit is setup fixup permissions and ownership - if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then - if [ -d ${D}${datadir}/polkit-1/rules.d ]; then - chmod 700 ${D}${datadir}/polkit-1/rules.d - chown polkitd:root ${D}${datadir}/polkit-1/rules.d - fi - fi - - # If polkit is not available and a fallback was requested, install a drop-in that allows networkd to - # request hostname changes via DBUS without elevating its privileges - if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/ - install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/ - install -d ${D}${datadir}/dbus-1/system.d/ - install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ - fi - - # create link for existing udev rules - ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm - - # duplicate udevadm for postinst script - install -d ${D}${libexecdir} - ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm - - # install default policy for presets - # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto - install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset - - # add a profile fragment to disable systemd pager with busybox less - install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh -} - -python populate_packages_prepend (){ - systemdlibdir = d.getVar("rootlibdir") - do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) -} -PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*" - -PACKAGE_BEFORE_PN = "\ - ${PN}-gui \ - ${PN}-vconsole-setup \ - ${PN}-initramfs \ - ${PN}-analyze \ - ${PN}-kernel-install \ - ${PN}-rpm-macros \ - ${PN}-binfmt \ - ${PN}-zsh-completion \ - ${PN}-container \ - ${PN}-journal-gatewayd \ - ${PN}-journal-upload \ - ${PN}-journal-remote \ - ${PN}-extra-utils \ - ${PN}-udev-rules \ - udev \ - udev-hwdb \ -" - -SUMMARY_${PN}-container = "Tools for containers and VMs" -DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines." - -SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events" -DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default." - -SUMMARY_${PN}-journal-upload = "Send journal messages over the network" -DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL." - -SUMMARY_${PN}-journal-remote = "Receive journal messages over the network" -DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files." - -SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ -" -SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service" - -USERADD_PACKAGES = "${PN} ${PN}-extra-utils \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ -" -GROUPADD_PARAM_${PN} = "-r systemd-journal;" -GROUPADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" -USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy" -USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway" -USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote" -USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload" - -FILES_${PN}-analyze = "${bindir}/systemd-analyze" - -FILES_${PN}-initramfs = "/init" -RDEPENDS_${PN}-initramfs = "${PN}" - -FILES_${PN}-gui = "${bindir}/systemadm" - -FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \ - ${systemd_unitdir}/system/systemd-vconsole-setup.service \ - ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service" - -RDEPENDS_${PN}-kernel-install += "bash" -FILES_${PN}-kernel-install = "${bindir}/kernel-install \ - ${sysconfdir}/kernel/ \ - ${exec_prefix}/lib/kernel \ - " -FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \ - " - -FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" - -FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ - ${exec_prefix}/lib/binfmt.d \ - ${rootlibexecdir}/systemd/systemd-binfmt \ - ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \ - ${systemd_unitdir}/system/systemd-binfmt.service" -RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc" - -RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps" - - -FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \ - ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ - ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ - ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \ - ${datadir}/systemd/gatewayd/browse.html \ - " -SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket" - -FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \ - ${systemd_system_unitdir}/systemd-journal-upload.service \ - ${sysconfdir}/systemd/journal-upload.conf \ - " -SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service" - -FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \ - ${sysconfdir}/systemd/journal-remote.conf \ - ${systemd_system_unitdir}/systemd-journal-remote.service \ - ${systemd_system_unitdir}/systemd-journal-remote.socket \ - " -SYSTEMD_SERVICE_${PN}-journal-remote = "systemd-journal-remote.socket" - - -FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ - ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ - ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ - ${base_bindir}/machinectl \ - ${bindir}/systemd-nspawn \ - ${nonarch_libdir}/systemd/import-pubring.gpg \ - ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \ - ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \ - ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/machine.slice \ - ${systemd_system_unitdir}/machines.target \ - ${systemd_system_unitdir}/org.freedesktop.import1.busname \ - ${systemd_system_unitdir}/org.freedesktop.machine1.busname \ - ${systemd_system_unitdir}/systemd-importd.service \ - ${systemd_system_unitdir}/systemd-machined.service \ - ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \ - ${systemd_system_unitdir}/var-lib-machines.mount \ - ${rootlibexecdir}/systemd/systemd-import \ - ${rootlibexecdir}/systemd/systemd-importd \ - ${rootlibexecdir}/systemd/systemd-machined \ - ${rootlibexecdir}/systemd/systemd-pull \ - ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ - ${systemd_system_unitdir}/systemd-nspawn@.service \ - ${libdir}/libnss_mymachines.so.2 \ - ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \ - ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \ - ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \ - ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \ - ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \ - " - -# "machinectl import-tar" uses "tar --numeric-owner", not supported by busybox. -RRECOMMENDS_${PN}-container += "\ - ${PN}-journal-gatewayd \ - ${PN}-journal-remote \ - ${PN}-journal-upload \ - kernel-module-dm-mod \ - kernel-module-loop \ - kernel-module-tun \ - tar \ - " - -FILES_${PN}-extra-utils = "\ - ${base_bindir}/systemd-escape \ - ${base_bindir}/systemd-inhibit \ - ${bindir}/systemd-detect-virt \ - ${bindir}/systemd-dissect \ - ${bindir}/systemd-path \ - ${bindir}/systemd-run \ - ${bindir}/systemd-cat \ - ${bindir}/systemd-delta \ - ${bindir}/systemd-cgls \ - ${bindir}/systemd-cgtop \ - ${bindir}/systemd-stdio-bridge \ - ${base_bindir}/systemd-ask-password \ - ${base_bindir}/systemd-tty-ask-password-agent \ - ${systemd_unitdir}/system/systemd-ask-password-console.path \ - ${systemd_unitdir}/system/systemd-ask-password-console.service \ - ${systemd_unitdir}/system/systemd-ask-password-wall.path \ - ${systemd_unitdir}/system/systemd-ask-password-wall.service \ - ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \ - ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \ - ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \ - ${rootlibexecdir}/systemd/systemd-resolve-host \ - ${rootlibexecdir}/systemd/systemd-ac-power \ - ${rootlibexecdir}/systemd/systemd-activate \ - ${rootlibexecdir}/systemd/systemd-bus-proxyd \ - ${systemd_unitdir}/system/systemd-bus-proxyd.service \ - ${systemd_unitdir}/system/systemd-bus-proxyd.socket \ - ${rootlibexecdir}/systemd/systemd-socket-proxyd \ - ${rootlibexecdir}/systemd/systemd-reply-password \ - ${rootlibexecdir}/systemd/systemd-sleep \ - ${rootlibexecdir}/systemd/system-sleep \ - ${systemd_unitdir}/system/systemd-hibernate.service \ - ${systemd_unitdir}/system/systemd-hybrid-sleep.service \ - ${systemd_unitdir}/system/systemd-suspend.service \ - ${systemd_unitdir}/system/sleep.target \ - ${rootlibexecdir}/systemd/systemd-initctl \ - ${systemd_unitdir}/system/systemd-initctl.service \ - ${systemd_unitdir}/system/systemd-initctl.socket \ - ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \ - ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ - ${rootlibexecdir}/systemd/systemd-cgroups-agent \ -" - -FILES_${PN}-udev-rules = "\ - ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \ - ${rootlibexecdir}/udev/rules.d/71-seat.rules \ - ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \ - ${rootlibexecdir}/udev/rules.d/99-systemd.rules \ -" - -CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \ - ${sysconfdir}/systemd/journald.conf \ - ${sysconfdir}/systemd/logind.conf \ - ${sysconfdir}/systemd/networkd.conf \ - ${sysconfdir}/systemd/pstore.conf \ - ${sysconfdir}/systemd/resolved.conf \ - ${sysconfdir}/systemd/sleep.conf \ - ${sysconfdir}/systemd/system.conf \ - ${sysconfdir}/systemd/timesyncd.conf \ - ${sysconfdir}/systemd/user.conf \ -" - -FILES_${PN} = " ${base_bindir}/* \ - ${base_sbindir}/shutdown \ - ${base_sbindir}/halt \ - ${base_sbindir}/poweroff \ - ${base_sbindir}/runlevel \ - ${base_sbindir}/telinit \ - ${base_sbindir}/resolvconf \ - ${base_sbindir}/reboot \ - ${base_sbindir}/init \ - ${datadir}/dbus-1/services \ - ${datadir}/dbus-1/system-services \ - ${datadir}/polkit-1 \ - ${datadir}/${BPN} \ - ${datadir}/factory \ - ${sysconfdir}/dbus-1/ \ - ${sysconfdir}/modules-load.d/ \ - ${sysconfdir}/pam.d/ \ - ${sysconfdir}/profile.d/ \ - ${sysconfdir}/sysctl.d/ \ - ${sysconfdir}/systemd/ \ - ${sysconfdir}/tmpfiles.d/ \ - ${sysconfdir}/xdg/ \ - ${sysconfdir}/init.d/README \ - ${sysconfdir}/resolv-conf.systemd \ - ${sysconfdir}/X11/xinit/xinitrc.d/* \ - ${rootlibexecdir}/systemd/* \ - ${libdir}/pam.d \ - ${nonarch_libdir}/pam.d \ - ${systemd_unitdir}/* \ - ${base_libdir}/security/*.so \ - /cgroup \ - ${bindir}/systemd* \ - ${bindir}/busctl \ - ${bindir}/coredumpctl \ - ${bindir}/localectl \ - ${bindir}/hostnamectl \ - ${bindir}/resolvectl \ - ${bindir}/timedatectl \ - ${bindir}/bootctl \ - ${bindir}/oomctl \ - ${exec_prefix}/lib/tmpfiles.d/*.conf \ - ${exec_prefix}/lib/systemd \ - ${exec_prefix}/lib/modules-load.d \ - ${exec_prefix}/lib/sysctl.d \ - ${exec_prefix}/lib/sysusers.d \ - ${exec_prefix}/lib/environment.d \ - ${localstatedir} \ - ${rootlibexecdir}/modprobe.d/systemd.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \ - ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \ - " - -FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" - -RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck" -RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" -RDEPENDS_${PN} += "volatile-binds" - -RRECOMMENDS_${PN} += "systemd-extra-utils \ - udev-hwdb \ - e2fsprogs-e2fsck \ - kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \ - os-release \ - systemd-conf \ -" - -INSANE_SKIP_${PN} += "dev-so libdir" -INSANE_SKIP_${PN}-dbg += "libdir" -INSANE_SKIP_${PN}-doc += " libdir" - -RPROVIDES_udev = "hotplug" - -RDEPENDS_udev-hwdb += "udev" - -FILES_udev += "${base_sbindir}/udevd \ - ${rootlibexecdir}/systemd/network/99-default.link \ - ${rootlibexecdir}/systemd/systemd-udevd \ - ${rootlibexecdir}/udev/accelerometer \ - ${rootlibexecdir}/udev/ata_id \ - ${rootlibexecdir}/udev/cdrom_id \ - ${rootlibexecdir}/udev/collect \ - ${rootlibexecdir}/udev/fido_id \ - ${rootlibexecdir}/udev/findkeyboards \ - ${rootlibexecdir}/udev/keyboard-force-release.sh \ - ${rootlibexecdir}/udev/keymap \ - ${rootlibexecdir}/udev/mtd_probe \ - ${rootlibexecdir}/udev/scsi_id \ - ${rootlibexecdir}/udev/v4l_id \ - ${rootlibexecdir}/udev/keymaps \ - ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \ - ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \ - ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \ - ${rootlibexecdir}/udev/rules.d/60-block.rules \ - ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \ - ${rootlibexecdir}/udev/rules.d/60-drm.rules \ - ${rootlibexecdir}/udev/rules.d/60-evdev.rules \ - ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \ - ${rootlibexecdir}/udev/rules.d/60-input-id.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \ - ${rootlibexecdir}/udev/rules.d/60-sensor.rules \ - ${rootlibexecdir}/udev/rules.d/60-serial.rules \ - ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \ - ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \ - ${rootlibexecdir}/udev/rules.d/70-joystick.rules \ - ${rootlibexecdir}/udev/rules.d/70-mouse.rules \ - ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \ - ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \ - ${rootlibexecdir}/udev/rules.d/75-net-description.rules \ - ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \ - ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \ - ${rootlibexecdir}/udev/rules.d/80-drivers.rules \ - ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \ - ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \ - ${sysconfdir}/udev \ - ${sysconfdir}/init.d/systemd-udevd \ - ${systemd_unitdir}/system/*udev* \ - ${systemd_unitdir}/system/*.wants/*udev* \ - ${base_bindir}/systemd-hwdb \ - ${base_bindir}/udevadm \ - ${base_sbindir}/udevadm \ - ${libexecdir}/${MLPREFIX}udevadm \ - ${datadir}/bash-completion/completions/udevadm \ - ${systemd_unitdir}/system/systemd-hwdb-update.service \ - " - -FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \ - " - -RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" - -INITSCRIPT_PACKAGES = "udev" -INITSCRIPT_NAME_udev = "systemd-udevd" -INITSCRIPT_PARAMS_udev = "start 03 S ." - -python __anonymous() { - if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): - d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") -} - -python do_warn_musl() { - if d.getVar('TCLIBC') == "musl": - bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.") -} -addtask warn_musl before do_configure - -ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" - -ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" -ALTERNATIVE_PRIORITY[resolv-conf] ?= "50" - -ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" -ALTERNATIVE_PRIORITY[halt] ?= "300" - -ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot" -ALTERNATIVE_PRIORITY[reboot] ?= "300" - -ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown" -ALTERNATIVE_PRIORITY[shutdown] ?= "300" - -ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" -ALTERNATIVE_PRIORITY[poweroff] ?= "300" - -ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" -ALTERNATIVE_PRIORITY[runlevel] ?= "300" - -pkg_postinst_${PN}_libc-glibc () { - sed -e '/^hosts:/s/\s*\//' \ - -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 myhostname \3\4\5/' \ - -i $D${sysconfdir}/nsswitch.conf -} - -pkg_prerm_${PN}_libc-glibc () { - sed -e '/^hosts:/s/\s*\//' \ - -e '/^hosts:/s/\s*myhostname//' \ - -i $D${sysconfdir}/nsswitch.conf -} - -PACKAGE_WRITE_DEPS += "qemu-native" -pkg_postinst_udev-hwdb () { - if test -n "$D"; then - $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" - else - udevadm hwdb --update - fi -} - -pkg_prerm_udev-hwdb () { - rm -f $D${sysconfdir}/udev/hwdb.bin -} diff --git a/poky/meta/recipes-core/systemd/systemd_247.6.bb b/poky/meta/recipes-core/systemd/systemd_247.6.bb new file mode 100644 index 000000000..ce6ac7eba --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd_247.6.bb @@ -0,0 +1,767 @@ +require systemd.inc + +PROVIDES = "udev" + +PE = "1" + +DEPENDS = "intltool-native gperf-native libcap util-linux" + +SECTION = "base/shell" + +inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check + +# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so +# that we don't build both udev and systemd in world builds. +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI += "file://touchscreen.rules \ + file://00-create-volatile.conf \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \ + file://init \ + file://99-default.preset \ + file://systemd-pager.sh \ + file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ + file://0003-implment-systemd-sysv-install-for-OE.patch \ + file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \ + file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \ + file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \ + file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \ + " + +# patches needed by musl +SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" +SRC_URI_MUSL = "\ + file://0002-don-t-use-glibc-specific-qsort_r.patch \ + file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \ + file://0004-add-fallback-parse_printf_format-implementation.patch \ + file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \ + file://0006-Include-netinet-if_ether.h.patch \ + file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ + file://0008-add-missing-FTW_-macros-for-musl.patch \ + file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ + file://0010-Use-uintmax_t-for-handling-rlim_t.patch \ + file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ + file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ + file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ + file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ + file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ + file://0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \ + file://0017-missing_type.h-add-__compar_d_fn_t-definition.patch \ + file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \ + file://0019-Handle-missing-LOCK_EX.patch \ + file://0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch \ + file://0021-test-json.c-define-M_PIl.patch \ + file://0022-do-not-disable-buffer-in-writing-files.patch \ + file://0025-Handle-__cpu_mask-usage.patch \ + file://0026-Handle-missing-gshadow.patch \ + file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ + " + +PAM_PLUGINS = " \ + pam-plugin-unix \ + pam-plugin-loginuid \ + pam-plugin-keyinit \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit seccomp', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ + backlight \ + binfmt \ + gshadow \ + hibernate \ + hostnamed \ + idn \ + ima \ + kmod \ + localed \ + logind \ + machined \ + myhostname \ + networkd \ + nss \ + nss-mymachines \ + nss-resolve \ + quotacheck \ + randomseed \ + resolved \ + set-time-epoch \ + sysusers \ + sysvinit \ + timedated \ + timesyncd \ + userdb \ + utmp \ + vconsole \ + xz \ +" + +PACKAGECONFIG_remove_libc-musl = " \ + gshadow \ + idn \ + localed \ + myhostname \ + nss \ + nss-mymachines \ + nss-resolve \ + sysusers \ + userdb \ + utmp \ +" + +CFLAGS_append_libc-musl = " -D__UAPI_DEF_ETHHDR=0 " + +# Some of the dependencies are weak-style recommends - if not available at runtime, +# systemd won't fail but the library-related feature will be skipped with a warning. + +# Use the upstream systemd serial-getty@.service and rely on +# systemd-getty-generator instead of using the OE-core specific +# systemd-serialgetty.bb - not enabled by default. +PACKAGECONFIG[serial-getty-generator] = "" + +PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl" +PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit" +PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" +PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" +PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2" +PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid" +PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" +PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup" +PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" +PACKAGECONFIG[efi] = "-Defi=true,-Defi=false" +PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi" +PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils" +PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" +# Sign the journal for anti-tampering +PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt" +PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" +PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" +PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" +PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" +PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" +PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" +# importd requires journal-upload/xz/zlib/bzip2/gcrypt +PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false" +# Update NAT firewall rules +PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables" +PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl" +PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod" +PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig" +PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn" +PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2" +PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false" +PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false" +PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4" +PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" +PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" +PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" +PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false" +PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" +PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false" +PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false" +PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl" +PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}" +PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2" +PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false" +# If polkit is disabled and networkd+hostnamed are in use, enabling this option and +# using dbus-broker will allow networkd to be authorized to change the +# hostname without acquiring additional privileges +PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit" +PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false" +PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode" +PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false" +PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false" +PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false" +PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false" +PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" +PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell" +PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" +PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" +PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d" +# When enabled use reproducble build timestamp if set as time epoch, +# or build time if not. When disabled, time epoch is unset. +def build_epoch(d): + epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1" + return '-Dtime-epoch=%d' % int(epoch) +PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" +PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" +PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" +PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true" +PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true" +PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false" +PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false" +PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind" +PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup" +PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" +# Verify keymaps on locale change +PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon" +PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz" +PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib" + +# Helper variables to clarify locations. This mirrors the logic in systemd's +# build system. +rootprefix ?= "${root_prefix}" +rootlibdir ?= "${base_libdir}" +rootlibexecdir = "${rootprefix}/lib" + +# This links udev statically with systemd helper library. +# Otherwise udev package would depend on systemd package (which has the needed shared library), +# and always pull it into images. +EXTRA_OEMESON += "-Dlink-udev-shared=false" + +EXTRA_OEMESON += "-Dnobody-user=nobody \ + -Dnobody-group=nobody \ + -Drootlibdir=${rootlibdir} \ + -Drootprefix=${rootprefix} \ + -Ddefault-locale=C \ + -Dmode=release \ + -Dsystem-alloc-uid-min=101 \ + -Dsystem-uid-max=999 \ + -Dsystem-alloc-gid-min=101 \ + -Dsystem-gid-max=999 \ + " + +# Hardcode target binary paths to avoid using paths from sysroot +EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \ + -Dkmod-path=${base_bindir}/kmod \ + -Dmount-path=${base_bindir}/mount \ + -Dquotacheck-path=${sbindir}/quotacheck \ + -Dquotaon-path=${sbindir}/quotaon \ + -Dsulogin-path=${base_sbindir}/sulogin \ + -Dnologin-path=${base_sbindir}/nologin \ + -Dumount-path=${base_bindir}/umount" + +do_install() { + meson_do_install + install -d ${D}/${base_sbindir} + if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then + # Provided by a separate recipe + rm ${D}${systemd_unitdir}/system/serial-getty* -f + fi + + # Provide support for initramfs + [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init + [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd + + install -d ${D}${sysconfdir}/udev/rules.d/ + install -d ${D}${sysconfdir}/tmpfiles.d + for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do + install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ + done + + install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd + sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd + install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install + fi + + chown root:systemd-journal ${D}/${localstatedir}/log/journal + + # Delete journal README, as log can be symlinked inside volatile. + rm -f ${D}/${localstatedir}/log/README + + # journal-remote creates this at start + rm -rf ${D}/${localstatedir}/log/journal/remote + + install -d ${D}${systemd_unitdir}/system/graphical.target.wants + install -d ${D}${systemd_unitdir}/system/multi-user.target.wants + install -d ${D}${systemd_unitdir}/system/poweroff.target.wants + install -d ${D}${systemd_unitdir}/system/reboot.target.wants + install -d ${D}${systemd_unitdir}/system/rescue.target.wants + + # Create symlinks for systemd-update-utmp-runlevel.service + if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service + fi + + # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it + # for existence else it fails + if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then + ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)} + fi + if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then + echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf + echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf + echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf + ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd + else + sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf + ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd + fi + if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then + rm ${D}${exec_prefix}/lib/tmpfiles.d/x11.conf + rm -r ${D}${sysconfdir}/X11 + fi + + # If polkit is setup fixup permissions and ownership + if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then + if [ -d ${D}${datadir}/polkit-1/rules.d ]; then + chmod 700 ${D}${datadir}/polkit-1/rules.d + chown polkitd:root ${D}${datadir}/polkit-1/rules.d + fi + fi + + # If polkit is not available and a fallback was requested, install a drop-in that allows networkd to + # request hostname changes via DBUS without elevating its privileges + if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/ + install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/ + install -d ${D}${datadir}/dbus-1/system.d/ + install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ + fi + + # create link for existing udev rules + ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm + + # duplicate udevadm for postinst script + install -d ${D}${libexecdir} + ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm + + # install default policy for presets + # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto + install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset + + # add a profile fragment to disable systemd pager with busybox less + install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh +} + +python populate_packages_prepend (){ + systemdlibdir = d.getVar("rootlibdir") + do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) +} +PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*" + +PACKAGE_BEFORE_PN = "\ + ${PN}-gui \ + ${PN}-vconsole-setup \ + ${PN}-initramfs \ + ${PN}-analyze \ + ${PN}-kernel-install \ + ${PN}-rpm-macros \ + ${PN}-binfmt \ + ${PN}-zsh-completion \ + ${PN}-container \ + ${PN}-journal-gatewayd \ + ${PN}-journal-upload \ + ${PN}-journal-remote \ + ${PN}-extra-utils \ + ${PN}-udev-rules \ + udev \ + udev-hwdb \ +" + +SUMMARY_${PN}-container = "Tools for containers and VMs" +DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines." + +SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events" +DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default." + +SUMMARY_${PN}-journal-upload = "Send journal messages over the network" +DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL." + +SUMMARY_${PN}-journal-remote = "Receive journal messages over the network" +DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files." + +SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ +" +SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service" + +USERADD_PACKAGES = "${PN} ${PN}-extra-utils \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ +" +GROUPADD_PARAM_${PN} = "-r systemd-journal;" +GROUPADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" +USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy" +USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway" +USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote" +USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload" + +FILES_${PN}-analyze = "${bindir}/systemd-analyze" + +FILES_${PN}-initramfs = "/init" +RDEPENDS_${PN}-initramfs = "${PN}" + +FILES_${PN}-gui = "${bindir}/systemadm" + +FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \ + ${systemd_unitdir}/system/systemd-vconsole-setup.service \ + ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service" + +RDEPENDS_${PN}-kernel-install += "bash" +FILES_${PN}-kernel-install = "${bindir}/kernel-install \ + ${sysconfdir}/kernel/ \ + ${exec_prefix}/lib/kernel \ + " +FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \ + " + +FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" + +FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ + ${exec_prefix}/lib/binfmt.d \ + ${rootlibexecdir}/systemd/systemd-binfmt \ + ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \ + ${systemd_unitdir}/system/systemd-binfmt.service" +RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc" + +RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps" + + +FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \ + ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ + ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ + ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \ + ${datadir}/systemd/gatewayd/browse.html \ + " +SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket" + +FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \ + ${systemd_system_unitdir}/systemd-journal-upload.service \ + ${sysconfdir}/systemd/journal-upload.conf \ + " +SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service" + +FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \ + ${sysconfdir}/systemd/journal-remote.conf \ + ${systemd_system_unitdir}/systemd-journal-remote.service \ + ${systemd_system_unitdir}/systemd-journal-remote.socket \ + " +SYSTEMD_SERVICE_${PN}-journal-remote = "systemd-journal-remote.socket" + + +FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ + ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ + ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ + ${base_bindir}/machinectl \ + ${bindir}/systemd-nspawn \ + ${nonarch_libdir}/systemd/import-pubring.gpg \ + ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \ + ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \ + ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/machine.slice \ + ${systemd_system_unitdir}/machines.target \ + ${systemd_system_unitdir}/org.freedesktop.import1.busname \ + ${systemd_system_unitdir}/org.freedesktop.machine1.busname \ + ${systemd_system_unitdir}/systemd-importd.service \ + ${systemd_system_unitdir}/systemd-machined.service \ + ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \ + ${systemd_system_unitdir}/var-lib-machines.mount \ + ${rootlibexecdir}/systemd/systemd-import \ + ${rootlibexecdir}/systemd/systemd-importd \ + ${rootlibexecdir}/systemd/systemd-machined \ + ${rootlibexecdir}/systemd/systemd-pull \ + ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ + ${systemd_system_unitdir}/systemd-nspawn@.service \ + ${libdir}/libnss_mymachines.so.2 \ + ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \ + ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \ + ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \ + ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \ + ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \ + " + +# "machinectl import-tar" uses "tar --numeric-owner", not supported by busybox. +RRECOMMENDS_${PN}-container += "\ + ${PN}-journal-gatewayd \ + ${PN}-journal-remote \ + ${PN}-journal-upload \ + kernel-module-dm-mod \ + kernel-module-loop \ + kernel-module-tun \ + tar \ + " + +FILES_${PN}-extra-utils = "\ + ${base_bindir}/systemd-escape \ + ${base_bindir}/systemd-inhibit \ + ${bindir}/systemd-detect-virt \ + ${bindir}/systemd-dissect \ + ${bindir}/systemd-path \ + ${bindir}/systemd-run \ + ${bindir}/systemd-cat \ + ${bindir}/systemd-delta \ + ${bindir}/systemd-cgls \ + ${bindir}/systemd-cgtop \ + ${bindir}/systemd-stdio-bridge \ + ${base_bindir}/systemd-ask-password \ + ${base_bindir}/systemd-tty-ask-password-agent \ + ${systemd_unitdir}/system/systemd-ask-password-console.path \ + ${systemd_unitdir}/system/systemd-ask-password-console.service \ + ${systemd_unitdir}/system/systemd-ask-password-wall.path \ + ${systemd_unitdir}/system/systemd-ask-password-wall.service \ + ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \ + ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \ + ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \ + ${rootlibexecdir}/systemd/systemd-resolve-host \ + ${rootlibexecdir}/systemd/systemd-ac-power \ + ${rootlibexecdir}/systemd/systemd-activate \ + ${rootlibexecdir}/systemd/systemd-bus-proxyd \ + ${systemd_unitdir}/system/systemd-bus-proxyd.service \ + ${systemd_unitdir}/system/systemd-bus-proxyd.socket \ + ${rootlibexecdir}/systemd/systemd-socket-proxyd \ + ${rootlibexecdir}/systemd/systemd-reply-password \ + ${rootlibexecdir}/systemd/systemd-sleep \ + ${rootlibexecdir}/systemd/system-sleep \ + ${systemd_unitdir}/system/systemd-hibernate.service \ + ${systemd_unitdir}/system/systemd-hybrid-sleep.service \ + ${systemd_unitdir}/system/systemd-suspend.service \ + ${systemd_unitdir}/system/sleep.target \ + ${rootlibexecdir}/systemd/systemd-initctl \ + ${systemd_unitdir}/system/systemd-initctl.service \ + ${systemd_unitdir}/system/systemd-initctl.socket \ + ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \ + ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ + ${rootlibexecdir}/systemd/systemd-cgroups-agent \ +" + +FILES_${PN}-udev-rules = "\ + ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \ + ${rootlibexecdir}/udev/rules.d/71-seat.rules \ + ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \ + ${rootlibexecdir}/udev/rules.d/99-systemd.rules \ +" + +CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \ + ${sysconfdir}/systemd/journald.conf \ + ${sysconfdir}/systemd/logind.conf \ + ${sysconfdir}/systemd/networkd.conf \ + ${sysconfdir}/systemd/pstore.conf \ + ${sysconfdir}/systemd/resolved.conf \ + ${sysconfdir}/systemd/sleep.conf \ + ${sysconfdir}/systemd/system.conf \ + ${sysconfdir}/systemd/timesyncd.conf \ + ${sysconfdir}/systemd/user.conf \ +" + +FILES_${PN} = " ${base_bindir}/* \ + ${base_sbindir}/shutdown \ + ${base_sbindir}/halt \ + ${base_sbindir}/poweroff \ + ${base_sbindir}/runlevel \ + ${base_sbindir}/telinit \ + ${base_sbindir}/resolvconf \ + ${base_sbindir}/reboot \ + ${base_sbindir}/init \ + ${datadir}/dbus-1/services \ + ${datadir}/dbus-1/system-services \ + ${datadir}/polkit-1 \ + ${datadir}/${BPN} \ + ${datadir}/factory \ + ${sysconfdir}/dbus-1/ \ + ${sysconfdir}/modules-load.d/ \ + ${sysconfdir}/pam.d/ \ + ${sysconfdir}/profile.d/ \ + ${sysconfdir}/sysctl.d/ \ + ${sysconfdir}/systemd/ \ + ${sysconfdir}/tmpfiles.d/ \ + ${sysconfdir}/xdg/ \ + ${sysconfdir}/init.d/README \ + ${sysconfdir}/resolv-conf.systemd \ + ${sysconfdir}/X11/xinit/xinitrc.d/* \ + ${rootlibexecdir}/systemd/* \ + ${libdir}/pam.d \ + ${nonarch_libdir}/pam.d \ + ${systemd_unitdir}/* \ + ${base_libdir}/security/*.so \ + /cgroup \ + ${bindir}/systemd* \ + ${bindir}/busctl \ + ${bindir}/coredumpctl \ + ${bindir}/localectl \ + ${bindir}/hostnamectl \ + ${bindir}/resolvectl \ + ${bindir}/timedatectl \ + ${bindir}/bootctl \ + ${bindir}/oomctl \ + ${exec_prefix}/lib/tmpfiles.d/*.conf \ + ${exec_prefix}/lib/systemd \ + ${exec_prefix}/lib/modules-load.d \ + ${exec_prefix}/lib/sysctl.d \ + ${exec_prefix}/lib/sysusers.d \ + ${exec_prefix}/lib/environment.d \ + ${localstatedir} \ + ${rootlibexecdir}/modprobe.d/systemd.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \ + ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \ + " + +FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" + +RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck" +RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" +RDEPENDS_${PN} += "volatile-binds" + +RRECOMMENDS_${PN} += "systemd-extra-utils \ + udev-hwdb \ + e2fsprogs-e2fsck \ + kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \ + os-release \ + systemd-conf \ +" + +INSANE_SKIP_${PN} += "dev-so libdir" +INSANE_SKIP_${PN}-dbg += "libdir" +INSANE_SKIP_${PN}-doc += " libdir" + +RPROVIDES_udev = "hotplug" + +RDEPENDS_udev-hwdb += "udev" + +FILES_udev += "${base_sbindir}/udevd \ + ${rootlibexecdir}/systemd/network/99-default.link \ + ${rootlibexecdir}/systemd/systemd-udevd \ + ${rootlibexecdir}/udev/accelerometer \ + ${rootlibexecdir}/udev/ata_id \ + ${rootlibexecdir}/udev/cdrom_id \ + ${rootlibexecdir}/udev/collect \ + ${rootlibexecdir}/udev/fido_id \ + ${rootlibexecdir}/udev/findkeyboards \ + ${rootlibexecdir}/udev/keyboard-force-release.sh \ + ${rootlibexecdir}/udev/keymap \ + ${rootlibexecdir}/udev/mtd_probe \ + ${rootlibexecdir}/udev/scsi_id \ + ${rootlibexecdir}/udev/v4l_id \ + ${rootlibexecdir}/udev/keymaps \ + ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \ + ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \ + ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \ + ${rootlibexecdir}/udev/rules.d/60-block.rules \ + ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \ + ${rootlibexecdir}/udev/rules.d/60-drm.rules \ + ${rootlibexecdir}/udev/rules.d/60-evdev.rules \ + ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \ + ${rootlibexecdir}/udev/rules.d/60-input-id.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \ + ${rootlibexecdir}/udev/rules.d/60-sensor.rules \ + ${rootlibexecdir}/udev/rules.d/60-serial.rules \ + ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \ + ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \ + ${rootlibexecdir}/udev/rules.d/70-joystick.rules \ + ${rootlibexecdir}/udev/rules.d/70-mouse.rules \ + ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \ + ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \ + ${rootlibexecdir}/udev/rules.d/75-net-description.rules \ + ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \ + ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \ + ${rootlibexecdir}/udev/rules.d/80-drivers.rules \ + ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \ + ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \ + ${sysconfdir}/udev \ + ${sysconfdir}/init.d/systemd-udevd \ + ${systemd_unitdir}/system/*udev* \ + ${systemd_unitdir}/system/*.wants/*udev* \ + ${base_bindir}/systemd-hwdb \ + ${base_bindir}/udevadm \ + ${base_sbindir}/udevadm \ + ${libexecdir}/${MLPREFIX}udevadm \ + ${datadir}/bash-completion/completions/udevadm \ + ${systemd_unitdir}/system/systemd-hwdb-update.service \ + " + +FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \ + " + +RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" + +INITSCRIPT_PACKAGES = "udev" +INITSCRIPT_NAME_udev = "systemd-udevd" +INITSCRIPT_PARAMS_udev = "start 03 S ." + +python __anonymous() { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") +} + +python do_warn_musl() { + if d.getVar('TCLIBC') == "musl": + bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.") +} +addtask warn_musl before do_configure + +ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" + +ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" +ALTERNATIVE_PRIORITY[resolv-conf] ?= "50" + +ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" +ALTERNATIVE_PRIORITY[halt] ?= "300" + +ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot" +ALTERNATIVE_PRIORITY[reboot] ?= "300" + +ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown" +ALTERNATIVE_PRIORITY[shutdown] ?= "300" + +ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" +ALTERNATIVE_PRIORITY[poweroff] ?= "300" + +ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" +ALTERNATIVE_PRIORITY[runlevel] ?= "300" + +pkg_postinst_${PN}_libc-glibc () { + sed -e '/^hosts:/s/\s*\//' \ + -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 myhostname \3\4\5/' \ + -i $D${sysconfdir}/nsswitch.conf +} + +pkg_prerm_${PN}_libc-glibc () { + sed -e '/^hosts:/s/\s*\//' \ + -e '/^hosts:/s/\s*myhostname//' \ + -i $D${sysconfdir}/nsswitch.conf +} + +PACKAGE_WRITE_DEPS += "qemu-native" +pkg_postinst_udev-hwdb () { + if test -n "$D"; then + $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" + else + udevadm hwdb --update + fi +} + +pkg_prerm_udev-hwdb () { + rm -f $D${sysconfdir}/udev/hwdb.bin +} diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty b/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty index dfa799ada..699a1ead1 100644 --- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty +++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty @@ -1,17 +1,4 @@ #!/bin/sh -############################################################################### -# This script is used to automatically set up the serial console(s) on startup. -# The variable SERIAL_CONSOLES can be set in meta/conf/machine/*.conf. -# Script enhancement has been done based on Bug YOCTO #10844. -# Most of the information is retrieved from /proc virtual filesystem containing -# all the runtime system information (eg. system memory, device mount, etc). -############################################################################### - -# Get active serial filename. -active_serial=$(grep "serial" /proc/tty/drivers | cut -d/ -f1 | sed "s/ *$//") - -# Rephrase input parameter from ttyS target index (ttyS1, ttyS2, ttyAMA0, etc). -runtime_tty=$(echo $2 | grep -oh '[0-9]\+') # busybox' getty does this itself, util-linux' agetty needs extra help getty="/sbin/getty" @@ -25,31 +12,6 @@ case $(readlink -f "${getty}") in ;; esac -# Backup $IFS. -DEFAULT_IFS=$IFS -# Customize Internal Field Separator. -IFS="$(printf '\n\t')" - -for line in $active_serial; do - # Check we have the file containing current active serial target index. - if [ -e "/proc/tty/driver/$line" ] - then - # Remove all unknown entries and discard the first line (desc). - activetty=$(grep -v "unknown" "/proc/tty/driver/$line" \ - | tail -n +2 | grep -oh "^\s*\S*[0-9]\+") - for active in $activetty; do - # If indexes do match then enable the serial console. - if [ $active -eq $runtime_tty ] - then - if [ -c /dev/$2 ] - then - ${setsid:-} ${getty} -L $1 $2 $3 - fi - break - fi - done - fi -done - -# Restore $IFS. -IFS=$DEFAULT_IFS +if [ -e /sys/class/tty/$2 -a -c /dev/$2 ]; then + ${setsid:-} ${getty} -L $1 $2 $3 +fi diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb index 0af116f35..d95d1a63f 100644 --- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb +++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb @@ -53,10 +53,6 @@ EOF fi } -do_install_append_qemuppc64 () { - echo "9:12345:respawn:${base_sbindir}/getty 38400 hvc0" >> ${D}${sysconfdir}/inittab -} - pkg_postinst_${PN} () { # run this on host and on target if [ "${SERIAL_CONSOLES_CHECK}" = "" ]; then diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch b/poky/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch new file mode 100644 index 000000000..f1816836b --- /dev/null +++ b/poky/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch @@ -0,0 +1,48 @@ +From e849b161ce1d87ab369b921438abcf5b3a03e186 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 25 Apr 2021 08:57:03 -0700 +Subject: [PATCH] Hide fstatat64 and prlimit64 defines on musl + +musl defines fstatat64 and prlimit64 as macros which confuses the +seccomp sysall rewiring since there are syscalls with same names + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + methods/aptmethod.h | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/methods/aptmethod.h b/methods/aptmethod.h +index bd50e80..3085aed 100644 +--- a/methods/aptmethod.h ++++ b/methods/aptmethod.h +@@ -121,6 +121,12 @@ protected: + if (ctx == NULL) + return _error->FatalE("HttpMethod::Configuration", "Cannot init seccomp"); + ++#ifndef __GLIBC__ ++#pragma push_macro("fstatat64") ++#pragma push_macro("prlimit64") ++#undef fstatat64 ++#undef prlimit64 ++#endif + #define ALLOW(what) \ + if ((rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(what), 0))) \ + return _error->FatalE("HttpMethod::Configuration", "Cannot allow %s: %s", #what, strerror(-rc)); +@@ -320,9 +326,11 @@ protected: + if ((rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, seccomp_syscall_resolve_name(custom.c_str()), 0))) + return _error->FatalE("aptMethod::Configuration", "Cannot allow %s: %s", custom.c_str(), strerror(-rc)); + } +- + #undef ALLOW +- ++#ifndef __GLIBC__ ++#pragma pop_macro("fstatat64") ++#pragma pop_macro("prlimit64") ++#endif + rc = seccomp_load(ctx); + if (rc == -EINVAL) + { +-- +2.31.1 + diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.2.bb b/poky/meta/recipes-devtools/apt/apt_2.2.2.bb index 7d1bce558..192aec46b 100644 --- a/poky/meta/recipes-devtools/apt/apt_2.2.2.bb +++ b/poky/meta/recipes-devtools/apt/apt_2.2.2.bb @@ -12,6 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \ file://0001-srvrec-Keep-support-for-older-resolver.patch \ file://0001-cmake-Do-not-build-po-files.patch \ + file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \ " SRC_URI_append_class-native = " \ @@ -45,6 +46,7 @@ EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ -DDPKG_DATADIR=${datadir}/dpkg \ -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \ -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \ + -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ -DWITH_TESTS=False \ " diff --git a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb deleted file mode 100644 index 13593d7bb..000000000 --- a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "a collection of freely re-usable Autoconf macros" -HOMEPAGE = "http://www.gnu.org/software/autoconf-archive/" -SECTION = "devel" -LICENSE = "GPL-3.0-with-autoconf-exception" -LIC_FILES_CHKSUM = "file://COPYING;md5=11cc2d3ee574f9d6b7ee797bdce4d423 \ - file://COPYING.EXCEPTION;md5=fdef168ebff3bc2f13664c365a5fb515" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "d46413c8b00a125b1529bae385bbec55" -SRC_URI[sha256sum] = "17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f" - -inherit autotools allarch texinfo - -PACKAGES = "${PN} ${PN}-doc" - -FILES_${PN} += "${datadir}/aclocal" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2021.02.19.bb b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2021.02.19.bb new file mode 100644 index 000000000..54079b5f0 --- /dev/null +++ b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2021.02.19.bb @@ -0,0 +1,17 @@ +SUMMARY = "a collection of freely re-usable Autoconf macros" +HOMEPAGE = "http://www.gnu.org/software/autoconf-archive/" +SECTION = "devel" +LICENSE = "GPL-3.0-with-autoconf-exception" +LIC_FILES_CHKSUM = "file://COPYING;md5=11cc2d3ee574f9d6b7ee797bdce4d423 \ + file://COPYING.EXCEPTION;md5=fdef168ebff3bc2f13664c365a5fb515" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd" + +inherit autotools allarch texinfo + +PACKAGES = "${PN} ${PN}-doc" + +FILES_${PN} += "${datadir}/aclocal" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.36.inc b/poky/meta/recipes-devtools/binutils/binutils-2.36.inc index 296829188..66080dfce 100644 --- a/poky/meta/recipes-devtools/binutils/binutils-2.36.inc +++ b/poky/meta/recipes-devtools/binutils/binutils-2.36.inc @@ -10,22 +10,16 @@ LIC_FILES_CHKSUM="\ file://bfd/COPYING;md5=d32239bcb673463ab874e80d47fae504\ " -def binutils_branch_version(d): - pvsplit = d.getVar('PV').split('.') - return pvsplit[0] + "_" + pvsplit[1] - # When upgrading to 2.37, please make sure there is no trailing .0, so # that upstream version check can work correctly. PV = "2.36.1" CVE_VERSION = "2.36.1" -BINUPV = "${@binutils_branch_version(d)}" -#BRANCH = "binutils-${BINUPV}-branch" -BRANCH ?= "binutils-2_36-branch" +SRCBRANCH ?= "binutils-2_36-branch" UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P\d+_(\d_?)*)" SRCREV ?= "7651a4871c225925ffdfda0a8c91a6ed370cd9a1" -BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${BRANCH};protocol=git" +BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=git" SRC_URI = "\ ${BINUTILS_GIT_URI} \ file://0004-configure-widen-the-regexp-for-SH-architectures.patch \ @@ -41,5 +35,7 @@ SRC_URI = "\ file://0014-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \ file://0015-sync-with-OE-libtool-changes.patch \ file://0016-Check-for-clang-before-checking-gcc-version.patch \ + file://0017-Add-support-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch \ + file://CVE-2021-20197.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/binutils/binutils/0017-Add-support-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch b/poky/meta/recipes-devtools/binutils/binutils/0017-Add-support-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch new file mode 100644 index 000000000..b4880e0d1 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0017-Add-support-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch @@ -0,0 +1,183 @@ +From a50c11a7a47b26e6a3e095dfb72aa2e465919fb6 Mon Sep 17 00:00:00 2001 +From: Nick Clifton +Date: Fri, 5 Mar 2021 17:06:59 +0000 +Subject: [PATCH] Add support for the DW_FORM_strx* forms to the BFD library. + + PR 27521 + * dwarf2.c (is_str_attr): Add DW_FORM_strx* forms. + (read_indexed_string): Placeholder function. + (read_attribute_value): Handle DW_FORM_strx* and DW_FORM_addrx* + forms. + +Upstream-Status: Backport [https://sourceware.org/bugzilla/show_bug.cgi?id=27521] +Signed-off-by: Khem Raj +--- + bfd/dwarf2.c | 105 ++++++++++++++++++++++++++++++++------------------- + 1 file changed, 67 insertions(+), 38 deletions(-) + +diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c +index 5651696c0f7..5ffcd93f54c 100644 +--- a/bfd/dwarf2.c ++++ b/bfd/dwarf2.c +@@ -1160,8 +1160,23 @@ read_abbrevs (bfd *abfd, bfd_uint64_t offset, struct dwarf2_debug *stash, + static inline bfd_boolean + is_str_attr (enum dwarf_form form) + { +- return (form == DW_FORM_string || form == DW_FORM_strp +- || form == DW_FORM_line_strp || form == DW_FORM_GNU_strp_alt); ++ return (form == DW_FORM_string ++ || form == DW_FORM_strp ++ || form == DW_FORM_strx ++ || form == DW_FORM_strx1 ++ || form == DW_FORM_strx2 ++ || form == DW_FORM_strx3 ++ || form == DW_FORM_strx4 ++ || form == DW_FORM_line_strp ++ || form == DW_FORM_GNU_strp_alt); ++} ++ ++static const char * ++read_indexed_string (bfd_uint64_t index ATTRIBUTE_UNUSED, ++ struct comp_unit * unit ATTRIBUTE_UNUSED) ++{ ++ /* FIXME: Add support for indexed strings. */ ++ return ""; + } + + /* Read and fill in the value of attribute ATTR as described by FORM. +@@ -1192,6 +1207,9 @@ read_attribute_value (struct attribute * attr, + + switch (form) + { ++ case DW_FORM_flag_present: ++ attr->u.val = 1; ++ break; + case DW_FORM_ref_addr: + /* DW_FORM_ref_addr is an address in DWARF2, and an offset in + DWARF3. */ +@@ -1237,15 +1255,32 @@ read_attribute_value (struct attribute * attr, + info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk); + attr->u.blk = blk; + break; ++ case DW_FORM_ref1: ++ case DW_FORM_flag: ++ case DW_FORM_data1: ++ case DW_FORM_addrx1: ++ attr->u.val = read_1_byte (abfd, info_ptr, info_ptr_end); ++ info_ptr += 1; ++ break; + case DW_FORM_data2: ++ case DW_FORM_ref2: + attr->u.val = read_2_bytes (abfd, info_ptr, info_ptr_end); + info_ptr += 2; + break; ++ case DW_FORM_addrx3: ++ attr->u.val = read_4_bytes (abfd, info_ptr, info_ptr_end); ++ attr->u.val &= 0xffffff; ++ info_ptr += 3; ++ break; ++ case DW_FORM_ref4: + case DW_FORM_data4: ++ case DW_FORM_addrx4: + attr->u.val = read_4_bytes (abfd, info_ptr, info_ptr_end); + info_ptr += 4; + break; + case DW_FORM_data8: ++ case DW_FORM_ref8: ++ case DW_FORM_ref_sig8: + attr->u.val = read_8_bytes (abfd, info_ptr, info_ptr_end); + info_ptr += 8; + break; +@@ -1265,6 +1300,33 @@ read_attribute_value (struct attribute * attr, + attr->u.str = read_alt_indirect_string (unit, info_ptr, info_ptr_end, &bytes_read); + info_ptr += bytes_read; + break; ++ case DW_FORM_strx1: ++ attr->u.val = read_1_byte (abfd, info_ptr, info_ptr_end); ++ info_ptr += 1; ++ attr->u.str = (char *) read_indexed_string (attr->u.val, unit); ++ break; ++ case DW_FORM_strx2: ++ attr->u.val = read_2_bytes (abfd, info_ptr, info_ptr_end); ++ info_ptr += 2; ++ attr->u.str = (char *) read_indexed_string (attr->u.val, unit); ++ break; ++ case DW_FORM_strx3: ++ attr->u.val = read_4_bytes (abfd, info_ptr, info_ptr_end); ++ info_ptr += 3; ++ attr->u.val &= 0xffffff; ++ attr->u.str = (char *) read_indexed_string (attr->u.val, unit); ++ break; ++ case DW_FORM_strx4: ++ attr->u.val = read_4_bytes (abfd, info_ptr, info_ptr_end); ++ info_ptr += 4; ++ attr->u.str = (char *) read_indexed_string (attr->u.val, unit); ++ break; ++ case DW_FORM_strx: ++ attr->u.val = _bfd_safe_read_leb128 (abfd, info_ptr, &bytes_read, ++ FALSE, info_ptr_end); ++ info_ptr += bytes_read; ++ attr->u.str = (char *) read_indexed_string (attr->u.val, unit); ++ break; + case DW_FORM_exprloc: + case DW_FORM_block: + amt = sizeof (struct dwarf_block); +@@ -1287,48 +1349,14 @@ read_attribute_value (struct attribute * attr, + info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk); + attr->u.blk = blk; + break; +- case DW_FORM_data1: +- attr->u.val = read_1_byte (abfd, info_ptr, info_ptr_end); +- info_ptr += 1; +- break; +- case DW_FORM_flag: +- attr->u.val = read_1_byte (abfd, info_ptr, info_ptr_end); +- info_ptr += 1; +- break; +- case DW_FORM_flag_present: +- attr->u.val = 1; +- break; + case DW_FORM_sdata: + attr->u.sval = _bfd_safe_read_leb128 (abfd, info_ptr, &bytes_read, + TRUE, info_ptr_end); + info_ptr += bytes_read; + break; +- case DW_FORM_udata: +- attr->u.val = _bfd_safe_read_leb128 (abfd, info_ptr, &bytes_read, +- FALSE, info_ptr_end); +- info_ptr += bytes_read; +- break; +- case DW_FORM_ref1: +- attr->u.val = read_1_byte (abfd, info_ptr, info_ptr_end); +- info_ptr += 1; +- break; +- case DW_FORM_ref2: +- attr->u.val = read_2_bytes (abfd, info_ptr, info_ptr_end); +- info_ptr += 2; +- break; +- case DW_FORM_ref4: +- attr->u.val = read_4_bytes (abfd, info_ptr, info_ptr_end); +- info_ptr += 4; +- break; +- case DW_FORM_ref8: +- attr->u.val = read_8_bytes (abfd, info_ptr, info_ptr_end); +- info_ptr += 8; +- break; +- case DW_FORM_ref_sig8: +- attr->u.val = read_8_bytes (abfd, info_ptr, info_ptr_end); +- info_ptr += 8; +- break; + case DW_FORM_ref_udata: ++ case DW_FORM_udata: ++ case DW_FORM_addrx: + attr->u.val = _bfd_safe_read_leb128 (abfd, info_ptr, &bytes_read, + FALSE, info_ptr_end); + info_ptr += bytes_read; +@@ -1361,6 +1389,7 @@ read_attribute_value (struct attribute * attr, + info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk); + attr->u.blk = blk; + break; ++ + default: + _bfd_error_handler (_("DWARF error: invalid or unhandled FORM value: %#x"), + form); diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2021-20197.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2021-20197.patch new file mode 100644 index 000000000..d6117b65a --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2021-20197.patch @@ -0,0 +1,388 @@ +From d3edaa91d4cf7202ec14342410194841e2f67f12 Mon Sep 17 00:00:00 2001 +From: Alan Modra +Date: Fri, 26 Feb 2021 11:30:32 +1030 +Subject: [PATCH] Reinstate various pieces backed out from smart_rename changes + +In the interests of a stable release various last minute smart_rename +patches were backed out of the 2.36 branch. The main reason to +reinstate some of those backed out changes here is to make necessary +followup fixes to commit 8e03235147a9 simple cherry-picks from +mainline. A secondary reason is that ar -M support isn't fixed for +pr26945 without this patch. + + PR 26945 + * ar.c: Don't include libbfd.h. + (write_archive): Replace xmalloc+strcpy with xstrdup. + * arsup.c (temp_name, real_ofd): New static variables. + (ar_open): Use make_tempname and bfd_fdopenw. + (ar_save): Adjust to suit ar_open changes. + * objcopy.c: Don't include libbfd.h. + * rename.c: Rename and reorder variables. + +(cherry picked from commit 95b91a043aeaeb546d2fea556d84a2de1e917770) + +Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d3edaa91d4cf7202ec14342410194841e2f67f12] +CVE: CVE-2021-20197 +Signed-off-by: Vinay Kumar +--- + binutils/ar.c | 6 +- + binutils/arsup.c | 37 ++++++++---- + binutils/bucomm.h | 3 +- + binutils/objcopy.c | 9 +-- + binutils/rename.c | 148 +++++++++++---------------------------------- + 5 files changed, 67 insertions(+), 136 deletions(-) + +diff --git a/binutils/ar.c b/binutils/ar.c +index 45a34e3a6cf..44df48c5c67 100644 +--- a/binutils/ar.c ++++ b/binutils/ar.c +@@ -25,7 +25,6 @@ + + #include "sysdep.h" + #include "bfd.h" +-#include "libbfd.h" + #include "libiberty.h" + #include "progress.h" + #include "getopt.h" +@@ -1255,8 +1254,7 @@ write_archive (bfd *iarch) + bfd *contents_head = iarch->archive_next; + int ofd = -1; + +- old_name = (char *) xmalloc (strlen (bfd_get_filename (iarch)) + 1); +- strcpy (old_name, bfd_get_filename (iarch)); ++ old_name = xstrdup (bfd_get_filename (iarch)); + new_name = make_tempname (old_name, &ofd); + + if (new_name == NULL) +@@ -1308,7 +1306,7 @@ write_archive (bfd *iarch) + /* We don't care if this fails; we might be creating the archive. */ + bfd_close (iarch); + +- if (smart_rename (new_name, old_name, 0) != 0) ++ if (smart_rename (new_name, old_name, NULL) != 0) + xexit (1); + free (old_name); + free (new_name); +diff --git a/binutils/arsup.c b/binutils/arsup.c +index 5403a0c5d74..f7ce8f0bc82 100644 +--- a/binutils/arsup.c ++++ b/binutils/arsup.c +@@ -42,6 +42,8 @@ extern int deterministic; + + static bfd *obfd; + static char *real_name; ++static char *temp_name; ++static int real_ofd; + static FILE *outfile; + + static void +@@ -149,27 +151,24 @@ maybequit (void) + void + ar_open (char *name, int t) + { +- char *tname; +- const char *bname = lbasename (name); +- real_name = name; ++ real_name = xstrdup (name); ++ temp_name = make_tempname (real_name, &real_ofd); + +- /* Prepend tmp- to the beginning, to avoid file-name clashes after +- truncation on filesystems with limited namespaces (DOS). */ +- if (asprintf (&tname, "%.*stmp-%s", (int) (bname - name), name, bname) == -1) ++ if (temp_name == NULL) + { +- fprintf (stderr, _("%s: Can't allocate memory for temp name (%s)\n"), ++ fprintf (stderr, _("%s: Can't open temporary file (%s)\n"), + program_name, strerror(errno)); + maybequit (); + return; + } + +- obfd = bfd_openw (tname, NULL); ++ obfd = bfd_fdopenw (temp_name, NULL, real_ofd); + + if (!obfd) + { + fprintf (stderr, + _("%s: Can't open output archive %s\n"), +- program_name, tname); ++ program_name, temp_name); + + maybequit (); + } +@@ -344,16 +343,30 @@ ar_save (void) + } + else + { +- char *ofilename = xstrdup (bfd_get_filename (obfd)); ++ struct stat target_stat; + + if (deterministic > 0) + obfd->flags |= BFD_DETERMINISTIC_OUTPUT; + + bfd_close (obfd); + +- smart_rename (ofilename, real_name, 0); ++ if (stat (real_name, &target_stat) != 0) ++ { ++ /* The temp file created in ar_open has mode 0600 as per mkstemp. ++ Create the real empty output file here so smart_rename will ++ update the mode according to the process umask. */ ++ obfd = bfd_openw (real_name, NULL); ++ if (obfd != NULL) ++ { ++ bfd_set_format (obfd, bfd_archive); ++ bfd_close (obfd); ++ } ++ } ++ ++ smart_rename (temp_name, real_name, NULL); + obfd = 0; +- free (ofilename); ++ free (temp_name); ++ free (real_name); + } + } + +diff --git a/binutils/bucomm.h b/binutils/bucomm.h +index 91f6a5b228f..aa7e33d8cd1 100644 +--- a/binutils/bucomm.h ++++ b/binutils/bucomm.h +@@ -71,7 +71,8 @@ extern void print_version (const char *); + /* In rename.c. */ + extern void set_times (const char *, const struct stat *); + +-extern int smart_rename (const char *, const char *, int); ++extern int smart_rename (const char *, const char *, struct stat *); ++ + + /* In libiberty. */ + void *xmalloc (size_t); +diff --git a/binutils/objcopy.c b/binutils/objcopy.c +index eab3b6db585..73aa8bc2514 100644 +--- a/binutils/objcopy.c ++++ b/binutils/objcopy.c +@@ -20,7 +20,6 @@ + + #include "sysdep.h" + #include "bfd.h" +-#include "libbfd.h" + #include "progress.h" + #include "getopt.h" + #include "libiberty.h" +@@ -4861,12 +4860,10 @@ strip_main (int argc, char *argv[]) + output_target, NULL); + if (status == 0) + { +- if (preserve_dates) +- set_times (tmpname, &statbuf); + if (output_file != tmpname) + status = (smart_rename (tmpname, + output_file ? output_file : argv[i], +- preserve_dates) != 0); ++ preserve_dates ? &statbuf : NULL) != 0); + if (status == 0) + status = hold_status; + } +@@ -5931,11 +5928,9 @@ copy_main (int argc, char *argv[]) + output_target, input_arch); + if (status == 0) + { +- if (preserve_dates) +- set_times (tmpname, &statbuf); + if (tmpname != output_filename) + status = (smart_rename (tmpname, input_filename, +- preserve_dates) != 0); ++ preserve_dates ? &statbuf : NULL) != 0); + } + else + unlink_if_ordinary (tmpname); +diff --git a/binutils/rename.c b/binutils/rename.c +index 65ad5bf52c4..72a9323d72c 100644 +--- a/binutils/rename.c ++++ b/binutils/rename.c +@@ -24,14 +24,9 @@ + + #ifdef HAVE_GOOD_UTIME_H + #include +-#else /* ! HAVE_GOOD_UTIME_H */ +-#ifdef HAVE_UTIMES ++#elif defined HAVE_UTIMES + #include +-#endif /* HAVE_UTIMES */ +-#endif /* ! HAVE_GOOD_UTIME_H */ +- +-#if ! defined (_WIN32) || defined (__CYGWIN32__) +-static int simple_copy (const char *, const char *); ++#endif + + /* The number of bytes to copy at once. */ + #define COPY_BUF 8192 +@@ -82,7 +77,6 @@ simple_copy (const char *from, const char *to) + } + return 0; + } +-#endif /* __CYGWIN32__ or not _WIN32 */ + + /* Set the times of the file DESTINATION to be the same as those in + STATBUF. */ +@@ -91,122 +85,52 @@ void + set_times (const char *destination, const struct stat *statbuf) + { + int result; +- +- { + #ifdef HAVE_GOOD_UTIME_H +- struct utimbuf tb; +- +- tb.actime = statbuf->st_atime; +- tb.modtime = statbuf->st_mtime; +- result = utime (destination, &tb); +-#else /* ! HAVE_GOOD_UTIME_H */ +-#ifndef HAVE_UTIMES +- long tb[2]; +- +- tb[0] = statbuf->st_atime; +- tb[1] = statbuf->st_mtime; +- result = utime (destination, tb); +-#else /* HAVE_UTIMES */ +- struct timeval tv[2]; +- +- tv[0].tv_sec = statbuf->st_atime; +- tv[0].tv_usec = 0; +- tv[1].tv_sec = statbuf->st_mtime; +- tv[1].tv_usec = 0; +- result = utimes (destination, tv); +-#endif /* HAVE_UTIMES */ +-#endif /* ! HAVE_GOOD_UTIME_H */ +- } ++ struct utimbuf tb; ++ ++ tb.actime = statbuf->st_atime; ++ tb.modtime = statbuf->st_mtime; ++ result = utime (destination, &tb); ++#elif defined HAVE_UTIMES ++ struct timeval tv[2]; ++ ++ tv[0].tv_sec = statbuf->st_atime; ++ tv[0].tv_usec = 0; ++ tv[1].tv_sec = statbuf->st_mtime; ++ tv[1].tv_usec = 0; ++ result = utimes (destination, tv); ++#else ++ long tb[2]; ++ ++ tb[0] = statbuf->st_atime; ++ tb[1] = statbuf->st_mtime; ++ result = utime (destination, tb); ++#endif + + if (result != 0) + non_fatal (_("%s: cannot set time: %s"), destination, strerror (errno)); + } + +-#ifndef S_ISLNK +-#ifdef S_IFLNK +-#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +-#else +-#define S_ISLNK(m) 0 +-#define lstat stat +-#endif +-#endif +- +-/* Rename FROM to TO, copying if TO is a link. +- Return 0 if ok, -1 if error. */ ++/* Copy FROM to TO. TARGET_STAT has the file status that, if non-NULL, ++ is used to fix up timestamps. Return 0 if ok, -1 if error. ++ At one time this function renamed files, but file permissions are ++ tricky to update given the number of different schemes used by ++ various systems. So now we just copy. */ + + int +-smart_rename (const char *from, const char *to, int preserve_dates ATTRIBUTE_UNUSED) ++smart_rename (const char *from, const char *to, ++ struct stat *target_stat) + { +- bfd_boolean exists; +- struct stat s; +- int ret = 0; +- +- exists = lstat (to, &s) == 0; +- +-#if defined (_WIN32) && !defined (__CYGWIN32__) +- /* Win32, unlike unix, will not erase `to' in `rename(from, to)' but +- fail instead. Also, chown is not present. */ ++ int ret; + +- if (exists) +- remove (to); +- +- ret = rename (from, to); ++ ret = simple_copy (from, to); + if (ret != 0) +- { +- /* We have to clean up here. */ +- non_fatal (_("unable to rename '%s'; reason: %s"), to, strerror (errno)); +- unlink (from); +- } +-#else +- /* Use rename only if TO is not a symbolic link and has +- only one hard link, and we have permission to write to it. */ +- if (! exists +- || (!S_ISLNK (s.st_mode) +- && S_ISREG (s.st_mode) +- && (s.st_mode & S_IWUSR) +- && s.st_nlink == 1) +- ) +- { +- ret = rename (from, to); +- if (ret == 0) +- { +- if (exists) +- { +- /* Try to preserve the permission bits and ownership of +- TO. First get the mode right except for the setuid +- bit. Then change the ownership. Then fix the setuid +- bit. We do the chmod before the chown because if the +- chown succeeds, and we are a normal user, we won't be +- able to do the chmod afterward. We don't bother to +- fix the setuid bit first because that might introduce +- a fleeting security problem, and because the chown +- will clear the setuid bit anyhow. We only fix the +- setuid bit if the chown succeeds, because we don't +- want to introduce an unexpected setuid file owned by +- the user running objcopy. */ +- chmod (to, s.st_mode & 0777); +- if (chown (to, s.st_uid, s.st_gid) >= 0) +- chmod (to, s.st_mode & 07777); +- } +- } +- else +- { +- /* We have to clean up here. */ +- non_fatal (_("unable to rename '%s'; reason: %s"), to, strerror (errno)); +- unlink (from); +- } +- } +- else +- { +- ret = simple_copy (from, to); +- if (ret != 0) +- non_fatal (_("unable to copy file '%s'; reason: %s"), to, strerror (errno)); ++ non_fatal (_("unable to copy file '%s'; reason: %s"), ++ to, strerror (errno)); + +- if (preserve_dates) +- set_times (to, &s); +- unlink (from); +- } +-#endif /* _WIN32 && !__CYGWIN32__ */ ++ if (target_stat != NULL) ++ set_times (to, target_stat); ++ unlink (from); + + return ret; + } +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.36.bb b/poky/meta/recipes-devtools/binutils/binutils_2.36.bb index a50d2ee7e..ee9617de1 100644 --- a/poky/meta/recipes-devtools/binutils/binutils_2.36.bb +++ b/poky/meta/recipes-devtools/binutils/binutils_2.36.bb @@ -25,7 +25,7 @@ EXTRA_OECONF_class-native = "--enable-targets=all \ --disable-sim \ --disable-werror" -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}" PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod, elfutils" # gcc9.0 end up mis-compiling libbfd.so with O2 which then crashes on target # So remove -O2 and use -Os as workaround diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.10.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.10.1.bb deleted file mode 100644 index fca010d4a..000000000 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.10.1.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "Checksumming Copy on Write Filesystem utilities" -DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ -implementing advanced features while focusing on fault tolerance, repair and \ -easy administration. \ -This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ -btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." - -HOMEPAGE = "https://btrfs.wiki.kernel.org" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067" -SECTION = "base" -DEPENDS = "util-linux attr e2fsprogs lzo acl" -DEPENDS_append_class-target = " udev" -RDEPENDS_${PN} = "libgcc" - -SRCREV = "f2ffce38b9c1477a7350bfe165f0e34b9bde40f5" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ - file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ - " - -PACKAGECONFIG ??= "python" -PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" -PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" - -inherit autotools-brokensep pkgconfig manpages -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'distutils3-base', '', d)} - -CLEANBROKEN = "1" - -EXTRA_OECONF_append_libc-musl = " --disable-backtrace " -EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" -EXTRA_PYTHON_CFLAGS_class-native = "" -EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" -EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" - -do_configure_prepend() { - # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. - mkdir -p ${S}/config - cp -f $(automake --print-libdir)/install-sh ${S}/config/ -} - -S = "${WORKDIR}/git" - -do_install_append() { - if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python - fi -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb new file mode 100644 index 000000000..b5e0561c1 --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb @@ -0,0 +1,70 @@ +SUMMARY = "Checksumming Copy on Write Filesystem utilities" +DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ +implementing advanced features while focusing on fault tolerance, repair and \ +easy administration. \ +This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ +btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." + +HOMEPAGE = "https://btrfs.wiki.kernel.org" + +LICENSE = "GPLv2 & LGPLv3+" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \ + file://libbtrfsutil/COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \ +" +SECTION = "base" +DEPENDS = "lzo util-linux zlib" +DEPENDS_append_class-target = " udev" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ + file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + " +SRCREV = "8d5051f279f7994fb80536ef8f846f06d121d898" +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= " \ + programs \ + convert \ + python \ + crypto-builtin \ +" +PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" +PACKAGECONFIG[programs] = "--enable-programs,--disable-programs" +PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs" +PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" +PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" + +# Pick only one crypto provider +PACKAGECONFIG[crypto-builtin] = "--with-crypto=builtin" +PACKAGECONFIG[crypto-libgcrypt] = "--with-crypto=libgcrypt,,libgcrypt" +PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium" +PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi" + +inherit autotools-brokensep pkgconfig manpages +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'distutils3-base', '', d)} + +CLEANBROKEN = "1" + +EXTRA_OECONF = "--enable-largefile" +EXTRA_OECONF_append_libc-musl = " --disable-backtrace " +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS_class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" + +do_configure_prepend() { + # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. + mkdir -p ${S}/config + cp -f $(automake --print-libdir)/install-sh ${S}/config/ +} + + +do_install_append() { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python + fi +} + +RDEPENDS_${PN} = "libgcc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch b/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch new file mode 100644 index 000000000..51ca0e82f --- /dev/null +++ b/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch @@ -0,0 +1,161 @@ +From aebabafe085dd1b84027a1e31e5566c82528bd62 Mon Sep 17 00:00:00 2001 +From: Bastian Krause +Date: Tue, 4 May 2021 11:41:56 +0200 +Subject: [PATCH] doc: allow disabling docs/man page generation + +The assumption that HTML documentation and manual pages should be +generated if the required tools (asciidoc) are present is not always +true. So add a cmake option that allows disabling the docs/man page +generation. The default is to generate docs/man pages like before. + +Origin: https://github.com/ccache/ccache/pull/844 +Upstream-Status: Submitted +Signed-off-by: Bastian Krause +--- + doc/CMakeLists.txt | 128 +++++++++++++++++++++++---------------------- + 1 file changed, 66 insertions(+), 62 deletions(-) + +diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt +index c5ce224d..74b7831b 100644 +--- a/doc/CMakeLists.txt ++++ b/doc/CMakeLists.txt +@@ -1,70 +1,74 @@ ++option(BUILD_DOCS "Indicates whether HTML documentation and manual pages should be built or not" ON) ++ + find_program(ASCIIDOC_EXE asciidoc) + mark_as_advanced(ASCIIDOC_EXE) # Don't show in CMake UIs + +-if(NOT ASCIIDOC_EXE) +- message(WARNING "Could not find asciidoc; documentation will not be generated") +-else() +- # +- # HTML documentation +- # +- function(generate_html adoc_file) +- get_filename_component(base_name "${adoc_file}" NAME_WE) +- set(html_file "${base_name}.html") +- add_custom_command( +- OUTPUT "${html_file}" +- COMMAND +- ${ASCIIDOC_EXE} +- -o "${html_file}" +- -a revnumber="${CCACHE_VERSION}" +- -a toc +- -b xhtml11 +- "${CMAKE_SOURCE_DIR}/${adoc_file}" +- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}" +- ) +- set(html_files "${html_files}" "${html_file}" PARENT_SCOPE) +- endfunction() ++if (BUILD_DOCS) ++ if(NOT ASCIIDOC_EXE) ++ message(WARNING "Could not find asciidoc; documentation will not be generated") ++ else() ++ # ++ # HTML documentation ++ # ++ function(generate_html adoc_file) ++ get_filename_component(base_name "${adoc_file}" NAME_WE) ++ set(html_file "${base_name}.html") ++ add_custom_command( ++ OUTPUT "${html_file}" ++ COMMAND ++ ${ASCIIDOC_EXE} ++ -o "${html_file}" ++ -a revnumber="${CCACHE_VERSION}" ++ -a toc ++ -b xhtml11 ++ "${CMAKE_SOURCE_DIR}/${adoc_file}" ++ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}" ++ ) ++ set(html_files "${html_files}" "${html_file}" PARENT_SCOPE) ++ endfunction() + +- generate_html(LICENSE.adoc) +- generate_html(doc/AUTHORS.adoc) +- generate_html(doc/MANUAL.adoc) +- generate_html(doc/NEWS.adoc) ++ generate_html(LICENSE.adoc) ++ generate_html(doc/AUTHORS.adoc) ++ generate_html(doc/MANUAL.adoc) ++ generate_html(doc/NEWS.adoc) + +- add_custom_target(doc-html DEPENDS "${html_files}") +- set(doc_files "${html_files}") ++ add_custom_target(doc-html DEPENDS "${html_files}") ++ set(doc_files "${html_files}") + +- # +- # Man page +- # +- find_program(A2X_EXE a2x) +- mark_as_advanced(A2X_EXE) # Don't show in CMake UIs +- if(NOT A2X_EXE) +- message(WARNING "Could not find a2x; man page will not be generated") +- else() +- # MANUAL.adoc -> MANUAL.xml -> man page +- add_custom_command( +- OUTPUT MANUAL.xml +- COMMAND +- ${ASCIIDOC_EXE} +- -o - +- -a revnumber=${CCACHE_VERSION} +- -d manpage +- -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" +- | perl -pe 's!\(.*?\)!\\1!g' +- >MANUAL.xml +- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" +- ) +- add_custom_command( +- OUTPUT ccache.1 +- COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml +- MAIN_DEPENDENCY MANUAL.xml +- ) +- add_custom_target(doc-man-page DEPENDS ccache.1) +- install( +- FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1" +- DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" +- ) +- set(doc_files "${doc_files}" ccache.1) +- endif() ++ # ++ # Man page ++ # ++ find_program(A2X_EXE a2x) ++ mark_as_advanced(A2X_EXE) # Don't show in CMake UIs ++ if(NOT A2X_EXE) ++ message(WARNING "Could not find a2x; man page will not be generated") ++ else() ++ # MANUAL.adoc -> MANUAL.xml -> man page ++ add_custom_command( ++ OUTPUT MANUAL.xml ++ COMMAND ++ ${ASCIIDOC_EXE} ++ -o - ++ -a revnumber=${CCACHE_VERSION} ++ -d manpage ++ -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" ++ | perl -pe 's!\(.*?\)!\\1!g' ++ >MANUAL.xml ++ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" ++ ) ++ add_custom_command( ++ OUTPUT ccache.1 ++ COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml ++ MAIN_DEPENDENCY MANUAL.xml ++ ) ++ add_custom_target(doc-man-page DEPENDS ccache.1) ++ install( ++ FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1" ++ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" ++ ) ++ set(doc_files "${doc_files}" ccache.1) ++ endif() + +- add_custom_target(doc ALL DEPENDS "${doc_files}") ++ add_custom_target(doc ALL DEPENDS "${doc_files}") ++ endif() + endif() +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb b/poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb new file mode 100644 index 000000000..8dd5893d6 --- /dev/null +++ b/poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "a fast C/C++ compiler cache" +DESCRIPTION = "ccache is a compiler cache. It speeds up recompilation \ +by caching the result of previous compilations and detecting when the \ +same compilation is being done again. Supported languages are C, C\+\+, \ +Objective-C and Objective-C++." +HOMEPAGE = "http://ccache.samba.org" +SECTION = "devel" + +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=698a26b57e513d678e1e7727bf56395b" + +DEPENDS = "zstd" + +SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz \ + file://0001-doc-allow-disabling-docs-man-page-generation.patch \ + " +SRC_URI[sha256sum] = "320d2b17d2f76393e5d4bb28c8dee5ca783248e9cd23dff0654694d60f8a4b62" + +UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" + +inherit cmake + +PATCHTOOL = "patch" + +BBCLASSEXTEND = "native nativesdk" + +PACKAGECONFIG[docs] = "-DBUILD_DOCS=ON,-DBUILD_DOCS=OFF,asciidoc" diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.2.bb b/poky/meta/recipes-devtools/ccache/ccache_4.2.bb deleted file mode 100644 index 9957bc7e6..000000000 --- a/poky/meta/recipes-devtools/ccache/ccache_4.2.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "a fast C/C++ compiler cache" -DESCRIPTION = "ccache is a compiler cache. It speeds up recompilation \ -by caching the result of previous compilations and detecting when the \ -same compilation is being done again. Supported languages are C, C\+\+, \ -Objective-C and Objective-C++." -HOMEPAGE = "http://ccache.samba.org" -SECTION = "devel" - -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=28afb89f649f309e7ac1aab554564637" - -DEPENDS = "zstd" - -SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz" -SRC_URI[sha256sum] = "dbf139ff32031b54cb47f2d7983269f328df14b5a427882f89f7721e5c411b7e" - -UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" - -inherit cmake - -PATCHTOOL = "patch" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb index c0833686d..7aebaf1b6 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb @@ -22,6 +22,7 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ file://ptest.patch \ file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \ file://0001-add-support-for-ipkg-to-debuginfod.cxx.patch \ + file://0001-debuginfod-debuginfod-client.c-correct-string-format.patch \ " SRC_URI_append_libc-musl = " \ file://0002-musl-libs.patch \ @@ -38,13 +39,13 @@ EXTRA_OECONF = "--program-prefix=eu-" DEPENDS_BZIP2 = "bzip2-replacement-native" DEPENDS_BZIP2_class-target = "bzip2" -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'debuginfod', 'debuginfod libdebuginfod', '', d)}" PACKAGECONFIG[bzip2] = "--with-bzlib,--without-bzlib,${DEPENDS_BZIP2}" PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz" PACKAGECONFIG[libdebuginfod] = "--enable-libdebuginfod,--disable-libdebuginfod,curl" PACKAGECONFIG[debuginfod] = "--enable-debuginfod,--disable-debuginfod,libarchive sqlite3 libmicrohttpd" -RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils" +RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils iproute2-ss bsdtar" EXTRA_OECONF_append_class-target = " --disable-tests-rpath" @@ -86,6 +87,7 @@ do_install_ptest() { cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests cp -r ${B}/config.h ${D}${PTEST_PATH} cp -r ${B}/backends ${D}${PTEST_PATH} + cp -r ${B}/debuginfod ${D}${PTEST_PATH} sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {} fi @@ -142,6 +144,7 @@ INHIBIT_PACKAGE_STRIP_FILES = "\ ${PKGD}${PTEST_PATH}/tests/backtrace-data \ ${PKGD}${PTEST_PATH}/tests/backtrace-dwarf \ ${PKGD}${PTEST_PATH}/tests/deleted \ + ${PKGD}${PTEST_PATH}/tests/dwfllines \ ${PKGD}${PTEST_PATH}/src/strip \ ${PKGD}${PTEST_PATH}/src/addr2line \ ${PKGD}${PTEST_PATH}/src/elfcmp \ @@ -159,4 +162,4 @@ INHIBIT_PACKAGE_STRIP_FILES = "\ ${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \ " -PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1 libasm.so.1" +PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1 libasm.so.1 libdebuginfod.so.1" diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch b/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch new file mode 100644 index 000000000..5bd6ba961 --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch @@ -0,0 +1,74 @@ +From 14dfe84943b8f9e6f504536d8735ef6356210b40 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 19 Apr 2021 23:29:10 +0200 +Subject: [PATCH] debuginfod/debuginfod-client.c: correct string format on + 32bit arches with 64bit time_t + +Use intmax_t to print time_t + +time_t is platform dependent and some of architectures e.g. +x32, riscv32, arc use 64bit time_t even while they are 32bit +architectures, therefore directly using integer printf formats will not +work portably, use intmax_t to typecast time_t into printf family of +functions + +Upstream-Status: Pending + +Signed-off-by: Alexander Kanavin +Signed-off-by: Khem Raj +--- + debuginfod/debuginfod-client.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c +index de26af5..39e28f2 100644 +--- a/debuginfod/debuginfod-client.c ++++ b/debuginfod/debuginfod-client.c +@@ -229,7 +229,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path) + if (fd < 0) + return -errno; + +- if (dprintf(fd, "%ld", cache_clean_default_interval_s) < 0) ++ if (dprintf(fd, "%jd", (intmax_t)cache_clean_default_interval_s) < 0) + return -errno; + + /* init max age config file. */ +@@ -237,7 +237,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path) + && (fd = open(maxage_path, O_CREAT | O_RDWR, DEFFILEMODE)) < 0) + return -errno; + +- if (dprintf(fd, "%ld", cache_default_max_unused_age_s) < 0) ++ if (dprintf(fd, "%jd", (intmax_t)cache_default_max_unused_age_s) < 0) + return -errno; + + return 0; +@@ -263,7 +263,7 @@ debuginfod_clean_cache(debuginfod_client *c, + if (interval_file == NULL) + return -errno; + +- int rc = fprintf(interval_file, "%ld", cache_clean_default_interval_s); ++ int rc = fprintf(interval_file, "%jd", (intmax_t)cache_clean_default_interval_s); + fclose(interval_file); + + if (rc < 0) +@@ -275,7 +275,7 @@ debuginfod_clean_cache(debuginfod_client *c, + interval_file = fopen(interval_path, "r"); + if (interval_file) + { +- if (fscanf(interval_file, "%ld", &clean_interval) != 1) ++ if (fscanf(interval_file, "%jd", (intmax_t*)(&clean_interval)) != 1) + clean_interval = cache_clean_default_interval_s; + fclose(interval_file); + } +@@ -291,7 +291,7 @@ debuginfod_clean_cache(debuginfod_client *c, + max_unused_file = fopen(max_unused_path, "r"); + if (max_unused_file) + { +- if (fscanf(max_unused_file, "%ld", &max_unused_age) != 1) ++ if (fscanf(max_unused_file, "%jd", (intmax_t*)(&max_unused_age)) != 1) + max_unused_age = cache_default_max_unused_age_s; + fclose(max_unused_file); + } +-- +2.31.1 + diff --git a/poky/meta/recipes-devtools/file/file_5.39.bb b/poky/meta/recipes-devtools/file/file_5.39.bb deleted file mode 100644 index abaa8149a..000000000 --- a/poky/meta/recipes-devtools/file/file_5.39.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "File classification tool" -DESCRIPTION = "File attempts to classify files depending \ -on their contents and prints a description if a match is found." -HOMEPAGE = "http://www.darwinsys.com/file/" -SECTION = "console/utils" - -# two clause BSD -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdda1b" - -DEPENDS = "file-replacement-native" -DEPENDS_class-native = "bzip2-replacement-native" - -SRC_URI = "git://github.com/file/file.git \ - file://0001-src-compress.c-correct-header-define-for-xz-lzma.patch" - -SRCREV = "87731415de945660b00f02207d8e9d986ef9b82e" -S = "${WORKDIR}/git" - -inherit autotools update-alternatives - -PACKAGECONFIG ??= "bz2 lzma zlib" -PACKAGECONFIG[bz2] = "--enable-bzlib, --disable-bzlib, bzip2" -PACKAGECONFIG[lzma] = "--enable-xzlib, --disable-xzlib, xz" -PACKAGECONFIG[zlib] = "--enable-zlib, --disable-zlib, zlib" - -EXTRA_OECONF += "--disable-libseccomp" - -ALTERNATIVE_${PN} = "file" -ALTERNATIVE_LINK_NAME[file] = "${bindir}/file" - -EXTRA_OEMAKE_append_class-target = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" -EXTRA_OEMAKE_append_class-nativesdk = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" - -FILES_${PN} += "${datadir}/misc/*.mgc" - -do_compile_append_class-native() { - oe_runmake check -} - -do_install_append_class-native() { - create_cmdline_wrapper ${D}/${bindir}/file \ - --magic-file ${datadir}/misc/magic.mgc -} - -do_install_append_class-nativesdk() { - create_cmdline_wrapper ${D}/${bindir}/file \ - --magic-file ${datadir}/misc/magic.mgc -} - -BBCLASSEXTEND = "native nativesdk" -PROVIDES_append_class-native = " file-replacement-native" -# Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who -# depends on file-replacement-native. -bindir_append_class-native = "/file-native" diff --git a/poky/meta/recipes-devtools/file/file_5.40.bb b/poky/meta/recipes-devtools/file/file_5.40.bb new file mode 100644 index 000000000..ec79839bd --- /dev/null +++ b/poky/meta/recipes-devtools/file/file_5.40.bb @@ -0,0 +1,54 @@ +SUMMARY = "File classification tool" +DESCRIPTION = "File attempts to classify files depending \ +on their contents and prints a description if a match is found." +HOMEPAGE = "http://www.darwinsys.com/file/" +SECTION = "console/utils" + +# two clause BSD +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;beginline=2;md5=0251eaec1188b20d9a72c502ecfdda1b" + +DEPENDS = "file-replacement-native" +DEPENDS_class-native = "bzip2-replacement-native" + +SRC_URI = "git://github.com/file/file.git" + +SRCREV = "f49fda6f52a9477d817dbd9c06afab02daf025f8" +S = "${WORKDIR}/git" + +inherit autotools update-alternatives + +PACKAGECONFIG ??= "bz2 lzma zlib" +PACKAGECONFIG[bz2] = "--enable-bzlib, --disable-bzlib, bzip2" +PACKAGECONFIG[lzma] = "--enable-xzlib, --disable-xzlib, xz" +PACKAGECONFIG[zlib] = "--enable-zlib, --disable-zlib, zlib" + +EXTRA_OECONF += "--disable-libseccomp" + +ALTERNATIVE_${PN} = "file" +ALTERNATIVE_LINK_NAME[file] = "${bindir}/file" + +EXTRA_OEMAKE_append_class-target = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" +EXTRA_OEMAKE_append_class-nativesdk = " -e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/file-native/file" + +FILES_${PN} += "${datadir}/misc/*.mgc" + +do_compile_append_class-native() { + oe_runmake check +} + +do_install_append_class-native() { + create_cmdline_wrapper ${D}/${bindir}/file \ + --magic-file ${datadir}/misc/magic.mgc +} + +do_install_append_class-nativesdk() { + create_cmdline_wrapper ${D}/${bindir}/file \ + --magic-file ${datadir}/misc/magic.mgc +} + +BBCLASSEXTEND = "native nativesdk" +PROVIDES_append_class-native = " file-replacement-native" +# Don't use NATIVE_PACKAGE_PATH_SUFFIX as that hides libmagic from anyone who +# depends on file-replacement-native. +bindir_append_class-native = "/file-native" diff --git a/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch b/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch deleted file mode 100644 index f8ba2f615..000000000 --- a/poky/meta/recipes-devtools/file/files/0001-src-compress.c-correct-header-define-for-xz-lzma.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ffb6ebdb42590cb9f7d3f5177b7b820a9edc4c81 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Sun, 18 Oct 2020 23:40:42 +0200 -Subject: [PATCH] src/compress.c: correct header define for xz/lzma - -Upstream-Status: Submitted [https://github.com/file/file/pull/98] -Signed-off-by: Alexander Kanavin ---- - src/compress.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/compress.c b/src/compress.c -index 67f21583..9670b72c 100644 ---- a/src/compress.c -+++ b/src/compress.c -@@ -71,7 +71,7 @@ typedef void (*sig_t)(int); - #include - #endif - --#if defined(HAVE_XZLIB_H) && defined(XZLIBSUPPORT) -+#if defined(HAVE_LZMA_H) && defined(XZLIBSUPPORT) - #define BUILTIN_XZLIB - #include - #endif --- -2.28.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-10.2.inc b/poky/meta/recipes-devtools/gcc/gcc-10.2.inc deleted file mode 100644 index c0cd8b31d..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-10.2.inc +++ /dev/null @@ -1,120 +0,0 @@ -require gcc-common.inc - -# Third digit in PV should be incremented after a minor release - -PV = "10.2.0" - -# BINV should be incremented to a revision after a minor gcc release - -BINV = "10.2.0" - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" - -DEPENDS =+ "mpfr gmp libmpc zlib flex-native" -NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native" - -LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" - -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \ -" - -BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" -#RELEASE ?= "93a49d2d2292893b9b7f38132df949c70942838c" -#BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip" -SRC_URI = "\ - ${BASEURI} \ - file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ - file://0002-gcc-poison-system-directories.patch \ - file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ - file://0004-64-bit-multilib-hack.patch \ - file://0005-optional-libstdc.patch \ - file://0006-COLLECT_GCC_OPTIONS.patch \ - file://0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ - file://0008-fortran-cross-compile-hack.patch \ - file://0009-cpp-honor-sysroot.patch \ - file://0010-MIPS64-Default-to-N64-ABI.patch \ - file://0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ - file://0012-gcc-Fix-argument-list-too-long-error.patch \ - file://0013-Disable-sdt.patch \ - file://0014-libtool.patch \ - file://0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ - file://0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ - file://0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ - file://0018-export-CPP.patch \ - file://0019-Ensure-target-gcc-headers-can-be-included.patch \ - file://0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ - file://0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ - file://0022-aarch64-Add-support-for-musl-ldso.patch \ - file://0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch \ - file://0024-handle-sysroot-support-for-nativesdk-gcc.patch \ - file://0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ - file://0026-Fix-various-_FOR_BUILD-and-related-variables.patch \ - file://0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ - file://0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \ - file://0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \ - file://0030-sync-gcc-stddef.h-with-musl.patch \ - file://0031-fix-segmentation-fault-in-precompiled-header-generat.patch \ - file://0032-Fix-for-testsuite-failure.patch \ - file://0033-Re-introduce-spe-commandline-options.patch \ - file://0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ - file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ - file://0036-mingw32-Enable-operation_not_supported.patch \ - file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \ - file://0001-aarch64-New-Straight-Line-Speculation-SLS-mitigation.patch \ - file://0002-aarch64-Introduce-SLS-mitigation-for-RET-and-BR-inst.patch \ - file://0003-aarch64-Mitigate-SLS-for-BLR-instruction.patch \ - file://0001-aarch64-Fix-up-__aarch64_cas16_acq_rel-fallback.patch \ - file://0001-libatomic-libgomp-libitc-Fix-bootstrap-PR70454.patch \ -" -SRC_URI[sha256sum] = "b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c" - -S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" -# For dev release snapshotting -#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${RELEASE}" -#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" - -# Language Overrides -FORTRAN = "" -JAVA = "" - -SSP ?= "--disable-libssp" -SSP_mingw32 = "--enable-libssp" - -EXTRA_OECONF_BASE = "\ - ${SSP} \ - --enable-libitm \ - --enable-lto \ - --disable-bootstrap \ - --with-system-zlib \ - ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \ - --enable-linker-build-id \ - --with-ppl=no \ - --with-cloog=no \ - --enable-checking=release \ - --enable-cheaders=c_global \ - --without-isl \ -" - -EXTRA_OECONF_INITIAL = "\ - --disable-libgomp \ - --disable-libitm \ - --disable-libquadmath \ - --with-system-zlib \ - --disable-lto \ - --disable-plugin \ - --enable-linker-build-id \ - --enable-decimal-float=no \ - --without-isl \ - --disable-libssp \ -" - -EXTRA_OECONF_PATHS = "\ - --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ - --with-sysroot=/not/exist \ - --with-build-sysroot=${STAGING_DIR_TARGET} \ -" diff --git a/poky/meta/recipes-devtools/gcc/gcc-11.1.inc b/poky/meta/recipes-devtools/gcc/gcc-11.1.inc new file mode 100644 index 000000000..713002266 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-11.1.inc @@ -0,0 +1,116 @@ +require gcc-common.inc + +# Third digit in PV should be incremented after a minor release + +PV = "11.1.0" + +# BINV should be incremented to a revision after a minor gcc release + +BINV = "11.1.0" + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" + +DEPENDS =+ "mpfr gmp libmpc zlib flex-native" +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native" + +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" + +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \ +" + +#RELEASE ?= "5b2ac9b40c325e9209c0bd55955db84aad4a0cc5" +#BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip" +BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" +SRC_URI = "\ + ${BASEURI} \ + file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ + file://0002-gcc-poison-system-directories.patch \ + file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ + file://0004-64-bit-multilib-hack.patch \ + file://0005-optional-libstdc.patch \ + file://0006-COLLECT_GCC_OPTIONS.patch \ + file://0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ + file://0008-fortran-cross-compile-hack.patch \ + file://0009-cpp-honor-sysroot.patch \ + file://0010-MIPS64-Default-to-N64-ABI.patch \ + file://0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ + file://0012-gcc-Fix-argument-list-too-long-error.patch \ + file://0013-Disable-sdt.patch \ + file://0014-libtool.patch \ + file://0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ + file://0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ + file://0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \ + file://0018-export-CPP.patch \ + file://0019-Ensure-target-gcc-headers-can-be-included.patch \ + file://0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch \ + file://0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \ + file://0022-aarch64-Add-support-for-musl-ldso.patch \ + file://0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch \ + file://0024-handle-sysroot-support-for-nativesdk-gcc.patch \ + file://0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch \ + file://0026-Fix-various-_FOR_BUILD-and-related-variables.patch \ + file://0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ + file://0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \ + file://0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \ + file://0030-sync-gcc-stddef.h-with-musl.patch \ + file://0031-fix-segmentation-fault-in-precompiled-header-generat.patch \ + file://0032-Fix-for-testsuite-failure.patch \ + file://0033-Re-introduce-spe-commandline-options.patch \ + file://0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \ + file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ + file://0036-mingw32-Enable-operation_not_supported.patch \ + file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \ +" +SRC_URI[sha256sum] = "4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf" + +S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" + +# For dev release snapshotting +#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${RELEASE}" +#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" + +# Language Overrides +FORTRAN = "" +JAVA = "" + +SSP ?= "--disable-libssp" +SSP_mingw32 = "--enable-libssp" + +EXTRA_OECONF_BASE = "\ + ${SSP} \ + --enable-libitm \ + --enable-lto \ + --disable-bootstrap \ + --with-system-zlib \ + ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \ + --enable-linker-build-id \ + --with-ppl=no \ + --with-cloog=no \ + --enable-checking=release \ + --enable-cheaders=c_global \ + --without-isl \ +" + +EXTRA_OECONF_INITIAL = "\ + --disable-libgomp \ + --disable-libitm \ + --disable-libquadmath \ + --with-system-zlib \ + --disable-lto \ + --disable-plugin \ + --enable-linker-build-id \ + --enable-decimal-float=no \ + --without-isl \ + --disable-libssp \ +" + +EXTRA_OECONF_PATHS = "\ + --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ + --with-sysroot=/not/exist \ + --with-build-sysroot=${STAGING_DIR_TARGET} \ +" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc index d3875c94d..878feaf81 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc @@ -75,6 +75,7 @@ FILES_${PN} = "\ ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \ ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin/include/ \ ${gcclibdir}/${TARGET_SYS}/${BINV}/plugin/gtype.* \ + ${libdir}/bfd-plugins/*.so \ ${includedir}/c++/${BINV} \ ${prefix}/${TARGET_SYS}/bin/* \ ${prefix}/${TARGET_SYS}/lib/* \ @@ -92,6 +93,8 @@ EXEEXT = "" # Compute how to get from libexecdir to bindir in python (easier than shell) BINRELPATH = "${@os.path.relpath(d.expand("${bindir}"), d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"))}" +# linker plugin path +LIBRELPATH = "${@os.path.relpath(d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"), d.expand("${libdir}/bfd-plugins"))}" do_install () { ( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h-forbuild install-unwind_h ) @@ -136,8 +139,12 @@ do_install () { cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ + # install LTO linker plugins where binutils tools can find it + install -d ${D}${libdir}/bfd-plugins + ln -sf ${LIBRELPATH}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so + chown -R root:root ${D} - + cross_canadian_bindirlinks for i in linux ${CANADIANEXTRAOS} diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_10.2.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_10.2.bb deleted file mode 100644 index bf53c5cd7..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_10.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-cross-canadian.inc - - - diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_11.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_11.1.bb new file mode 100644 index 000000000..bf53c5cd7 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_11.1.bb @@ -0,0 +1,5 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-cross-canadian.inc + + + diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc index e08807afa..dca4036ab 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc @@ -83,6 +83,8 @@ INHIBIT_PACKAGE_STRIP = "1" # Compute how to get from libexecdir to bindir in python (easier than shell) BINRELPATH = "${@os.path.relpath(d.expand("${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_SYS}"), d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"))}" +# linker plugin path +LIBRELPATH = "${@os.path.relpath(d.expand("${libexecdir}/gcc/${TARGET_SYS}/${BINV}"), d.expand("${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/bfd-plugins"))}" do_install () { ( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h-forbuild install-unwind_h ) @@ -92,7 +94,7 @@ do_install () { install -d ${D}${target_libdir} # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77 - # gfortran is fully backwards compatible. This is a safe and practical solution. + # gfortran is fully backwards compatible. This is a safe and practical solution. if [ -n "${@d.getVar('FORTRAN')}" ]; then ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true fortsymlinks="g77 gfortran" @@ -118,6 +120,10 @@ do_install () { cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f + + # install LTO linker plugins where binutils tools can find it + install -d ${D}${libdir}/bfd-plugins + ln -sf ${LIBRELPATH}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so } do_package[noexec] = "1" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_10.2.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_10.2.bb deleted file mode 100644 index b43cca0c5..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-cross_10.2.bb +++ /dev/null @@ -1,3 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-cross.inc - diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_11.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_11.1.bb new file mode 100644 index 000000000..b43cca0c5 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-cross_11.1.bb @@ -0,0 +1,3 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-cross.inc + diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_10.2.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_10.2.bb deleted file mode 100644 index 40a6c4fef..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_10.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require recipes-devtools/gcc/gcc-cross_${PV}.bb -require gcc-crosssdk.inc diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_11.1.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_11.1.bb new file mode 100644 index 000000000..40a6c4fef --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_11.1.bb @@ -0,0 +1,2 @@ +require recipes-devtools/gcc/gcc-cross_${PV}.bb +require gcc-crosssdk.inc diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc index 9dcce2653..59d9a2468 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -49,16 +49,18 @@ RUNTIMETARGET_libc-newlib = "libstdc++-v3" # libiberty # libgfortran needs separate recipe due to libquadmath dependency -SLIB = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" -SLIB_NEW = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" +# Relative path to be repaced into debug info +REL_S = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" DEBUG_PREFIX_MAP_class-target = " \ -fdebug-prefix-map=${WORKDIR}/recipe-sysroot= \ -fdebug-prefix-map=${WORKDIR}/recipe-sysroot-native= \ - -fdebug-prefix-map=${SLIB}=${SLIB_NEW} \ - -fdebug-prefix-map=${SLIB}/include=${SLIB_NEW}/libstdc++-v3/../include \ - -fdebug-prefix-map=${SLIB}/libiberty=${SLIB_NEW}/libstdc++-v3/../libiberty \ - -fdebug-prefix-map=${B}=${SLIB_NEW} \ + -fdebug-prefix-map=${S}=${REL_S} \ + -fdebug-prefix-map=${S}/include=${REL_S}/libstdc++-v3/../include \ + -fdebug-prefix-map=${S}/libiberty=${REL_S}/libstdc++-v3/../libiberty \ + -fdebug-prefix-map=${S}/libgcc=${REL_S}/libstdc++-v3/../libgcc \ + -fdebug-prefix-map=${B}=${REL_S} \ + -ffile-prefix-map=${B}/${HOST_SYS}/libstdc++-v3/include=${includedir}/c++/${BINV} \ " do_configure () { diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_10.2.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_10.2.bb deleted file mode 100644 index dd430b57e..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-runtime_10.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-runtime.inc diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_11.1.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_11.1.bb new file mode 100644 index 000000000..dd430b57e --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_11.1.bb @@ -0,0 +1,2 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-runtime.inc diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_10.2.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_10.2.bb deleted file mode 100644 index f3c705811..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_10.2.bb +++ /dev/null @@ -1,7 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-sanitizers.inc - -# Building with thumb enabled on armv4t armv5t fails with -# sanitizer_linux.s:5749: Error: lo register required -- `ldr ip,[sp],#8' -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb new file mode 100644 index 000000000..f3c705811 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb @@ -0,0 +1,7 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-sanitizers.inc + +# Building with thumb enabled on armv4t armv5t fails with +# sanitizer_linux.s:5749: Error: lo register required -- `ldr ip,[sp],#8' +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_10.2.bb b/poky/meta/recipes-devtools/gcc/gcc-source_10.2.bb deleted file mode 100644 index b890fa33e..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-source_10.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require recipes-devtools/gcc/gcc-source.inc - -EXCLUDE_FROM_WORLD = "1" diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_11.1.bb b/poky/meta/recipes-devtools/gcc/gcc-source_11.1.bb new file mode 100644 index 000000000..b890fa33e --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-source_11.1.bb @@ -0,0 +1,4 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require recipes-devtools/gcc/gcc-source.inc + +EXCLUDE_FROM_WORLD = "1" diff --git a/poky/meta/recipes-devtools/gcc/gcc-target.inc b/poky/meta/recipes-devtools/gcc/gcc-target.inc index 164a669aa..0ee3e83d4 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-target.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-target.inc @@ -54,6 +54,7 @@ FILES_${PN} = "\ ${gcclibdir}/${TARGET_SYS}/${BINV}/lib*${SOLIBS} \ ${gcclibdir}/${TARGET_SYS}/${BINV}/include \ ${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed \ + ${libdir}/bfd-plugins/*.so \ " INSANE_SKIP_${PN} += "dev-so" RRECOMMENDS_${PN} += "\ @@ -215,7 +216,8 @@ do_install () { ln -sf ${bindir}/${TARGET_PREFIX}cpp ${D}${base_libdir}/cpp ln -sf g++ c++ ln -sf gcc cc - + install -d ${D}${libdir}/bfd-plugins + ln -sf ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so chown -R root:root ${D} } diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-aarch64-Fix-up-__aarch64_cas16_acq_rel-fallback.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-aarch64-Fix-up-__aarch64_cas16_acq_rel-fallback.patch deleted file mode 100644 index c060accd9..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0001-aarch64-Fix-up-__aarch64_cas16_acq_rel-fallback.patch +++ /dev/null @@ -1,66 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From fd2ec4542fd2975e6d3f2f1c1a2639945a84f9e1 Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek -Date: Mon, 3 Aug 2020 22:55:28 +0200 -Subject: [PATCH] aarch64: Fix up __aarch64_cas16_acq_rel fallback - -As mentioned in the PR, the fallback path when LSE is unavailable writes -incorrect registers to the memory if the previous content compares equal -to x0, x1 - it writes copy of x0, x1 from the start of function, but it -should write x2, x3. - -2020-08-03 Jakub Jelinek - - PR target/96402 - * config/aarch64/lse.S (__aarch64_cas16_acq_rel): Use x2, x3 instead - of x(tmp0), x(tmp1) in STXP arguments. - - * gcc.target/aarch64/pr96402.c: New test. - -(cherry picked from commit 90b43856fdff7d96d93d22970eca8a86c56e0ddc) ---- - gcc/testsuite/gcc.target/aarch64/pr96402.c | 16 ++++++++++++++++ - libgcc/config/aarch64/lse.S | 2 +- - 2 files changed, 17 insertions(+), 1 deletion(-) - create mode 100644 gcc/testsuite/gcc.target/aarch64/pr96402.c - -diff --git a/gcc/testsuite/gcc.target/aarch64/pr96402.c b/gcc/testsuite/gcc.target/aarch64/pr96402.c -new file mode 100644 -index 00000000000..fa2dddfac15 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/aarch64/pr96402.c -@@ -0,0 +1,16 @@ -+/* PR target/96402 */ -+/* { dg-do run { target int128 } } */ -+/* { dg-options "-moutline-atomics" } */ -+ -+int -+main () -+{ -+ __int128 a = 0; -+ __sync_val_compare_and_swap (&a, (__int128) 0, (__int128) 1); -+ if (a != 1) -+ __builtin_abort (); -+ __sync_val_compare_and_swap (&a, (__int128) 1, (((__int128) 0xdeadbeeffeedbac1ULL) << 64) | 0xabadcafe00c0ffeeULL); -+ if (a != ((((__int128) 0xdeadbeeffeedbac1ULL) << 64) | 0xabadcafe00c0ffeeULL)) -+ __builtin_abort (); -+ return 0; -+} -diff --git a/libgcc/config/aarch64/lse.S b/libgcc/config/aarch64/lse.S -index 64691c601c1..c8fbfbce4fd 100644 ---- a/libgcc/config/aarch64/lse.S -+++ b/libgcc/config/aarch64/lse.S -@@ -203,7 +203,7 @@ STARTFN NAME(cas) - cmp x0, x(tmp0) - ccmp x1, x(tmp1), #0, eq - bne 1f -- STXP w(tmp2), x(tmp0), x(tmp1), [x4] -+ STXP w(tmp2), x2, x3, [x4] - cbnz w(tmp2), 0b - 1: ret - --- -2.26.2 - diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-aarch64-New-Straight-Line-Speculation-SLS-mitigation.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-aarch64-New-Straight-Line-Speculation-SLS-mitigation.patch deleted file mode 100644 index 73de4c759..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0001-aarch64-New-Straight-Line-Speculation-SLS-mitigation.patch +++ /dev/null @@ -1,202 +0,0 @@ -CVE: CVE-2020-13844 -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From 1ff243934ac443b5f58cd02a5012ce58ecc31fb2 Mon Sep 17 00:00:00 2001 -From: Matthew Malcomson -Date: Thu, 9 Jul 2020 09:11:58 +0100 -Subject: [PATCH 1/3] aarch64: New Straight Line Speculation (SLS) mitigation - flags - -Here we introduce the flags that will be used for straight line speculation. - -The new flag introduced is `-mharden-sls=`. -This flag can take arguments of `none`, `all`, or a comma seperated list of one -or more of `retbr` or `blr`. -`none` indicates no special mitigation of the straight line speculation -vulnerability. -`all` requests all mitigations currently implemented. -`retbr` requests that the RET and BR instructions have a speculation barrier -inserted after them. -`blr` requests that BLR instructions are replaced by a BL to a function stub -using a BR with a speculation barrier after it. - -Setting this on a per-function basis using attributes or the like is not -enabled, but may be in the future. - -gcc/ChangeLog: - -2020-06-02 Matthew Malcomson - - * config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p): - New. - (aarch64_harden_sls_blr_p): New. - * config/aarch64/aarch64.c (enum aarch64_sls_hardening_type): - New. - (aarch64_harden_sls_retbr_p): New. - (aarch64_harden_sls_blr_p): New. - (aarch64_validate_sls_mitigation): New. - (aarch64_override_options): Parse options for SLS mitigation. - * config/aarch64/aarch64.opt (-mharden-sls): New option. - * doc/invoke.texi: Document new option. ---- - gcc/config/aarch64/aarch64-protos.h | 3 ++ - gcc/config/aarch64/aarch64.c | 76 +++++++++++++++++++++++++++++++++++++ - gcc/config/aarch64/aarch64.opt | 4 ++ - gcc/doc/invoke.texi | 12 ++++++ - 4 files changed, 95 insertions(+) - -diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h -index 723d9ba..eb5f4b4 100644 ---- a/gcc/config/aarch64/aarch64-protos.h -+++ b/gcc/config/aarch64/aarch64-protos.h -@@ -781,4 +781,7 @@ extern const atomic_ool_names aarch64_ool_ldeor_names; - - tree aarch64_resolve_overloaded_builtin_general (location_t, tree, void *); - -+extern bool aarch64_harden_sls_retbr_p (void); -+extern bool aarch64_harden_sls_blr_p (void); -+ - #endif /* GCC_AARCH64_PROTOS_H */ -diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index b86434a..437a9cf 100644 ---- a/gcc/config/aarch64/aarch64.c -+++ b/gcc/config/aarch64/aarch64.c -@@ -14494,6 +14494,79 @@ aarch64_validate_mcpu (const char *str, const struct processor **res, - return false; - } - -+/* Straight line speculation indicators. */ -+enum aarch64_sls_hardening_type -+{ -+ SLS_NONE = 0, -+ SLS_RETBR = 1, -+ SLS_BLR = 2, -+ SLS_ALL = 3, -+}; -+static enum aarch64_sls_hardening_type aarch64_sls_hardening; -+ -+/* Return whether we should mitigatate Straight Line Speculation for the RET -+ and BR instructions. */ -+bool -+aarch64_harden_sls_retbr_p (void) -+{ -+ return aarch64_sls_hardening & SLS_RETBR; -+} -+ -+/* Return whether we should mitigatate Straight Line Speculation for the BLR -+ instruction. */ -+bool -+aarch64_harden_sls_blr_p (void) -+{ -+ return aarch64_sls_hardening & SLS_BLR; -+} -+ -+/* As of yet we only allow setting these options globally, in the future we may -+ allow setting them per function. */ -+static void -+aarch64_validate_sls_mitigation (const char *const_str) -+{ -+ char *token_save = NULL; -+ char *str = NULL; -+ -+ if (strcmp (const_str, "none") == 0) -+ { -+ aarch64_sls_hardening = SLS_NONE; -+ return; -+ } -+ if (strcmp (const_str, "all") == 0) -+ { -+ aarch64_sls_hardening = SLS_ALL; -+ return; -+ } -+ -+ char *str_root = xstrdup (const_str); -+ str = strtok_r (str_root, ",", &token_save); -+ if (!str) -+ error ("invalid argument given to %<-mharden-sls=%>"); -+ -+ int temp = SLS_NONE; -+ while (str) -+ { -+ if (strcmp (str, "blr") == 0) -+ temp |= SLS_BLR; -+ else if (strcmp (str, "retbr") == 0) -+ temp |= SLS_RETBR; -+ else if (strcmp (str, "none") == 0 || strcmp (str, "all") == 0) -+ { -+ error ("%<%s%> must be by itself for %<-mharden-sls=%>", str); -+ break; -+ } -+ else -+ { -+ error ("invalid argument %<%s%> for %<-mharden-sls=%>", str); -+ break; -+ } -+ str = strtok_r (NULL, ",", &token_save); -+ } -+ aarch64_sls_hardening = (aarch64_sls_hardening_type) temp; -+ free (str_root); -+} -+ - /* Parses CONST_STR for branch protection features specified in - aarch64_branch_protect_types, and set any global variables required. Returns - the parsing result and assigns LAST_STR to the last processed token from -@@ -14738,6 +14811,9 @@ aarch64_override_options (void) - selected_arch = NULL; - selected_tune = NULL; - -+ if (aarch64_harden_sls_string) -+ aarch64_validate_sls_mitigation (aarch64_harden_sls_string); -+ - if (aarch64_branch_protection_string) - aarch64_validate_mbranch_protection (aarch64_branch_protection_string); - -diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt -index d99d14c..5170361 100644 ---- a/gcc/config/aarch64/aarch64.opt -+++ b/gcc/config/aarch64/aarch64.opt -@@ -71,6 +71,10 @@ mgeneral-regs-only - Target Report RejectNegative Mask(GENERAL_REGS_ONLY) Save - Generate code which uses only the general registers. - -+mharden-sls= -+Target RejectNegative Joined Var(aarch64_harden_sls_string) -+Generate code to mitigate against straight line speculation. -+ - mfix-cortex-a53-835769 - Target Report Var(aarch64_fix_a53_err835769) Init(2) Save - Workaround for ARM Cortex-A53 Erratum number 835769. -diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index a2794a6..bd5b77a 100644 ---- a/gcc/doc/invoke.texi -+++ b/gcc/doc/invoke.texi -@@ -696,6 +696,7 @@ Objective-C and Objective-C++ Dialects}. - -msign-return-address=@var{scope} @gol - -mbranch-protection=@var{none}|@var{standard}|@var{pac-ret}[+@var{leaf} - +@var{b-key}]|@var{bti} @gol -+-mharden-sls=@var{opts} @gol - -march=@var{name} -mcpu=@var{name} -mtune=@var{name} @gol - -moverride=@var{string} -mverbose-cost-dump @gol - -mstack-protector-guard=@var{guard} -mstack-protector-guard-reg=@var{sysreg} @gol -@@ -17065,6 +17066,17 @@ functions. The optional argument @samp{b-key} can be used to sign the functions - with the B-key instead of the A-key. - @samp{bti} turns on branch target identification mechanism. - -+@item -mharden-sls=@var{opts} -+@opindex mharden-sls -+Enable compiler hardening against straight line speculation (SLS). -+@var{opts} is a comma-separated list of the following options: -+@table @samp -+@item retbr -+@item blr -+@end table -+In addition, @samp{-mharden-sls=all} enables all SLS hardening while -+@samp{-mharden-sls=none} disables all SLS hardening. -+ - @item -msve-vector-bits=@var{bits} - @opindex msve-vector-bits - Specify the number of bits in an SVE vector register. This option only has --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch index 82ae9f8d1..0a108ee51 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch @@ -1,4 +1,4 @@ -From f2a5dc3bc7e5727d6bf77e1c6e8a31a6f000883d Mon Sep 17 00:00:00 2001 +From 368eaf1846733a9920c7cf5bc547a377e7167785 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 08:37:11 +0400 Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET @@ -12,10 +12,10 @@ Upstream-Status: Inappropriate [embedded specific] 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure -index 4cc938ebb7d..226a64939d1 100755 +index 504f6410274..bcebad264ec 100755 --- a/configure +++ b/configure -@@ -7722,7 +7722,7 @@ fi +@@ -9728,7 +9728,7 @@ fi # for target_alias and gcc doesn't manage it consistently. target_configargs="--cache-file=./config.cache ${target_configargs}" @@ -25,10 +25,10 @@ index 4cc938ebb7d..226a64939d1 100755 *" newlib "*) case " $target_configargs " in diff --git a/configure.ac b/configure.ac -index c78d9cbea62..f024f4bac9b 100644 +index 088e735c5db..1289fe08760 100644 --- a/configure.ac +++ b/configure.ac -@@ -3227,7 +3227,7 @@ fi +@@ -3240,7 +3240,7 @@ fi # for target_alias and gcc doesn't manage it consistently. target_configargs="--cache-file=./config.cache ${target_configargs}" diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-libatomic-libgomp-libitc-Fix-bootstrap-PR70454.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-libatomic-libgomp-libitc-Fix-bootstrap-PR70454.patch deleted file mode 100644 index addecb4bd..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0001-libatomic-libgomp-libitc-Fix-bootstrap-PR70454.patch +++ /dev/null @@ -1,208 +0,0 @@ -From 2824d2418605e092899117e77bc8ebf332321807 Mon Sep 17 00:00:00 2001 -From: Jakub Jelinek -Date: Fri, 15 Jan 2021 13:12:59 +0100 -Subject: [PATCH] libatomic, libgomp, libitc: Fix bootstrap [PR70454] - -The recent changes to error on mixing -march=i386 and -fcf-protection broke -bootstrap. This patch changes lib{atomic,gomp,itm} configury, so that it -only adds -march=i486 to flags if really needed (i.e. when 486 or later isn't -on by default already). Similarly, it will not use ifuncs if -mcx16 -(or -march=i686 for 32-bit) is on by default. - -2021-01-15 Jakub Jelinek - - PR target/70454 -libatomic/ - * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to - be added through preprocessor check on - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. Determine if try_ifunc is needed - based on preprocessor check on __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 - or __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8. -libgomp/ - * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to - be added through preprocessor check on - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. -libitm/ - * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to - be added through preprocessor check on - __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. - -Upstream-Status: Backport [master post 10.x release] ---- - libatomic/configure.tgt | 56 +++++++++++++++++++++++------------------ - libgomp/configure.tgt | 35 +++++++++++--------------- - libitm/configure.tgt | 37 +++++++++++++-------------- - 3 files changed, 64 insertions(+), 64 deletions(-) - -diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt -index 5dd0926d20..6ea082a29b 100644 ---- a/libatomic/configure.tgt -+++ b/libatomic/configure.tgt -@@ -81,32 +81,40 @@ case "${target_cpu}" in - ARCH=sparc - ;; - -- i[3456]86) -- case " ${CC} ${CFLAGS} " in -- *" -m64 "*|*" -mx32 "*) -- ;; -- *) -- if test -z "$with_arch"; then -- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" -- XCFLAGS="${XCFLAGS} -fomit-frame-pointer" -- fi -- esac -- ARCH=x86 -- # ??? Detect when -march=i686 is already enabled. -- try_ifunc=yes -- ;; -- x86_64) -- case " ${CC} ${CFLAGS} " in -- *" -m32 "*) -+ i[3456]86 | x86_64) -+ cat > conftestx.c < /dev/null 2>&1; then -+ : -+ else -+ if test "${target_cpu}" = x86_64; then - XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" -- XCFLAGS="${XCFLAGS} -fomit-frame-pointer" -- ;; -- *) -- ;; -- esac -+ else -+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" -+ fi -+ XCFLAGS="${XCFLAGS} -fomit-frame-pointer" -+ fi -+ cat > conftestx.c < /dev/null 2>&1; then -+ try_ifunc=no -+ else -+ try_ifunc=yes -+ fi -+ rm -f conftestx.c - ARCH=x86 -- # ??? Detect when -mcx16 is already enabled. -- try_ifunc=yes - ;; - - *) ARCH="${target_cpu}" ;; -diff --git a/libgomp/configure.tgt b/libgomp/configure.tgt -index 4790a31e39..761ef2a7db 100644 ---- a/libgomp/configure.tgt -+++ b/libgomp/configure.tgt -@@ -70,28 +70,23 @@ if test x$enable_linux_futex = xyes; then - ;; - - # Note that bare i386 is not included here. We need cmpxchg. -- i[456]86-*-linux*) -+ i[456]86-*-linux* | x86_64-*-linux*) - config_path="linux/x86 linux posix" -- case " ${CC} ${CFLAGS} " in -- *" -m64 "*|*" -mx32 "*) -- ;; -- *) -- if test -z "$with_arch"; then -- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" -- fi -- esac -- ;; -- -- # Similar jiggery-pokery for x86_64 multilibs, except here we -- # can't rely on the --with-arch configure option, since that -- # applies to the 64-bit side. -- x86_64-*-linux*) -- config_path="linux/x86 linux posix" -- case " ${CC} ${CFLAGS} " in -- *" -m32 "*) -+ cat > conftestx.c < /dev/null 2>&1; then -+ : -+ else -+ if test "${target_cpu}" = x86_64; then - XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" -- ;; -- esac -+ else -+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" -+ fi -+ fi -+ rm -f conftestx.c - ;; - - # Note that sparcv7 and sparcv8 is not included here. We need cas. -diff --git a/libitm/configure.tgt b/libitm/configure.tgt -index 04109160e9..ca62bac627 100644 ---- a/libitm/configure.tgt -+++ b/libitm/configure.tgt -@@ -58,16 +58,23 @@ case "${target_cpu}" in - - arm*) ARCH=arm ;; - -- i[3456]86) -- case " ${CC} ${CFLAGS} " in -- *" -m64 "*|*" -mx32 "*) -- ;; -- *) -- if test -z "$with_arch"; then -- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" -- XCFLAGS="${XCFLAGS} -fomit-frame-pointer" -- fi -- esac -+ i[3456]86 | x86_64) -+ cat > conftestx.c < /dev/null 2>&1; then -+ : -+ else -+ if test "${target_cpu}" = x86_64; then -+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" -+ else -+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" -+ fi -+ XCFLAGS="${XCFLAGS} -fomit-frame-pointer" -+ fi -+ rm -f conftestx.c - XCFLAGS="${XCFLAGS} -mrtm" - ARCH=x86 - ;; -@@ -102,16 +109,6 @@ case "${target_cpu}" in - ARCH=sparc - ;; - -- x86_64) -- case " ${CC} ${CFLAGS} " in -- *" -m32 "*) -- XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" -- XCFLAGS="${XCFLAGS} -fomit-frame-pointer" -- ;; -- esac -- XCFLAGS="${XCFLAGS} -mrtm" -- ARCH=x86 -- ;; - s390|s390x) - XCFLAGS="${XCFLAGS} -mzarch -mhtm" - ARCH=s390 diff --git a/poky/meta/recipes-devtools/gcc/gcc/0002-aarch64-Introduce-SLS-mitigation-for-RET-and-BR-inst.patch b/poky/meta/recipes-devtools/gcc/gcc/0002-aarch64-Introduce-SLS-mitigation-for-RET-and-BR-inst.patch deleted file mode 100644 index 823cc8b66..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0002-aarch64-Introduce-SLS-mitigation-for-RET-and-BR-inst.patch +++ /dev/null @@ -1,607 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From b1204d16e1ec96a4aa89e44de8990e2499ffdb22 Mon Sep 17 00:00:00 2001 -From: Matthew Malcomson -Date: Thu, 9 Jul 2020 09:11:59 +0100 -Subject: [PATCH 2/3] aarch64: Introduce SLS mitigation for RET and BR - instructions - -Instructions following RET or BR are not necessarily executed. In order -to avoid speculation past RET and BR we can simply append a speculation -barrier. - -Since these speculation barriers will not be architecturally executed, -they are not expected to add a high performance penalty. - -The speculation barrier is to be SB when targeting architectures which -have this enabled, and DSB SY + ISB otherwise. - -We add tests for each of the cases where such an instruction was seen. - -This is implemented by modifying each machine description pattern that -emits either a RET or a BR instruction. We choose not to use something -like `TARGET_ASM_FUNCTION_EPILOGUE` since it does not affect the -`indirect_jump`, `jump`, `sibcall_insn` and `sibcall_value_insn` -patterns and we find it preferable to implement the functionality in the -same way for every pattern. - -There is one particular case which is slightly tricky. The -implementation of TARGET_ASM_TRAMPOLINE_TEMPLATE uses a BR which needs -to be mitigated against. The trampoline template is used *once* per -compilation unit, and the TRAMPOLINE_SIZE is exposed to the user via the -builtin macro __LIBGCC_TRAMPOLINE_SIZE__. -In the future we may implement function specific attributes to turn on -and off hardening on a per-function basis. -The fixed nature of the trampoline described above implies it will be -safer to ensure this speculation barrier is always used. - -Testing: - Bootstrap and regtest done on aarch64-none-linux - Used a temporary hack(1) to use these options on every test in the - testsuite and a script to check that the output never emitted an - unmitigated RET or BR. - -1) Temporary hack was a change to the testsuite to always use -`-save-temps` and run a script on the assembly output of those -compilations which produced one to ensure every RET or BR is immediately -followed by a speculation barrier. - -gcc/ChangeLog: - - * config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New. - * config/aarch64/aarch64.c (aarch64_output_casesi): Emit - speculation barrier after BR instruction if needs be. - (aarch64_trampoline_init): Handle ptr_mode value & adjust size - of code copied. - (aarch64_sls_barrier): New. - (aarch64_asm_trampoline_template): Add needed barriers. - * config/aarch64/aarch64.h (AARCH64_ISA_SB): New. - (TARGET_SB): New. - (TRAMPOLINE_SIZE): Account for barrier. - * config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch, - simple_return, *do_return, *sibcall_insn, *sibcall_value_insn): - Emit barrier if needs be, also account for possible barrier using - "sls_length" attribute. - (sls_length): New attribute. - (length): Determine default using any non-default sls_length - value. - -gcc/testsuite/ChangeLog: - - * gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c: New test. - * gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c: - New test. - * gcc.target/aarch64/sls-mitigation/sls-mitigation.exp: New file. - * lib/target-supports.exp (check_effective_target_aarch64_asm_sb_ok): - New proc. ---- - gcc/config/aarch64/aarch64-protos.h | 1 + - gcc/config/aarch64/aarch64.c | 41 ++++++- - gcc/config/aarch64/aarch64.h | 10 +- - gcc/config/aarch64/aarch64.md | 76 +++++++++---- - .../aarch64/sls-mitigation/sls-miti-retbr-pacret.c | 21 ++++ - .../aarch64/sls-mitigation/sls-miti-retbr.c | 119 +++++++++++++++++++++ - .../aarch64/sls-mitigation/sls-mitigation.exp | 73 +++++++++++++ - gcc/testsuite/lib/target-supports.exp | 2 +- - 8 files changed, 318 insertions(+), 25 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c - create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c - create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-mitigation.exp - -diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h -index eb5f4b4..ee0ffde 100644 ---- a/gcc/config/aarch64/aarch64-protos.h -+++ b/gcc/config/aarch64/aarch64-protos.h -@@ -781,6 +781,7 @@ extern const atomic_ool_names aarch64_ool_ldeor_names; - - tree aarch64_resolve_overloaded_builtin_general (location_t, tree, void *); - -+const char *aarch64_sls_barrier (int); - extern bool aarch64_harden_sls_retbr_p (void); - extern bool aarch64_harden_sls_blr_p (void); - -diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index 437a9cf..44e3d1f 100644 ---- a/gcc/config/aarch64/aarch64.c -+++ b/gcc/config/aarch64/aarch64.c -@@ -10852,8 +10852,8 @@ aarch64_return_addr (int count, rtx frame ATTRIBUTE_UNUSED) - static void - aarch64_asm_trampoline_template (FILE *f) - { -- int offset1 = 16; -- int offset2 = 20; -+ int offset1 = 24; -+ int offset2 = 28; - - if (aarch64_bti_enabled ()) - { -@@ -10876,6 +10876,17 @@ aarch64_asm_trampoline_template (FILE *f) - } - asm_fprintf (f, "\tbr\t%s\n", reg_names [IP1_REGNUM]); - -+ /* We always emit a speculation barrier. -+ This is because the same trampoline template is used for every nested -+ function. Since nested functions are not particularly common or -+ performant we don't worry too much about the extra instructions to copy -+ around. -+ This is not yet a problem, since we have not yet implemented function -+ specific attributes to choose between hardening against straight line -+ speculation or not, but such function specific attributes are likely to -+ happen in the future. */ -+ asm_fprintf (f, "\tdsb\tsy\n\tisb\n"); -+ - /* The trampoline needs an extra padding instruction. In case if BTI is - enabled the padding instruction is replaced by the BTI instruction at - the beginning. */ -@@ -10890,10 +10901,14 @@ static void - aarch64_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value) - { - rtx fnaddr, mem, a_tramp; -- const int tramp_code_sz = 16; -+ const int tramp_code_sz = 24; - - /* Don't need to copy the trailing D-words, we fill those in below. */ -- emit_block_move (m_tramp, assemble_trampoline_template (), -+ /* We create our own memory address in Pmode so that `emit_block_move` can -+ use parts of the backend which expect Pmode addresses. */ -+ rtx temp = convert_memory_address (Pmode, XEXP (m_tramp, 0)); -+ emit_block_move (gen_rtx_MEM (BLKmode, temp), -+ assemble_trampoline_template (), - GEN_INT (tramp_code_sz), BLOCK_OP_NORMAL); - mem = adjust_address (m_tramp, ptr_mode, tramp_code_sz); - fnaddr = XEXP (DECL_RTL (fndecl), 0); -@@ -11084,6 +11099,8 @@ aarch64_output_casesi (rtx *operands) - output_asm_insn (buf, operands); - output_asm_insn (patterns[index][1], operands); - output_asm_insn ("br\t%3", operands); -+ output_asm_insn (aarch64_sls_barrier (aarch64_harden_sls_retbr_p ()), -+ operands); - assemble_label (asm_out_file, label); - return ""; - } -@@ -22924,6 +22941,22 @@ aarch64_file_end_indicate_exec_stack () - #undef GNU_PROPERTY_AARCH64_FEATURE_1_BTI - #undef GNU_PROPERTY_AARCH64_FEATURE_1_AND - -+/* Helper function for straight line speculation. -+ Return what barrier should be emitted for straight line speculation -+ mitigation. -+ When not mitigating against straight line speculation this function returns -+ an empty string. -+ When mitigating against straight line speculation, use: -+ * SB when the v8.5-A SB extension is enabled. -+ * DSB+ISB otherwise. */ -+const char * -+aarch64_sls_barrier (int mitigation_required) -+{ -+ return mitigation_required -+ ? (TARGET_SB ? "sb" : "dsb\tsy\n\tisb") -+ : ""; -+} -+ - /* Target-specific selftests. */ - - #if CHECKING_P -diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index 1ce23c6..c21015f 100644 ---- a/gcc/config/aarch64/aarch64.h -+++ b/gcc/config/aarch64/aarch64.h -@@ -281,6 +281,7 @@ extern unsigned aarch64_architecture_version; - #define AARCH64_ISA_F32MM (aarch64_isa_flags & AARCH64_FL_F32MM) - #define AARCH64_ISA_F64MM (aarch64_isa_flags & AARCH64_FL_F64MM) - #define AARCH64_ISA_BF16 (aarch64_isa_flags & AARCH64_FL_BF16) -+#define AARCH64_ISA_SB (aarch64_isa_flags & AARCH64_FL_SB) - - /* Crypto is an optional extension to AdvSIMD. */ - #define TARGET_CRYPTO (TARGET_SIMD && AARCH64_ISA_CRYPTO) -@@ -378,6 +379,9 @@ extern unsigned aarch64_architecture_version; - #define TARGET_FIX_ERR_A53_835769_DEFAULT 1 - #endif - -+/* SB instruction is enabled through +sb. */ -+#define TARGET_SB (AARCH64_ISA_SB) -+ - /* Apply the workaround for Cortex-A53 erratum 835769. */ - #define TARGET_FIX_ERR_A53_835769 \ - ((aarch64_fix_a53_err835769 == 2) \ -@@ -1058,8 +1062,10 @@ typedef struct - - #define RETURN_ADDR_RTX aarch64_return_addr - --/* BTI c + 3 insns + 2 pointer-sized entries. */ --#define TRAMPOLINE_SIZE (TARGET_ILP32 ? 24 : 32) -+/* BTI c + 3 insns -+ + sls barrier of DSB + ISB. -+ + 2 pointer-sized entries. */ -+#define TRAMPOLINE_SIZE (24 + (TARGET_ILP32 ? 8 : 16)) - - /* Trampolines contain dwords, so must be dword aligned. */ - #define TRAMPOLINE_ALIGNMENT 64 -diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index 8c8be3c..dda04ee 100644 ---- a/gcc/config/aarch64/aarch64.md -+++ b/gcc/config/aarch64/aarch64.md -@@ -407,10 +407,25 @@ - ;; Attribute that specifies whether the alternative uses MOVPRFX. - (define_attr "movprfx" "no,yes" (const_string "no")) - -+;; Attribute to specify that an alternative has the length of a single -+;; instruction plus a speculation barrier. -+(define_attr "sls_length" "none,retbr,casesi" (const_string "none")) -+ - (define_attr "length" "" - (cond [(eq_attr "movprfx" "yes") - (const_int 8) -- ] (const_int 4))) -+ -+ (eq_attr "sls_length" "retbr") -+ (cond [(match_test "!aarch64_harden_sls_retbr_p ()") (const_int 4) -+ (match_test "TARGET_SB") (const_int 8)] -+ (const_int 12)) -+ -+ (eq_attr "sls_length" "casesi") -+ (cond [(match_test "!aarch64_harden_sls_retbr_p ()") (const_int 16) -+ (match_test "TARGET_SB") (const_int 20)] -+ (const_int 24)) -+ ] -+ (const_int 4))) - - ;; Strictly for compatibility with AArch32 in pipeline models, since AArch64 has - ;; no predicated insns. -@@ -447,8 +462,12 @@ - (define_insn "indirect_jump" - [(set (pc) (match_operand:DI 0 "register_operand" "r"))] - "" -- "br\\t%0" -- [(set_attr "type" "branch")] -+ { -+ output_asm_insn ("br\\t%0", operands); -+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ()); -+ } -+ [(set_attr "type" "branch") -+ (set_attr "sls_length" "retbr")] - ) - - (define_insn "jump" -@@ -765,7 +784,7 @@ - "* - return aarch64_output_casesi (operands); - " -- [(set_attr "length" "16") -+ [(set_attr "sls_length" "casesi") - (set_attr "type" "branch")] - ) - -@@ -844,18 +863,23 @@ - [(return)] - "" - { -+ const char *ret = NULL; - if (aarch64_return_address_signing_enabled () - && TARGET_ARMV8_3 - && !crtl->calls_eh_return) - { - if (aarch64_ra_sign_key == AARCH64_KEY_B) -- return "retab"; -+ ret = "retab"; - else -- return "retaa"; -+ ret = "retaa"; - } -- return "ret"; -+ else -+ ret = "ret"; -+ output_asm_insn (ret, operands); -+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ()); - } -- [(set_attr "type" "branch")] -+ [(set_attr "type" "branch") -+ (set_attr "sls_length" "retbr")] - ) - - (define_expand "return" -@@ -867,8 +891,12 @@ - (define_insn "simple_return" - [(simple_return)] - "" -- "ret" -- [(set_attr "type" "branch")] -+ { -+ output_asm_insn ("ret", operands); -+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ()); -+ } -+ [(set_attr "type" "branch") -+ (set_attr "sls_length" "retbr")] - ) - - (define_insn "*cb1" -@@ -1066,10 +1094,16 @@ - (unspec:DI [(match_operand:DI 2 "const_int_operand")] UNSPEC_CALLEE_ABI) - (return)] - "SIBLING_CALL_P (insn)" -- "@ -- br\\t%0 -- b\\t%c0" -- [(set_attr "type" "branch, branch")] -+ { -+ if (which_alternative == 0) -+ { -+ output_asm_insn ("br\\t%0", operands); -+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ()); -+ } -+ return "b\\t%c0"; -+ } -+ [(set_attr "type" "branch, branch") -+ (set_attr "sls_length" "retbr,none")] - ) - - (define_insn "*sibcall_value_insn" -@@ -1080,10 +1114,16 @@ - (unspec:DI [(match_operand:DI 3 "const_int_operand")] UNSPEC_CALLEE_ABI) - (return)] - "SIBLING_CALL_P (insn)" -- "@ -- br\\t%1 -- b\\t%c1" -- [(set_attr "type" "branch, branch")] -+ { -+ if (which_alternative == 0) -+ { -+ output_asm_insn ("br\\t%1", operands); -+ return aarch64_sls_barrier (aarch64_harden_sls_retbr_p ()); -+ } -+ return "b\\t%c1"; -+ } -+ [(set_attr "type" "branch, branch") -+ (set_attr "sls_length" "retbr,none")] - ) - - ;; Call subroutine returning any type. -diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c -new file mode 100644 -index 0000000..fa1887a ---- /dev/null -+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr-pacret.c -@@ -0,0 +1,21 @@ -+/* Avoid ILP32 since pacret is only available for LP64 */ -+/* { dg-do compile { target { ! ilp32 } } } */ -+/* { dg-additional-options "-mharden-sls=retbr -mbranch-protection=pac-ret -march=armv8.3-a" } */ -+ -+/* Testing the do_return pattern for retaa and retab. */ -+long retbr_subcall(void); -+long retbr_do_return_retaa(void) -+{ -+ return retbr_subcall()+1; -+} -+ -+__attribute__((target("branch-protection=pac-ret+b-key"))) -+long retbr_do_return_retab(void) -+{ -+ return retbr_subcall()+1; -+} -+ -+/* Ensure there are no BR or RET instructions which are not directly followed -+ by a speculation barrier. */ -+/* { dg-final { scan-assembler-not {\t(br|ret|retaa|retab)\tx[0-9][0-9]?\n\t(?!dsb\tsy\n\tisb)} } } */ -+/* { dg-final { scan-assembler-not {ret\t} } } */ -diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c -new file mode 100644 -index 0000000..76b8d03 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-retbr.c -@@ -0,0 +1,119 @@ -+/* We ensure that -Wpedantic is off since it complains about the trampolines -+ we explicitly want to test. */ -+/* { dg-additional-options "-mharden-sls=retbr -Wno-pedantic " } */ -+/* -+ Ensure that the SLS hardening of RET and BR leaves no unprotected RET/BR -+ instructions. -+ */ -+typedef int (foo) (int, int); -+typedef void (bar) (int, int); -+struct sls_testclass { -+ foo *x; -+ bar *y; -+ int left; -+ int right; -+}; -+ -+int -+retbr_sibcall_value_insn (struct sls_testclass x) -+{ -+ return x.x(x.left, x.right); -+} -+ -+void -+retbr_sibcall_insn (struct sls_testclass x) -+{ -+ x.y(x.left, x.right); -+} -+ -+/* Aim to test two different returns. -+ One that introduces a tail call in the middle of the function, and one that -+ has a normal return. */ -+int -+retbr_multiple_returns (struct sls_testclass x) -+{ -+ int temp; -+ if (x.left % 10) -+ return x.x(x.left, 100); -+ else if (x.right % 20) -+ { -+ return x.x(x.left * x.right, 100); -+ } -+ temp = x.left % x.right; -+ temp *= 100; -+ temp /= 2; -+ return temp % 3; -+} -+ -+void -+retbr_multiple_returns_void (struct sls_testclass x) -+{ -+ if (x.left % 10) -+ { -+ x.y(x.left, 100); -+ } -+ else if (x.right % 20) -+ { -+ x.y(x.left * x.right, 100); -+ } -+ return; -+} -+ -+/* Testing the casesi jump via register. */ -+__attribute__ ((optimize ("Os"))) -+int -+retbr_casesi_dispatch (struct sls_testclass x) -+{ -+ switch (x.left) -+ { -+ case -5: -+ return -2; -+ case -3: -+ return -1; -+ case 0: -+ return 0; -+ case 3: -+ return 1; -+ case 5: -+ break; -+ default: -+ __builtin_unreachable (); -+ } -+ return x.right; -+} -+ -+/* Testing the BR in trampolines is mitigated against. */ -+void f1 (void *); -+void f3 (void *, void (*)(void *)); -+void f2 (void *); -+ -+int -+retbr_trampolines (void *a, int b) -+{ -+ if (!b) -+ { -+ f1 (a); -+ return 1; -+ } -+ if (b) -+ { -+ void retbr_tramp_internal (void *c) -+ { -+ if (c == a) -+ f2 (c); -+ } -+ f3 (a, retbr_tramp_internal); -+ } -+ return 0; -+} -+ -+/* Testing the indirect_jump pattern. */ -+void -+retbr_indirect_jump (int *buf) -+{ -+ __builtin_longjmp(buf, 1); -+} -+ -+/* Ensure there are no BR or RET instructions which are not directly followed -+ by a speculation barrier. */ -+/* { dg-final { scan-assembler-not {\t(br|ret|retaa|retab)\tx[0-9][0-9]?\n\t(?!dsb\tsy\n\tisb|sb)} } } */ -diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-mitigation.exp b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-mitigation.exp -new file mode 100644 -index 0000000..8122503 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-mitigation.exp -@@ -0,0 +1,73 @@ -+# Regression driver for SLS mitigation on AArch64. -+# Copyright (C) 2020 Free Software Foundation, Inc. -+# Contributed by ARM Ltd. -+# -+# This file is part of GCC. -+# -+# GCC is free software; you can redistribute it and/or modify it -+# under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3, or (at your option) -+# any later version. -+# -+# GCC 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 -+# General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with GCC; see the file COPYING3. If not see -+# . */ -+ -+# Exit immediately if this isn't an AArch64 target. -+if {![istarget aarch64*-*-*] } then { -+ return -+} -+ -+# Load support procs. -+load_lib gcc-dg.exp -+load_lib torture-options.exp -+ -+# If a testcase doesn't have special options, use these. -+global DEFAULT_CFLAGS -+if ![info exists DEFAULT_CFLAGS] then { -+ set DEFAULT_CFLAGS " " -+} -+ -+# Initialize `dg'. -+dg-init -+torture-init -+ -+# Use different architectures as well as the normal optimisation options. -+# (i.e. use both SB and DSB+ISB barriers). -+ -+set save-dg-do-what-default ${dg-do-what-default} -+# Main loop. -+# Run with torture tests (i.e. a bunch of different optimisation levels) just -+# to increase test coverage. -+set dg-do-what-default assemble -+gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \ -+ "-save-temps" $DEFAULT_CFLAGS -+ -+# Run the same tests but this time with SB extension. -+# Since not all supported assemblers will support that extension we decide -+# whether to assemble or just compile based on whether the extension is -+# supported for the available assembler. -+ -+set templist {} -+foreach x $DG_TORTURE_OPTIONS { -+ lappend templist "$x -march=armv8.3-a+sb " -+ lappend templist "$x -march=armv8-a+sb " -+} -+set-torture-options $templist -+if { [check_effective_target_aarch64_asm_sb_ok] } { -+ set dg-do-what-default assemble -+} else { -+ set dg-do-what-default compile -+} -+gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \ -+ "-save-temps" $DEFAULT_CFLAGS -+set dg-do-what-default ${save-dg-do-what-default} -+ -+# All done. -+torture-finish -+dg-finish -diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp -index 8a186dd..9d2e093 100644 ---- a/gcc/testsuite/lib/target-supports.exp -+++ b/gcc/testsuite/lib/target-supports.exp -@@ -9432,7 +9432,7 @@ proc check_effective_target_aarch64_tiny { } { - # various architecture extensions via the .arch_extension pseudo-op. - - foreach { aarch64_ext } { "fp" "simd" "crypto" "crc" "lse" "dotprod" "sve" -- "i8mm" "f32mm" "f64mm" "bf16" } { -+ "i8mm" "f32mm" "f64mm" "bf16" "sb" } { - eval [string map [list FUNC $aarch64_ext] { - proc check_effective_target_aarch64_asm_FUNC_ok { } { - if { [istarget aarch64*-*-*] } { --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch index 697bdc821..18a9fb870 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch @@ -1,6 +1,6 @@ -From 74cc21f474402cf3578e37e1d7a1a22bbd070f6a Mon Sep 17 00:00:00 2001 +From 118c6f054711d437167ff125a88c9236bfc8099c Mon Sep 17 00:00:00 2001 From: Khem Raj -Date: Fri, 29 Mar 2013 08:59:00 +0400 +Date: Mon, 8 Mar 2021 16:04:20 -0800 Subject: [PATCH] gcc: poison-system-directories Add /sw/include and /opt/include based on the original @@ -11,11 +11,9 @@ aborted. Instead, we add the two missing items to the current scan. If the user wants this to be a failure, they can add "-Werror=poison-system-directories". +Upstream-Status: Pending Signed-off-by: Mark Hatle Signed-off-by: Khem Raj -Signed-off-by: Wang Mingyu - -Upstream-Status: Pending --- gcc/common.opt | 4 ++++ gcc/config.in | 10 ++++++++++ @@ -27,10 +25,10 @@ Upstream-Status: Pending 7 files changed, 86 insertions(+), 2 deletions(-) diff --git a/gcc/common.opt b/gcc/common.opt -index 3ec7743ea..d3c3e51dc 100644 +index c75dd36843e..49acbd6ed44 100644 --- a/gcc/common.opt +++ b/gcc/common.opt -@@ -682,6 +682,10 @@ Wreturn-local-addr +@@ -683,6 +683,10 @@ Wreturn-local-addr Common Var(warn_return_local_addr) Init(1) Warning Warn about returning a pointer/reference to a local or temporary variable. @@ -42,10 +40,10 @@ index 3ec7743ea..d3c3e51dc 100644 Common Var(warn_shadow) Warning Warn when one variable shadows another. Same as -Wshadow=global. diff --git a/gcc/config.in b/gcc/config.in -index 364eba477..7d2c3bbf1 100644 +index 10a13cde586..8848284da41 100644 --- a/gcc/config.in +++ b/gcc/config.in -@@ -224,6 +224,16 @@ +@@ -218,6 +218,16 @@ #endif @@ -63,18 +61,18 @@ index 364eba477..7d2c3bbf1 100644 optimizer and back end) to be checked for dynamic type safety at runtime. This is quite expensive. */ diff --git a/gcc/configure b/gcc/configure -index 2a9d646b4..a848792f2 100755 +index 9bb436ce7bd..3f0734bff11 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -1010,6 +1010,7 @@ with_system_zlib - enable_maintainer_mode +@@ -1020,6 +1020,7 @@ enable_maintainer_mode enable_link_mutex + enable_link_serialization enable_version_specific_runtime_libs +enable_poison_system_directories enable_plugin enable_host_shared enable_libquadmath_support -@@ -1766,6 +1767,8 @@ Optional Features: +@@ -1782,6 +1783,8 @@ Optional Features: --enable-version-specific-runtime-libs specify that runtime libraries should be installed in a compiler-specific directory @@ -83,7 +81,7 @@ index 2a9d646b4..a848792f2 100755 --enable-plugin enable plugin support --enable-host-shared build host code as shared libraries --disable-libquadmath-support -@@ -30280,6 +30283,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : +@@ -31325,6 +31328,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : fi @@ -107,16 +105,16 @@ index 2a9d646b4..a848792f2 100755 diff --git a/gcc/configure.ac b/gcc/configure.ac -index 51cce36ce..66ffde305 100644 +index caa611933df..54e21764b3e 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -6614,6 +6614,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs, +@@ -7123,6 +7123,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs, [specify that runtime libraries should be installed in a compiler-specific directory])]) +AC_ARG_ENABLE([poison-system-directories], + AS_HELP_STRING([--enable-poison-system-directories], -+ [warn for use of native system header directories (no/yes/error)]),, ++ [warn for use of native system header directories (no/yes/error)]),, + [enable_poison_system_directories=no]) +AC_MSG_NOTICE([poisoned directories $enable_poison_system_directories]) +if test "x${enable_poison_system_directories}" != "xno"; then @@ -134,10 +132,10 @@ index 51cce36ce..66ffde305 100644 AC_SUBST(subdirs) AC_SUBST(srcdir) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index d929eb109..aa5ff88b1 100644 +index 7a368959e5e..6659a903bf0 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi -@@ -351,6 +351,7 @@ Objective-C and Objective-C++ Dialects}. +@@ -369,6 +369,7 @@ Objective-C and Objective-C++ Dialects}. -Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded @gol -Wparentheses -Wno-pedantic-ms-format @gol -Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast @gol @@ -145,7 +143,7 @@ index d929eb109..aa5ff88b1 100644 -Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol -Wrestrict -Wno-return-local-addr -Wreturn-type @gol -Wno-scalar-storage-order -Wsequence-point @gol -@@ -6928,6 +6929,14 @@ made up of data only and thus requires no special treatment. But, for +@@ -7735,6 +7736,14 @@ made up of data only and thus requires no special treatment. But, for most targets, it is made up of code and thus requires the stack to be made executable in order for the program to work properly. @@ -161,10 +159,10 @@ index d929eb109..aa5ff88b1 100644 @opindex Wfloat-equal @opindex Wno-float-equal diff --git a/gcc/gcc.c b/gcc/gcc.c -index 49c9c6c17..24a92bf27 100644 +index 7837553958b..19c75b6e20d 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -1044,6 +1044,8 @@ proper position among the other output files. */ +@@ -1152,6 +1152,8 @@ proper position among the other output files. */ "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ "%X %{o*} %{e*} %{N} %{n} %{r}\ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \ @@ -173,7 +171,7 @@ index 49c9c6c17..24a92bf27 100644 %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \ VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \ %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ -@@ -1138,8 +1140,11 @@ static const char *cpp_unique_options = +@@ -1247,8 +1249,11 @@ static const char *cpp_unique_options = static const char *cpp_options = "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\ @@ -185,10 +183,10 @@ index 49c9c6c17..24a92bf27 100644 +#endif + " %{undef} %{save-temps*:-fpch-preprocess}"; - /* This contains cpp options which are not passed when the preprocessor - output will be used by another program. */ + /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al. + diff --git a/gcc/incpath.c b/gcc/incpath.c -index 94eaba7b1..bfad4ebe3 100644 +index 446d280321d..fbfc0ce03b8 100644 --- a/gcc/incpath.c +++ b/gcc/incpath.c @@ -26,6 +26,7 @@ @@ -199,7 +197,7 @@ index 94eaba7b1..bfad4ebe3 100644 /* Microsoft Windows does not natively support inodes. VMS has non-numeric inodes. */ -@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) +@@ -395,6 +396,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) } fprintf (stderr, _("End of search list.\n")); } @@ -226,6 +224,3 @@ index 94eaba7b1..bfad4ebe3 100644 } /* Use given -I paths for #include "..." but not #include <...>, and --- -2.25.1 - diff --git a/poky/meta/recipes-devtools/gcc/gcc/0003-aarch64-Mitigate-SLS-for-BLR-instruction.patch b/poky/meta/recipes-devtools/gcc/gcc/0003-aarch64-Mitigate-SLS-for-BLR-instruction.patch deleted file mode 100644 index 716a36717..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0003-aarch64-Mitigate-SLS-for-BLR-instruction.patch +++ /dev/null @@ -1,658 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From a5e7efc40ed841934c1d913f39476afa17d8e5f7 Mon Sep 17 00:00:00 2001 -From: Matthew Malcomson -Date: Thu, 9 Jul 2020 09:11:59 +0100 -Subject: [PATCH 3/3] aarch64: Mitigate SLS for BLR instruction - -This patch introduces the mitigation for Straight Line Speculation past -the BLR instruction. - -This mitigation replaces BLR instructions with a BL to a stub which uses -a BR to jump to the original value. These function stubs are then -appended with a speculation barrier to ensure no straight line -speculation happens after these jumps. - -When optimising for speed we use a set of stubs for each function since -this should help the branch predictor make more accurate predictions -about where a stub should branch. - -When optimising for size we use one set of stubs for all functions. -This set of stubs can have human readable names, and we are using -`__call_indirect_x` for register x. - -When BTI branch protection is enabled the BLR instruction can jump to a -`BTI c` instruction using any register, while the BR instruction can -only jump to a `BTI c` instruction using the x16 or x17 registers. -Hence, in order to ensure this transformation is safe we mov the value -of the original register into x16 and use x16 for the BR. - -As an example when optimising for size: -a - BLR x0 -instruction would get transformed to something like - BL __call_indirect_x0 -where __call_indirect_x0 labels a thunk that contains -__call_indirect_x0: - MOV X16, X0 - BR X16 - - -The first version of this patch used local symbols specific to a -compilation unit to try and avoid relocations. -This was mistaken since functions coming from the same compilation unit -can still be in different sections, and the assembler will insert -relocations at jumps between sections. - -On any relocation the linker is permitted to emit a veneer to handle -jumps between symbols that are very far apart. The registers x16 and -x17 may be clobbered by these veneers. -Hence the function stubs cannot rely on the values of x16 and x17 being -the same as just before the function stub is called. - -Similar can be said for the hot/cold partitioning of single functions, -so function-local stubs have the same restriction. - -This updated version of the patch never emits function stubs for x16 and -x17, and instead forces other registers to be used. - -Given the above, there is now no benefit to local symbols (since they -are not enough to avoid dealing with linker intricacies). This patch -now uses global symbols with hidden visibility each stored in their own -COMDAT section. This means stubs can be shared between compilation -units while still avoiding the PLT indirection. - -This patch also removes the `__call_indirect_x30` stub (and -function-local equivalent) which would simply jump back to the original -location. - -The function-local stubs are emitted to the assembly output file in one -chunk, which means we need not add the speculation barrier directly -after each one. -This is because we know for certain that the instructions directly after -the BR in all but the last function stub will be from another one of -these stubs and hence will not contain a speculation gadget. -Instead we add a speculation barrier at the end of the sequence of -stubs. - -The global stubs are emitted in COMDAT/.linkonce sections by -themselves so that the linker can remove duplicates from multiple object -files. This means they are not emitted in one chunk, and each one must -include the speculation barrier. - -Another difference is that since the global stubs are shared across -compilation units we do not know that all functions will be targeting an -architecture supporting the SB instruction. -Rather than provide multiple stubs for each architecture, we provide a -stub that will work for all architectures -- using the DSB+ISB barrier. - -This mitigation does not apply for BLR instructions in the following -places: -- Some accesses to thread-local variables use a code sequence with a BLR - instruction. This code sequence is part of the binary interface between - compiler and linker. If this BLR instruction needs to be mitigated, it'd - probably be best to do so in the linker. It seems that the code sequence - for thread-local variable access is unlikely to lead to a Spectre Revalation - Gadget. -- PLT stubs are produced by the linker and each contain a BLR instruction. - It seems that at most only after the last PLT stub a Spectre Revalation - Gadget might appear. - -Testing: - Bootstrap and regtest on AArch64 - (with BOOT_CFLAGS="-mharden-sls=retbr,blr") - Used a temporary hack(1) in gcc-dg.exp to use these options on every - test in the testsuite, a slight modification to emit the speculation - barrier after every function stub, and a script to check that the - output never emitted a BLR, or unmitigated BR or RET instruction. - Similar on an aarch64-none-elf cross-compiler. - -1) Temporary hack emitted a speculation barrier at the end of every stub -function, and used a script to ensure that: - a) Every RET or BR is immediately followed by a speculation barrier. - b) No BLR instruction is emitted by compiler. - -gcc/ChangeLog: - - * config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm): - New declaration. - * config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new - stub registers class. - (aarch64_class_max_nregs): Likewise. - (aarch64_register_move_cost): Likewise. - (aarch64_sls_shared_thunks): Global array to store stub labels. - (aarch64_sls_emit_function_stub): New. - (aarch64_create_blr_label): New. - (aarch64_sls_emit_blr_function_thunks): New. - (aarch64_sls_emit_shared_blr_thunks): New. - (aarch64_asm_file_end): New. - (aarch64_indirect_call_asm): New. - (TARGET_ASM_FILE_END): Use aarch64_asm_file_end. - (TARGET_ASM_FUNCTION_EPILOGUE): Use - aarch64_sls_emit_blr_function_thunks. - * config/aarch64/aarch64.h (STB_REGNUM_P): New. - (enum reg_class): Add STUB_REGS class. - (machine_function): Introduce `call_via` array for - function-local stub labels. - * config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use - aarch64_indirect_call_asm to emit code when hardening BLR - instructions. - * config/aarch64/constraints.md (Ucr): New constraint - representing registers for indirect calls. Is GENERAL_REGS - usually, and STUB_REGS when hardening BLR instruction against - SLS. - * config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class - is also a general register. - -gcc/testsuite/ChangeLog: - - * gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c: New test. - * gcc.target/aarch64/sls-mitigation/sls-miti-blr.c: New test. ---- - gcc/config/aarch64/aarch64-protos.h | 1 + - gcc/config/aarch64/aarch64.c | 225 ++++++++++++++++++++- - gcc/config/aarch64/aarch64.h | 15 ++ - gcc/config/aarch64/aarch64.md | 11 +- - gcc/config/aarch64/constraints.md | 9 + - gcc/config/aarch64/predicates.md | 3 +- - .../aarch64/sls-mitigation/sls-miti-blr-bti.c | 40 ++++ - .../aarch64/sls-mitigation/sls-miti-blr.c | 33 +++ - 8 files changed, 328 insertions(+), 9 deletions(-) - create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c - create mode 100644 gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr.c - -diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h -index ee0ffde..839f801 100644 ---- a/gcc/config/aarch64/aarch64-protos.h -+++ b/gcc/config/aarch64/aarch64-protos.h -@@ -782,6 +782,7 @@ extern const atomic_ool_names aarch64_ool_ldeor_names; - tree aarch64_resolve_overloaded_builtin_general (location_t, tree, void *); - - const char *aarch64_sls_barrier (int); -+const char *aarch64_indirect_call_asm (rtx); - extern bool aarch64_harden_sls_retbr_p (void); - extern bool aarch64_harden_sls_blr_p (void); - -diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c -index 2389d49..0f7bba3 100644 ---- a/gcc/config/aarch64/aarch64.c -+++ b/gcc/config/aarch64/aarch64.c -@@ -10605,6 +10605,9 @@ aarch64_label_mentioned_p (rtx x) - enum reg_class - aarch64_regno_regclass (unsigned regno) - { -+ if (STUB_REGNUM_P (regno)) -+ return STUB_REGS; -+ - if (GP_REGNUM_P (regno)) - return GENERAL_REGS; - -@@ -10939,6 +10942,7 @@ aarch64_class_max_nregs (reg_class_t regclass, machine_mode mode) - unsigned int nregs, vec_flags; - switch (regclass) - { -+ case STUB_REGS: - case TAILCALL_ADDR_REGS: - case POINTER_REGS: - case GENERAL_REGS: -@@ -13155,10 +13159,12 @@ aarch64_register_move_cost (machine_mode mode, - = aarch64_tune_params.regmove_cost; - - /* Caller save and pointer regs are equivalent to GENERAL_REGS. */ -- if (to == TAILCALL_ADDR_REGS || to == POINTER_REGS) -+ if (to == TAILCALL_ADDR_REGS || to == POINTER_REGS -+ || to == STUB_REGS) - to = GENERAL_REGS; - -- if (from == TAILCALL_ADDR_REGS || from == POINTER_REGS) -+ if (from == TAILCALL_ADDR_REGS || from == POINTER_REGS -+ || from == STUB_REGS) - from = GENERAL_REGS; - - /* Make RDFFR very expensive. In particular, if we know that the FFR -@@ -22957,6 +22963,215 @@ aarch64_sls_barrier (int mitigation_required) - : ""; - } - -+static GTY (()) tree aarch64_sls_shared_thunks[30]; -+static GTY (()) bool aarch64_sls_shared_thunks_needed = false; -+const char *indirect_symbol_names[30] = { -+ "__call_indirect_x0", -+ "__call_indirect_x1", -+ "__call_indirect_x2", -+ "__call_indirect_x3", -+ "__call_indirect_x4", -+ "__call_indirect_x5", -+ "__call_indirect_x6", -+ "__call_indirect_x7", -+ "__call_indirect_x8", -+ "__call_indirect_x9", -+ "__call_indirect_x10", -+ "__call_indirect_x11", -+ "__call_indirect_x12", -+ "__call_indirect_x13", -+ "__call_indirect_x14", -+ "__call_indirect_x15", -+ "", /* "__call_indirect_x16", */ -+ "", /* "__call_indirect_x17", */ -+ "__call_indirect_x18", -+ "__call_indirect_x19", -+ "__call_indirect_x20", -+ "__call_indirect_x21", -+ "__call_indirect_x22", -+ "__call_indirect_x23", -+ "__call_indirect_x24", -+ "__call_indirect_x25", -+ "__call_indirect_x26", -+ "__call_indirect_x27", -+ "__call_indirect_x28", -+ "__call_indirect_x29", -+}; -+ -+/* Function to create a BLR thunk. This thunk is used to mitigate straight -+ line speculation. Instead of a simple BLR that can be speculated past, -+ we emit a BL to this thunk, and this thunk contains a BR to the relevant -+ register. These thunks have the relevant speculation barries put after -+ their indirect branch so that speculation is blocked. -+ -+ We use such a thunk so the speculation barriers are kept off the -+ architecturally executed path in order to reduce the performance overhead. -+ -+ When optimizing for size we use stubs shared by the linked object. -+ When optimizing for performance we emit stubs for each function in the hope -+ that the branch predictor can better train on jumps specific for a given -+ function. */ -+rtx -+aarch64_sls_create_blr_label (int regnum) -+{ -+ gcc_assert (STUB_REGNUM_P (regnum)); -+ if (optimize_function_for_size_p (cfun)) -+ { -+ /* For the thunks shared between different functions in this compilation -+ unit we use a named symbol -- this is just for users to more easily -+ understand the generated assembly. */ -+ aarch64_sls_shared_thunks_needed = true; -+ const char *thunk_name = indirect_symbol_names[regnum]; -+ if (aarch64_sls_shared_thunks[regnum] == NULL) -+ { -+ /* Build a decl representing this function stub and record it for -+ later. We build a decl here so we can use the GCC machinery for -+ handling sections automatically (through `get_named_section` and -+ `make_decl_one_only`). That saves us a lot of trouble handling -+ the specifics of different output file formats. */ -+ tree decl = build_decl (BUILTINS_LOCATION, FUNCTION_DECL, -+ get_identifier (thunk_name), -+ build_function_type_list (void_type_node, -+ NULL_TREE)); -+ DECL_RESULT (decl) = build_decl (BUILTINS_LOCATION, RESULT_DECL, -+ NULL_TREE, void_type_node); -+ TREE_PUBLIC (decl) = 1; -+ TREE_STATIC (decl) = 1; -+ DECL_IGNORED_P (decl) = 1; -+ DECL_ARTIFICIAL (decl) = 1; -+ make_decl_one_only (decl, DECL_ASSEMBLER_NAME (decl)); -+ resolve_unique_section (decl, 0, false); -+ aarch64_sls_shared_thunks[regnum] = decl; -+ } -+ -+ return gen_rtx_SYMBOL_REF (Pmode, thunk_name); -+ } -+ -+ if (cfun->machine->call_via[regnum] == NULL) -+ cfun->machine->call_via[regnum] -+ = gen_rtx_LABEL_REF (Pmode, gen_label_rtx ()); -+ return cfun->machine->call_via[regnum]; -+} -+ -+/* Helper function for aarch64_sls_emit_blr_function_thunks and -+ aarch64_sls_emit_shared_blr_thunks below. */ -+static void -+aarch64_sls_emit_function_stub (FILE *out_file, int regnum) -+{ -+ /* Save in x16 and branch to that function so this transformation does -+ not prevent jumping to `BTI c` instructions. */ -+ asm_fprintf (out_file, "\tmov\tx16, x%d\n", regnum); -+ asm_fprintf (out_file, "\tbr\tx16\n"); -+} -+ -+/* Emit all BLR stubs for this particular function. -+ Here we emit all the BLR stubs needed for the current function. Since we -+ emit these stubs in a consecutive block we know there will be no speculation -+ gadgets between each stub, and hence we only emit a speculation barrier at -+ the end of the stub sequences. -+ -+ This is called in the TARGET_ASM_FUNCTION_EPILOGUE hook. */ -+void -+aarch64_sls_emit_blr_function_thunks (FILE *out_file) -+{ -+ if (! aarch64_harden_sls_blr_p ()) -+ return; -+ -+ bool any_functions_emitted = false; -+ /* We must save and restore the current function section since this assembly -+ is emitted at the end of the function. This means it can be emitted *just -+ after* the cold section of a function. That cold part would be emitted in -+ a different section. That switch would trigger a `.cfi_endproc` directive -+ to be emitted in the original section and a `.cfi_startproc` directive to -+ be emitted in the new section. Switching to the original section without -+ restoring would mean that the `.cfi_endproc` emitted as a function ends -+ would happen in a different section -- leaving an unmatched -+ `.cfi_startproc` in the cold text section and an unmatched `.cfi_endproc` -+ in the standard text section. */ -+ section *save_text_section = in_section; -+ switch_to_section (function_section (current_function_decl)); -+ for (int regnum = 0; regnum < 30; ++regnum) -+ { -+ rtx specu_label = cfun->machine->call_via[regnum]; -+ if (specu_label == NULL) -+ continue; -+ -+ targetm.asm_out.print_operand (out_file, specu_label, 0); -+ asm_fprintf (out_file, ":\n"); -+ aarch64_sls_emit_function_stub (out_file, regnum); -+ any_functions_emitted = true; -+ } -+ if (any_functions_emitted) -+ /* Can use the SB if needs be here, since this stub will only be used -+ by the current function, and hence for the current target. */ -+ asm_fprintf (out_file, "\t%s\n", aarch64_sls_barrier (true)); -+ switch_to_section (save_text_section); -+} -+ -+/* Emit shared BLR stubs for the current compilation unit. -+ Over the course of compiling this unit we may have converted some BLR -+ instructions to a BL to a shared stub function. This is where we emit those -+ stub functions. -+ This function is for the stubs shared between different functions in this -+ compilation unit. We share when optimizing for size instead of speed. -+ -+ This function is called through the TARGET_ASM_FILE_END hook. */ -+void -+aarch64_sls_emit_shared_blr_thunks (FILE *out_file) -+{ -+ if (! aarch64_sls_shared_thunks_needed) -+ return; -+ -+ for (int regnum = 0; regnum < 30; ++regnum) -+ { -+ tree decl = aarch64_sls_shared_thunks[regnum]; -+ if (!decl) -+ continue; -+ -+ const char *name = indirect_symbol_names[regnum]; -+ switch_to_section (get_named_section (decl, NULL, 0)); -+ ASM_OUTPUT_ALIGN (out_file, 2); -+ targetm.asm_out.globalize_label (out_file, name); -+ /* Only emits if the compiler is configured for an assembler that can -+ handle visibility directives. */ -+ targetm.asm_out.assemble_visibility (decl, VISIBILITY_HIDDEN); -+ ASM_OUTPUT_TYPE_DIRECTIVE (out_file, name, "function"); -+ ASM_OUTPUT_LABEL (out_file, name); -+ aarch64_sls_emit_function_stub (out_file, regnum); -+ /* Use the most conservative target to ensure it can always be used by any -+ function in the translation unit. */ -+ asm_fprintf (out_file, "\tdsb\tsy\n\tisb\n"); -+ ASM_DECLARE_FUNCTION_SIZE (out_file, name, decl); -+ } -+} -+ -+/* Implement TARGET_ASM_FILE_END. */ -+void -+aarch64_asm_file_end () -+{ -+ aarch64_sls_emit_shared_blr_thunks (asm_out_file); -+ /* Since this function will be called for the ASM_FILE_END hook, we ensure -+ that what would be called otherwise (e.g. `file_end_indicate_exec_stack` -+ for FreeBSD) still gets called. */ -+#ifdef TARGET_ASM_FILE_END -+ TARGET_ASM_FILE_END (); -+#endif -+} -+ -+const char * -+aarch64_indirect_call_asm (rtx addr) -+{ -+ gcc_assert (REG_P (addr)); -+ if (aarch64_harden_sls_blr_p ()) -+ { -+ rtx stub_label = aarch64_sls_create_blr_label (REGNO (addr)); -+ output_asm_insn ("bl\t%0", &stub_label); -+ } -+ else -+ output_asm_insn ("blr\t%0", &addr); -+ return ""; -+} -+ - /* Target-specific selftests. */ - - #if CHECKING_P -@@ -23507,6 +23722,12 @@ aarch64_libgcc_floating_mode_supported_p - #undef TARGET_MD_ASM_ADJUST - #define TARGET_MD_ASM_ADJUST arm_md_asm_adjust - -+#undef TARGET_ASM_FILE_END -+#define TARGET_ASM_FILE_END aarch64_asm_file_end -+ -+#undef TARGET_ASM_FUNCTION_EPILOGUE -+#define TARGET_ASM_FUNCTION_EPILOGUE aarch64_sls_emit_blr_function_thunks -+ - struct gcc_target targetm = TARGET_INITIALIZER; - - #include "gt-aarch64.h" -diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h -index 8e0fc37..7331450 100644 ---- a/gcc/config/aarch64/aarch64.h -+++ b/gcc/config/aarch64/aarch64.h -@@ -643,6 +643,16 @@ extern unsigned aarch64_architecture_version; - #define GP_REGNUM_P(REGNO) \ - (((unsigned) (REGNO - R0_REGNUM)) <= (R30_REGNUM - R0_REGNUM)) - -+/* Registers known to be preserved over a BL instruction. This consists of the -+ GENERAL_REGS without x16, x17, and x30. The x30 register is changed by the -+ BL instruction itself, while the x16 and x17 registers may be used by -+ veneers which can be inserted by the linker. */ -+#define STUB_REGNUM_P(REGNO) \ -+ (GP_REGNUM_P (REGNO) \ -+ && (REGNO) != R16_REGNUM \ -+ && (REGNO) != R17_REGNUM \ -+ && (REGNO) != R30_REGNUM) \ -+ - #define FP_REGNUM_P(REGNO) \ - (((unsigned) (REGNO - V0_REGNUM)) <= (V31_REGNUM - V0_REGNUM)) - -@@ -667,6 +677,7 @@ enum reg_class - { - NO_REGS, - TAILCALL_ADDR_REGS, -+ STUB_REGS, - GENERAL_REGS, - STACK_REG, - POINTER_REGS, -@@ -689,6 +700,7 @@ enum reg_class - { \ - "NO_REGS", \ - "TAILCALL_ADDR_REGS", \ -+ "STUB_REGS", \ - "GENERAL_REGS", \ - "STACK_REG", \ - "POINTER_REGS", \ -@@ -708,6 +720,7 @@ enum reg_class - { \ - { 0x00000000, 0x00000000, 0x00000000 }, /* NO_REGS */ \ - { 0x00030000, 0x00000000, 0x00000000 }, /* TAILCALL_ADDR_REGS */\ -+ { 0x3ffcffff, 0x00000000, 0x00000000 }, /* STUB_REGS */ \ - { 0x7fffffff, 0x00000000, 0x00000003 }, /* GENERAL_REGS */ \ - { 0x80000000, 0x00000000, 0x00000000 }, /* STACK_REG */ \ - { 0xffffffff, 0x00000000, 0x00000003 }, /* POINTER_REGS */ \ -@@ -862,6 +875,8 @@ typedef struct GTY (()) machine_function - struct aarch64_frame frame; - /* One entry for each hard register. */ - bool reg_is_wrapped_separately[LAST_SAVED_REGNUM]; -+ /* One entry for each general purpose register. */ -+ rtx call_via[SP_REGNUM]; - bool label_is_assembled; - } machine_function; - #endif -diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md -index dda04ee..43da754 100644 ---- a/gcc/config/aarch64/aarch64.md -+++ b/gcc/config/aarch64/aarch64.md -@@ -1022,16 +1022,15 @@ - ) - - (define_insn "*call_insn" -- [(call (mem:DI (match_operand:DI 0 "aarch64_call_insn_operand" "r, Usf")) -+ [(call (mem:DI (match_operand:DI 0 "aarch64_call_insn_operand" "Ucr, Usf")) - (match_operand 1 "" "")) - (unspec:DI [(match_operand:DI 2 "const_int_operand")] UNSPEC_CALLEE_ABI) - (clobber (reg:DI LR_REGNUM))] - "" - "@ -- blr\\t%0 -+ * return aarch64_indirect_call_asm (operands[0]); - bl\\t%c0" -- [(set_attr "type" "call, call")] --) -+ [(set_attr "type" "call, call")]) - - (define_expand "call_value" - [(parallel -@@ -1050,13 +1049,13 @@ - - (define_insn "*call_value_insn" - [(set (match_operand 0 "" "") -- (call (mem:DI (match_operand:DI 1 "aarch64_call_insn_operand" "r, Usf")) -+ (call (mem:DI (match_operand:DI 1 "aarch64_call_insn_operand" "Ucr, Usf")) - (match_operand 2 "" ""))) - (unspec:DI [(match_operand:DI 3 "const_int_operand")] UNSPEC_CALLEE_ABI) - (clobber (reg:DI LR_REGNUM))] - "" - "@ -- blr\\t%1 -+ * return aarch64_indirect_call_asm (operands[1]); - bl\\t%c1" - [(set_attr "type" "call, call")] - ) -diff --git a/gcc/config/aarch64/constraints.md b/gcc/config/aarch64/constraints.md -index d993268..8cc6f50 100644 ---- a/gcc/config/aarch64/constraints.md -+++ b/gcc/config/aarch64/constraints.md -@@ -24,6 +24,15 @@ - (define_register_constraint "Ucs" "TAILCALL_ADDR_REGS" - "@internal Registers suitable for an indirect tail call") - -+(define_register_constraint "Ucr" -+ "aarch64_harden_sls_blr_p () ? STUB_REGS : GENERAL_REGS" -+ "@internal Registers to be used for an indirect call. -+ This is usually the general registers, but when we are hardening against -+ Straight Line Speculation we disallow x16, x17, and x30 so we can use -+ indirection stubs. These indirection stubs cannot use the above registers -+ since they will be reached by a BL that may have to go through a linker -+ veneer.") -+ - (define_register_constraint "w" "FP_REGS" - "Floating point and SIMD vector registers.") - -diff --git a/gcc/config/aarch64/predicates.md b/gcc/config/aarch64/predicates.md -index 215fcec..1754b1e 100644 ---- a/gcc/config/aarch64/predicates.md -+++ b/gcc/config/aarch64/predicates.md -@@ -32,7 +32,8 @@ - - (define_predicate "aarch64_general_reg" - (and (match_operand 0 "register_operand") -- (match_test "REGNO_REG_CLASS (REGNO (op)) == GENERAL_REGS"))) -+ (match_test "REGNO_REG_CLASS (REGNO (op)) == STUB_REGS -+ || REGNO_REG_CLASS (REGNO (op)) == GENERAL_REGS"))) - - ;; Return true if OP a (const_int 0) operand. - (define_predicate "const0_operand" -diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -new file mode 100644 -index 0000000..b1fb754 ---- /dev/null -+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr-bti.c -@@ -0,0 +1,40 @@ -+/* { dg-do compile } */ -+/* { dg-additional-options "-mharden-sls=blr -mbranch-protection=bti" } */ -+/* -+ Ensure that the SLS hardening of BLR leaves no BLR instructions. -+ Here we also check that there are no BR instructions with anything except an -+ x16 or x17 register. This is because a `BTI c` instruction can be branched -+ to using a BLR instruction using any register, but can only be branched to -+ with a BR using an x16 or x17 register. -+ */ -+typedef int (foo) (int, int); -+typedef void (bar) (int, int); -+struct sls_testclass { -+ foo *x; -+ bar *y; -+ int left; -+ int right; -+}; -+ -+/* We test both RTL patterns for a call which returns a value and a call which -+ does not. */ -+int blr_call_value (struct sls_testclass x) -+{ -+ int retval = x.x(x.left, x.right); -+ if (retval % 10) -+ return 100; -+ return 9; -+} -+ -+int blr_call (struct sls_testclass x) -+{ -+ x.y(x.left, x.right); -+ if (x.left % 10) -+ return 100; -+ return 9; -+} -+ -+/* { dg-final { scan-assembler-not {\tblr\t} } } */ -+/* { dg-final { scan-assembler-not {\tbr\tx(?!16|17)} } } */ -+/* { dg-final { scan-assembler {\tbr\tx(16|17)} } } */ -+ -diff --git a/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr.c b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -new file mode 100644 -index 0000000..88bafff ---- /dev/null -+++ b/gcc/testsuite/gcc.target/aarch64/sls-mitigation/sls-miti-blr.c -@@ -0,0 +1,33 @@ -+/* { dg-additional-options "-mharden-sls=blr -save-temps" } */ -+/* Ensure that the SLS hardening of BLR leaves no BLR instructions. -+ We only test that all BLR instructions have been removed, not that the -+ resulting code makes sense. */ -+typedef int (foo) (int, int); -+typedef void (bar) (int, int); -+struct sls_testclass { -+ foo *x; -+ bar *y; -+ int left; -+ int right; -+}; -+ -+/* We test both RTL patterns for a call which returns a value and a call which -+ does not. */ -+int blr_call_value (struct sls_testclass x) -+{ -+ int retval = x.x(x.left, x.right); -+ if (retval % 10) -+ return 100; -+ return 9; -+} -+ -+int blr_call (struct sls_testclass x) -+{ -+ x.y(x.left, x.right); -+ if (x.left % 10) -+ return 100; -+ return 9; -+} -+ -+/* { dg-final { scan-assembler-not {\tblr\t} } } */ -+/* { dg-final { scan-assembler {\tbr\tx[0-9][0-9]?} } } */ --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/gcc/gcc/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch index 27237feb5..7a6765455 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch @@ -1,4 +1,4 @@ -From 6e3395c0bc933bdc3242d1dead4896d0aa4e11a8 Mon Sep 17 00:00:00 2001 +From 274a27da6fe355c4c49953b3b69c8949d2412c62 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:08:31 +0400 Subject: [PATCH] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET @@ -26,10 +26,10 @@ Upstream-Status: Pending 1 file changed, 32 insertions(+) diff --git a/configure b/configure -index 226a64939d1..b31dc137fc9 100755 +index bcebad264ec..86e4ee7c383 100755 --- a/configure +++ b/configure -@@ -6971,6 +6971,38 @@ fi +@@ -8977,6 +8977,38 @@ fi diff --git a/poky/meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch index 7c751bef6..789f57343 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch @@ -1,4 +1,4 @@ -From 85a7c5aeb82ed61e6ef6d8e061b9da9e6a4a652c Mon Sep 17 00:00:00 2001 +From 28e7c312b1292ca216d4b54ec9f6b7ac055907a8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:10:06 +0400 Subject: [PATCH] 64-bit multilib hack. @@ -37,7 +37,7 @@ Signed-off-by: Mark Hatle 5 files changed, 15 insertions(+), 20 deletions(-) diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux -index 83e59e33b85..b1356be1fb4 100644 +index 241b0ef20b6..a7dadb2d64f 100644 --- a/gcc/config/aarch64/t-aarch64-linux +++ b/gcc/config/aarch64/t-aarch64-linux @@ -21,8 +21,8 @@ @@ -54,7 +54,7 @@ index 83e59e33b85..b1356be1fb4 100644 -MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) +#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 -index 1171e218578..5e057b7e5db 100644 +index d288b093522..7b5980a9d21 100644 --- a/gcc/config/i386/t-linux64 +++ b/gcc/config/i386/t-linux64 @@ -32,7 +32,5 @@ @@ -68,7 +68,7 @@ index 1171e218578..5e057b7e5db 100644 +MULTILIB_DIRNAMES = . . +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 -index ceb58d3b5f3..43fe2bf28ab 100644 +index 130e1f04707..3b7eb6b2a2f 100644 --- a/gcc/config/mips/t-linux64 +++ b/gcc/config/mips/t-linux64 @@ -17,10 +17,6 @@ @@ -98,7 +98,7 @@ index 216d2776a18..e4d817621fc 100644 +#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) +MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 -index 264a7e27524..dc9d440f66b 100644 +index e11a118cb5f..4eaffb416fe 100644 --- a/gcc/config/rs6000/t-linux64 +++ b/gcc/config/rs6000/t-linux64 @@ -26,10 +26,9 @@ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc/0005-optional-libstdc.patch index 4020c9e3c..c921ac334 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0005-optional-libstdc.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0005-optional-libstdc.patch @@ -1,4 +1,4 @@ -From 6ddfb0bfcd1eea71acd37ab06f7a4510b9f1d12b Mon Sep 17 00:00:00 2001 +From 57e2c5e35732988c0b287289eb0997b4e9769371 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:12:56 +0400 Subject: [PATCH] optional libstdc @@ -25,10 +25,10 @@ Upstream-Status: Inappropriate [embedded specific] 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt -index c49da99d395..35f712e2c84 100644 +index 64e46e7573e..1824380f27a 100644 --- a/gcc/c-family/c.opt +++ b/gcc/c-family/c.opt -@@ -2025,6 +2025,10 @@ nostdinc++ +@@ -2166,6 +2166,10 @@ nostdinc++ C++ ObjC++ Do not search standard system include directories for C++. @@ -40,10 +40,10 @@ index c49da99d395..35f712e2c84 100644 C ObjC C++ ObjC++ Joined Separate ; Documented in common.opt diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c -index 0ab63bcd211..7b081e9e4f0 100644 +index 3c9bd1490b4..818beb61cee 100644 --- a/gcc/cp/g++spec.c +++ b/gcc/cp/g++spec.c -@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, +@@ -159,6 +159,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options, switch (decoded_options[i].opt_index) { case OPT_nostdlib: @@ -52,10 +52,10 @@ index 0ab63bcd211..7b081e9e4f0 100644 library = -1; break; diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi -index f12d8d12150..cf6cb428e7d 100644 +index 6659a903bf0..9ee63dbe52f 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi -@@ -230,6 +230,9 @@ in the following sections. +@@ -239,6 +239,9 @@ in the following sections. -fno-weak -nostdinc++ @gol -fvisibility-inlines-hidden @gol -fvisibility-ms-compat @gol @@ -63,9 +63,9 @@ index f12d8d12150..cf6cb428e7d 100644 +-fvtv-counts -fvtv-debug @gol +-nostdlib++ @gol -fext-numeric-literals @gol - -Wabi-tag -Wcatch-value -Wcatch-value=@var{n} @gol - -Wno-class-conversion -Wclass-memaccess @gol -@@ -599,7 +602,7 @@ Objective-C and Objective-C++ Dialects}. + -flang-info-include-translate@r{[}=@var{header}@r{]} @gol + -flang-info-include-translate-not @gol +@@ -632,7 +635,7 @@ Objective-C and Objective-C++ Dialects}. -pie -pthread -r -rdynamic @gol -s -static -static-pie -static-libgcc -static-libstdc++ @gol -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol @@ -74,7 +74,7 @@ index f12d8d12150..cf6cb428e7d 100644 -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol -u @var{symbol} -z @var{keyword}} -@@ -14407,6 +14410,33 @@ Specify that the program entry point is @var{entry}. The argument is +@@ -15708,6 +15711,33 @@ Specify that the program entry point is @var{entry}. The argument is interpreted by the linker; the GNU linker accepts either a symbol name or an address. @@ -109,10 +109,10 @@ index f12d8d12150..cf6cb428e7d 100644 @opindex pie Produce a dynamically linked position independent executable on targets diff --git a/gcc/gcc.c b/gcc/gcc.c -index b2200c5185a..f8be58ce0a6 100644 +index 19c75b6e20d..be7630ffd8c 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -1051,6 +1051,7 @@ proper position among the other output files. */ +@@ -1162,6 +1162,7 @@ proper position among the other output files. */ %(mflib) " STACK_SPLIT_SPEC "\ %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \ %{!nostdlib:%{!r:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}}\ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0006-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc/0006-COLLECT_GCC_OPTIONS.patch index 9fbbe8070..265ca0e21 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0006-COLLECT_GCC_OPTIONS.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0006-COLLECT_GCC_OPTIONS.patch @@ -1,4 +1,4 @@ -From a6c90d3a9c5010b4aa7cc30467cf81ca7e0f430e Mon Sep 17 00:00:00 2001 +From 127716a32a11ca2a6b3aac068054bfc69c4dcfd8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:16:28 +0400 Subject: [PATCH] COLLECT_GCC_OPTIONS @@ -14,10 +14,10 @@ Upstream-Status: Pending 1 file changed, 9 insertions(+) diff --git a/gcc/gcc.c b/gcc/gcc.c -index f8be58ce0a6..48b0f9dde81 100644 +index be7630ffd8c..1bc45285384 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -4806,6 +4806,15 @@ set_collect_gcc_options (void) +@@ -5383,6 +5383,15 @@ set_collect_gcc_options (void) sizeof ("COLLECT_GCC_OPTIONS=") - 1); first_time = TRUE; diff --git a/poky/meta/recipes-devtools/gcc/gcc/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch index a764bdd0f..9844c2ae8 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch @@ -1,4 +1,4 @@ -From 5670d4489f119d2da661734895ac0be99b606d1b Mon Sep 17 00:00:00 2001 +From e64342df647829d3e1c52fd480a5be7c1281ced0 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:17:25 +0400 Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B} @@ -26,10 +26,10 @@ Signed-off-by: Hongxu Jia 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 543b477ff18..a67d2cc18d6 100644 +index 8a5fb3fd99c..7da6f439fff 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -540,7 +540,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ +@@ -552,7 +552,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ xmake_file=@xmake_file@ @@ -39,10 +39,10 @@ index 543b477ff18..a67d2cc18d6 100644 TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ diff --git a/gcc/configure b/gcc/configure -index 8de766a942c..b26e8fc7fee 100755 +index 3f0734bff11..c5d3bc4ee2d 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -12705,8 +12705,8 @@ for f in $tm_file; do +@@ -13090,8 +13090,8 @@ for f in $tm_file; do tm_include_list="${tm_include_list} $f" ;; defaults.h ) @@ -54,10 +54,10 @@ index 8de766a942c..b26e8fc7fee 100755 * ) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" diff --git a/gcc/configure.ac b/gcc/configure.ac -index 8bfd6feb780..26fa46802c7 100644 +index 54e21764b3e..f83420326d6 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -2138,8 +2138,8 @@ for f in $tm_file; do +@@ -2263,8 +2263,8 @@ for f in $tm_file; do tm_include_list="${tm_include_list} $f" ;; defaults.h ) @@ -69,7 +69,7 @@ index 8bfd6feb780..26fa46802c7 100644 * ) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh -index d2c677a4a42..d03852481cb 100644 +index c49acd8f7e4..a0a657bdbb9 100644 --- a/gcc/mkconfig.sh +++ b/gcc/mkconfig.sh @@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then diff --git a/poky/meta/recipes-devtools/gcc/gcc/0008-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc/0008-fortran-cross-compile-hack.patch index 714db3bef..47f611e37 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0008-fortran-cross-compile-hack.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0008-fortran-cross-compile-hack.patch @@ -1,4 +1,4 @@ -From f05062625e7a4751be723595a2f7a4b7fbeff311 Mon Sep 17 00:00:00 2001 +From 904d102e3ccb93296b16ceb2e283a6ccf3c1d718 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:20:01 +0400 Subject: [PATCH] fortran cross-compile hack. @@ -16,10 +16,10 @@ Upstream-Status: Inappropriate [embedded specific] 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libgfortran/configure b/libgfortran/configure -index b4cf854ddb3..e8e0ac3b1cf 100755 +index f3634389cf8..f974e874b8e 100755 --- a/libgfortran/configure +++ b/libgfortran/configure -@@ -13090,7 +13090,7 @@ esac +@@ -13102,7 +13102,7 @@ esac # We need gfortran to compile parts of the library #AC_PROG_FC(gfortran) @@ -29,10 +29,10 @@ index b4cf854ddb3..e8e0ac3b1cf 100755 ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac -index 711dc60ff78..3c9bbfbf47d 100644 +index 8961e314d82..49c8221cb6b 100644 --- a/libgfortran/configure.ac +++ b/libgfortran/configure.ac -@@ -258,7 +258,7 @@ AC_SUBST(enable_static) +@@ -271,7 +271,7 @@ AC_SUBST(enable_static) # We need gfortran to compile parts of the library #AC_PROG_FC(gfortran) diff --git a/poky/meta/recipes-devtools/gcc/gcc/0009-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc/0009-cpp-honor-sysroot.patch index 8ad6853d8..c720defa3 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0009-cpp-honor-sysroot.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0009-cpp-honor-sysroot.patch @@ -1,4 +1,4 @@ -From 1d76de7f1f5c99f1fa1a4b14aedad3d702e4e136 Mon Sep 17 00:00:00 2001 +From 33a7a55d39c040ba09af2d69f7fa9cf8e6f84c91 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:22:00 +0400 Subject: [PATCH] cpp: honor sysroot. @@ -26,21 +26,23 @@ Upstream-Status: Pending 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h -index 0ad4a33b93e..16c744f4f90 100644 +index 8902ae1d2ed..e99e2fcd6ad 100644 --- a/gcc/cp/lang-specs.h +++ b/gcc/cp/lang-specs.h -@@ -66,5 +66,5 @@ along with GCC; see the file COPYING3. If not see +@@ -116,7 +116,7 @@ along with GCC; see the file COPYING3. If not see {".ii", "@c++-cpp-output", 0, 0, 0}, {"@c++-cpp-output", "%{!E:%{!M:%{!MM:" - " cc1plus -fpreprocessed %i %(cc1_options) %2" + " cc1plus -fpreprocessed %i %I %(cc1_options) %2" - " %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, + " %{!fsyntax-only:" + " %{fmodule-only:%{!S:-o %g.s%V}}" + " %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}" diff --git a/gcc/gcc.c b/gcc/gcc.c -index 48b0f9dde81..c87f603955f 100644 +index 1bc45285384..8737bae5353 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -1348,7 +1348,7 @@ static const struct compiler default_compilers[] = +@@ -1470,7 +1470,7 @@ static const struct compiler default_compilers[] = %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0}, {".i", "@cpp-output", 0, 0, 0}, {"@cpp-output", diff --git a/poky/meta/recipes-devtools/gcc/gcc/0010-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc/0010-MIPS64-Default-to-N64-ABI.patch index 625e2d870..f385f8c5a 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0010-MIPS64-Default-to-N64-ABI.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0010-MIPS64-Default-to-N64-ABI.patch @@ -1,4 +1,4 @@ -From 4fad4433c96bc9d0d9d124f9674fb3389f6f426e Mon Sep 17 00:00:00 2001 +From a2dc2fa4cc7e5d54544d4a7b6601eef79bc26cad Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:23:08 +0400 Subject: [PATCH] MIPS64: Default to N64 ABI @@ -14,10 +14,10 @@ Upstream-Status: Inappropriate [OE config specific] 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gcc/config.gcc b/gcc/config.gcc -index cf1a87e2efd..37c4221a39f 100644 +index 3ec7582f5dd..a046fa6945c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc -@@ -2511,29 +2511,29 @@ mips*-*-linux*) # Linux MIPS, either endian. +@@ -2543,29 +2543,29 @@ mips*-*-linux*) # Linux MIPS, either endian. default_mips_arch=mips32 ;; mips64el-st-linux-gnu) diff --git a/poky/meta/recipes-devtools/gcc/gcc/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch index e35797633..4726267a8 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch @@ -1,4 +1,4 @@ -From 8fc016a53c22c19feccbfa13ebdf19090dc67058 Mon Sep 17 00:00:00 2001 +From 8e9d6efecdc8c42f47e3a012dee764b13c3dad59 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:24:50 +0400 Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER @@ -31,7 +31,7 @@ Upstream-Status: Inappropriate [OE configuration] 12 files changed, 29 insertions(+), 34 deletions(-) diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h -index e25fcac3c59..01aca0c6542 100644 +index c1dae8ca2cf..3ce2b76c1a4 100644 --- a/gcc/config/alpha/linux-elf.h +++ b/gcc/config/alpha/linux-elf.h @@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see @@ -46,7 +46,7 @@ index e25fcac3c59..01aca0c6542 100644 #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" #elif DEFAULT_LIBC == LIBC_GLIBC diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h -index 5bdcfa0c5d3..0c0332f317f 100644 +index 85d0136e76e..6bd95855827 100644 --- a/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h @@ -65,8 +65,8 @@ @@ -61,7 +61,7 @@ index 5bdcfa0c5d3..0c0332f317f 100644 #define GLIBC_DYNAMIC_LINKER \ diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h -index 0ec3aa53189..abfa9566d74 100644 +index 0c1c4e70b6b..6bd643ade11 100644 --- a/gcc/config/arm/linux-elf.h +++ b/gcc/config/arm/linux-elf.h @@ -60,7 +60,7 @@ @@ -74,7 +74,7 @@ index 0ec3aa53189..abfa9566d74 100644 #define LINUX_TARGET_LINK_SPEC "%{h*} \ %{static:-Bstatic} \ diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h -index 9f823f125ed..e0390b7d5e3 100644 +index 04b274f1654..7aafcf3ac2d 100644 --- a/gcc/config/i386/linux.h +++ b/gcc/config/i386/linux.h @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see @@ -87,7 +87,7 @@ index 9f823f125ed..e0390b7d5e3 100644 #undef MUSL_DYNAMIC_LINKER #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h -index 6cb68d1ccfa..7de09ec857c 100644 +index b3822ced528..92d303e80d6 100644 --- a/gcc/config/i386/linux64.h +++ b/gcc/config/i386/linux64.h @@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -104,7 +104,7 @@ index 6cb68d1ccfa..7de09ec857c 100644 #undef MUSL_DYNAMIC_LINKER32 #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1" diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 95654bcdb5a..0c1a8118a26 100644 +index 4e1db60fced..87efc5f69fe 100644 --- a/gcc/config/linux.h +++ b/gcc/config/linux.h @@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -123,7 +123,7 @@ index 95654bcdb5a..0c1a8118a26 100644 #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h -index 54446e58e5f..4786ee304c1 100644 +index 44a85e410d9..8d41b5574f6 100644 --- a/gcc/config/mips/linux.h +++ b/gcc/config/mips/linux.h @@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see @@ -154,7 +154,7 @@ index 54446e58e5f..4786ee304c1 100644 #undef MUSL_DYNAMIC_LINKER32 #define MUSL_DYNAMIC_LINKER32 \ diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h -index 4afef7c228c..01997330741 100644 +index 9238de5bc92..7136a83260a 100644 --- a/gcc/config/riscv/linux.h +++ b/gcc/config/riscv/linux.h @@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see @@ -167,10 +167,10 @@ index 4afef7c228c..01997330741 100644 #define MUSL_ABI_SUFFIX \ "%{mabi=ilp32:-sf}" \ diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h -index 34776c8421e..967c1c43c63 100644 +index e3f2cd254f6..a11e01faa3d 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h -@@ -419,24 +419,19 @@ extern int dot_symbols; +@@ -336,24 +336,19 @@ extern int dot_symbols; #undef LINK_OS_DEFAULT_SPEC #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" @@ -201,7 +201,7 @@ index 34776c8421e..967c1c43c63 100644 #undef DEFAULT_ASM_ENDIAN #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h -index c1d0441d488..81373eb8336 100644 +index 7558d2f7195..3aaa6c3a078 100644 --- a/gcc/config/sh/linux.h +++ b/gcc/config/sh/linux.h @@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see @@ -214,10 +214,10 @@ index c1d0441d488..81373eb8336 100644 #undef SUBTARGET_LINK_EMUL_SUFFIX #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h -index 81201e67a2f..8b6fc577594 100644 +index 2550d7ee8f0..a94f4cd8ba2 100644 --- a/gcc/config/sparc/linux.h +++ b/gcc/config/sparc/linux.h -@@ -84,7 +84,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); +@@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); When the -shared link option is used a final link is not being done. */ @@ -227,10 +227,10 @@ index 81201e67a2f..8b6fc577594 100644 #undef LINK_SPEC #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h -index a1a0efd8f28..85d1084afc2 100644 +index 95af8afa9b5..63127afb074 100644 --- a/gcc/config/sparc/linux64.h +++ b/gcc/config/sparc/linux64.h -@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see +@@ -78,8 +78,8 @@ along with GCC; see the file COPYING3. If not see When the -shared link option is used a final link is not being done. */ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0012-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc/0012-gcc-Fix-argument-list-too-long-error.patch index 88e1715b5..814ce18b9 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0012-gcc-Fix-argument-list-too-long-error.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0012-gcc-Fix-argument-list-too-long-error.patch @@ -1,4 +1,4 @@ -From a22d1264049d29b90663cf5667049ae6f9b7a5ce Mon Sep 17 00:00:00 2001 +From 12646c0899dec1b127ce71ebacf2571c1c7360f4 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:26:37 +0400 Subject: [PATCH] gcc: Fix argument list too long error. @@ -22,17 +22,18 @@ fix. Add the sort to the original gcc code, leaving the tr+sort to fix the origi issue but include the new files too as reported by Zhuang Upstream-Status: Pending +Signed-off-by: Khem Raj --- gcc/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index a67d2cc18d6..480c9366418 100644 +index 7da6f439fff..59c45c81393 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -3606,7 +3606,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype - # We keep the directory structure for files in config or c-family and .def - # files. All other files are flattened to a single directory. +@@ -3678,7 +3678,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype + # We keep the directory structure for files in config, common/config or + # c-family and .def files. All other files are flattened to a single directory. $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) - headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \ + headers=`echo $(sort $(PLUGIN_HEADERS)) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0013-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc/0013-Disable-sdt.patch index 207cdb57a..1e657666d 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0013-Disable-sdt.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0013-Disable-sdt.patch @@ -1,4 +1,4 @@ -From fa47586935a18ecfc2ad5586802e326e21741b7b Mon Sep 17 00:00:00 2001 +From 7928a4eddc4a6d821a6aa6eaaea1fd60d54e3da9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:28:10 +0400 Subject: [PATCH] Disable sdt. @@ -25,10 +25,10 @@ Upstream-Status: Inappropriate [hack] 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gcc/configure b/gcc/configure -index b26e8fc7fee..6080f86145e 100755 +index c5d3bc4ee2d..5160917d73e 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -29789,12 +29789,12 @@ fi +@@ -30812,12 +30812,12 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5 $as_echo_n "checking sys/sdt.h in the target C library... " >&6; } have_sys_sdt_h=no @@ -48,10 +48,10 @@ index b26e8fc7fee..6080f86145e 100755 $as_echo "$have_sys_sdt_h" >&6; } diff --git a/gcc/configure.ac b/gcc/configure.ac -index 26fa46802c7..42be5252778 100644 +index f83420326d6..50f78308e8a 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -6190,15 +6190,15 @@ fi +@@ -6653,15 +6653,15 @@ fi AC_SUBST([enable_default_ssp]) # Test for on the target. @@ -77,10 +77,10 @@ index 26fa46802c7..42be5252778 100644 # Check if TFmode long double should be used by default or not. # Some glibc targets used DFmode long double, but with glibc 2.4 diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure -index 9f9c5a2419a..71ed13b815b 100755 +index a310e9feb6c..c879445b8a6 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure -@@ -22615,11 +22615,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -22014,11 +22014,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu @@ -96,10 +96,10 @@ index 9f9c5a2419a..71ed13b815b 100755 $as_echo "$glibcxx_cv_sys_sdt_h" >&6; } diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac -index 699e55fd829..5c7a7bda439 100644 +index 3c799be82b1..3f63a8ec9ce 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac -@@ -241,7 +241,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN +@@ -240,7 +240,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN GLIBCXX_CHECK_SC_NPROC_ONLN GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP GLIBCXX_CHECK_SYSCTL_HW_NCPU diff --git a/poky/meta/recipes-devtools/gcc/gcc/0014-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc/0014-libtool.patch index f4e70c3b1..f2b8924eb 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0014-libtool.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0014-libtool.patch @@ -1,4 +1,4 @@ -From 6ecd478881468934444ff85611fd43f7033b1e81 Mon Sep 17 00:00:00 2001 +From a5b984db9669cf38a7bd76c3fcdb41c086f740db Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:29:11 +0400 Subject: [PATCH] libtool diff --git a/poky/meta/recipes-devtools/gcc/gcc/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch index bc2674abc..1ccf39ceb 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch @@ -1,4 +1,4 @@ -From de4427fa49c07dc651ee6ceaf5c5078700ca3b08 Mon Sep 17 00:00:00 2001 +From 0ae7090dec149cb2ff0c87eef87c043d4000ece1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:30:32 +0400 Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI. @@ -19,7 +19,7 @@ Upstream-Status: Pending 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h -index 0c0332f317f..7b3769e8459 100644 +index 6bd95855827..77befab5da8 100644 --- a/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h @@ -91,10 +91,14 @@ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch index 1dc4bb859..bde7ec660 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch @@ -1,4 +1,4 @@ -From 6b363c2c1c089ee900efa6013aefba1003840a37 Mon Sep 17 00:00:00 2001 +From 5ce8aa4615a3816d12c43752323154744517ae9f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:33:04 +0400 Subject: [PATCH] Use the multilib config files from ${B} instead of using the @@ -18,10 +18,10 @@ Upstream-Status: Inappropriate [configuration] 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/gcc/configure b/gcc/configure -index 6080f86145e..825a9652329 100755 +index 5160917d73e..e663052cad2 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -12685,10 +12685,20 @@ done +@@ -13070,10 +13070,20 @@ done tmake_file_= for f in ${tmake_file} do @@ -46,7 +46,7 @@ index 6080f86145e..825a9652329 100755 done tmake_file="${tmake_file_}${omp_device_property_tmake_file}" -@@ -12699,6 +12709,10 @@ tm_file_list="options.h" +@@ -13084,6 +13094,10 @@ tm_file_list="options.h" tm_include_list="options.h insn-constants.h" for f in $tm_file; do case $f in @@ -58,10 +58,10 @@ index 6080f86145e..825a9652329 100755 f=`echo $f | sed 's/^..//'` tm_file_list="${tm_file_list} $f" diff --git a/gcc/configure.ac b/gcc/configure.ac -index 42be5252778..6099eb3251f 100644 +index 50f78308e8a..2b84875b028 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -2118,10 +2118,20 @@ done +@@ -2243,10 +2243,20 @@ done tmake_file_= for f in ${tmake_file} do @@ -86,7 +86,7 @@ index 42be5252778..6099eb3251f 100644 done tmake_file="${tmake_file_}${omp_device_property_tmake_file}" -@@ -2132,6 +2142,10 @@ tm_file_list="options.h" +@@ -2257,6 +2267,10 @@ tm_file_list="options.h" tm_include_list="options.h insn-constants.h" for f in $tm_file; do case $f in diff --git a/poky/meta/recipes-devtools/gcc/gcc/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch index 05f12847e..3e0a1b413 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch @@ -1,4 +1,4 @@ -From 08752c2f1d21553301bee5757c453c6a36cbe03c Mon Sep 17 00:00:00 2001 +From 75a1ce0265ca123f74f17a40ad8bd8f26d9c2ab3 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 20 Feb 2015 09:39:38 +0000 Subject: [PATCH] Avoid using libdir from .la which usually points to a host diff --git a/poky/meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch index 886a1221d..e6596da5c 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch @@ -1,4 +1,4 @@ -From 5c3d66378c7ff60ca11a875aa4aa6f8a8529d43a Mon Sep 17 00:00:00 2001 +From b6e229a13aebfbb3fe38c216fd51b68bf71cfa9c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 20 Feb 2015 09:40:59 +0000 Subject: [PATCH] export CPP @@ -37,7 +37,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+) diff --git a/Makefile.in b/Makefile.in -index 36e369df6e7..c717903bb13 100644 +index 047be0255e2..af19589fa95 100644 --- a/Makefile.in +++ b/Makefile.in @@ -149,6 +149,7 @@ BUILD_EXPORTS = \ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch index 2797b2c22..98472dd2b 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch @@ -1,4 +1,4 @@ -From 378b752c5d9a3dba4e58cdadf8b4b4f34ea99a76 Mon Sep 17 00:00:00 2001 +From 9b4eb0e18a953d79d20c78d3ba741af6d71ab9ca Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 20 Feb 2015 10:25:11 +0000 Subject: [PATCH] Ensure target gcc headers can be included @@ -21,10 +21,10 @@ Signed-off-by: Khem Raj 2 files changed, 6 insertions(+) diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 480c9366418..011c7ac2db6 100644 +index 59c45c81393..9b17d120aa1 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -618,6 +618,7 @@ libexecdir = @libexecdir@ +@@ -630,6 +630,7 @@ libexecdir = @libexecdir@ # Directory in which the compiler finds libraries etc. libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) @@ -32,7 +32,7 @@ index 480c9366418..011c7ac2db6 100644 # Directory in which the compiler finds executables libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) # Directory in which all plugin resources are installed -@@ -2946,6 +2947,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" +@@ -3016,6 +3017,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" PREPROCESSOR_DEFINES = \ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ @@ -41,10 +41,10 @@ index 480c9366418..011c7ac2db6 100644 -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c -index af38cc494ea..2f43b88a0c3 100644 +index c503d14fc3f..d54d6ce0076 100644 --- a/gcc/cppdefault.c +++ b/gcc/cppdefault.c -@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[] +@@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[] /* This is the dir for gcc's private headers. */ { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, #endif diff --git a/poky/meta/recipes-devtools/gcc/gcc/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch index c3baf8b45..bb2a3671f 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch @@ -1,4 +1,4 @@ -From 870e805d705d99d9b9d7dbd09727f9c1d2ad9c1d Mon Sep 17 00:00:00 2001 +From cd09adb1e7f2a7e81a9f595a17c36f24911b90ac Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 3 Mar 2015 08:21:19 +0000 Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix diff --git a/poky/meta/recipes-devtools/gcc/gcc/0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc/0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch index abee48669..0f3b3869b 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch @@ -1,4 +1,4 @@ -From aba42de763a619355471efd1573561b0cbf51162 Mon Sep 17 00:00:00 2001 +From 7faad21154a76b200efcced9e12945057c94dff3 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 28 Apr 2015 23:15:27 -0700 Subject: [PATCH] Use SYSTEMLIBS_DIR replacement instead of hardcoding @@ -12,7 +12,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h -index e587e2e9ad6..ddc62895693 100644 +index 7f2529a2a1d..5303b39186f 100644 --- a/gcc/config/aarch64/aarch64-linux.h +++ b/gcc/config/aarch64/aarch64-linux.h @@ -21,7 +21,7 @@ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0022-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc/0022-aarch64-Add-support-for-musl-ldso.patch index c55b66d4b..41536a8a3 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0022-aarch64-Add-support-for-musl-ldso.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0022-aarch64-Add-support-for-musl-ldso.patch @@ -1,4 +1,4 @@ -From d63820a78d92f302410358293546f01c7ad17bd8 Mon Sep 17 00:00:00 2001 +From 96aa24a874331a318693e4fccc4bc4e7d3fbad2b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 28 Apr 2015 23:18:39 -0700 Subject: [PATCH] aarch64: Add support for musl ldso @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h -index ddc62895693..b301825313a 100644 +index 5303b39186f..4bcae7f3110 100644 --- a/gcc/config/aarch64/aarch64-linux.h +++ b/gcc/config/aarch64/aarch64-linux.h @@ -24,7 +24,7 @@ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch index 80c4d2292..fb4511cc1 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch @@ -1,4 +1,4 @@ -From 3474e16ad4ea8cf4e0e330568e3bc9039e723dce Mon Sep 17 00:00:00 2001 +From 2cfc5ee38b3f5ec1d7965aae0991bcd48b5dc2e6 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Sun, 5 Jul 2015 20:25:18 -0700 Subject: [PATCH] libcc1: fix libcc1's install path and rpath @@ -20,10 +20,10 @@ Signed-off-by: Robert Yang 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am -index c005b0dad4a..ec31d35b7b9 100644 +index f148fdd7aa2..0b6eb8f2855 100644 --- a/libcc1/Makefile.am +++ b/libcc1/Makefile.am -@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ +@@ -40,8 +40,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ $(Wc)$(libiberty_normal))) libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) @@ -35,10 +35,10 @@ index c005b0dad4a..ec31d35b7b9 100644 if ENABLE_PLUGIN plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in -index 7104b649026..2103c477468 100644 +index 753d435c9cb..455627b0a3b 100644 --- a/libcc1/Makefile.in +++ b/libcc1/Makefile.in -@@ -393,8 +393,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ +@@ -398,8 +398,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ $(Wc)$(libiberty_normal))) libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty)) diff --git a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch index dc3e6da65..3958e9c21 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch @@ -1,4 +1,4 @@ -From 702daf2e9cb97337e0e594fcd435b1b61a917d14 Mon Sep 17 00:00:00 2001 +From 35c084a051bcd6587ebc73e4acb045cb2bdf7e99 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 7 Dec 2015 23:39:54 +0000 Subject: [PATCH] handle sysroot support for nativesdk-gcc @@ -41,10 +41,10 @@ Signed-off-by: Mark Hatle 6 files changed, 70 insertions(+), 48 deletions(-) diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c -index 58ba0948e79..806bbcfb7a5 100644 +index bd15b9cd902..2bd667e3f58 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c -@@ -1409,8 +1409,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain) +@@ -1436,8 +1436,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain) size_t prefix_len, suffix_len; suffix_len = strlen (suffix); @@ -56,7 +56,7 @@ index 58ba0948e79..806bbcfb7a5 100644 path = (char *) xmalloc (prefix_len + suffix_len + 1); memcpy (path, prefix, prefix_len); diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c -index 2f43b88a0c3..6b6be04686c 100644 +index d54d6ce0076..784a92a0c24 100644 --- a/gcc/cppdefault.c +++ b/gcc/cppdefault.c @@ -35,6 +35,30 @@ @@ -90,7 +90,7 @@ index 2f43b88a0c3..6b6be04686c 100644 const struct default_include cpp_include_defaults[] #ifdef INCLUDE_DEFAULTS = INCLUDE_DEFAULTS; -@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[] +@@ -42,17 +66,17 @@ const struct default_include cpp_include_defaults[] = { #ifdef GPLUSPLUS_INCLUDE_DIR /* Pick up GNU C++ generic include files. */ @@ -110,6 +110,9 @@ index 2f43b88a0c3..6b6be04686c 100644 + { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, #endif + #ifdef GPLUSPLUS_LIBCXX_INCLUDE_DIR +@@ -62,23 +86,23 @@ const struct default_include cpp_include_defaults[] + #endif #ifdef GCC_INCLUDE_DIR /* This is the dir for gcc's private headers. */ - { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, @@ -138,7 +141,7 @@ index 2f43b88a0c3..6b6be04686c 100644 /* A multilib suffix needs adding if different multilibs use different headers. */ #ifdef SYSROOT_HEADERS_SUFFIX_SPEC -@@ -85,33 +109,24 @@ const struct default_include cpp_include_defaults[] +@@ -90,33 +114,24 @@ const struct default_include cpp_include_defaults[] #endif #ifdef CROSS_INCLUDE_DIR /* One place the target system's headers might be. */ @@ -179,7 +182,7 @@ index 2f43b88a0c3..6b6be04686c 100644 /* This value is set by cpp_relocated at runtime */ const char *gcc_exec_prefix; diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h -index a681264f75e..5e10a2fa140 100644 +index fd3c655db1c..20669ac427d 100644 --- a/gcc/cppdefault.h +++ b/gcc/cppdefault.h @@ -33,7 +33,8 @@ @@ -191,8 +194,8 @@ index a681264f75e..5e10a2fa140 100644 + const char *const component; /* The component containing the directory (see update_path in prefix.c) */ - const char cplusplus; /* Only look here if we're compiling C++. */ -@@ -50,17 +51,13 @@ struct default_include + const char cplusplus; /* When this is non-zero, we should only +@@ -55,17 +56,13 @@ struct default_include }; extern const struct default_include cpp_include_defaults[]; @@ -214,7 +217,7 @@ index a681264f75e..5e10a2fa140 100644 subdirectory of the actual installation. */ extern const char *gcc_exec_prefix; diff --git a/gcc/gcc.c b/gcc/gcc.c -index c87f603955f..535d5c3bb65 100644 +index 8737bae5353..aa6fbe43965 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -252,6 +252,8 @@ FILE *report_times_to_file = NULL; @@ -226,7 +229,7 @@ index c87f603955f..535d5c3bb65 100644 /* Nonzero means pass the updated target_system_root to the compiler. */ static int target_system_root_changed; -@@ -526,6 +528,7 @@ or with constant text in a single argument. +@@ -568,6 +570,7 @@ or with constant text in a single argument. %G process LIBGCC_SPEC as a spec. %R Output the concatenation of target_system_root and target_sysroot_suffix. @@ -234,7 +237,7 @@ index c87f603955f..535d5c3bb65 100644 %S process STARTFILE_SPEC as a spec. A capital S is actually used here. %E process ENDFILE_SPEC as a spec. A capital E is actually used here. %C process CPP_SPEC as a spec. -@@ -1499,10 +1502,10 @@ static const char *gcc_libexec_prefix; +@@ -1621,10 +1624,10 @@ static const char *gcc_libexec_prefix; gcc_exec_prefix is set because, in that case, we know where the compiler has been installed, and use paths relative to that location instead. */ @@ -249,7 +252,7 @@ index c87f603955f..535d5c3bb65 100644 /* For native compilers, these are well-known paths containing components that may be provided by the system. For cross -@@ -1510,9 +1513,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; +@@ -1632,9 +1635,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; static const char *md_exec_prefix = MD_EXEC_PREFIX; static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; @@ -261,7 +264,7 @@ index c87f603955f..535d5c3bb65 100644 = STANDARD_STARTFILE_PREFIX_2; /* A relative path to be used in finding the location of tools -@@ -5952,6 +5955,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) +@@ -6564,6 +6567,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) } break; @@ -274,7 +277,7 @@ index c87f603955f..535d5c3bb65 100644 value = do_spec_1 (startfile_spec, 0, NULL); if (value != 0) diff --git a/gcc/incpath.c b/gcc/incpath.c -index 9098ab044ab..bfad4ebe382 100644 +index fbfc0ce03b8..a82e543428b 100644 --- a/gcc/incpath.c +++ b/gcc/incpath.c @@ -131,7 +131,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, @@ -286,7 +289,7 @@ index 9098ab044ab..bfad4ebe382 100644 { /* Look for directories that start with the standard prefix. "Translate" them, i.e. replace /usr/local/lib/gcc... with -@@ -145,7 +145,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, +@@ -146,7 +146,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, now. */ if (sysroot && p->add_sysroot) continue; @@ -295,7 +298,7 @@ index 9098ab044ab..bfad4ebe382 100644 { char *str = concat (iprefix, p->fname + len, NULL); if (p->multilib == 1 && imultilib) -@@ -185,7 +185,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, +@@ -187,7 +187,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, free (sysroot_no_trailing_dir_separator); } else if (!p->add_sysroot && relocated @@ -304,7 +307,7 @@ index 9098ab044ab..bfad4ebe382 100644 { static const char *relocated_prefix; char *ostr; -@@ -202,12 +202,12 @@ add_standard_paths (const char *sysroot, const char *iprefix, +@@ -204,12 +204,12 @@ add_standard_paths (const char *sysroot, const char *iprefix, dummy = concat (gcc_exec_prefix, "dummy", NULL); relocated_prefix = make_relative_prefix (dummy, @@ -321,7 +324,7 @@ index 9098ab044ab..bfad4ebe382 100644 str = update_path (ostr, p->component); free (ostr); diff --git a/gcc/prefix.c b/gcc/prefix.c -index 1a403e535bd..c26d07bde12 100644 +index 747c09de638..f728638dc65 100644 --- a/gcc/prefix.c +++ b/gcc/prefix.c @@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3. If not see @@ -344,6 +347,3 @@ index 1a403e535bd..c26d07bde12 100644 /* We used to strip trailing DIR_SEPARATORs here, but that can sometimes yield a result with no separator when one was coded --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/gcc/gcc/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch index abf1f8491..ff622b105 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch @@ -1,4 +1,4 @@ -From 9c0c73ee48dbee2aad57f4dcdad1b7b74e77b944 Mon Sep 17 00:00:00 2001 +From c55e24459370ad96577496ecd87475e3a9de7dad Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 7 Dec 2015 23:41:45 +0000 Subject: [PATCH] Search target sysroot gcc version specific dirs with @@ -51,10 +51,10 @@ Signed-off-by: Khem Raj 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/gcc/gcc.c b/gcc/gcc.c -index 535d5c3bb65..04647ae812d 100644 +index aa6fbe43965..f8a71a13826 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c -@@ -2616,7 +2616,7 @@ for_each_path (const struct path_prefix *paths, +@@ -2811,7 +2811,7 @@ for_each_path (const struct path_prefix *paths, if (path == NULL) { len = paths->max_len + extra_space + 1; @@ -63,7 +63,7 @@ index 535d5c3bb65..04647ae812d 100644 path = XNEWVEC (char, len); } -@@ -2628,6 +2628,33 @@ for_each_path (const struct path_prefix *paths, +@@ -2823,6 +2823,33 @@ for_each_path (const struct path_prefix *paths, /* Look first in MACHINE/VERSION subdirectory. */ if (!skip_multi_dir) { diff --git a/poky/meta/recipes-devtools/gcc/gcc/0026-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc/0026-Fix-various-_FOR_BUILD-and-related-variables.patch index 97bf2f3a7..c2698f9ee 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0026-Fix-various-_FOR_BUILD-and-related-variables.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0026-Fix-various-_FOR_BUILD-and-related-variables.patch @@ -1,4 +1,4 @@ -From 3a003af8804dda90fdf4862eca5f66cb12faaf02 Mon Sep 17 00:00:00 2001 +From cd5db101e3c4e72248f988a67ce28be8e24f66d4 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 7 Dec 2015 23:42:45 +0000 Subject: [PATCH] Fix various _FOR_BUILD and related variables @@ -26,7 +26,7 @@ Signed-off-by: Khem Raj 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/Makefile.in b/Makefile.in -index c717903bb13..5abc649868d 100644 +index af19589fa95..d0116a23e1a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -152,6 +152,7 @@ BUILD_EXPORTS = \ @@ -64,7 +64,7 @@ index c717903bb13..5abc649868d 100644 "FLEX=$(FLEX)" \ "INSTALL=$(INSTALL)" \ diff --git a/Makefile.tpl b/Makefile.tpl -index efed1511750..778beb705b4 100644 +index 6e0337fb48f..4fcac93d3d8 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -154,6 +154,7 @@ BUILD_EXPORTS = \ @@ -94,10 +94,10 @@ index efed1511750..778beb705b4 100644 CFLAGS="$(CFLAGS)"; export CFLAGS; \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 011c7ac2db6..2f1165f7b5e 100644 +index 9b17d120aa1..3053d05903c 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in -@@ -805,7 +805,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@ +@@ -820,7 +820,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@ BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@ BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG) BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ @@ -107,10 +107,10 @@ index 011c7ac2db6..2f1165f7b5e 100644 # Actual name to use when installing a native compiler. GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)') diff --git a/gcc/configure b/gcc/configure -index 825a9652329..ff46cf58960 100755 +index e663052cad2..b0906aa3e96 100755 --- a/gcc/configure +++ b/gcc/configure -@@ -12314,7 +12314,7 @@ else +@@ -12699,7 +12699,7 @@ else CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ @@ -120,10 +120,10 @@ index 825a9652329..ff46cf58960 100755 --enable-languages=${enable_languages-all} \ ${enable_obsolete+--enable-obsolete="$enable_obsolete"} \ diff --git a/gcc/configure.ac b/gcc/configure.ac -index 6099eb3251f..b3c345b61dc 100644 +index 2b84875b028..bfbd8946e8a 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac -@@ -1898,7 +1898,7 @@ else +@@ -2023,7 +2023,7 @@ else CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch index 3cd75b718..2e65740ec 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch @@ -1,4 +1,4 @@ -From 4e53d0ae70af85af0e112a48a3e4dfe4c39f4a8d Mon Sep 17 00:00:00 2001 +From 9bbce1b5a10caf636eee137e5a229e5434a6c8f5 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 2 Feb 2016 10:26:10 -0800 Subject: [PATCH] nios2: Define MUSL_DYNAMIC_LINKER @@ -12,7 +12,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+) diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h -index 4bdcdcca1f0..e7943a9d640 100644 +index 08edf1521f6..15696d86241 100644 --- a/gcc/config/nios2/linux.h +++ b/gcc/config/nios2/linux.h @@ -30,6 +30,7 @@ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch index 2a6769a82..edca9e3ca 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch @@ -1,4 +1,4 @@ -From 5db0404eb770ac477fd99d444226bcf021067584 Mon Sep 17 00:00:00 2001 +From 745a2ac7825c73102b888226c54397d21512f86b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 27 Jun 2017 18:10:54 -0700 Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj 3 files changed, 27 insertions(+) diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 0c1a8118a26..bdc2a2d0659 100644 +index 87efc5f69fe..3c7b7c538b9 100644 --- a/gcc/config/linux.h +++ b/gcc/config/linux.h @@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see @@ -41,7 +41,7 @@ index 0c1a8118a26..bdc2a2d0659 100644 #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h -index b7026fcbee7..dd54d6c393e 100644 +index 47c9d9ac0b6..d065f88b377 100644 --- a/gcc/config/rs6000/linux.h +++ b/gcc/config/rs6000/linux.h @@ -94,6 +94,16 @@ @@ -62,10 +62,10 @@ index b7026fcbee7..dd54d6c393e 100644 #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ %{!static-pie: \ diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h -index 967c1c43c63..dc5e4d97975 100644 +index a11e01faa3d..ce464f3626b 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h -@@ -452,6 +452,16 @@ extern int dot_symbols; +@@ -369,6 +369,16 @@ extern int dot_symbols; " -m elf64ppc") #endif diff --git a/poky/meta/recipes-devtools/gcc/gcc/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch index 767cba038..b74aeb8bb 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch @@ -1,4 +1,4 @@ -From fbc926dbf6a47fa623b9c94cd9b09a0e90448fdc Mon Sep 17 00:00:00 2001 +From 695adb4dffb23c6f5cbc757e05cf4187a2bd6528 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 4 May 2016 21:11:34 -0700 Subject: [PATCH] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS @@ -12,7 +12,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc -index c997553447c..330352c2c81 100644 +index c59b43b7b69..ca4c141f526 100644 --- a/libgcc/config/t-slibgcc +++ b/libgcc/config/t-slibgcc @@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0030-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc/0030-sync-gcc-stddef.h-with-musl.patch index 4f18907a1..86f75d0d5 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0030-sync-gcc-stddef.h-with-musl.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0030-sync-gcc-stddef.h-with-musl.patch @@ -1,4 +1,4 @@ -From 24dc04dc8d69e3bf61322615b3ef18e02ccd311e Mon Sep 17 00:00:00 2001 +From a9173429ae256c4b4a3ab4d758a6adf42f8c4239 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 3 Feb 2017 12:56:00 -0800 Subject: [PATCH] sync gcc stddef.h with musl @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 1 file changed, 9 insertions(+) diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h -index 9d67eac4947..6cb5edbedb4 100644 +index 66619fe43b1..3f843d6f365 100644 --- a/gcc/ginclude/stddef.h +++ b/gcc/ginclude/stddef.h @@ -128,6 +128,7 @@ _TYPE_wchar_t; diff --git a/poky/meta/recipes-devtools/gcc/gcc/0031-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc/0031-fix-segmentation-fault-in-precompiled-header-generat.patch index 702279af0..70afa4f9e 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0031-fix-segmentation-fault-in-precompiled-header-generat.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0031-fix-segmentation-fault-in-precompiled-header-generat.patch @@ -1,4 +1,4 @@ -From 27b8ba5555ada2dab076988529bfb84d00a4b901 Mon Sep 17 00:00:00 2001 +From 3d59f763b824ac11f8360931092baf0bc1719562 Mon Sep 17 00:00:00 2001 From: Juro Bystricky Date: Mon, 19 Mar 2018 22:31:20 -0700 Subject: [PATCH] fix segmentation fault in precompiled header generation @@ -19,10 +19,10 @@ Signed-off-by: Khem Raj 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/libcpp/lex.c b/libcpp/lex.c -index 56ac3a1dd73..73a951148b3 100644 +index 06bcc31c87e..24bed9a35fa 100644 --- a/libcpp/lex.c +++ b/libcpp/lex.c -@@ -3311,11 +3311,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token, +@@ -3531,11 +3531,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token, spell_ident: case SPELL_IDENT: if (forstring) diff --git a/poky/meta/recipes-devtools/gcc/gcc/0032-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc/0032-Fix-for-testsuite-failure.patch index 0a0767b44..0be03e652 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0032-Fix-for-testsuite-failure.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0032-Fix-for-testsuite-failure.patch @@ -1,4 +1,4 @@ -From 2512aacf023c679d86d8f40caff4f6ff412b32ff Mon Sep 17 00:00:00 2001 +From bb171ef618f8892bd56e57ae41ecb6e02caa8173 Mon Sep 17 00:00:00 2001 From: RAGHUNATH LOLUR Date: Wed, 6 Dec 2017 22:52:26 -0800 Subject: [PATCH] Fix for testsuite failure diff --git a/poky/meta/recipes-devtools/gcc/gcc/0033-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc/0033-Re-introduce-spe-commandline-options.patch index ba7c2b8fd..129f555a4 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0033-Re-introduce-spe-commandline-options.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0033-Re-introduce-spe-commandline-options.patch @@ -1,4 +1,4 @@ -From 3fc06241ce37e2e4b3ed21ace28d347eb511448d Mon Sep 17 00:00:00 2001 +From 0b900d6410b7c1938e86eceb87b032fd538566a9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 6 Jun 2018 12:10:22 -0700 Subject: [PATCH] Re-introduce spe commandline options @@ -10,17 +10,18 @@ Upstream-Status: Inappropriate [SPE port is removed from rs600 port] Signed-off-by: Khem Raj --- - gcc/config/rs6000/rs6000.opt | 12 ++++++++++++ - 1 file changed, 12 insertions(+) + gcc/config/rs6000/rs6000.opt | 13 +++++++++++++ + 1 file changed, 13 insertions(+) diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt -index f95b8279270..0e52d51409d 100644 +index 0dbdf753673..b273eb65c35 100644 --- a/gcc/config/rs6000/rs6000.opt +++ b/gcc/config/rs6000/rs6000.opt -@@ -344,6 +344,18 @@ mdebug= +@@ -352,6 +352,19 @@ mdebug= Target RejectNegative Joined -mdebug= Enable debug output. ++; PPC SPE ABI +mspe +Target Var(rs6000_spe) Save +Generate SPE SIMD instructions on E500. @@ -33,6 +34,6 @@ index f95b8279270..0e52d51409d 100644 +Target RejectNegative Var(rs6000_spe_abi, 0) +Do not use the SPE ABI extensions. + + ; Altivec ABI mabi=altivec Target RejectNegative Var(rs6000_altivec_abi) Save - Use the AltiVec ABI extensions. diff --git a/poky/meta/recipes-devtools/gcc/gcc/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch index 4ce9dc6de..3f666dc7b 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch @@ -1,4 +1,4 @@ -From b42ff59c3fe2967d37815c8db72a47b9b7f585b4 Mon Sep 17 00:00:00 2001 +From ea9154338cb3acbd75945fddde4202e73c20dd1a Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Sat, 24 Oct 2015 20:09:53 +0000 Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of @@ -39,10 +39,10 @@ Signed-off-by: Khem Raj 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c -index 48f00c5fcfc..468f5f71fac 100644 +index ac69eed4d32..ffaa44a16fc 100644 --- a/gcc/config/i386/i386-expand.c +++ b/gcc/config/i386/i386-expand.c -@@ -10941,10 +10941,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, +@@ -11038,10 +11038,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, { case IX86_BUILTIN_CPU_INIT: { @@ -56,11 +56,11 @@ index 48f00c5fcfc..468f5f71fac 100644 return expand_expr (call_expr, target, mode, EXPAND_NORMAL); } diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c -index 00322c58622..f42bbb8af98 100644 +index ef463848f9d..1a3de052c80 100644 --- a/libgcc/config/i386/cpuinfo.c +++ b/libgcc/config/i386/cpuinfo.c -@@ -508,7 +508,7 @@ __cpu_indicator_init (void) - return 0; +@@ -63,7 +63,7 @@ __cpu_indicator_init (void) + __cpu_features2); } -#if defined SHARED && defined USE_ELF_SYMVER diff --git a/poky/meta/recipes-devtools/gcc/gcc/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch b/poky/meta/recipes-devtools/gcc/gcc/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch index dd1bf6ded..874cd7798 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch @@ -1,4 +1,4 @@ -From 0395060a7dcf98c5f5a65103f6aaa71d6b862259 Mon Sep 17 00:00:00 2001 +From 520411cf364ee4b0b5a8f0857498aaabd790afb3 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 10 Mar 2020 08:26:53 -0700 Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gcc/gengtype.c b/gcc/gengtype.c -index 981577481af..d5700fff401 100644 +index 5f50242e857..cbaca9b8cd0 100644 --- a/gcc/gengtype.c +++ b/gcc/gengtype.c @@ -991,7 +991,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt, @@ -38,7 +38,7 @@ index 981577481af..d5700fff401 100644 /* Reverse a linked list of 'struct pair's in place. */ pair_p -@@ -5187,7 +5187,7 @@ main (int argc, char **argv) +@@ -5189,7 +5189,7 @@ main (int argc, char **argv) /* These types are set up with #define or else outside of where we can see them. We should initialize them before calling read_input_list. */ @@ -48,10 +48,10 @@ index 981577481af..d5700fff401 100644 POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos)); POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos)); diff --git a/gcc/genmodes.c b/gcc/genmodes.c -index bd78310ea24..dbd02c51a4c 100644 +index c268ebc4c6e..4361f3f1563 100644 --- a/gcc/genmodes.c +++ b/gcc/genmodes.c -@@ -430,7 +430,7 @@ complete_all_modes (void) +@@ -438,7 +438,7 @@ complete_all_modes (void) } /* For each mode in class CLASS, construct a corresponding complex mode. */ @@ -60,7 +60,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void make_complex_modes (enum mode_class cl, const char *file, unsigned int line) -@@ -489,7 +489,7 @@ make_complex_modes (enum mode_class cl, +@@ -497,7 +497,7 @@ make_complex_modes (enum mode_class cl, having as many components as necessary. ORDER is the sorting order of the mode, with smaller numbers indicating a higher priority. */ #define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W, ORDER) \ @@ -69,7 +69,7 @@ index bd78310ea24..dbd02c51a4c 100644 #define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W, 0) static void ATTRIBUTE_UNUSED make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width, -@@ -541,7 +541,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width, +@@ -549,7 +549,7 @@ make_vector_modes (enum mode_class cl, const char *prefix, unsigned int width, /* Create a vector of booleans called NAME with COUNT elements and BYTESIZE bytes in total. */ #define VECTOR_BOOL_MODE(NAME, COUNT, BYTESIZE) \ @@ -78,7 +78,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void ATTRIBUTE_UNUSED make_vector_bool_mode (const char *name, unsigned int count, unsigned int bytesize, const char *file, -@@ -563,7 +563,7 @@ make_vector_bool_mode (const char *name, unsigned int count, +@@ -571,7 +571,7 @@ make_vector_bool_mode (const char *name, unsigned int count, /* Input. */ #define _SPECIAL_MODE(C, N) \ @@ -87,7 +87,7 @@ index bd78310ea24..dbd02c51a4c 100644 #define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N) #define CC_MODE(N) _SPECIAL_MODE (CC, N) -@@ -576,7 +576,7 @@ make_special_mode (enum mode_class cl, const char *name, +@@ -584,7 +584,7 @@ make_special_mode (enum mode_class cl, const char *name, #define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y) #define FRACTIONAL_INT_MODE(N, B, Y) \ @@ -96,7 +96,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void make_int_mode (const char *name, -@@ -589,16 +589,16 @@ make_int_mode (const char *name, +@@ -611,16 +611,16 @@ make_opaque_mode (const char *name, } #define FRACT_MODE(N, Y, F) \ @@ -117,7 +117,7 @@ index bd78310ea24..dbd02c51a4c 100644 /* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT, FILE, and LINE. */ -@@ -619,7 +619,7 @@ make_fixed_point_mode (enum mode_class cl, +@@ -641,7 +641,7 @@ make_fixed_point_mode (enum mode_class cl, #define FLOAT_MODE(N, Y, F) FRACTIONAL_FLOAT_MODE (N, -1U, Y, F) #define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \ @@ -126,7 +126,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void make_float_mode (const char *name, -@@ -636,7 +636,7 @@ make_float_mode (const char *name, +@@ -658,7 +658,7 @@ make_float_mode (const char *name, #define DECIMAL_FLOAT_MODE(N, Y, F) \ FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F) #define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F) \ @@ -135,7 +135,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void make_decimal_float_mode (const char *name, -@@ -651,7 +651,7 @@ make_decimal_float_mode (const char *name, +@@ -673,7 +673,7 @@ make_decimal_float_mode (const char *name, } #define RESET_FLOAT_FORMAT(N, F) \ @@ -144,7 +144,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void ATTRIBUTE_UNUSED reset_float_format (const char *name, const char *format, const char *file, unsigned int line) -@@ -672,7 +672,7 @@ reset_float_format (const char *name, const char *format, +@@ -694,7 +694,7 @@ reset_float_format (const char *name, const char *format, /* __intN support. */ #define INT_N(M,PREC) \ @@ -153,7 +153,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void ATTRIBUTE_UNUSED make_int_n (const char *m, int bitsize, const char *file, unsigned int line) -@@ -701,7 +701,7 @@ make_int_n (const char *m, int bitsize, +@@ -723,7 +723,7 @@ make_int_n (const char *m, int bitsize, /* Partial integer modes are specified by relation to a full integer mode. */ #define PARTIAL_INT_MODE(M,PREC,NAME) \ @@ -162,7 +162,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void ATTRIBUTE_UNUSED make_partial_integer_mode (const char *base, const char *name, unsigned int precision, -@@ -728,7 +728,7 @@ make_partial_integer_mode (const char *base, const char *name, +@@ -750,7 +750,7 @@ make_partial_integer_mode (const char *base, const char *name, /* A single vector mode can be specified by naming its component mode and the number of components. */ #define VECTOR_MODE(C, M, N) \ @@ -171,7 +171,7 @@ index bd78310ea24..dbd02c51a4c 100644 static void ATTRIBUTE_UNUSED make_vector_mode (enum mode_class bclass, const char *base, -@@ -771,7 +771,7 @@ make_vector_mode (enum mode_class bclass, +@@ -793,7 +793,7 @@ make_vector_mode (enum mode_class bclass, /* Adjustability. */ #define _ADD_ADJUST(A, M, X, C1, C2) \ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0036-mingw32-Enable-operation_not_supported.patch b/poky/meta/recipes-devtools/gcc/gcc/0036-mingw32-Enable-operation_not_supported.patch index de82a3a53..3a7618c82 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0036-mingw32-Enable-operation_not_supported.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0036-mingw32-Enable-operation_not_supported.patch @@ -1,4 +1,4 @@ -From 6f87a095f0e696bec07a50df789c9db8bdbca43d Mon Sep 17 00:00:00 2001 +From 96d895c8d5dc895d24fe37aa2b4f201a2566b4cc Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 12 May 2020 10:39:09 -0700 Subject: [PATCH] mingw32: Enable operation_not_supported @@ -12,15 +12,15 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h -index 68ac72a78fb..71cd5815b81 100644 +index eca06a97014..933cfab49cf 100644 --- a/libstdc++-v3/config/os/mingw32/error_constants.h +++ b/libstdc++-v3/config/os/mingw32/error_constants.h @@ -107,7 +107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION - #ifdef _GLIBCXX_HAVE_EPERM + #ifdef EPERM operation_not_permitted = EPERM, #endif -// operation_not_supported = EOPNOTSUPP, + operation_not_supported = EOPNOTSUPP, - #ifdef _GLIBCXX_HAVE_EWOULDBLOCK + #ifdef EWOULDBLOCK operation_would_block = EWOULDBLOCK, #endif diff --git a/poky/meta/recipes-devtools/gcc/gcc/0037-libatomic-Do-not-enforce-march-on-aarch64.patch b/poky/meta/recipes-devtools/gcc/gcc/0037-libatomic-Do-not-enforce-march-on-aarch64.patch index 3946acea1..4c9a79cb6 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0037-libatomic-Do-not-enforce-march-on-aarch64.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0037-libatomic-Do-not-enforce-march-on-aarch64.patch @@ -1,4 +1,4 @@ -From 38d262bfe7c0c894c364dc6e4dc7971e78a73974 Mon Sep 17 00:00:00 2001 +From 36d4fdbc99e69f9d70a29e2bada40cc3c1534557 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 13 May 2020 15:10:38 -0700 Subject: [PATCH] libatomic: Do not enforce march on aarch64 @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj 2 files changed, 2 deletions(-) diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am -index 133fbbca77e..ac1ca645876 100644 +index 0f3cd6f7121..c8124c1d5aa 100644 --- a/libatomic/Makefile.am +++ b/libatomic/Makefile.am @@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) @@ -29,10 +29,10 @@ index 133fbbca77e..ac1ca645876 100644 endif if ARCH_ARM_LINUX diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in -index a51807e95c9..97df2d7ff03 100644 +index 0a51bd55f01..6d5b1581706 100644 --- a/libatomic/Makefile.in +++ b/libatomic/Makefile.in -@@ -431,7 +431,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) +@@ -432,7 +432,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \ _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \ $(am__append_3) $(am__append_4) diff --git a/poky/meta/recipes-devtools/gcc/gcc_10.2.bb b/poky/meta/recipes-devtools/gcc/gcc_10.2.bb deleted file mode 100644 index 7d9359058..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc_10.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require gcc-target.inc - -# Building with thumb enabled on armv4t armv5t 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 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" -ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" -ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/gcc/gcc_11.1.bb b/poky/meta/recipes-devtools/gcc/gcc_11.1.bb new file mode 100644 index 000000000..7d9359058 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc_11.1.bb @@ -0,0 +1,14 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require gcc-target.inc + +# Building with thumb enabled on armv4t armv5t 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 +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" +ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" +ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial.inc b/poky/meta/recipes-devtools/gcc/libgcc-initial.inc index 06bf224f7..f7d804122 100644 --- a/poky/meta/recipes-devtools/gcc/libgcc-initial.inc +++ b/poky/meta/recipes-devtools/gcc/libgcc-initial.inc @@ -51,6 +51,8 @@ do_configure_prepend () { do_configure_append () { sed -i -e 's#thread_header = .*#thread_header = gthr-single.h#' ${B}/${BPN}/Makefile + sed -i -e '/^libgcc_tm_defines = $/a fp128_dec_funcs =' ${B}/${BPN}/Makefile + sed -i -e '/^libgcc_tm_defines = $/a fp128_decstr_funcs =' ${B}/${BPN}/Makefile } do_install_append () { diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_10.2.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_10.2.bb deleted file mode 100644 index 0c698c26e..000000000 --- a/poky/meta/recipes-devtools/gcc/libgcc-initial_10.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgcc-initial.inc - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_11.1.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_11.1.bb new file mode 100644 index 000000000..0c698c26e --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/libgcc-initial_11.1.bb @@ -0,0 +1,5 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require libgcc-initial.inc + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/libgcc_10.2.bb b/poky/meta/recipes-devtools/gcc/libgcc_10.2.bb deleted file mode 100644 index ea210a113..000000000 --- a/poky/meta/recipes-devtools/gcc/libgcc_10.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgcc.inc - -# Building with thumb enabled on armv6t fails -ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/libgcc_11.1.bb b/poky/meta/recipes-devtools/gcc/libgcc_11.1.bb new file mode 100644 index 000000000..ea210a113 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/libgcc_11.1.bb @@ -0,0 +1,5 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require libgcc.inc + +# Building with thumb enabled on armv6t fails +ARM_INSTRUCTION_SET_armv6 = "arm" diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_10.2.bb b/poky/meta/recipes-devtools/gcc/libgfortran_10.2.bb deleted file mode 100644 index 71dd8b4bd..000000000 --- a/poky/meta/recipes-devtools/gcc/libgfortran_10.2.bb +++ /dev/null @@ -1,3 +0,0 @@ -require recipes-devtools/gcc/gcc-${PV}.inc -require libgfortran.inc - diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_11.1.bb b/poky/meta/recipes-devtools/gcc/libgfortran_11.1.bb new file mode 100644 index 000000000..71dd8b4bd --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/libgfortran_11.1.bb @@ -0,0 +1,3 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require libgfortran.inc + diff --git a/poky/meta/recipes-devtools/gdb/gdb-10.1.inc b/poky/meta/recipes-devtools/gdb/gdb-10.1.inc deleted file mode 100644 index 07de17f84..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb-10.1.inc +++ /dev/null @@ -1,19 +0,0 @@ -LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" - -SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \ - file://0001-make-man-install-relative-to-DESTDIR.patch \ - file://0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ - file://0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \ - file://0004-Add-support-for-Renesas-SH-sh4-architecture.patch \ - file://0005-Dont-disable-libreadline.a-when-using-disable-static.patch \ - file://0006-use-asm-sgidefs.h.patch \ - file://0008-Change-order-of-CFLAGS.patch \ - file://0009-resolve-restrict-keyword-conflict.patch \ - file://0010-Fix-invalid-sigprocmask-call.patch \ - file://0011-gdbserver-ctrl-c-handling.patch \ - " -SRC_URI[sha256sum] = "f82f1eceeec14a3afa2de8d9b0d3c91d5a3820e23e0a01bbb70ef9f0276b62c0" diff --git a/poky/meta/recipes-devtools/gdb/gdb-10.2.inc b/poky/meta/recipes-devtools/gdb/gdb-10.2.inc new file mode 100644 index 000000000..0a7df54e9 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb-10.2.inc @@ -0,0 +1,19 @@ +LICENSE = "GPLv2 & GPLv3 & LGPLv2 & LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" + +SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \ + file://0001-make-man-install-relative-to-DESTDIR.patch \ + file://0002-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ + file://0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \ + file://0004-Add-support-for-Renesas-SH-sh4-architecture.patch \ + file://0005-Dont-disable-libreadline.a-when-using-disable-static.patch \ + file://0006-use-asm-sgidefs.h.patch \ + file://0008-Change-order-of-CFLAGS.patch \ + file://0009-resolve-restrict-keyword-conflict.patch \ + file://0010-Fix-invalid-sigprocmask-call.patch \ + file://0011-gdbserver-ctrl-c-handling.patch \ + " +SRC_URI[sha256sum] = "aaa1223d534c9b700a8bec952d9748ee1977513f178727e1bee520ee000b4f29" diff --git a/poky/meta/recipes-devtools/gdb/gdb-common.inc b/poky/meta/recipes-devtools/gdb/gdb-common.inc index 6e0455203..a2a6364da 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-common.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-common.inc @@ -29,7 +29,7 @@ EXTRA_OECONF = "--disable-gdbtk --disable-x --disable-werror \ --disable-gprof \ " -PACKAGECONFIG ??= "readline" +PACKAGECONFIG ??= "readline ${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}" # Use --without-system-readline to compile with readline 5. PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline" PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,python3,python3 python3-codecs" diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb deleted file mode 100644 index 301035940..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb +++ /dev/null @@ -1,3 +0,0 @@ -require gdb-common.inc -require gdb-cross-canadian.inc -require gdb-${PV}.inc diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.2.bb new file mode 100644 index 000000000..301035940 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_10.2.bb @@ -0,0 +1,3 @@ +require gdb-common.inc +require gdb-cross-canadian.inc +require gdb-${PV}.inc diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb deleted file mode 100644 index 50cf159fd..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb-cross_10.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -require gdb-cross.inc -require gdb-${PV}.inc diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_10.2.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_10.2.bb new file mode 100644 index 000000000..50cf159fd --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb-cross_10.2.bb @@ -0,0 +1,2 @@ +require gdb-cross.inc +require gdb-${PV}.inc diff --git a/poky/meta/recipes-devtools/gdb/gdb_10.1.bb b/poky/meta/recipes-devtools/gdb/gdb_10.1.bb deleted file mode 100644 index d70757a15..000000000 --- a/poky/meta/recipes-devtools/gdb/gdb_10.1.bb +++ /dev/null @@ -1,28 +0,0 @@ -require gdb.inc -require gdb-${PV}.inc - -inherit python3-dir - -EXTRA_OEMAKE_append_libc-musl = "\ - gt_cv_func_gnugettext1_libc=yes \ - gt_cv_func_gnugettext2_libc=yes \ - gl_cv_func_working_strerror=yes \ - gl_cv_func_strerror_0_works=yes \ - gl_cv_func_gettimeofday_clobber=no \ - " - -do_configure_prepend() { - if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then - cat > ${WORKDIR}/python << EOF -#!/bin/sh -case "\$2" in - --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;; - --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;; - --exec-prefix) echo "${exec_prefix}" ;; - *) exit 1 ;; -esac -exit 0 -EOF - chmod +x ${WORKDIR}/python - fi -} diff --git a/poky/meta/recipes-devtools/gdb/gdb_10.2.bb b/poky/meta/recipes-devtools/gdb/gdb_10.2.bb new file mode 100644 index 000000000..d70757a15 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb_10.2.bb @@ -0,0 +1,28 @@ +require gdb.inc +require gdb-${PV}.inc + +inherit python3-dir + +EXTRA_OEMAKE_append_libc-musl = "\ + gt_cv_func_gnugettext1_libc=yes \ + gt_cv_func_gnugettext2_libc=yes \ + gl_cv_func_working_strerror=yes \ + gl_cv_func_strerror_0_works=yes \ + gl_cv_func_gettimeofday_clobber=no \ + " + +do_configure_prepend() { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + cat > ${WORKDIR}/python << EOF +#!/bin/sh +case "\$2" in + --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}/" ;; + --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -Wl,-rpath,${libdir}/.. -lpthread -ldl -lutil -lm -lpython${PYTHON_BASEVERSION}${PYTHON_ABI}" ;; + --exec-prefix) echo "${exec_prefix}" ;; + *) exit 1 ;; +esac +exit 0 +EOF + chmod +x ${WORKDIR}/python + fi +} diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb index c41177c72..d4ec4593f 100644 --- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb @@ -9,8 +9,8 @@ DEPENDS_class-native = "hostperl-runtime-native" INHIBIT_DEFAULT_DEPS = "1" -SRCREV = "6faca61810d335c7837f320733fe8e15a1431fc2" -PV = "20210125+git${SRCPV}" +SRCREV = "277b4ed1776f721145b2649d888f1deb445fecc5" +PV = "20210424+git${SRCPV}" SRC_URI = "git://git.savannah.gnu.org/config.git \ file://gnu-configize.in" diff --git a/poky/meta/recipes-devtools/go/go-1.16.2.inc b/poky/meta/recipes-devtools/go/go-1.16.2.inc deleted file mode 100644 index e65caf819..000000000 --- a/poky/meta/recipes-devtools/go/go-1.16.2.inc +++ /dev/null @@ -1,20 +0,0 @@ -require go-common.inc - -GO_BASEVERSION = "1.16" -PV = "1.16.2" -FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" - -SRC_URI += "\ - file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \ - file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \ - file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \ - file://0004-ld-add-soname-to-shareable-objects.patch \ - file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \ - file://0006-cmd-dist-separate-host-and-target-builds.patch \ - file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ - file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ - file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \ -" -SRC_URI[main.sha256sum] = "37ca14287a23cb8ba2ac3f5c3dd8adbc1f7a54b9701a57824bf19a0b271f83ea" diff --git a/poky/meta/recipes-devtools/go/go-1.16.3.inc b/poky/meta/recipes-devtools/go/go-1.16.3.inc new file mode 100644 index 000000000..ebd25a5ea --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-1.16.3.inc @@ -0,0 +1,20 @@ +require go-common.inc + +GO_BASEVERSION = "1.16" +PV = "1.16.3" +FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" + +SRC_URI += "\ + file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \ + file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \ + file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \ + file://0004-ld-add-soname-to-shareable-objects.patch \ + file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \ + file://0006-cmd-dist-separate-host-and-target-builds.patch \ + file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ + file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ + file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \ +" +SRC_URI[main.sha256sum] = "b298d29de9236ca47a023e382313bcc2d2eed31dfa706b60a04103ce83a71a25" diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.2.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.2.bb deleted file mode 100644 index 4fb060173..000000000 --- a/poky/meta/recipes-devtools/go/go-binary-native_1.16.2.bb +++ /dev/null @@ -1,46 +0,0 @@ -# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org. - -SUMMARY = "Go programming language compiler (upstream binary for bootstrap)" -HOMEPAGE = " http://golang.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" - -PROVIDES = "go-native" - -SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" -SRC_URI[go_linux_amd64.sha256sum] = "542e936b19542e62679766194364f45141fde55169db2d8d01046555ca9eb4b8" -SRC_URI[go_linux_arm64.sha256sum] = "6924601d998a0917694fd14261347e3798bd2ad6b13c4d7f2edd70c9d57f62ab" - -UPSTREAM_CHECK_URI = "https://golang.org/dl/" -UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" - -S = "${WORKDIR}/go" - -inherit goarch native - -do_compile() { - : -} - -make_wrapper() { - rm -f ${D}${bindir}/$1 - cat <${D}${bindir}/$1 -#!/bin/bash -here=\`dirname \$0\` -export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" -\$here/../lib/go/bin/$1 "\$@" -END - chmod +x ${D}${bindir}/$1 -} - -do_install() { - find ${S} -depth -type d -name testdata -exec rm -rf {} + - - install -d ${D}${bindir} ${D}${libdir}/go - cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/ - - for f in ${S}/bin/* - do - make_wrapper `basename $f` - done -} diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb new file mode 100644 index 000000000..d01a2bd8f --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb @@ -0,0 +1,46 @@ +# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org. + +SUMMARY = "Go programming language compiler (upstream binary for bootstrap)" +HOMEPAGE = " http://golang.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" + +PROVIDES = "go-native" + +SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" +SRC_URI[go_linux_amd64.sha256sum] = "951a3c7c6ce4e56ad883f97d9db74d3d6d80d5fec77455c6ada6c1f7ac4776d2" +SRC_URI[go_linux_arm64.sha256sum] = "566b1d6f17d2bc4ad5f81486f0df44f3088c3ed47a3bec4099d8ed9939e90d5d" + +UPSTREAM_CHECK_URI = "https://golang.org/dl/" +UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" + +S = "${WORKDIR}/go" + +inherit goarch native + +do_compile() { + : +} + +make_wrapper() { + rm -f ${D}${bindir}/$1 + cat <${D}${bindir}/$1 +#!/bin/bash +here=\`dirname \$0\` +export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" +\$here/../lib/go/bin/$1 "\$@" +END + chmod +x ${D}${bindir}/$1 +} + +do_install() { + find ${S} -depth -type d -name testdata -exec rm -rf {} + + + install -d ${D}${bindir} ${D}${libdir}/go + cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/ + + for f in ${S}/bin/* + do + make_wrapper `basename $f` + done +} diff --git a/poky/meta/recipes-devtools/go/go-common.inc b/poky/meta/recipes-devtools/go/go-common.inc index f18d928c7..c368b95b6 100644 --- a/poky/meta/recipes-devtools/go/go-common.inc +++ b/poky/meta/recipes-devtools/go/go-common.inc @@ -14,7 +14,7 @@ LICENSE = "BSD-3-Clause" inherit goarch -SRC_URI = "http://golang.org/dl/go${PV}.src.tar.gz;name=main" +SRC_URI = "https://dl.google.com/go/go${PV}.src.tar.gz;name=main" S = "${WORKDIR}/go" B = "${S}" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.src\.tar" diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.2.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.2.bb deleted file mode 100644 index 7ac9449e4..000000000 --- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross-canadian.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb new file mode 100644 index 000000000..7ac9449e4 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb @@ -0,0 +1,2 @@ +require go-cross-canadian.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.2.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.2.bb deleted file mode 100644 index 80b5a03f6..000000000 --- a/poky/meta/recipes-devtools/go/go-cross_1.16.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.3.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.3.bb new file mode 100644 index 000000000..80b5a03f6 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-cross_1.16.3.bb @@ -0,0 +1,2 @@ +require go-cross.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.2.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.2.bb deleted file mode 100644 index 1857c8a57..000000000 --- a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.2.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-crosssdk.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb new file mode 100644 index 000000000..1857c8a57 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb @@ -0,0 +1,2 @@ +require go-crosssdk.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.2.bb b/poky/meta/recipes-devtools/go/go-native_1.16.2.bb deleted file mode 100644 index f14892cdb..000000000 --- a/poky/meta/recipes-devtools/go/go-native_1.16.2.bb +++ /dev/null @@ -1,59 +0,0 @@ -# This recipe builds a native Go (written in Go) by first building an old Go 1.4 -# (written in C). However this old Go does not support all hosts platforms. - -require go-${PV}.inc - -inherit native - -SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4" -SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52" - -export GOOS = "${BUILD_GOOS}" -export GOARCH = "${BUILD_GOARCH}" -CC = "${@d.getVar('BUILD_CC').strip()}" - -GOMAKEARGS ?= "--no-banner" - -do_configure() { - cd ${WORKDIR}/go1.4/go/src - CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash -} - -do_compile() { - export GOROOT_FINAL="${libdir_native}/go" - export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go" - - cd src - ./make.bash ${GOMAKEARGS} - cd ${B} -} -do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin" -do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin" - -make_wrapper() { - rm -f ${D}${bindir}/$2$3 - cat <${D}${bindir}/$2$3 -#!/bin/bash -here=\`dirname \$0\` -export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" -\$here/../lib/go/bin/$1 "\$@" -END - chmod +x ${D}${bindir}/$2 -} - -do_install() { - install -d ${D}${libdir}/go - cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/ - install -d ${D}${libdir}/go/src - (cd ${S}/src; for d in *; do \ - [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \ - done) - find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \; - install -d ${D}${bindir} ${D}${libdir}/go/bin - for f in ${B}/bin/* - do - base=`basename $f` - install -m755 $f ${D}${libdir}/go/bin - make_wrapper $base $base - done -} diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.3.bb b/poky/meta/recipes-devtools/go/go-native_1.16.3.bb new file mode 100644 index 000000000..f14892cdb --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-native_1.16.3.bb @@ -0,0 +1,59 @@ +# This recipe builds a native Go (written in Go) by first building an old Go 1.4 +# (written in C). However this old Go does not support all hosts platforms. + +require go-${PV}.inc + +inherit native + +SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4" +SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52" + +export GOOS = "${BUILD_GOOS}" +export GOARCH = "${BUILD_GOARCH}" +CC = "${@d.getVar('BUILD_CC').strip()}" + +GOMAKEARGS ?= "--no-banner" + +do_configure() { + cd ${WORKDIR}/go1.4/go/src + CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash +} + +do_compile() { + export GOROOT_FINAL="${libdir_native}/go" + export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go" + + cd src + ./make.bash ${GOMAKEARGS} + cd ${B} +} +do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin" +do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin" + +make_wrapper() { + rm -f ${D}${bindir}/$2$3 + cat <${D}${bindir}/$2$3 +#!/bin/bash +here=\`dirname \$0\` +export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" +\$here/../lib/go/bin/$1 "\$@" +END + chmod +x ${D}${bindir}/$2 +} + +do_install() { + install -d ${D}${libdir}/go + cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/ + install -d ${D}${libdir}/go/src + (cd ${S}/src; for d in *; do \ + [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \ + done) + find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \; + install -d ${D}${bindir} ${D}${libdir}/go/bin + for f in ${B}/bin/* + do + base=`basename $f` + install -m755 $f ${D}${libdir}/go/bin + make_wrapper $base $base + done +} diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb deleted file mode 100644 index 63464a150..000000000 --- a/poky/meta/recipes-devtools/go/go-runtime_1.16.2.bb +++ /dev/null @@ -1,3 +0,0 @@ -require go-${PV}.inc -require go-runtime.inc - diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb new file mode 100644 index 000000000..63464a150 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb @@ -0,0 +1,3 @@ +require go-${PV}.inc +require go-runtime.inc + diff --git a/poky/meta/recipes-devtools/go/go_1.16.2.bb b/poky/meta/recipes-devtools/go/go_1.16.2.bb deleted file mode 100644 index 4e9e0ebec..000000000 --- a/poky/meta/recipes-devtools/go/go_1.16.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -require go-${PV}.inc -require go-target.inc - -inherit linuxloader - -export GOBUILDMODE="" -export GO_LDSO = "${@get_linuxloader(d)}" -export CC_FOR_TARGET = "gcc" -export CXX_FOR_TARGET = "g++" - -# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its -# variants. -python() { - if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True): - d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel") -} - diff --git a/poky/meta/recipes-devtools/go/go_1.16.3.bb b/poky/meta/recipes-devtools/go/go_1.16.3.bb new file mode 100644 index 000000000..4e9e0ebec --- /dev/null +++ b/poky/meta/recipes-devtools/go/go_1.16.3.bb @@ -0,0 +1,17 @@ +require go-${PV}.inc +require go-target.inc + +inherit linuxloader + +export GOBUILDMODE="" +export GO_LDSO = "${@get_linuxloader(d)}" +export CC_FOR_TARGET = "gcc" +export CXX_FOR_TARGET = "g++" + +# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its +# variants. +python() { + if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True): + d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel") +} + diff --git a/poky/meta/recipes-devtools/help2man/help2man_1.48.2.bb b/poky/meta/recipes-devtools/help2man/help2man_1.48.2.bb deleted file mode 100644 index 3e9b509ed..000000000 --- a/poky/meta/recipes-devtools/help2man/help2man_1.48.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Program for creating simple man pages" -HOMEPAGE = "https://www.gnu.org/software/help2man/" -DESCRIPTION = "help2man is a tool for automatically generating simple manual pages from program output." -SECTION = "devel" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "20cb36111df91d61741a20680912ab0e4c59da479c3fb05837c6f0a8cb7cb467" - -inherit autotools - -# This is a hand-maintained aclocal.m4 but our autotools class currently deletes -# aclocal.m4. -EXTRA_AUTORECONF += "--exclude=aclocal" - -EXTRA_OECONF = "--disable-nls" - -do_install_append () { - # Make sure we use /usr/bin/env perl - sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/help2man/help2man_1.48.3.bb b/poky/meta/recipes-devtools/help2man/help2man_1.48.3.bb new file mode 100644 index 000000000..a612c0896 --- /dev/null +++ b/poky/meta/recipes-devtools/help2man/help2man_1.48.3.bb @@ -0,0 +1,24 @@ +SUMMARY = "Program for creating simple man pages" +HOMEPAGE = "https://www.gnu.org/software/help2man/" +DESCRIPTION = "help2man is a tool for automatically generating simple manual pages from program output." +SECTION = "devel" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "8361ff3c643fbd391064e97e5f54592ca28b880eaffbf566a68e0ad800d1a8ac" + +inherit autotools + +# This is a hand-maintained aclocal.m4 but our autotools class currently deletes +# aclocal.m4. +EXTRA_AUTORECONF += "--exclude=aclocal" + +EXTRA_OECONF = "--disable-nls" + +do_install_append () { + # Make sure we use /usr/bin/env perl + sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch index f4fb6d3b2..76fce1976 100644 --- a/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch +++ b/poky/meta/recipes-devtools/libcomps/libcomps/0001-Add-crc32.c-to-sources-list.patch @@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt -index adabb31..b9b96ab 100644 +index 89b9c91..08cd6b5 100644 --- a/libcomps/src/python/src/CMakeLists.txt +++ b/libcomps/src/python/src/CMakeLists.txt @@ -9,13 +9,13 @@ set (pycomps_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR}) @@ -23,7 +23,7 @@ index adabb31..b9b96ab 100644 - pycomps_hash.c pycomps_exc.c pycomps_lbw.c) + pycomps_hash.c pycomps_exc.c pycomps_lbw.c crc32.c) - set (pycomps_HEADERS pycomps_23macros.h pycomps_sequence.h + set (pycomps_HEADERS pycomps_macros.h pycomps_sequence.h pycomps_envs.h pycomps_categories.h pycomps_groups.h pycomps_gids.h pycomps_utils.h pycomps_dict.h pycomps_mdict.h pycomps_hash.h pycomps_exc.h pycomps_lbw.h @@ -46,5 +46,5 @@ index d8f5e34..f266067 100644 static uint32_t crc32_tab[] = { 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, -- -2.26.2 +2.25.1 diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.15.bb b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.15.bb deleted file mode 100644 index 58d2dee89..000000000 --- a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.15.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Libcomps is alternative for yum.comps library (which is for managing rpm package groups)." -HOMEPAGE = "https://github.com/rpm-software-management/libcomps" -DESCRIPTION = "Libcomps is alternative for yum.comps library. It's written in pure C as library and there's bindings for python2 and python3." -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/rpm-software-management/libcomps.git \ - file://0001-Add-crc32.c-to-sources-list.patch \ - file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - " - -SRCREV = "b213f749405d84e989b25e183bcf28ce701696dd" - -S = "${WORKDIR}/git" - -inherit cmake distutils3-base - -DEPENDS += "libxml2 expat libcheck" - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" -OECMAKE_SOURCEPATH = "${S}/libcomps" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.16.bb b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.16.bb new file mode 100644 index 000000000..851ec5b81 --- /dev/null +++ b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.16.bb @@ -0,0 +1,24 @@ +SUMMARY = "Libcomps is alternative for yum.comps library (which is for managing rpm package groups)." +HOMEPAGE = "https://github.com/rpm-software-management/libcomps" +DESCRIPTION = "Libcomps is alternative for yum.comps library. It's written in pure C as library and there's bindings for python2 and python3." +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/rpm-software-management/libcomps.git \ + file://0001-Add-crc32.c-to-sources-list.patch \ + file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + " + +SRCREV = "f3289ed1d812648558ab48ade4fae850b375fa65" + +S = "${WORKDIR}/git" + +inherit cmake distutils3-base + +DEPENDS += "libxml2 expat libcheck" + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" +OECMAKE_SOURCEPATH = "${S}/libcomps" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/libedit/libedit_20210216-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20210216-3.1.bb deleted file mode 100644 index 97aceaf71..000000000 --- a/poky/meta/recipes-devtools/libedit/libedit_20210216-3.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "BSD replacement for libreadline" -DESCRIPTION = "Command line editor library providing generic line editing, \ -history, and tokenization functions" -HOMEPAGE = "http://www.thrysoee.dk/editline/" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533" - -DEPENDS = "ncurses" - -inherit autotools - -SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \ - file://stdc-predef.patch \ - " -SRC_URI[sha256sum] = "2283f741d2aab935c8c52c04b57bf952d02c2c02e651172f8ac811f77b1fc77a" - -BBCLASSEXTEND = "native nativesdk" - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "90" -ALTERNATIVE_${PN}-doc = "history.3" -ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3" diff --git a/poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb new file mode 100644 index 000000000..a34b77328 --- /dev/null +++ b/poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "BSD replacement for libreadline" +DESCRIPTION = "Command line editor library providing generic line editing, \ +history, and tokenization functions" +HOMEPAGE = "http://www.thrysoee.dk/editline/" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533" + +DEPENDS = "ncurses" + +inherit autotools + +SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \ + file://stdc-predef.patch \ + " +SRC_URI[sha256sum] = "571ebe44b74860823e24a08cf04086ff104fd7dfa1020abf26c52543134f5602" + +BBCLASSEXTEND = "native nativesdk" + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN}-doc = "history.3" +ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3" diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.13.0.bb b/poky/meta/recipes-devtools/librepo/librepo_1.13.0.bb deleted file mode 100644 index 0a68e0ac4..000000000 --- a/poky/meta/recipes-devtools/librepo/librepo_1.13.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "A library providing C and Python (libcURL like) API \ - for downloading linux repository metadata and packages." -HOMEPAGE = "https://github.com/rpm-software-management/librepo" -DESCRIPTION = "${SUMMARY}" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/rpm-software-management/librepo.git \ - file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ - file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ - " - -SRCREV = "a244d78bab11510408fb9413f1c78c2f56c69fa5" - -S = "${WORKDIR}/git" - -DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" - -inherit cmake distutils3-base pkgconfig - -EXTRA_OECMAKE = " \ - -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \ - -DPYTHON_DESIRED=3 \ - -DENABLE_TESTS=OFF \ - -DENABLE_DOCS=OFF \ - -DWITH_ZCHUNK=OFF \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.14.0.bb b/poky/meta/recipes-devtools/librepo/librepo_1.14.0.bb new file mode 100644 index 000000000..109b40ce3 --- /dev/null +++ b/poky/meta/recipes-devtools/librepo/librepo_1.14.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "A library providing C and Python (libcURL like) API \ + for downloading linux repository metadata and packages." +HOMEPAGE = "https://github.com/rpm-software-management/librepo" +DESCRIPTION = "${SUMMARY}" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/rpm-software-management/librepo.git \ + file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ + file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ + " + +SRCREV = "88b769eceefc1b151937e6b54d108b48f2177d87" + +S = "${WORKDIR}/git" + +DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" + +inherit cmake distutils3-base pkgconfig + +EXTRA_OECMAKE = " \ + -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \ + -DPYTHON_DESIRED=3 \ + -DENABLE_TESTS=OFF \ + -DENABLE_DOCS=OFF \ + -DWITH_ZCHUNK=OFF \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc index 19a03d473..e9225e140 100644 --- a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc +++ b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc @@ -22,6 +22,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://0001-libtool-Fix-support-for-NIOS2-processor.patch \ file://0001-libtool-Check-for-static-libs-for-internal-compiler-.patch \ file://0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \ + file://0001-Makefile.am-make-sure-autoheader-run-before-automake.patch \ " SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e" diff --git a/poky/meta/recipes-devtools/libtool/libtool/0001-Makefile.am-make-sure-autoheader-run-before-automake.patch b/poky/meta/recipes-devtools/libtool/libtool/0001-Makefile.am-make-sure-autoheader-run-before-automake.patch new file mode 100644 index 000000000..87f849234 --- /dev/null +++ b/poky/meta/recipes-devtools/libtool/libtool/0001-Makefile.am-make-sure-autoheader-run-before-automake.patch @@ -0,0 +1,35 @@ +From e82c06584f02e3e4487aa73aa05981e2a35dc6d1 Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Tue, 13 Apr 2021 07:17:29 +0000 +Subject: [PATCH] Makefile.am: make sure autoheader run before automake + +When use automake to generate Makefile.in from Makefile.am, there +comes below race: + | configure.ac:45: error: required file 'config-h.in' not found + +It is because the file config-h.in in updating process by autoheader, +so make automake run after autoheader to avoid the above race. + +Upstream-Status: Submitted [libtool-patches@gnu.org maillist] + +Signed-off-by: Mingli Yu +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 2752ecc..29950db 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -328,7 +328,7 @@ EXTRA_DIST += $(lt_aclocal_m4) \ + $(lt_obsolete_m4) \ + $(stamp_mk) + +-$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) ++$(lt_Makefile_in): $(lt_Makefile_am) $(lt_aclocal_m4) $(lt_config_h_in) + $(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(AUTOMAKE) Makefile + + # Don't let unused scripts leak into the libltdl Makefile +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/llvm/llvm/0001-nfc-Fix-missing-include.patch b/poky/meta/recipes-devtools/llvm/llvm/0001-nfc-Fix-missing-include.patch deleted file mode 100644 index f6dee77ab..000000000 --- a/poky/meta/recipes-devtools/llvm/llvm/0001-nfc-Fix-missing-include.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 3b7e611bd58ba842470d17374c550e14bceca5c7 Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Tue, 10 Nov 2020 14:55:25 +0100 -Subject: [PATCH] [nfc] Fix missing include - -Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1] -Signed-off-by: Khem Raj ---- - llvm/utils/benchmark/src/benchmark_register.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/llvm/utils/benchmark/src/benchmark_register.h b/llvm/utils/benchmark/src/benchmark_register.h -index 0705e219f2fa..4caa5ad4da07 100644 ---- a/llvm/utils/benchmark/src/benchmark_register.h -+++ b/llvm/utils/benchmark/src/benchmark_register.h -@@ -1,6 +1,7 @@ - #ifndef BENCHMARK_REGISTER_H - #define BENCHMARK_REGISTER_H - -+#include - #include - - #include "check.h" --- -2.30.1 - diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb index db6694339..8a5d3dc9b 100644 --- a/poky/meta/recipes-devtools/llvm/llvm_git.bb +++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb @@ -19,8 +19,8 @@ inherit cmake pkgconfig PROVIDES += "llvm${PV}" -MAJOR_VERSION = "11" -MINOR_VERSION = "1" +MAJOR_VERSION = "12" +MINOR_VERSION = "0" PATCH_VERSION = "0" PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}" @@ -29,12 +29,11 @@ LLVM_RELEASE = "${PV}" LLVM_DIR = "llvm${LLVM_RELEASE}" BRANCH = "release/${MAJOR_VERSION}.x" -SRCREV = "1fdec59bffc11ae37eb51a1b9869f0696bfd5312" +SRCREV = "fa0971b87fb2c9d14d1bba2551e61f02f18f329b" SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \ file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \ file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ - file://0001-nfc-Fix-missing-include.patch;striplevel=2 \ " UPSTREAM_CHECK_GITTAGREGEX = "llvmorg-(?P\d+(\.\d+)+)" diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc index a9b63c1bf..6475b02f8 100644 --- a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc +++ b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc @@ -9,6 +9,7 @@ inherit autotools texinfo ptest SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \ file://ac_config_links.patch \ file://m4-1.4.18-glibc-change-work-around.patch \ + file://0001-c-stack-stop-using-SIGSTKSZ.patch \ " SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ file://run-ptest \ diff --git a/poky/meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch b/poky/meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch new file mode 100644 index 000000000..883b8a207 --- /dev/null +++ b/poky/meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch @@ -0,0 +1,84 @@ +From 69238f15129f35eb4756ad8e2004e0d7907cb175 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 30 Apr 2021 17:40:36 -0700 +Subject: [PATCH] c-stack: stop using SIGSTKSZ + +This patch is required with glibc 2.34+ +based on gnulib [1] + +[1] https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=f9e2b20a12a230efa30f1d479563ae07d276a94b + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + lib/c-stack.c | 22 +++++++++++++--------- + 1 file changed, 13 insertions(+), 9 deletions(-) + +diff --git a/lib/c-stack.c b/lib/c-stack.c +index 5353c08..863f764 100644 +--- a/lib/c-stack.c ++++ b/lib/c-stack.c +@@ -51,13 +51,14 @@ + typedef struct sigaltstack stack_t; + #endif + #ifndef SIGSTKSZ +-# define SIGSTKSZ 16384 +-#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384 ++#define get_sigstksz() (16384) ++#elif HAVE_LIBSIGSEGV + /* libsigsegv 2.6 through 2.8 have a bug where some architectures use + more than the Linux default of an 8k alternate stack when deciding + if a fault was caused by stack overflow. */ +-# undef SIGSTKSZ +-# define SIGSTKSZ 16384 ++#define get_sigstksz() ((SIGSTKSZ) < 16384 ? 16384 : (SIGSTKSZ)) ++#else ++#define get_sigstksz() ((SIGSTKSZ)) + #endif + + #include +@@ -131,7 +132,8 @@ die (int signo) + /* Storage for the alternate signal stack. */ + static union + { +- char buffer[SIGSTKSZ]; ++ /* allocate buffer with size from get_sigstksz() */ ++ char *buffer; + + /* These other members are for proper alignment. There's no + standard way to guarantee stack alignment, but this seems enough +@@ -203,10 +205,11 @@ c_stack_action (void (*action) (int)) + program_error_message = _("program error"); + stack_overflow_message = _("stack overflow"); + ++ alternate_signal_stack.buffer = malloc(get_sigstksz()); + /* Always install the overflow handler. */ + if (stackoverflow_install_handler (overflow_handler, + alternate_signal_stack.buffer, +- sizeof alternate_signal_stack.buffer)) ++ get_sigstksz())) + { + errno = ENOTSUP; + return -1; +@@ -279,14 +282,15 @@ c_stack_action (void (*action) (int)) + stack_t st; + struct sigaction act; + st.ss_flags = 0; ++ alternate_signal_stack.buffer = malloc(get_sigstksz()); + # if SIGALTSTACK_SS_REVERSED + /* Irix mistakenly treats ss_sp as the upper bound, rather than + lower bound, of the alternate stack. */ +- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *); +- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *); ++ st.ss_sp = alternate_signal_stack.buffer + get_sigstksz() - sizeof (void *); ++ st.ss_size = get_sigstksz() - sizeof (void *); + # else + st.ss_sp = alternate_signal_stack.buffer; +- st.ss_size = sizeof alternate_signal_stack.buffer; ++ st.ss_size = get_sigstksz(); + # endif + r = sigaltstack (&st, NULL); + if (r != 0) +-- +2.31.1 + diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.26.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.26.bb deleted file mode 100644 index 493871306..000000000 --- a/poky/meta/recipes-devtools/mtools/mtools_4.0.26.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Utilities to access MS-DOS disks without mounting them" -DESCRIPTION = "Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them." -HOMEPAGE = "http://www.gnu.org/software/mtools/" -SECTION = "optional" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS += "virtual/libiconv" - -RDEPENDS_${PN}_libc-glibc = "glibc-gconv-ibm850" -RRECOMMENDS_${PN}_libc-glibc = "\ - glibc-gconv-ibm437 \ - glibc-gconv-ibm737 \ - glibc-gconv-ibm775 \ - glibc-gconv-ibm851 \ - glibc-gconv-ibm852 \ - glibc-gconv-ibm855 \ - glibc-gconv-ibm857 \ - glibc-gconv-ibm860 \ - glibc-gconv-ibm861 \ - glibc-gconv-ibm862 \ - glibc-gconv-ibm863 \ - glibc-gconv-ibm865 \ - glibc-gconv-ibm866 \ - glibc-gconv-ibm869 \ - " -SRC_URI[sha256sum] = "539f1c8b476a16e198d8bcb10a5799e22e69de49d854f7dbd85b64c2a45dea1a" - -SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \ - file://mtools-makeinfo.patch \ - file://no-x11.gplv3.patch \ - file://clang_UNUSED.patch \ - " - -SRC_URI_append_class-native = " file://disable-hardcoded-configs.patch" - -inherit autotools texinfo - -EXTRA_OECONF = "--without-x" - -BBCLASSEXTEND = "native nativesdk" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd" - -do_install_prepend () { - # Create bindir to fix parallel installation issues - mkdir -p ${D}/${bindir} - mkdir -p ${D}/${datadir} -} diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.27.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.27.bb new file mode 100644 index 000000000..c6fa02ebd --- /dev/null +++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.27.bb @@ -0,0 +1,50 @@ +SUMMARY = "Utilities to access MS-DOS disks without mounting them" +DESCRIPTION = "Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them." +HOMEPAGE = "http://www.gnu.org/software/mtools/" +SECTION = "optional" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS += "virtual/libiconv" + +RDEPENDS_${PN}_libc-glibc = "glibc-gconv-ibm850" +RRECOMMENDS_${PN}_libc-glibc = "\ + glibc-gconv-ibm437 \ + glibc-gconv-ibm737 \ + glibc-gconv-ibm775 \ + glibc-gconv-ibm851 \ + glibc-gconv-ibm852 \ + glibc-gconv-ibm855 \ + glibc-gconv-ibm857 \ + glibc-gconv-ibm860 \ + glibc-gconv-ibm861 \ + glibc-gconv-ibm862 \ + glibc-gconv-ibm863 \ + glibc-gconv-ibm865 \ + glibc-gconv-ibm866 \ + glibc-gconv-ibm869 \ + " +SRC_URI[sha256sum] = "9c88c8d9244e54768e40b92c005e61ec4e084ea7c070df9184caf1a6408838b3" + +SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \ + file://mtools-makeinfo.patch \ + file://no-x11.gplv3.patch \ + file://clang_UNUSED.patch \ + " + +SRC_URI_append_class-native = " file://disable-hardcoded-configs.patch" + +inherit autotools texinfo + +EXTRA_OECONF = "--without-x" + +BBCLASSEXTEND = "native nativesdk" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libbsd] = "ac_cv_lib_bsd_main=yes,ac_cv_lib_bsd_main=no,libbsd" + +do_install_prepend () { + # Create bindir to fix parallel installation issues + mkdir -p ${D}/${bindir} + mkdir -p ${D}/${datadir} +} diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch b/poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch new file mode 100644 index 000000000..ba35ec6ff --- /dev/null +++ b/poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch @@ -0,0 +1,44 @@ +From 6edec83653ce1b5fc201ff6db93b966394766814 Mon Sep 17 00:00:00 2001 +From: rmnull +Date: Tue, 18 Aug 2020 20:22:52 +0530 +Subject: [PATCH] mark phdrs synced with sections, avoid rechecking it when + syncing note sections to segments. + +This also serves as a bug fix when a previously synced note segment +overlaps with another section and creates a false alarm. + +Upstream-Status: Backport +--- + src/patchelf.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index 05ec793..622f0b6 100644 +--- a/src/patchelf.cc ++++ b/src/patchelf.cc +@@ -669,6 +669,7 @@ void ElfFile::writeReplacedSections(Elf_Off & curOff, + memset(contents + rdi(shdr.sh_offset), 'X', rdi(shdr.sh_size)); + } + ++ std::set noted_phdrs = {}; + for (auto & i : replacedSections) { + std::string sectionName = i.first; + auto & shdr = findSection(sectionName); +@@ -721,7 +722,7 @@ void ElfFile::writeReplacedSections(Elf_Off & curOff, + shdr.sh_addralign = orig_shdr.sh_addralign; + + for (unsigned int j = 0; j < phdrs.size(); ++j) +- if (rdi(phdrs[j].p_type) == PT_NOTE) { ++ if (rdi(phdrs[j].p_type) == PT_NOTE && noted_phdrs.find(j) == noted_phdrs.end()) { + Elf_Off p_start = rdi(phdrs[j].p_offset); + Elf_Off p_end = p_start + rdi(phdrs[j].p_filesz); + Elf_Off s_start = rdi(orig_shdr.sh_offset); +@@ -739,6 +740,8 @@ void ElfFile::writeReplacedSections(Elf_Off & curOff, + phdrs[j].p_offset = shdr.sh_offset; + phdrs[j].p_vaddr = phdrs[j].p_paddr = shdr.sh_addr; + phdrs[j].p_filesz = phdrs[j].p_memsz = shdr.sh_size; ++ ++ noted_phdrs.insert(j); + } + } + diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch b/poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch new file mode 100644 index 000000000..a06876e50 --- /dev/null +++ b/poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch @@ -0,0 +1,44 @@ +If a binary has multiple SHT_NOTE sections and corresponding PT_NOTE +headers, we can see the error: + +patchelf: cannot normalize PT_NOTE segment: non-contiguous SHT_NOTE sections + +if the SHT_NOTE sections aren't sized to end on aligned boundaries. An example +would be a binary with: + + [ 2] .note.ABI-tag NOTE 00000000000002f4 000002f4 + 0000000000000020 0000000000000000 A 0 0 4 + [ 3] .note.gnu.propert NOTE 0000000000000318 00000318 + 0000000000000030 0000000000000000 A 0 0 8 + [ 4] .note.gnu.build-i NOTE 0000000000000348 00000348 + 0000000000000024 0000000000000000 A 0 0 4 + + NOTE 0x0000000000000318 0x0000000000000318 0x0000000000000318 + 0x0000000000000030 0x0000000000000030 R 0x8 + NOTE 0x00000000000002f4 0x00000000000002f4 0x00000000000002f4 + 0x0000000000000078 0x0000000000000074 R 0x4 + +since the PT_NOTE section at 2f4 covers [2] and [3] but the code +calclates curr_off should be 314, not the 318 in the binary. This +is an alignment issue. + +To fix this, we need to round curr_off to the next section alignment. + +Upstream-Status: Submitted [https://github.com/NixOS/patchelf/pull/274] +Signed-off-by: Richard Purdie + +Index: git/src/patchelf.cc +=================================================================== +--- git.orig/src/patchelf.cc ++++ git/src/patchelf.cc +@@ -1010,8 +1010,9 @@ void ElfFile::normali + size_t size = 0; + for (const auto & shdr : shdrs) { + if (rdi(shdr.sh_type) != SHT_NOTE) continue; +- if (rdi(shdr.sh_offset) != curr_off) continue; ++ if (rdi(shdr.sh_offset) != roundUp(curr_off, rdi(shdr.sh_addralign))) continue; + size = rdi(shdr.sh_size); ++ curr_off = roundUp(curr_off, rdi(shdr.sh_addralign)); + break; + } + if (size == 0) diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.12.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.12.bb index 95886c6d3..7c97ea078 100644 --- a/poky/meta/recipes-devtools/patchelf/patchelf_0.12.bb +++ b/poky/meta/recipes-devtools/patchelf/patchelf_0.12.bb @@ -6,6 +6,8 @@ LICENSE = "GPLv3" SRC_URI = "git://github.com/NixOS/patchelf;protocol=https \ file://handle-read-only-files.patch \ + file://6edec83653ce1b5fc201ff6db93b966394766814.patch \ + file://alignmentfix.patch \ " SRCREV = "8d3a16e97294e3c5521c61b4c8835499c9918264" diff --git a/poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-remove-support-for-the-__int64-type.-See-1.patch b/poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-remove-support-for-the-__int64-type.-See-1.patch new file mode 100644 index 000000000..bee458572 --- /dev/null +++ b/poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-remove-support-for-the-__int64-type.-See-1.patch @@ -0,0 +1,144 @@ +From 7e821441c482917e54435a07893272d87d3ad9e5 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Fri, 24 Aug 2018 19:43:04 +0200 +Subject: [PATCH] autotools: remove support for the __int64 type. See #1313 + +__int64 was the 64bit type for Visual Studio before it added support for +"long long" with VS2013. I think this was used to build glib with mingw and +make the result usable for VS 6.0 which didn't support "long long" (??) + +Given that newer MSVC links against a different crt and mixing is not supported +and everything supports "long long" nowadays just remove it. + +This is also a cleanup for printf format changes needed for #1497 + +Signed-off-by: Khem Raj +Upstream-Status: Backport [https://github.com/GNOME/glib/commit/7e821441c4] +--- + configure.ac | 43 ++++--------------------------------------- + 1 file changed, 4 insertions(+), 39 deletions(-) + +--- a/glib/configure.ac ++++ b/glib/configure.ac +@@ -550,7 +550,6 @@ AC_CHECK_SIZEOF(long) + AC_CHECK_SIZEOF(int) + AC_CHECK_SIZEOF(void *) + AC_CHECK_SIZEOF(long long) +-AC_CHECK_SIZEOF(__int64) + + AC_CACHE_CHECK([for sig_atomic_t], ac_cv_type_sig_atomic_t, + [AC_TRY_LINK([#include +@@ -564,7 +563,7 @@ if test x$ac_cv_type_sig_atomic_t = xyes + [Define if you have the 'sig_atomic_t' type.]) + fi + +-if test x$ac_cv_sizeof_long = x8 || test x$ac_cv_sizeof_long_long = x8 || test x$ac_cv_sizeof___int64 = x8 ; then ++if test x$ac_cv_sizeof_long = x8 || test x$ac_cv_sizeof_long_long = x8 ; then + : + else + AC_MSG_ERROR([ +@@ -573,7 +572,7 @@ else + ]) + fi + +-AS_IF([test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8], [ ++AS_IF([test x$ac_cv_sizeof_long_long = x8], [ + # long long is a 64 bit integer. + AC_MSG_CHECKING(for format to printf and scanf a guint64) + AC_CACHE_VAL(glib_cv_long_long_format,[ +@@ -599,14 +598,6 @@ AS_IF([test x$glib_native_win32 != xyes + AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64]) + fi + ], [AC_MSG_RESULT(none)]) +-],[ test x$ac_cv_sizeof___int64 = x8], [ +- # __int64 is a 64 bit integer. +- AC_MSG_CHECKING(for format to printf and scanf a guint64) +- # We know this is MSVCRT.DLL, and what the formats are +- glib_cv_long_long_format=I64 +- AC_MSG_RESULT(%${glib_cv_long_long_format}u) +- AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long]) +- AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64]) + ]) + + AC_C_CONST +@@ -872,9 +863,6 @@ case $ac_cv_sizeof_size_t in + $ac_cv_sizeof_long_long) + glib_size_type='long long' + ;; +- $ac_cv_sizeof__int64) +- glib_size_type='__int64' +- ;; + *) AC_MSG_ERROR([No type matching size_t in size]) + ;; + esac +@@ -931,9 +919,6 @@ case $ac_cv_sizeof_ssize_t in + $ac_cv_sizeof_long_long) + glib_ssize_type='long long' + ;; +- $ac_cv_sizeof__int64) +- glib_ssize_type='__int64' +- ;; + *) AC_MSG_ERROR([No type matching ssize_t in size]) + ;; + esac +@@ -2985,17 +2970,6 @@ $ac_cv_sizeof_long_long) + gint64_constant='(G_GNUC_EXTENSION (val##LL))' + guint64_constant='(G_GNUC_EXTENSION (val##ULL))' + ;; +-$ac_cv_sizeof___int64) +- gint64='__int64' +- if test -n "$glib_cv_long_long_format"; then +- gint64_modifier='"'$glib_cv_long_long_format'"' +- gint64_format='"'$glib_cv_long_long_format'i"' +- guint64_format='"'$glib_cv_long_long_format'u"' +- fi +- glib_extension= +- gint64_constant='(val##i64)' +- guint64_constant='(val##ui64)' +- ;; + esac + glib_size_t=$ac_cv_sizeof_size_t + glib_ssize_t=$ac_cv_sizeof_ssize_t +@@ -3020,7 +2994,7 @@ long) + gsize_format='"lu"' + glib_msize_type='LONG' + ;; +-"long long"|__int64) ++"long long") + gsize_modifier='"I64"' + gsize_format='"I64u"' + glib_msize_type='INT64' +@@ -3043,7 +3017,7 @@ long) + gssize_format='"li"' + glib_mssize_type='LONG' + ;; +-"long long"|__int64) ++"long long") + gssize_modifier='"I64"' + gssize_format='"I64i"' + glib_mssize_type='INT64' +@@ -3080,14 +3054,6 @@ $ac_cv_sizeof_long_long) + glib_gpi_cast='(gint64)' + glib_gpui_cast='(guint64)' + ;; +-$ac_cv_sizeof___int64) +- glib_intptr_type_define=__int64 +- gintptr_modifier='"I64"' +- gintptr_format='"I64i"' +- guintptr_format='"I64u"' +- glib_gpi_cast='(gint64)' +- glib_gpui_cast='(guint64)' +- ;; + *) + glib_unknown_void_p=yes + ;; +@@ -3258,9 +3224,6 @@ $ac_cv_sizeof_long) + $ac_cv_sizeof_long_long) + gint64='long long' + ;; +-$ac_cv_sizeof___int64) +- gint64='__int64' +- ;; + esac + + AC_CHECK_TYPE([guint32],,,[typedef unsigned $gint32 guint32;]) diff --git a/poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-use-C99-printf-format-specifiers-on-Window.patch b/poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-use-C99-printf-format-specifiers-on-Window.patch new file mode 100644 index 000000000..a4e92da34 --- /dev/null +++ b/poky/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-use-C99-printf-format-specifiers-on-Window.patch @@ -0,0 +1,68 @@ +From 3d7cde654c4c6f3bdad32f5521f28f5802a7c377 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Fri, 24 Aug 2018 21:46:47 +0200 +Subject: [PATCH] autotools: use C99 printf format specifiers on Windows. Fixes + #1497 + +Since we now require a C99 compatible printf and use gnulib on Windows, +we also mark our printf functions as gnu_printf. GCC complains about the +Windows specific I64 specifiers we still write to glibconfig.h with the +autotools build. + +To fix this switch all I64(x) to ll(x). + +This also makes the glibconfig.h output for those macros match the ones +we get when using meson. + +Signed-off-by: Khem Raj +Upstream-Status: Backport [https://github.com/GNOME/glib/commit/3d7cde654c] +--- + configure.ac | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +--- a/glib/configure.ac ++++ b/glib/configure.ac +@@ -576,7 +576,7 @@ AS_IF([test x$ac_cv_sizeof_long_long = x + # long long is a 64 bit integer. + AC_MSG_CHECKING(for format to printf and scanf a guint64) + AC_CACHE_VAL(glib_cv_long_long_format,[ +- for format in ll q I64; do ++ for format in ll q; do + AC_TRY_RUN([#include + int main() + { +@@ -2995,8 +2995,8 @@ long) + glib_msize_type='LONG' + ;; + "long long") +- gsize_modifier='"I64"' +- gsize_format='"I64u"' ++ gsize_modifier='"ll"' ++ gsize_format='"llu"' + glib_msize_type='INT64' + ;; + esac +@@ -3018,8 +3018,8 @@ long) + glib_mssize_type='LONG' + ;; + "long long") +- gssize_modifier='"I64"' +- gssize_format='"I64i"' ++ gssize_modifier='"ll"' ++ gssize_format='"lli"' + glib_mssize_type='INT64' + ;; + esac +@@ -3048,9 +3048,9 @@ $ac_cv_sizeof_long) + ;; + $ac_cv_sizeof_long_long) + glib_intptr_type_define='long long' +- gintptr_modifier='"I64"' +- gintptr_format='"I64i"' +- guintptr_format='"I64u"' ++ gintptr_modifier='"ll"' ++ gintptr_format='"lli"' ++ guintptr_format='"llu"' + glib_gpi_cast='(gint64)' + glib_gpui_cast='(guint64)' + ;; diff --git a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index 52ef2a977..72db876ad 100644 --- a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb @@ -16,6 +16,8 @@ SRC_URI = "git://anongit.freedesktop.org/pkg-config \ file://pkg-config-native.in \ file://fix-glib-configure-libtool-usage.patch \ file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \ + file://0001-autotools-remove-support-for-the-__int64-type.-See-1.patch \ + file://0001-autotools-use-C99-printf-format-specifiers-on-Window.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb index 17bd02c27..4eab13312 100644 --- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -6,7 +6,7 @@ SRC_URI = "git://git.yoctoproject.org/pseudo;branch=oe-core \ file://fallback-group \ " -SRCREV = "60e25a36558f1f07dcce1a044fe976b475bec42b" +SRCREV = "ee24ebec9e5a11dd5208c9be2870f35eab3b9e20" S = "${WORKDIR}/git" PV = "1.9.0+git${SRCPV}" diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.1.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.1.bb deleted file mode 100644 index 6c3b88678..000000000 --- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.1.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "A sophisticated Numeric Processing Package for Python" -HOMEPAGE = "https://numpy.org/" -DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python." -SECTION = "devel/python" -LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=aa1ecaef18152f75bfae546b29c49d3c" - -SRCNAME = "numpy" - -SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ - file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ - file://0001-numpy-core-Define-RISCV-32-support.patch \ - file://run-ptest \ -" -SRC_URI[sha256sum] = "9bf51d69ebb4ca9239e55bedc2185fe2c0ec222da0adee7ece4125414676846d" - -UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" - -DEPENDS += "python3-cython-native" - -inherit ptest setuptools3 - -S = "${WORKDIR}/numpy-${PV}" - -CLEANBROKEN = "1" - -FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a" - -# install what is needed for numpy.test() -RDEPENDS_${PN} = "${PYTHON_PN}-unittest \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-mmap \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pydoc \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-multiprocessing \ -" -RDEPENDS_${PN}-ptest += "${PYTHON_PN}-pytest \ - ${PYTHON_PN}-hypothesis \ - ${PYTHON_PN}-sortedcontainers \ - ${PYTHON_PN}-resource \ - ldd \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb new file mode 100644 index 000000000..0a60ca746 --- /dev/null +++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb @@ -0,0 +1,58 @@ +SUMMARY = "A sophisticated Numeric Processing Package for Python" +HOMEPAGE = "https://numpy.org/" +DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python." +SECTION = "devel/python" +LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=aa1ecaef18152f75bfae546b29c49d3c" + +SRCNAME = "numpy" + +SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ + file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ + file://0001-numpy-core-Define-RISCV-32-support.patch \ + file://run-ptest \ +" +SRC_URI[sha256sum] = "c049f410c78e76ffb0af830a8afbdf8baac09897b4152b97b1a3b8345ee338ff" + +UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" + +DEPENDS += "python3-cython-native" + +inherit ptest setuptools3 + +S = "${WORKDIR}/numpy-${PV}" + +CLEANBROKEN = "1" + +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a" + +# install what is needed for numpy.test() +RDEPENDS_${PN} = "${PYTHON_PN}-unittest \ + ${PYTHON_PN}-difflib \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-mmap \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pydoc \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-multiprocessing \ +" +RDEPENDS_${PN}-ptest += "${PYTHON_PN}-pytest \ + ${PYTHON_PN}-hypothesis \ + ${PYTHON_PN}-sortedcontainers \ + ${PYTHON_PN}-resource \ + ldd \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc index 0e6bac06a..04fd2ec2b 100644 --- a/poky/meta/recipes-devtools/python/python-cython.inc +++ b/poky/meta/recipes-devtools/python/python-cython.inc @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" PYPI_PACKAGE = "Cython" BBCLASSEXTEND = "native nativesdk" -SRC_URI[sha256sum] = "df6b83c7a6d1d967ea89a2903e4a931377634a297459652e4551734c48195406" +SRC_URI[sha256sum] = "6a0d31452f0245daacb14c979c77e093eb1a546c760816b5eed0047686baad8e" UPSTREAM_CHECK_REGEX = "Cython-(?P.*)\.tar" inherit pypi diff --git a/poky/meta/recipes-devtools/python/python-gitdb.inc b/poky/meta/recipes-devtools/python/python-gitdb.inc index 618d85ff8..53d925a49 100644 --- a/poky/meta/recipes-devtools/python/python-gitdb.inc +++ b/poky/meta/recipes-devtools/python/python-gitdb.inc @@ -8,7 +8,7 @@ inherit pypi PYPI_PACKAGE = "gitdb" -SRC_URI[sha256sum] = "c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9" +SRC_URI[sha256sum] = "96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005" DEPENDS = "${PYTHON_PN}-async ${PYTHON_PN}-setuptools-native ${PYTHON_PN}-smmap" diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb deleted file mode 100644 index 2ec4033fa..000000000 --- a/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb +++ /dev/null @@ -1,36 +0,0 @@ -inherit setuptools3 -require python-cython.inc - -RDEPENDS_${PN} += "\ - python3-setuptools \ -" - -# running build_ext a second time during install fails, because Python -# would then attempt to import cythonized modules built for the target -# architecture. -DISTUTILS_INSTALL_ARGS += "--skip-build" - -do_install_append() { - # rename scripts that would conflict with the Python 2 build of Cython - mv ${D}${bindir}/cython ${D}${bindir}/cython3 - mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 - mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 -} - -PACKAGEBUILDPKGD += "cython_fix_sources" - -cython_fix_sources () { - for f in ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FusedNode.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Scanning.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Visitor.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Actions.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Scanners.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Runtime/refnanny.c \ - ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Tempita/_tempita.c \ - ${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do - if [ -e $f ]; then - sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' $f - fi - done -} diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.23.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.23.bb new file mode 100644 index 000000000..2ec4033fa --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-cython_0.29.23.bb @@ -0,0 +1,36 @@ +inherit setuptools3 +require python-cython.inc + +RDEPENDS_${PN} += "\ + python3-setuptools \ +" + +# running build_ext a second time during install fails, because Python +# would then attempt to import cythonized modules built for the target +# architecture. +DISTUTILS_INSTALL_ARGS += "--skip-build" + +do_install_append() { + # rename scripts that would conflict with the Python 2 build of Cython + mv ${D}${bindir}/cython ${D}${bindir}/cython3 + mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3 + mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3 +} + +PACKAGEBUILDPKGD += "cython_fix_sources" + +cython_fix_sources () { + for f in ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FusedNode.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Scanning.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Visitor.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Actions.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Scanners.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Runtime/refnanny.c \ + ${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Tempita/_tempita.c \ + ${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt; do + if [ -e $f ]; then + sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' $f + fi + done +} diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.22.0.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.22.0.bb deleted file mode 100644 index 0b87ab038..000000000 --- a/poky/meta/recipes-devtools/python/python3-dbusmock_0.22.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" -HOMEPAGE = "https://pypi.org/project/python-dbusmock/" - -LICENSE = "GPL-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" - -SRC_URI[sha256sum] = "2191919cc411fb94953b36e46bfd55ee5ad4162432ee0d0892bc2c4770ff5d7c" - -PYPI_PACKAGE = "python-dbusmock" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-dbus \ - ${PYTHON_PN}-pygobject \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ - " diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.0.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.0.bb new file mode 100644 index 000000000..80990d8fb --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" +HOMEPAGE = "https://pypi.org/project/python-dbusmock/" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" + +SRC_URI[sha256sum] = "8c0b873a3f23869b416b51deeec39b3d5ab4c9875b705fc90ae917e4969c2574" + +PYPI_PACKAGE = "python-dbusmock" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-dbus \ + ${PYTHON_PN}-pygobject \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ + " diff --git a/poky/meta/recipes-devtools/python/python3-docutils_0.16.bb b/poky/meta/recipes-devtools/python/python3-docutils_0.16.bb deleted file mode 100644 index 50547a1b0..000000000 --- a/poky/meta/recipes-devtools/python/python3-docutils_0.16.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Text processing system for documentation" -HOMEPAGE = "http://docutils.sourceforge.net" -SECTION = "devel/python" -LICENSE = "PSF & BSD-2-Clause & GPLv3" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7a4646907ab9083c826280b19e103106" - -DEPENDS = "python3" - -SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz" -SRC_URI[md5sum] = "9ccb6f332e23360f964de72c8ea5f0ed" -SRC_URI[sha256sum] = "7d4e999cca74a52611773a42912088078363a30912e8822f7a3d38043b767573" - -S = "${WORKDIR}/docutils-${PV}" - -inherit distutils3 - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-docutils_0.17.1.bb b/poky/meta/recipes-devtools/python/python3-docutils_0.17.1.bb new file mode 100644 index 000000000..54a809847 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-docutils_0.17.1.bb @@ -0,0 +1,11 @@ +SUMMARY = "Docutils is a modular system for processing documentation into useful formats" +HOMEPAGE = "http://docutils.sourceforge.net" +SECTION = "devel/python" +LICENSE = "PSF & BSD-2-Clause & GPLv3" +LIC_FILES_CHKSUM = "file://COPYING.txt;md5=836a1950177996968a49ff477a4a61c4" + +SRC_URI[sha256sum] = "686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-gitdb_4.0.5.bb b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.5.bb deleted file mode 100644 index fe56bf964..000000000 --- a/poky/meta/recipes-devtools/python/python3-gitdb_4.0.5.bb +++ /dev/null @@ -1,4 +0,0 @@ -inherit setuptools3 -require python-gitdb.inc - -SRC_URI[md5sum] = "0e2d3f34efece5deda7c55fede6507cc" diff --git a/poky/meta/recipes-devtools/python/python3-gitdb_4.0.7.bb b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.7.bb new file mode 100644 index 000000000..988d67b5f --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-gitdb_4.0.7.bb @@ -0,0 +1,4 @@ +inherit setuptools3 +require python-gitdb.inc + +SRC_URI[md5sum] = "3f52187435ab0b6e64a15782ffaf29ab" diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb b/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb index dbdf563f8..11a4d5432 100644 --- a/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb +++ b/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb @@ -13,8 +13,7 @@ CVE_PRODUCT = "jinja2 jinja" CLEANBROKEN = "1" inherit pypi setuptools3 -# ptest disabled in OE-Core for now due to missing dependencies - +inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} SRC_URI += " \ file://run-ptest \ @@ -27,6 +26,7 @@ do_install_ptest() { RDEPENDS_${PN}-ptest += " \ ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-toml \ ${PYTHON_PN}-unixadmin \ " diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb index 403a98a43..cade4e0f5 100644 --- a/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb +++ b/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb @@ -8,7 +8,7 @@ SRC_URI[sha256sum] = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8 PYPI_PACKAGE = "MarkupSafe" inherit pypi setuptools3 -# ptest disabled in OE-Core for now due to missing dependencies +inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} RDEPENDS_${PN} += "${PYTHON_PN}-stringold" diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb deleted file mode 100644 index 8df3150e3..000000000 --- a/poky/meta/recipes-devtools/python/python3-pygobject_3.38.0.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Python GObject bindings" -HOMEPAGE = "https://gitlab.gnome.org/GNOME/pygobject" -DESCRIPTION = "PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more." -SECTION = "devel/python" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase distutils3-base gobject-introspection upstream-version-is-even - -DEPENDS += "python3 glib-2.0" - -SRCNAME="pygobject" - -SRC_URI = " \ - http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ - file://0001-Do-not-build-tests.patch \ -" -SRC_URI[sha256sum] = "0372d1bb9122fc19f500a249b1f38c2bb67485000f5887497b4b205b3e7084d5" - -UNKNOWN_CONFIGURE_WHITELIST = "introspection" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}" - -RDEPENDS_${PN} += "python3-pkgutil" - -# python3-pycairo is checked on configuration -> DEPENDS -# we don't link against python3-pycairo -> RDEPENDS -PACKAGECONFIG[cairo] = "-Dpycairo=enabled,-Dpycairo=disabled, cairo python3-pycairo, python3-pycairo" - -BBCLASSEXTEND = "native" -PACKAGECONFIG_class-native = "" diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb new file mode 100644 index 000000000..f5679a4ba --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.40.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Python GObject bindings" +HOMEPAGE = "https://gitlab.gnome.org/GNOME/pygobject" +DESCRIPTION = "PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more." +SECTION = "devel/python" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase distutils3-base gobject-introspection upstream-version-is-even + +DEPENDS += "python3 glib-2.0" + +SRCNAME="pygobject" + +SRC_URI = " \ + http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \ + file://0001-Do-not-build-tests.patch \ +" +SRC_URI[sha256sum] = "00c6d591f4cb40c335ab1fd3e8c17869ba15cfda54416fe363290af766790035" + +UNKNOWN_CONFIGURE_WHITELIST = "introspection" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}" + +RDEPENDS_${PN} += "python3-pkgutil" + +# python3-pycairo is checked on configuration -> DEPENDS +# we don't link against python3-pycairo -> RDEPENDS +PACKAGECONFIG[cairo] = "-Dpycairo=enabled,-Dpycairo=disabled, cairo python3-pycairo, python3-pycairo" + +BBCLASSEXTEND = "native" +PACKAGECONFIG_class-native = "" diff --git a/poky/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb b/poky/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb new file mode 100644 index 000000000..dce1ad57d --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "Python support for YAML" +DEPENDS += "libyaml ${PYTHON_PN}-cython-native" +HOMEPAGE = "https://pyyaml.org/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6d8242660a8371add5fe547adf083079" + +PYPI_PACKAGE = "PyYAML" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-netclient \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_54.1.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools_54.1.1.bb deleted file mode 100644 index 74264a381..000000000 --- a/poky/meta/recipes-devtools/python/python3-setuptools_54.1.1.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" -HOMEPAGE = "https://pypi.org/project/setuptools" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6" - -inherit pypi setuptools3 - -SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" - -SRC_URI += "file://0001-change-shebang-to-python3.patch" - -SRC_URI[sha256sum] = "1ce82798848a978696465866bb3aaab356003c42d6143e1111fcf069ac838274" - -DEPENDS += "${PYTHON_PN}" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-2to3 \ - ${PYTHON_PN}-compile \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pkg-resources \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-plistlib \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ -" - -do_install_prepend() { - install -d ${D}${PYTHON_SITEPACKAGES_DIR} -} - -BBCLASSEXTEND = "native nativesdk" - -# The pkg-resources module can be used by itself, without the package downloader -# and easy_install. Ship it in a separate package so that it can be used by -# minimal distributions. -PACKAGES =+ "${PYTHON_PN}-pkg-resources " -FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" -RDEPENDS_${PYTHON_PN}-pkg-resources = "\ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-plistlib \ - ${PYTHON_PN}-pprint \ -" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb new file mode 100644 index 000000000..07a82ad21 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb @@ -0,0 +1,55 @@ +SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" +HOMEPAGE = "https://pypi.org/project/setuptools" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6" + +inherit pypi setuptools3 + +SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" + +SRC_URI += "file://0001-change-shebang-to-python3.patch" + +SRC_URI[sha256sum] = "08a1c0f99455307c48690f00d5c2ac2c1ccfab04df00454fef854ec145b81302" + +DEPENDS += "${PYTHON_PN}" + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-2to3 \ + ${PYTHON_PN}-compile \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pkg-resources \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-plistlib \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ +" + +do_install_prepend() { + install -d ${D}${PYTHON_SITEPACKAGES_DIR} +} + +BBCLASSEXTEND = "native nativesdk" + +# The pkg-resources module can be used by itself, without the package downloader +# and easy_install. Ship it in a separate package so that it can be used by +# minimal distributions. +PACKAGES =+ "${PYTHON_PN}-pkg-resources " +FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" +RDEPENDS_${PYTHON_PN}-pkg-resources = "\ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-plistlib \ + ${PYTHON_PN}-pprint \ +" diff --git a/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch b/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch index 35b7e0c48..c3d1e06d0 100644 --- a/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch +++ b/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch @@ -23,24 +23,24 @@ Before this patch: Upstream-Status: Submitted [https://github.com/python/cpython/pull/15132] + +Rebased for 3.9.4, still not accepted upstream Signed-off-by: Alejandro Hernandez + Signed-off-by: Mingli Yu --- Lib/test/test_locale.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py -index e2c2178..558d63c 100644 ---- a/Lib/test/test_locale.py -+++ b/Lib/test/test_locale.py -@@ -527,7 +527,7 @@ class TestMiscellaneous(unittest.TestCase): +Index: Python-3.9.4/Lib/test/test_locale.py +=================================================================== +--- Python-3.9.4.orig/Lib/test/test_locale.py ++++ Python-3.9.4/Lib/test/test_locale.py +@@ -562,7 +562,7 @@ class TestMiscellaneous(unittest.TestCas self.skipTest('test needs Turkish locale') loc = locale.getlocale(locale.LC_CTYPE) if verbose: - print('testing with %a' % (loc,), end=' ', flush=True) + print('testing with %a...' % (loc,), end=' ', flush=True) - locale.setlocale(locale.LC_CTYPE, loc) - self.assertEqual(loc, locale.getlocale(locale.LC_CTYPE)) - --- -2.7.4 - + try: + locale.setlocale(locale.LC_CTYPE, loc) + except locale.Error as exc: diff --git a/poky/meta/recipes-devtools/python/python3/create_manifest3.py b/poky/meta/recipes-devtools/python/python3/create_manifest3.py index 4da02a299..045240ea0 100644 --- a/poky/meta/recipes-devtools/python/python3/create_manifest3.py +++ b/poky/meta/recipes-devtools/python/python3/create_manifest3.py @@ -36,7 +36,7 @@ # Tha method to handle cached files does not work when a module includes a folder which # itself contains the pycache folder, gladly this is almost never the case. # -# Author: Alejandro Enedino Hernandez Samaniego "aehs29" +# Author: Alejandro Enedino Hernandez Samaniego import sys @@ -45,6 +45,11 @@ import json import os import collections +if '-d' in sys.argv: + debugFlag = '-d' +else: + debugFlag = '' + # Get python version from ${PYTHON_MAJMIN} pyversion = str(sys.argv[1]) @@ -84,6 +89,12 @@ def prepend_comments(comments, json_manifest): manifest.seek(0, 0) manifest.write(comments + json_contents) +def print_indent(msg, offset): + for l in msg.splitlines(): + msg = ' ' * offset + l + print(msg) + + # Read existing JSON manifest with open('python3-manifest.json') as manifest: # The JSON format doesn't allow comments so we hack the call to keep the comments using a marker @@ -99,7 +110,7 @@ with open('python3-manifest.json') as manifest: # Not exactly the same so it should not be a function # -print ('Getting dependencies for package: core') +print_indent('Getting dependencies for package: core', 0) # This special call gets the core dependencies and @@ -109,7 +120,7 @@ print ('Getting dependencies for package: core') # on the new core package, they will still find them # even when checking the old_manifest -output = subprocess.check_output([sys.executable, 'get_module_deps3.py', 'python-core-package']).decode('utf8') +output = subprocess.check_output([sys.executable, 'get_module_deps3.py', 'python-core-package', '%s' % debugFlag]).decode('utf8') for coredep in output.split(): coredep = coredep.replace(pyversion,'${PYTHON_MAJMIN}') if isCached(coredep): @@ -149,17 +160,16 @@ for filedep in old_manifest['core']['files']: # Get actual module name , shouldnt be affected by libdir/bindir, etc. pymodule = os.path.splitext(os.path.basename(os.path.normpath(filedep)))[0] - # We now know that were dealing with a python module, so we can import it # and check what its dependencies are. # We launch a separate task for each module for deterministic behavior. # Each module will only import what is necessary for it to work in specific. # The output of each task will contain each module's dependencies - print ('Getting dependencies for module: %s' % pymodule) - output = subprocess.check_output([sys.executable, 'get_module_deps3.py', '%s' % pymodule]).decode('utf8') - print ('The following dependencies were found for module %s:\n' % pymodule) - print (output) + print_indent('Getting dependencies for module: %s' % pymodule, 2) + output = subprocess.check_output([sys.executable, 'get_module_deps3.py', '%s' % pymodule, '%s' % debugFlag]).decode('utf8') + print_indent('The following dependencies were found for module %s:\n' % pymodule, 4) + print_indent(output, 6) for pymodule_dep in output.split(): @@ -178,12 +188,13 @@ for filedep in old_manifest['core']['files']: # all others will use this a base. +print('\n\nChecking for directories...\n') # To improve the script speed, we check which packages contain directories # since we will be looping through (only) those later. for pypkg in old_manifest: for filedep in old_manifest[pypkg]['files']: if isFolder(filedep): - print ('%s is a folder' % filedep) + print_indent('%s is a directory' % filedep, 2) if pypkg not in hasfolders: hasfolders.append(pypkg) if filedep not in allfolders: @@ -221,14 +232,14 @@ for pypkg in old_manifest: print('\n') print('--------------------------') - print ('Handling package %s' % pypkg) + print('Handling package %s' % pypkg) print('--------------------------') # Handle special cases, we assume that when they were manually added # to the manifest we knew what we were doing. special_packages = ['misc', 'modules', 'dev', 'tests'] if pypkg in special_packages or 'staticdev' in pypkg: - print('Passing %s package directly' % pypkg) + print_indent('Passing %s package directly' % pypkg, 2) new_manifest[pypkg] = old_manifest[pypkg] continue @@ -259,7 +270,7 @@ for pypkg in old_manifest: # Get actual module name , shouldnt be affected by libdir/bindir, etc. # We need to check if the imported module comes from another (e.g. sqlite3.dump) - path,pymodule = os.path.split(filedep) + path, pymodule = os.path.split(filedep) path = os.path.basename(path) pymodule = os.path.splitext(os.path.basename(pymodule))[0] @@ -279,10 +290,10 @@ for pypkg in old_manifest: # Each module will only import what is necessary for it to work in specific. # The output of each task will contain each module's dependencies - print ('\nGetting dependencies for module: %s' % pymodule) - output = subprocess.check_output([sys.executable, 'get_module_deps3.py', '%s' % pymodule]).decode('utf8') - print ('The following dependencies were found for module %s:\n' % pymodule) - print (output) + print_indent('\nGetting dependencies for module: %s' % pymodule, 2) + output = subprocess.check_output([sys.executable, 'get_module_deps3.py', '%s' % pymodule, '%s' % debugFlag]).decode('utf8') + print_indent('The following dependencies were found for module %s:\n' % pymodule, 4) + print_indent(output, 6) reportFILES = [] reportRDEPS = [] @@ -325,7 +336,7 @@ for pypkg in old_manifest: # print('Checking folder %s on package %s' % (pymodule_dep,pypkg_with_folder)) for folder_dep in old_manifest[pypkg_with_folder]['files'] or folder_dep in old_manifest[pypkg_with_folder]['cached']: if folder_dep == folder: - print ('%s folder found in %s' % (folder, pypkg_with_folder)) + print ('%s directory found in %s' % (folder, pypkg_with_folder)) folderFound = True if pypkg_with_folder not in new_manifest[pypkg]['rdepends'] and pypkg_with_folder != pypkg: new_manifest[pypkg]['rdepends'].append(pypkg_with_folder) @@ -424,7 +435,7 @@ prepend_comments(comments,'python3-manifest.json.new') if (repeated): error_msg = '\n\nERROR:\n' - error_msg += 'The following files are repeated (contained in more than one package),\n' + error_msg += 'The following files were found in more than one package),\n' error_msg += 'this is likely to happen when new files are introduced after an upgrade,\n' error_msg += 'please check which package should get it,\n modify the manifest accordingly and re-run the create_manifest task:\n' error_msg += '\n'.join(repeated) diff --git a/poky/meta/recipes-devtools/python/python3/get_module_deps3.py b/poky/meta/recipes-devtools/python/python3/get_module_deps3.py index 6806f2317..1f4c982ae 100644 --- a/poky/meta/recipes-devtools/python/python3/get_module_deps3.py +++ b/poky/meta/recipes-devtools/python/python3/get_module_deps3.py @@ -3,14 +3,18 @@ # them out, the output of this execution will have all dependencies # for a specific module, which will be parsed an dealt on create_manifest.py # -# Author: Alejandro Enedino Hernandez Samaniego "aehs29" +# Author: Alejandro Enedino Hernandez Samaniego -# We can get a log per module, for all the dependencies that were found, but its messy. -debug=False import sys import os +# We can get a log per module, for all the dependencies that were found, but its messy. +if '-d' in sys.argv: + debug = True +else: + debug = False + # We can get a list of the modules which are currently required to run python # so we run python-core and get its modules, we then import what we need # and check what modules are currently running, if we substract them from the @@ -19,13 +23,13 @@ import os # We use importlib to achieve this, so we also need to know what modules importlib needs import importlib -core_deps=set(sys.modules) +core_deps = set(sys.modules) def fix_path(dep_path): import os # We DONT want the path on our HOST system - pivot='recipe-sysroot-native' - dep_path=dep_path[dep_path.find(pivot)+len(pivot):] + pivot = 'recipe-sysroot-native' + dep_path = dep_path[dep_path.find(pivot)+len(pivot):] if '/usr/bin' in dep_path: dep_path = dep_path.replace('/usr/bin''${bindir}') @@ -46,8 +50,8 @@ def fix_path(dep_path): # Module to import was passed as an argument current_module = str(sys.argv[1]).rstrip() -if(debug==True): - log = open('log_%s' % current_module,'w') +if debug == True: + log = open('temp/log_%s' % current_module.strip('.*'),'w') log.write('Module %s generated the following dependencies:\n' % current_module) try: m = importlib.import_module(current_module) @@ -63,13 +67,13 @@ try: except: pass # ignore all import or other exceptions raised during import except ImportError as e: - if (debug==True): - log.write('Module was not found') + if debug == True: + log.write('Module was not found\n') pass # Get current module dependencies, dif will contain a list of specific deps for this module -module_deps=set(sys.modules) +module_deps = set(sys.modules) # We handle the core package (1st pass on create_manifest.py) as a special case if current_module == 'python-core-package': @@ -81,14 +85,18 @@ else: # Check where each dependency came from for item in dif: - dep_path='' + # Main module returns script filename, __main matches mp_main__ as well + if 'main__' in item: + continue + + dep_path = '' try: - if (debug==True): - log.write('Calling: sys.modules[' + '%s' % item + '].__file__\n') + if debug == True: + log.write('\nCalling: sys.modules[' + '%s' % item + '].__file__\n') dep_path = sys.modules['%s' % item].__file__ except AttributeError as e: # Deals with thread (builtin module) not having __file__ attribute - if debug==True: + if debug == True: log.write(item + ' ') log.write(str(e)) log.write('\n') @@ -96,11 +104,16 @@ for item in dif: except NameError as e: # Deals with NameError: name 'dep_path' is not defined # because module is not found (wasn't compiled?), e.g. bddsm - if (debug==True): + if debug == True: log.write(item+' ') log.write(str(e)) pass + if dep_path == '': + continue + if debug == True: + log.write('Dependency path found:\n%s\n' % dep_path) + # Site-customize is a special case since we (OpenEmbedded) put it there manually if 'sitecustomize' in dep_path: dep_path = '${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py' @@ -111,52 +124,51 @@ for item in dif: dep_path = fix_path(dep_path) import sysconfig - soabi=sysconfig.get_config_var('SOABI') + soabi = sysconfig.get_config_var('SOABI') # Check if its a shared library and deconstruct it if soabi in dep_path: - if (debug==True): - log.write('Shared library found in %s' % dep_path) + if debug == True: + log.write('Shared library found in %s\n' % dep_path) dep_path = dep_path.replace(soabi,'*') print (dep_path) continue if "_sysconfigdata" in dep_path: dep_path = dep_path.replace(sysconfig._get_sysconfigdata_name(), "_sysconfigdata*") - if (debug==True): + if debug == True: log.write(dep_path+'\n') # Prints out result, which is what will be used by create_manifest print (dep_path) - import imp - cpython_tag = imp.get_tag() - cached='' + cpython_tag = sys.implementation.cache_tag + cached = '' # Theres no naive way to find *.pyc files on python3 try: - if (debug==True): - log.write('Calling: sys.modules[' + '%s' % item + '].__cached__\n') + if debug == True: + log.write('\nCalling: sys.modules[' + '%s' % item + '].__cached__\n') cached = sys.modules['%s' % item].__cached__ except AttributeError as e: # Deals with thread (builtin module) not having __cached__ attribute - if debug==True: + if debug == True: log.write(item + ' ') log.write(str(e)) log.write('\n') pass except NameError as e: # Deals with NameError: name 'cached' is not defined - if (debug==True): + if debug == True: log.write(item+' ') log.write(str(e)) pass if cached is not None: - if (debug==True): - log.write(cached) + if debug == True: + log.write(cached + '\n') cached = fix_path(cached) cached = cached.replace(cpython_tag,'*') if "_sysconfigdata" in cached: cached = cached.replace(sysconfig._get_sysconfigdata_name(), "_sysconfigdata*") print (cached) -if debug==True: +if debug == True: log.close() diff --git a/poky/meta/recipes-devtools/python/python3_3.9.2.bb b/poky/meta/recipes-devtools/python/python3_3.9.2.bb deleted file mode 100644 index fd1172335..000000000 --- a/poky/meta/recipes-devtools/python/python3_3.9.2.bb +++ /dev/null @@ -1,384 +0,0 @@ -SUMMARY = "The Python Programming Language" -HOMEPAGE = "http://www.python.org" -DESCRIPTION = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." -LICENSE = "PSFv2" -SECTION = "devel/python" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=c22d2438294c784731bf9dd224a467b7" - -SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ - file://run-ptest \ - file://create_manifest3.py \ - file://get_module_deps3.py \ - file://python3-manifest.json \ - file://check_build_completeness.py \ - file://reformat_sysconfig.py \ - file://cgi_py.patch \ - file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \ - ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \ - file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \ - file://python-config.patch \ - file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \ - file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ - file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ - file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ - file://crosspythonpath.patch \ - file://0001-Use-FLAG_REF-always-for-interned-strings.patch \ - file://0001-test_locale.py-correct-the-test-output-format.patch \ - file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \ - file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ - file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \ - file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \ - file://0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch \ - file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \ - " - -SRC_URI_append_class-native = " \ - file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \ - file://12-distutils-prefix-is-inside-staging-area.patch \ - file://0001-Don-t-search-system-for-headers-libraries.patch \ - " -SRC_URI[sha256sum] = "3c2034c54f811448f516668dce09d24008a0716c3a794dd8639b5388cbde247d" - -# exclude pre-releases for both python 2.x and 3.x -UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P\d+(\.\d+)+).tar" -UPSTREAM_CHECK_URI = "https://www.python.org/downloads/source/" - -CVE_PRODUCT = "python" - -# Upstream consider this expected behaviour -CVE_CHECK_WHITELIST += "CVE-2007-4559" -# This is not exploitable when glibc has CVE-2016-10739 fixed. -CVE_CHECK_WHITELIST += "CVE-2019-18348" - -# This is windows only issue. -CVE_CHECK_WHITELIST += "CVE-2020-15523" - -PYTHON_MAJMIN = "3.9" - -S = "${WORKDIR}/Python-${PV}" - -BBCLASSEXTEND = "native nativesdk" - -inherit autotools pkgconfig qemu ptest multilib_header update-alternatives - -MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" - -ALTERNATIVE_${PN}-dev = "python3-config" -ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config" -ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" - - -DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2" -DEPENDS_append_class-target = " python3-native" -DEPENDS_append_class-nativesdk = " python3-native" - -EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib}" -EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}" - -export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" - -EXTRANATIVEPATH += "python3-native" - -# LTO will be enabled via packageconfig depending upong distro features -LTO_class-target = "" - -CACHED_CONFIGUREVARS = " \ - ac_cv_file__dev_ptmx=yes \ - ac_cv_file__dev_ptc=no \ - ac_cv_working_tzset=yes \ -" - -def possibly_include_pgo(d): - # PGO currently causes builds to not be reproducible, so disable it for - # now. See YOCTO #13407 - if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1': - return 'pgo' - - return '' - -PACKAGECONFIG_class-target ??= "readline ${@possibly_include_pgo(d)} gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" -PACKAGECONFIG_class-native ??= "readline gdbm" -PACKAGECONFIG_class-nativesdk ??= "readline gdbm" -PACKAGECONFIG[readline] = ",,readline" -# Use profile guided optimisation by running PyBench inside qemu-user -PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" -PACKAGECONFIG[tk] = ",,tk" -PACKAGECONFIG[gdbm] = ",,gdbm" -PACKAGECONFIG[lto] = "--with-lto,," - -do_configure_prepend () { - mkdir -p ${B}/Modules - cat > ${B}/Modules/Setup.local << EOF -*disabled* -${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} -${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)} -EOF -} - -CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" - -EXTRA_OEMAKE = '\ - STAGING_LIBDIR=${STAGING_LIBDIR} \ - STAGING_INCDIR=${STAGING_INCDIR} \ - LIB=${baselib} \ -' - -do_compile_prepend_class-target() { - if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then - qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" - cat >pgo-wrapper < ${B}/Modules/Setup.local << EOF +*disabled* +${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} +${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)} +EOF +} + +CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" + +EXTRA_OEMAKE = '\ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + STAGING_INCDIR=${STAGING_INCDIR} \ + LIB=${baselib} \ +' + +do_compile_prepend_class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then + qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" + cat >pgo-wrapper < +Date: Tue, 1 Dec 2020 09:29:56 -0500 +Subject: [PATCH 1/2] memory: clamp cached translation in case it points to an + MMIO region + +In using the address_space_translate_internal API, address_space_cache_init +forgot one piece of advice that can be found in the code for +address_space_translate_internal: + + /* MMIO registers can be expected to perform full-width accesses based only + * on their address, without considering adjacent registers that could + * decode to completely different MemoryRegions. When such registers + * exist (e.g. I/O ports 0xcf8 and 0xcf9 on most PC chipsets), MMIO + * regions overlap wildly. For this reason we cannot clamp the accesses + * here. + * + * If the length is small (as is the case for address_space_ldl/stl), + * everything works fine. If the incoming length is large, however, + * the caller really has to do the clamping through memory_access_size. + */ + +address_space_cache_init is exactly one such case where "the incoming length +is large", therefore we need to clamp the resulting length---not to +memory_access_size though, since we are not doing an access yet, but to +the size of the resulting section. This ensures that subsequent accesses +to the cached MemoryRegionSection will be in range. + +With this patch, the enclosed testcase notices that the used ring does +not fit into the MSI-X table and prints a "qemu-system-x86_64: Cannot map used" +error. + +Signed-off-by: Paolo Bonzini + +Upstream-Status: Backport [4bfb024bc76973d40a359476dc0291f46e435442] +CVE: CVE-2020-27821 + +Signed-off-by: Sakib Sajal +--- + softmmu/physmem.c | 10 ++++++++ + tests/qtest/fuzz-test.c | 51 +++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 61 insertions(+) + +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index 3027747c0..2cd1de4a2 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -3255,6 +3255,7 @@ int64_t address_space_cache_init(MemoryRegionCache *cache, + AddressSpaceDispatch *d; + hwaddr l; + MemoryRegion *mr; ++ Int128 diff; + + assert(len > 0); + +@@ -3263,6 +3264,15 @@ int64_t address_space_cache_init(MemoryRegionCache *cache, + d = flatview_to_dispatch(cache->fv); + cache->mrs = *address_space_translate_internal(d, addr, &cache->xlat, &l, true); + ++ /* ++ * cache->xlat is now relative to cache->mrs.mr, not to the section itself. ++ * Take that into account to compute how many bytes are there between ++ * cache->xlat and the end of the section. ++ */ ++ diff = int128_sub(cache->mrs.size, ++ int128_make64(cache->xlat - cache->mrs.offset_within_region)); ++ l = int128_get64(int128_min(diff, int128_make64(l))); ++ + mr = cache->mrs.mr; + memory_region_ref(mr); + if (memory_access_is_direct(mr, is_write)) { +diff --git a/tests/qtest/fuzz-test.c b/tests/qtest/fuzz-test.c +index 9cb4c42bd..28739248e 100644 +--- a/tests/qtest/fuzz-test.c ++++ b/tests/qtest/fuzz-test.c +@@ -47,6 +47,55 @@ static void test_lp1878642_pci_bus_get_irq_level_assert(void) + qtest_outl(s, 0x5d02, 0xebed205d); + } + ++/* ++ * Here a MemoryRegionCache pointed to an MMIO region but had a ++ * larger size than the underlying region. ++ */ ++static void test_mmio_oob_from_memory_region_cache(void) ++{ ++ QTestState *s; ++ ++ s = qtest_init("-M pc-q35-5.2 -display none -m 512M " ++ "-device virtio-scsi,num_queues=8,addr=03.0 "); ++ ++ qtest_outl(s, 0xcf8, 0x80001811); ++ qtest_outb(s, 0xcfc, 0x6e); ++ qtest_outl(s, 0xcf8, 0x80001824); ++ qtest_outl(s, 0xcf8, 0x80001813); ++ qtest_outl(s, 0xcfc, 0xa080000); ++ qtest_outl(s, 0xcf8, 0x80001802); ++ qtest_outl(s, 0xcfc, 0x5a175a63); ++ qtest_outb(s, 0x6e08, 0x9e); ++ qtest_writeb(s, 0x9f003, 0xff); ++ qtest_writeb(s, 0x9f004, 0x01); ++ qtest_writeb(s, 0x9e012, 0x0e); ++ qtest_writeb(s, 0x9e01b, 0x0e); ++ qtest_writeb(s, 0x9f006, 0x01); ++ qtest_writeb(s, 0x9f008, 0x01); ++ qtest_writeb(s, 0x9f00a, 0x01); ++ qtest_writeb(s, 0x9f00c, 0x01); ++ qtest_writeb(s, 0x9f00e, 0x01); ++ qtest_writeb(s, 0x9f010, 0x01); ++ qtest_writeb(s, 0x9f012, 0x01); ++ qtest_writeb(s, 0x9f014, 0x01); ++ qtest_writeb(s, 0x9f016, 0x01); ++ qtest_writeb(s, 0x9f018, 0x01); ++ qtest_writeb(s, 0x9f01a, 0x01); ++ qtest_writeb(s, 0x9f01c, 0x01); ++ qtest_writeb(s, 0x9f01e, 0x01); ++ qtest_writeb(s, 0x9f020, 0x01); ++ qtest_writeb(s, 0x9f022, 0x01); ++ qtest_writeb(s, 0x9f024, 0x01); ++ qtest_writeb(s, 0x9f026, 0x01); ++ qtest_writeb(s, 0x9f028, 0x01); ++ qtest_writeb(s, 0x9f02a, 0x01); ++ qtest_writeb(s, 0x9f02c, 0x01); ++ qtest_writeb(s, 0x9f02e, 0x01); ++ qtest_writeb(s, 0x9f030, 0x01); ++ qtest_outb(s, 0x6e10, 0x00); ++ qtest_quit(s); ++} ++ + int main(int argc, char **argv) + { + const char *arch = qtest_get_arch(); +@@ -58,6 +107,8 @@ int main(int argc, char **argv) + test_lp1878263_megasas_zero_iov_cnt); + qtest_add_func("fuzz/test_lp1878642_pci_bus_get_irq_level_assert", + test_lp1878642_pci_bus_get_irq_level_assert); ++ qtest_add_func("fuzz/test_mmio_oob_from_memory_region_cache", ++ test_mmio_oob_from_memory_region_cache); + } + + return g_test_run(); +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch new file mode 100644 index 000000000..c72324fce --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch @@ -0,0 +1,107 @@ +From c9a71afe182be5b62bd2ccdaf861695e0ec0731a Mon Sep 17 00:00:00 2001 +From: Prasad J Pandit +Date: Mon, 18 Jan 2021 17:21:30 +0530 +Subject: [PATCH] ide: atapi: check logical block address and read size + (CVE-2020-29443) + +While processing ATAPI cmd_read/cmd_read_cd commands, +Logical Block Address (LBA) maybe invalid OR closer to the last block, +leading to an OOB access issues. Add range check to avoid it. + +Fixes: CVE-2020-29443 +Reported-by: Wenxiang Qian +Suggested-by: Paolo Bonzini +Reviewed-by: Paolo Bonzini +Signed-off-by: Prasad J Pandit +Message-Id: <20210118115130.457044-1-ppandit@redhat.com> +Signed-off-by: Paolo Bonzini + +Upstream-Status: Backport [b8d7f1bc59276fec85e4d09f1567613a3e14d31e] +CVE: CVE-2020-29443 + +Signed-off-by: Sakib Sajal +--- + hw/ide/atapi.c | 30 ++++++++++++++++++++++++------ + 1 file changed, 24 insertions(+), 6 deletions(-) + +diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c +index e79157863..b626199e3 100644 +--- a/hw/ide/atapi.c ++++ b/hw/ide/atapi.c +@@ -322,6 +322,8 @@ static void ide_atapi_cmd_reply(IDEState *s, int size, int max_size) + static void ide_atapi_cmd_read_pio(IDEState *s, int lba, int nb_sectors, + int sector_size) + { ++ assert(0 <= lba && lba < (s->nb_sectors >> 2)); ++ + s->lba = lba; + s->packet_transfer_size = nb_sectors * sector_size; + s->elementary_transfer_size = 0; +@@ -420,6 +422,8 @@ eot: + static void ide_atapi_cmd_read_dma(IDEState *s, int lba, int nb_sectors, + int sector_size) + { ++ assert(0 <= lba && lba < (s->nb_sectors >> 2)); ++ + s->lba = lba; + s->packet_transfer_size = nb_sectors * sector_size; + s->io_buffer_size = 0; +@@ -973,35 +977,49 @@ static void cmd_prevent_allow_medium_removal(IDEState *s, uint8_t* buf) + + static void cmd_read(IDEState *s, uint8_t* buf) + { +- int nb_sectors, lba; ++ unsigned int nb_sectors, lba; ++ ++ /* Total logical sectors of ATAPI_SECTOR_SIZE(=2048) bytes */ ++ uint64_t total_sectors = s->nb_sectors >> 2; + + if (buf[0] == GPCMD_READ_10) { + nb_sectors = lduw_be_p(buf + 7); + } else { + nb_sectors = ldl_be_p(buf + 6); + } +- +- lba = ldl_be_p(buf + 2); + if (nb_sectors == 0) { + ide_atapi_cmd_ok(s); + return; + } + ++ lba = ldl_be_p(buf + 2); ++ if (lba >= total_sectors || lba + nb_sectors - 1 >= total_sectors) { ++ ide_atapi_cmd_error(s, ILLEGAL_REQUEST, ASC_LOGICAL_BLOCK_OOR); ++ return; ++ } ++ + ide_atapi_cmd_read(s, lba, nb_sectors, 2048); + } + + static void cmd_read_cd(IDEState *s, uint8_t* buf) + { +- int nb_sectors, lba, transfer_request; ++ unsigned int nb_sectors, lba, transfer_request; + +- nb_sectors = (buf[6] << 16) | (buf[7] << 8) | buf[8]; +- lba = ldl_be_p(buf + 2); ++ /* Total logical sectors of ATAPI_SECTOR_SIZE(=2048) bytes */ ++ uint64_t total_sectors = s->nb_sectors >> 2; + ++ nb_sectors = (buf[6] << 16) | (buf[7] << 8) | buf[8]; + if (nb_sectors == 0) { + ide_atapi_cmd_ok(s); + return; + } + ++ lba = ldl_be_p(buf + 2); ++ if (lba >= total_sectors || lba + nb_sectors - 1 >= total_sectors) { ++ ide_atapi_cmd_error(s, ILLEGAL_REQUEST, ASC_LOGICAL_BLOCK_OOR); ++ return; ++ } ++ + transfer_request = buf[9] & 0xf8; + if (transfer_request == 0x00) { + /* nothing */ +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch new file mode 100644 index 000000000..73a4cb206 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch @@ -0,0 +1,153 @@ +From 8afaaee976965b7fb90ec225a51d60f35c5f173c Mon Sep 17 00:00:00 2001 +From: Stefan Hajnoczi +Date: Thu, 4 Feb 2021 15:02:06 +0000 +Subject: [PATCH] virtiofsd: extract lo_do_open() from lo_open() + +Both lo_open() and lo_create() have similar code to open a file. Extract +a common lo_do_open() function from lo_open() that will be used by +lo_create() in a later commit. + +Since lo_do_open() does not otherwise need fuse_req_t req, convert +lo_add_fd_mapping() to use struct lo_data *lo instead. + +Signed-off-by: Stefan Hajnoczi +Message-Id: <20210204150208.367837-2-stefanha@redhat.com> +Reviewed-by: Greg Kurz +Signed-off-by: Dr. David Alan Gilbert + +Upstream-Status: Backport +[https://github.com/qemu/qemu/commit/8afaaee976965b7fb90ec225a51d60f35c5f173c] + +CVE: CVE-2020-35517 + +Signed-off-by: Dr. David Alan Gilbert +Signed-off-by: Khairul Rohaizzat Jamaluddin +--- + tools/virtiofsd/passthrough_ll.c | 73 +++++++++++++++++++++++++--------------- + 1 file changed, 46 insertions(+), 27 deletions(-) + +diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c +index 5fb36d9..f14fa51 100644 +--- a/tools/virtiofsd/passthrough_ll.c ++++ b/tools/virtiofsd/passthrough_ll.c +@@ -459,17 +459,17 @@ static void lo_map_remove(struct lo_map *map, size_t key) + } + + /* Assumes lo->mutex is held */ +-static ssize_t lo_add_fd_mapping(fuse_req_t req, int fd) ++static ssize_t lo_add_fd_mapping(struct lo_data *lo, int fd) + { + struct lo_map_elem *elem; + +- elem = lo_map_alloc_elem(&lo_data(req)->fd_map); ++ elem = lo_map_alloc_elem(&lo->fd_map); + if (!elem) { + return -1; + } + + elem->fd = fd; +- return elem - lo_data(req)->fd_map.elems; ++ return elem - lo->fd_map.elems; + } + + /* Assumes lo->mutex is held */ +@@ -1651,6 +1651,38 @@ static void update_open_flags(int writeback, int allow_direct_io, + } + } + ++static int lo_do_open(struct lo_data *lo, struct lo_inode *inode, ++ struct fuse_file_info *fi) ++{ ++ char buf[64]; ++ ssize_t fh; ++ int fd; ++ ++ update_open_flags(lo->writeback, lo->allow_direct_io, fi); ++ ++ sprintf(buf, "%i", inode->fd); ++ fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW); ++ if (fd == -1) { ++ return errno; ++ } ++ ++ pthread_mutex_lock(&lo->mutex); ++ fh = lo_add_fd_mapping(lo, fd); ++ pthread_mutex_unlock(&lo->mutex); ++ if (fh == -1) { ++ close(fd); ++ return ENOMEM; ++ } ++ ++ fi->fh = fh; ++ if (lo->cache == CACHE_NONE) { ++ fi->direct_io = 1; ++ } else if (lo->cache == CACHE_ALWAYS) { ++ fi->keep_cache = 1; ++ } ++ return 0; ++} ++ + static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, + mode_t mode, struct fuse_file_info *fi) + { +@@ -1691,7 +1723,7 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, + ssize_t fh; + + pthread_mutex_lock(&lo->mutex); +- fh = lo_add_fd_mapping(req, fd); ++ fh = lo_add_fd_mapping(lo, fd); + pthread_mutex_unlock(&lo->mutex); + if (fh == -1) { + close(fd); +@@ -1892,38 +1924,25 @@ static void lo_fsyncdir(fuse_req_t req, fuse_ino_t ino, int datasync, + + static void lo_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) + { +- int fd; +- ssize_t fh; +- char buf[64]; + struct lo_data *lo = lo_data(req); ++ struct lo_inode *inode = lo_inode(req, ino); ++ int err; + + fuse_log(FUSE_LOG_DEBUG, "lo_open(ino=%" PRIu64 ", flags=%d)\n", ino, + fi->flags); + +- update_open_flags(lo->writeback, lo->allow_direct_io, fi); +- +- sprintf(buf, "%i", lo_fd(req, ino)); +- fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW); +- if (fd == -1) { +- return (void)fuse_reply_err(req, errno); +- } +- +- pthread_mutex_lock(&lo->mutex); +- fh = lo_add_fd_mapping(req, fd); +- pthread_mutex_unlock(&lo->mutex); +- if (fh == -1) { +- close(fd); +- fuse_reply_err(req, ENOMEM); ++ if (!inode) { ++ fuse_reply_err(req, EBADF); + return; + } + +- fi->fh = fh; +- if (lo->cache == CACHE_NONE) { +- fi->direct_io = 1; +- } else if (lo->cache == CACHE_ALWAYS) { +- fi->keep_cache = 1; ++ err = lo_do_open(lo, inode, fi); ++ lo_inode_put(lo, &inode); ++ if (err) { ++ fuse_reply_err(req, err); ++ } else { ++ fuse_reply_open(req, fi); + } +- fuse_reply_open(req, fi); + } + + static void lo_release(fuse_req_t req, fuse_ino_t ino, +-- +1.8.3.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch new file mode 100644 index 000000000..bf11bdb6f --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch @@ -0,0 +1,117 @@ +From 22d2ece71e533310da31f2857ebc4a00d91968b3 Mon Sep 17 00:00:00 2001 +From: Stefan Hajnoczi +Date: Thu, 4 Feb 2021 15:02:07 +0000 +Subject: [PATCH] virtiofsd: optionally return inode pointer from + lo_do_lookup() + +lo_do_lookup() finds an existing inode or allocates a new one. It +increments nlookup so that the inode stays alive until the client +releases it. + +Existing callers don't need the struct lo_inode so the function doesn't +return it. Extend the function to optionally return the inode. The next +commit will need it. + +Signed-off-by: Stefan Hajnoczi +Reviewed-by: Greg Kurz +Message-Id: <20210204150208.367837-3-stefanha@redhat.com> +Signed-off-by: Dr. David Alan Gilbert + +Upstream-Status: Backport +[https://github.com/qemu/qemu/commit/22d2ece71e533310da31f2857ebc4a00d91968b3] + +CVE: CVE-2020-35517 + +Signed-off-by: Dr. David Alan Gilbert +Signed-off-by: Khairul Rohaizzat Jamaluddin +--- + tools/virtiofsd/passthrough_ll.c | 29 +++++++++++++++++++++-------- + 1 file changed, 21 insertions(+), 8 deletions(-) + +diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c +index f14fa51..aa35fc6 100644 +--- a/tools/virtiofsd/passthrough_ll.c ++++ b/tools/virtiofsd/passthrough_ll.c +@@ -831,11 +831,13 @@ static int do_statx(struct lo_data *lo, int dirfd, const char *pathname, + } + + /* +- * Increments nlookup and caller must release refcount using +- * lo_inode_put(&parent). ++ * Increments nlookup on the inode on success. unref_inode_lolocked() must be ++ * called eventually to decrement nlookup again. If inodep is non-NULL, the ++ * inode pointer is stored and the caller must call lo_inode_put(). + */ + static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name, +- struct fuse_entry_param *e) ++ struct fuse_entry_param *e, ++ struct lo_inode **inodep) + { + int newfd; + int res; +@@ -845,6 +847,10 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name, + struct lo_inode *inode = NULL; + struct lo_inode *dir = lo_inode(req, parent); + ++ if (inodep) { ++ *inodep = NULL; ++ } ++ + /* + * name_to_handle_at() and open_by_handle_at() can reach here with fuse + * mount point in guest, but we don't have its inode info in the +@@ -913,7 +919,14 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name, + pthread_mutex_unlock(&lo->mutex); + } + e->ino = inode->fuse_ino; +- lo_inode_put(lo, &inode); ++ ++ /* Transfer ownership of inode pointer to caller or drop it */ ++ if (inodep) { ++ *inodep = inode; ++ } else { ++ lo_inode_put(lo, &inode); ++ } ++ + lo_inode_put(lo, &dir); + + fuse_log(FUSE_LOG_DEBUG, " %lli/%s -> %lli\n", (unsigned long long)parent, +@@ -948,7 +961,7 @@ static void lo_lookup(fuse_req_t req, fuse_ino_t parent, const char *name) + return; + } + +- err = lo_do_lookup(req, parent, name, &e); ++ err = lo_do_lookup(req, parent, name, &e, NULL); + if (err) { + fuse_reply_err(req, err); + } else { +@@ -1056,7 +1069,7 @@ static void lo_mknod_symlink(fuse_req_t req, fuse_ino_t parent, + goto out; + } + +- saverr = lo_do_lookup(req, parent, name, &e); ++ saverr = lo_do_lookup(req, parent, name, &e, NULL); + if (saverr) { + goto out; + } +@@ -1534,7 +1547,7 @@ static void lo_do_readdir(fuse_req_t req, fuse_ino_t ino, size_t size, + + if (plus) { + if (!is_dot_or_dotdot(name)) { +- err = lo_do_lookup(req, ino, name, &e); ++ err = lo_do_lookup(req, ino, name, &e, NULL); + if (err) { + goto error; + } +@@ -1732,7 +1745,7 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, + } + + fi->fh = fh; +- err = lo_do_lookup(req, parent, name, &e); ++ err = lo_do_lookup(req, parent, name, &e, NULL); + } + if (lo->cache == CACHE_NONE) { + fi->direct_io = 1; +-- +1.8.3.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch new file mode 100644 index 000000000..f348f3f2b --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch @@ -0,0 +1,303 @@ +From a3fdbbc7f271bff7d53d0501b29d910ece0b3789 Mon Sep 17 00:00:00 2001 +From: Stefan Hajnoczi +Date: Thu, 4 Feb 2021 15:02:08 +0000 +Subject: [PATCH] virtiofsd: prevent opening of special files (CVE-2020-35517) + +A well-behaved FUSE client does not attempt to open special files with +FUSE_OPEN because they are handled on the client side (e.g. device nodes +are handled by client-side device drivers). + +The check to prevent virtiofsd from opening special files is missing in +a few cases, most notably FUSE_OPEN. A malicious client can cause +virtiofsd to open a device node, potentially allowing the guest to +escape. This can be exploited by a modified guest device driver. It is +not exploitable from guest userspace since the guest kernel will handle +special files inside the guest instead of sending FUSE requests. + +This patch fixes this issue by introducing the lo_inode_open() function +to check the file type before opening it. This is a short-term solution +because it does not prevent a compromised virtiofsd process from opening +device nodes on the host. + +Restructure lo_create() to try O_CREAT | O_EXCL first. Note that O_CREAT +| O_EXCL does not follow symlinks, so O_NOFOLLOW masking is not +necessary here. If the file exists and the user did not specify O_EXCL, +open it via lo_do_open(). + +Reported-by: Alex Xu +Fixes: CVE-2020-35517 +Reviewed-by: Dr. David Alan Gilbert +Reviewed-by: Vivek Goyal +Reviewed-by: Greg Kurz +Signed-off-by: Stefan Hajnoczi +Message-Id: <20210204150208.367837-4-stefanha@redhat.com> +Signed-off-by: Dr. David Alan Gilbert + +Upstream-Status: Backport +[https://github.com/qemu/qemu/commit/a3fdbbc7f271bff7d53d0501b29d910ece0b3789] + +CVE: CVE-2020-35517 + +Signed-off-by: Dr. David Alan Gilbert +Signed-off-by: Khairul Rohaizzat Jamaluddin +--- + tools/virtiofsd/passthrough_ll.c | 144 ++++++++++++++++++++----------- + 1 file changed, 92 insertions(+), 52 deletions(-) + +diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c +index aa35fc6ba5a5..147b59338a18 100644 +--- a/tools/virtiofsd/passthrough_ll.c ++++ b/tools/virtiofsd/passthrough_ll.c +@@ -555,6 +555,38 @@ static int lo_fd(fuse_req_t req, fuse_ino_t ino) + return fd; + } + ++/* ++ * Open a file descriptor for an inode. Returns -EBADF if the inode is not a ++ * regular file or a directory. ++ * ++ * Use this helper function instead of raw openat(2) to prevent security issues ++ * when a malicious client opens special files such as block device nodes. ++ * Symlink inodes are also rejected since symlinks must already have been ++ * traversed on the client side. ++ */ ++static int lo_inode_open(struct lo_data *lo, struct lo_inode *inode, ++ int open_flags) ++{ ++ g_autofree char *fd_str = g_strdup_printf("%d", inode->fd); ++ int fd; ++ ++ if (!S_ISREG(inode->filetype) && !S_ISDIR(inode->filetype)) { ++ return -EBADF; ++ } ++ ++ /* ++ * The file is a symlink so O_NOFOLLOW must be ignored. We checked earlier ++ * that the inode is not a special file but if an external process races ++ * with us then symlinks are traversed here. It is not possible to escape ++ * the shared directory since it is mounted as "/" though. ++ */ ++ fd = openat(lo->proc_self_fd, fd_str, open_flags & ~O_NOFOLLOW); ++ if (fd < 0) { ++ return -errno; ++ } ++ return fd; ++} ++ + static void lo_init(void *userdata, struct fuse_conn_info *conn) + { + struct lo_data *lo = (struct lo_data *)userdata; +@@ -684,9 +716,9 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr, + if (fi) { + truncfd = fd; + } else { +- sprintf(procname, "%i", ifd); +- truncfd = openat(lo->proc_self_fd, procname, O_RDWR); ++ truncfd = lo_inode_open(lo, inode, O_RDWR); + if (truncfd < 0) { ++ errno = -truncfd; + goto out_err; + } + } +@@ -848,7 +880,7 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name, + struct lo_inode *dir = lo_inode(req, parent); + + if (inodep) { +- *inodep = NULL; ++ *inodep = NULL; /* in case there is an error */ + } + + /* +@@ -1664,19 +1696,26 @@ static void update_open_flags(int writeback, int allow_direct_io, + } + } + ++/* ++ * Open a regular file, set up an fd mapping, and fill out the struct ++ * fuse_file_info for it. If existing_fd is not negative, use that fd instead ++ * opening a new one. Takes ownership of existing_fd. ++ * ++ * Returns 0 on success or a positive errno. ++ */ + static int lo_do_open(struct lo_data *lo, struct lo_inode *inode, +- struct fuse_file_info *fi) ++ int existing_fd, struct fuse_file_info *fi) + { +- char buf[64]; + ssize_t fh; +- int fd; ++ int fd = existing_fd; + + update_open_flags(lo->writeback, lo->allow_direct_io, fi); + +- sprintf(buf, "%i", inode->fd); +- fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW); +- if (fd == -1) { +- return errno; ++ if (fd < 0) { ++ fd = lo_inode_open(lo, inode, fi->flags); ++ if (fd < 0) { ++ return -fd; ++ } + } + + pthread_mutex_lock(&lo->mutex); +@@ -1699,9 +1738,10 @@ static int lo_do_open(struct lo_data *lo, struct lo_inode *inode, + static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, + mode_t mode, struct fuse_file_info *fi) + { +- int fd; ++ int fd = -1; + struct lo_data *lo = lo_data(req); + struct lo_inode *parent_inode; ++ struct lo_inode *inode = NULL; + struct fuse_entry_param e; + int err; + struct lo_cred old = {}; +@@ -1727,36 +1767,38 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, + + update_open_flags(lo->writeback, lo->allow_direct_io, fi); + +- fd = openat(parent_inode->fd, name, (fi->flags | O_CREAT) & ~O_NOFOLLOW, +- mode); ++ /* Try to create a new file but don't open existing files */ ++ fd = openat(parent_inode->fd, name, fi->flags | O_CREAT | O_EXCL, mode); + err = fd == -1 ? errno : 0; +- lo_restore_cred(&old); + +- if (!err) { +- ssize_t fh; ++ lo_restore_cred(&old); + +- pthread_mutex_lock(&lo->mutex); +- fh = lo_add_fd_mapping(lo, fd); +- pthread_mutex_unlock(&lo->mutex); +- if (fh == -1) { +- close(fd); +- err = ENOMEM; +- goto out; +- } ++ /* Ignore the error if file exists and O_EXCL was not given */ ++ if (err && (err != EEXIST || (fi->flags & O_EXCL))) { ++ goto out; ++ } + +- fi->fh = fh; +- err = lo_do_lookup(req, parent, name, &e, NULL); ++ err = lo_do_lookup(req, parent, name, &e, &inode); ++ if (err) { ++ goto out; + } +- if (lo->cache == CACHE_NONE) { +- fi->direct_io = 1; +- } else if (lo->cache == CACHE_ALWAYS) { +- fi->keep_cache = 1; ++ ++ err = lo_do_open(lo, inode, fd, fi); ++ fd = -1; /* lo_do_open() takes ownership of fd */ ++ if (err) { ++ /* Undo lo_do_lookup() nlookup ref */ ++ unref_inode_lolocked(lo, inode, 1); + } + + out: ++ lo_inode_put(lo, &inode); + lo_inode_put(lo, &parent_inode); + + if (err) { ++ if (fd >= 0) { ++ close(fd); ++ } ++ + fuse_reply_err(req, err); + } else { + fuse_reply_create(req, &e, fi); +@@ -1770,7 +1812,6 @@ static struct lo_inode_plock *lookup_create_plock_ctx(struct lo_data *lo, + pid_t pid, int *err) + { + struct lo_inode_plock *plock; +- char procname[64]; + int fd; + + plock = +@@ -1787,12 +1828,10 @@ static struct lo_inode_plock *lookup_create_plock_ctx(struct lo_data *lo, + } + + /* Open another instance of file which can be used for ofd locks. */ +- sprintf(procname, "%i", inode->fd); +- + /* TODO: What if file is not writable? */ +- fd = openat(lo->proc_self_fd, procname, O_RDWR); +- if (fd == -1) { +- *err = errno; ++ fd = lo_inode_open(lo, inode, O_RDWR); ++ if (fd < 0) { ++ *err = -fd; + free(plock); + return NULL; + } +@@ -1949,7 +1988,7 @@ static void lo_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) + return; + } + +- err = lo_do_open(lo, inode, fi); ++ err = lo_do_open(lo, inode, -1, fi); + lo_inode_put(lo, &inode); + if (err) { + fuse_reply_err(req, err); +@@ -2014,39 +2053,40 @@ static void lo_flush(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) + static void lo_fsync(fuse_req_t req, fuse_ino_t ino, int datasync, + struct fuse_file_info *fi) + { ++ struct lo_inode *inode = lo_inode(req, ino); ++ struct lo_data *lo = lo_data(req); + int res; + int fd; +- char *buf; + + fuse_log(FUSE_LOG_DEBUG, "lo_fsync(ino=%" PRIu64 ", fi=0x%p)\n", ino, + (void *)fi); + +- if (!fi) { +- struct lo_data *lo = lo_data(req); +- +- res = asprintf(&buf, "%i", lo_fd(req, ino)); +- if (res == -1) { +- return (void)fuse_reply_err(req, errno); +- } ++ if (!inode) { ++ fuse_reply_err(req, EBADF); ++ return; ++ } + +- fd = openat(lo->proc_self_fd, buf, O_RDWR); +- free(buf); +- if (fd == -1) { +- return (void)fuse_reply_err(req, errno); ++ if (!fi) { ++ fd = lo_inode_open(lo, inode, O_RDWR); ++ if (fd < 0) { ++ res = -fd; ++ goto out; + } + } else { + fd = lo_fi_fd(req, fi); + } + + if (datasync) { +- res = fdatasync(fd); ++ res = fdatasync(fd) == -1 ? errno : 0; + } else { +- res = fsync(fd); ++ res = fsync(fd) == -1 ? errno : 0; + } + if (!fi) { + close(fd); + } +- fuse_reply_err(req, res == -1 ? errno : 0); ++out: ++ lo_inode_put(lo, &inode); ++ fuse_reply_err(req, res); + } + + static void lo_read(fuse_req_t req, fuse_ino_t ino, size_t size, off_t offset, diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch new file mode 100644 index 000000000..1b8c77f83 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch @@ -0,0 +1,81 @@ +From c2d2d14e8deece958bbc4fc649d22c3564bc4e7e Mon Sep 17 00:00:00 2001 +From: Greg Kurz +Date: Thu, 14 Jan 2021 17:04:12 +0100 +Subject: [PATCH] 9pfs: Fully restart unreclaim loop (CVE-2021-20181) + +Depending on the client activity, the server can be asked to open a huge +number of file descriptors and eventually hit RLIMIT_NOFILE. This is +currently mitigated using a reclaim logic : the server closes the file +descriptors of idle fids, based on the assumption that it will be able +to re-open them later. This assumption doesn't hold of course if the +client requests the file to be unlinked. In this case, we loop on the +entire fid list and mark all related fids as unreclaimable (the reclaim +logic will just ignore them) and, of course, we open or re-open their +file descriptors if needed since we're about to unlink the file. + +This is the purpose of v9fs_mark_fids_unreclaim(). Since the actual +opening of a file can cause the coroutine to yield, another client +request could possibly add a new fid that we may want to mark as +non-reclaimable as well. The loop is thus restarted if the re-open +request was actually transmitted to the backend. This is achieved +by keeping a reference on the first fid (head) before traversing +the list. + +This is wrong in several ways: +- a potential clunk request from the client could tear the first + fid down and cause the reference to be stale. This leads to a + use-after-free error that can be detected with ASAN, using a + custom 9p client +- fids are added at the head of the list : restarting from the + previous head will always miss fids added by a some other + potential request + +All these problems could be avoided if fids were being added at the +end of the list. This can be achieved with a QSIMPLEQ, but this is +probably too much change for a bug fix. For now let's keep it +simple and just restart the loop from the current head. + +Fixes: CVE-2021-20181 +Buglink: https://bugs.launchpad.net/qemu/+bug/1911666 +Reported-by: Zero Day Initiative +Reviewed-by: Christian Schoenebeck +Reviewed-by: Stefano Stabellini +Message-Id: <161064025265.1838153.15185571283519390907.stgit@bahia.lan> +Signed-off-by: Greg Kurz + +Upstream-Status: Backport [89fbea8737e8f7b954745a1ffc4238d377055305] +CVE: CVE-2021-20181 + +Signed-off-by: Sakib Sajal +--- + hw/9pfs/9p.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c +index 94df440fc..6026b51a1 100644 +--- a/hw/9pfs/9p.c ++++ b/hw/9pfs/9p.c +@@ -502,9 +502,9 @@ static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path) + { + int err; + V9fsState *s = pdu->s; +- V9fsFidState *fidp, head_fid; ++ V9fsFidState *fidp; + +- head_fid.next = s->fid_list; ++again: + for (fidp = s->fid_list; fidp; fidp = fidp->next) { + if (fidp->path.size != path->size) { + continue; +@@ -524,7 +524,7 @@ static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path) + * switched to the worker thread + */ + if (err == 0) { +- fidp = &head_fid; ++ goto again; + } + } + } +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch new file mode 100644 index 000000000..d762a51d0 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch @@ -0,0 +1,70 @@ +From e428bcfb86fb46d9773ae11e69712052dcff3d45 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= +Date: Sun, 31 Jan 2021 11:34:01 +0100 +Subject: [PATCH] hw/intc/arm_gic: Fix interrupt ID in GICD_SGIR register +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Per the ARM Generic Interrupt Controller Architecture specification +(document "ARM IHI 0048B.b (ID072613)"), the SGIINTID field is 4 bit, +not 10: + + - 4.3 Distributor register descriptions + - 4.3.15 Software Generated Interrupt Register, GICD_SG + + - Table 4-21 GICD_SGIR bit assignments + + The Interrupt ID of the SGI to forward to the specified CPU + interfaces. The value of this field is the Interrupt ID, in + the range 0-15, for example a value of 0b0011 specifies + Interrupt ID 3. + +Correct the irq mask to fix an undefined behavior (which eventually +lead to a heap-buffer-overflow, see [Buglink]): + + $ echo 'writel 0x8000f00 0xff4affb0' | qemu-system-aarch64 -M virt,accel=qtest -qtest stdio + [I 1612088147.116987] OPENED + [R +0.278293] writel 0x8000f00 0xff4affb0 + ../hw/intc/arm_gic.c:1498:13: runtime error: index 944 out of bounds for type 'uint8_t [16][8]' + SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../hw/intc/arm_gic.c:1498:13 + +This fixes a security issue when running with KVM on Arm with +kernel-irqchip=off. (The default is kernel-irqchip=on, which is +unaffected, and which is also the correct choice for performance.) + +Cc: qemu-stable@nongnu.org +Fixes: CVE-2021-20221 +Fixes: 9ee6e8bb853 ("ARMv7 support.") +Buglink: https://bugs.launchpad.net/qemu/+bug/1913916 +Buglink: https://bugs.launchpad.net/qemu/+bug/1913917 +Reported-by: Alexander Bulekov +Signed-off-by: Philippe Mathieu-Daudé +Message-id: 20210131103401.217160-1-f4bug@amsat.org +Reviewed-by: Peter Maydell +Signed-off-by: Peter Maydell + +Upstream-Status: Backport [edfe2eb4360cde4ed5d95bda7777edcb3510f76a] +CVE: CVE-2021-20221 + +Signed-off-by: Sakib Sajal +--- + hw/intc/arm_gic.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/intc/arm_gic.c b/hw/intc/arm_gic.c +index c60dc6b5e..fbde60de0 100644 +--- a/hw/intc/arm_gic.c ++++ b/hw/intc/arm_gic.c +@@ -1474,7 +1474,7 @@ static void gic_dist_writel(void *opaque, hwaddr offset, + int target_cpu; + + cpu = gic_get_current_cpu(s); +- irq = value & 0x3ff; ++ irq = value & 0xf; + switch ((value >> 24) & 3) { + case 0: + mask = (value >> 16) & ALL_CPU_MASK; +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch new file mode 100644 index 000000000..7175b24e9 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch @@ -0,0 +1,55 @@ +From affdf476543405045c281a7c67d1eaedbcea8135 Mon Sep 17 00:00:00 2001 +From: Jason Wang +Date: Wed, 24 Feb 2021 13:45:28 +0800 +Subject: [PATCH] e1000: fail early for evil descriptor + +During procss_tx_desc(), driver can try to chain data descriptor with +legacy descriptor, when will lead underflow for the following +calculation in process_tx_desc() for bytes: + + if (tp->size + bytes > msh) + bytes = msh - tp->size; + +This will lead a infinite loop. So check and fail early if tp->size if +greater or equal to msh. + +Reported-by: Alexander Bulekov +Reported-by: Cheolwoo Myung +Reported-by: Ruhr-University Bochum +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Signed-off-by: Jason Wang + +Upstream-Status: Backport [3de46e6fc489c52c9431a8a832ad8170a7569bd8] +CVE: CVE-2021-20257 + +Signed-off-by: Sakib Sajal +--- + hw/net/e1000.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/hw/net/e1000.c b/hw/net/e1000.c +index cf22c4f07..c3564c7ce 100644 +--- a/hw/net/e1000.c ++++ b/hw/net/e1000.c +@@ -670,6 +670,9 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) + msh = tp->tso_props.hdr_len + tp->tso_props.mss; + do { + bytes = split_size; ++ if (tp->size >= msh) { ++ goto eop; ++ } + if (tp->size + bytes > msh) + bytes = msh - tp->size; + +@@ -695,6 +698,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) + tp->size += split_size; + } + ++eop: + if (!(txd_lower & E1000_TXD_CMD_EOP)) + return; + if (!(tp->cptse && tp->size < tp->tso_props.hdr_len)) { +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch new file mode 100644 index 000000000..4f9a91f0c --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch @@ -0,0 +1,214 @@ +From aaa5f8e00c2e85a893b972f1e243fb14c26b70dc Mon Sep 17 00:00:00 2001 +From: "Dr. David Alan Gilbert" +Date: Wed, 24 Feb 2021 19:56:25 +0000 +Subject: [PATCH 2/2] virtiofs: drop remapped security.capability xattr as + needed + +On Linux, the 'security.capability' xattr holds a set of +capabilities that can change when an executable is run, giving +a limited form of privilege escalation to those programs that +the writer of the file deemed worthy. + +Any write causes the 'security.capability' xattr to be dropped, +stopping anyone from gaining privilege by modifying a blessed +file. + +Fuse relies on the daemon to do this dropping, and in turn the +daemon relies on the host kernel to drop the xattr for it. However, +with the addition of -o xattrmap, the xattr that the guest +stores its capabilities in is now not the same as the one that +the host kernel automatically clears. + +Where the mapping changes 'security.capability', explicitly clear +the remapped name to preserve the same behaviour. + +This bug is assigned CVE-2021-20263. + +Signed-off-by: Dr. David Alan Gilbert +Reviewed-by: Vivek Goyal + +Upstream-Status: Backport [e586edcb410543768ef009eaa22a2d9dd4a53846] +CVE: CVE-2021-20263 + +Signed-off-by: Sakib Sajal +--- + docs/tools/virtiofsd.rst | 4 ++ + tools/virtiofsd/passthrough_ll.c | 77 +++++++++++++++++++++++++++++++- + 2 files changed, 80 insertions(+), 1 deletion(-) + +diff --git a/docs/tools/virtiofsd.rst b/docs/tools/virtiofsd.rst +index 866b7db3e..00554c75b 100644 +--- a/docs/tools/virtiofsd.rst ++++ b/docs/tools/virtiofsd.rst +@@ -228,6 +228,10 @@ The 'map' type adds a number of separate rules to add **prepend** as a prefix + to the matched **key** (or all attributes if **key** is empty). + There may be at most one 'map' rule and it must be the last rule in the set. + ++Note: When the 'security.capability' xattr is remapped, the daemon has to do ++extra work to remove it during many operations, which the host kernel normally ++does itself. ++ + xattr-mapping Examples + ---------------------- + +diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c +index 03c5e0d13..c9197da86 100644 +--- a/tools/virtiofsd/passthrough_ll.c ++++ b/tools/virtiofsd/passthrough_ll.c +@@ -160,6 +160,7 @@ struct lo_data { + int posix_lock; + int xattr; + char *xattrmap; ++ char *xattr_security_capability; + char *source; + char *modcaps; + double timeout; +@@ -226,6 +227,8 @@ static __thread bool cap_loaded = 0; + + static struct lo_inode *lo_find(struct lo_data *lo, struct stat *st, + uint64_t mnt_id); ++static int xattr_map_client(const struct lo_data *lo, const char *client_name, ++ char **out_name); + + static int is_dot_or_dotdot(const char *name) + { +@@ -365,6 +368,37 @@ out: + return ret; + } + ++/* ++ * The host kernel normally drops security.capability xattr's on ++ * any write, however if we're remapping xattr names we need to drop ++ * whatever the clients security.capability is actually stored as. ++ */ ++static int drop_security_capability(const struct lo_data *lo, int fd) ++{ ++ if (!lo->xattr_security_capability) { ++ /* We didn't remap the name, let the host kernel do it */ ++ return 0; ++ } ++ if (!fremovexattr(fd, lo->xattr_security_capability)) { ++ /* All good */ ++ return 0; ++ } ++ ++ switch (errno) { ++ case ENODATA: ++ /* Attribute didn't exist, that's fine */ ++ return 0; ++ ++ case ENOTSUP: ++ /* FS didn't support attribute anyway, also fine */ ++ return 0; ++ ++ default: ++ /* Hmm other error */ ++ return errno; ++ } ++} ++ + static void lo_map_init(struct lo_map *map) + { + map->elems = NULL; +@@ -717,6 +751,11 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr, + uid_t uid = (valid & FUSE_SET_ATTR_UID) ? attr->st_uid : (uid_t)-1; + gid_t gid = (valid & FUSE_SET_ATTR_GID) ? attr->st_gid : (gid_t)-1; + ++ saverr = drop_security_capability(lo, ifd); ++ if (saverr) { ++ goto out_err; ++ } ++ + res = fchownat(ifd, "", uid, gid, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW); + if (res == -1) { + goto out_err; +@@ -735,6 +774,14 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr, + } + } + ++ saverr = drop_security_capability(lo, truncfd); ++ if (saverr) { ++ if (!fi) { ++ close(truncfd); ++ } ++ goto out_err; ++ } ++ + res = ftruncate(truncfd, attr->st_size); + if (!fi) { + saverr = errno; +@@ -1726,6 +1773,13 @@ static int lo_do_open(struct lo_data *lo, struct lo_inode *inode, + if (fd < 0) { + return -fd; + } ++ if (fi->flags & (O_TRUNC)) { ++ int err = drop_security_capability(lo, fd); ++ if (err) { ++ close(fd); ++ return err; ++ } ++ } + } + + pthread_mutex_lock(&lo->mutex); +@@ -2114,6 +2168,12 @@ static void lo_write_buf(fuse_req_t req, fuse_ino_t ino, + "lo_write_buf(ino=%" PRIu64 ", size=%zd, off=%lu)\n", ino, + out_buf.buf[0].size, (unsigned long)off); + ++ res = drop_security_capability(lo_data(req), out_buf.buf[0].fd); ++ if (res) { ++ fuse_reply_err(req, res); ++ return; ++ } ++ + /* + * If kill_priv is set, drop CAP_FSETID which should lead to kernel + * clearing setuid/setgid on file. +@@ -2353,6 +2413,7 @@ static void parse_xattrmap(struct lo_data *lo) + { + const char *map = lo->xattrmap; + const char *tmp; ++ int ret; + + lo->xattr_map_nentries = 0; + while (*map) { +@@ -2383,7 +2444,7 @@ static void parse_xattrmap(struct lo_data *lo) + * the last entry. + */ + parse_xattrmap_map(lo, map, sep); +- return; ++ break; + } else { + fuse_log(FUSE_LOG_ERR, + "%s: Unexpected type;" +@@ -2452,6 +2513,19 @@ static void parse_xattrmap(struct lo_data *lo) + fuse_log(FUSE_LOG_ERR, "Empty xattr map\n"); + exit(1); + } ++ ++ ret = xattr_map_client(lo, "security.capability", ++ &lo->xattr_security_capability); ++ if (ret) { ++ fuse_log(FUSE_LOG_ERR, "Failed to map security.capability: %s\n", ++ strerror(ret)); ++ exit(1); ++ } ++ if (!strcmp(lo->xattr_security_capability, "security.capability")) { ++ /* 1-1 mapping, don't need to do anything */ ++ free(lo->xattr_security_capability); ++ lo->xattr_security_capability = NULL; ++ } + } + + /* +@@ -3480,6 +3554,7 @@ static void fuse_lo_data_cleanup(struct lo_data *lo) + + free(lo->xattrmap); + free_xattrmap(lo); ++ free(lo->xattr_security_capability); + free(lo->source); + } + +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch new file mode 100644 index 000000000..af94cff7e --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch @@ -0,0 +1,89 @@ +From 3791642c8d60029adf9b00bcb4e34d7d8a1aea4d Mon Sep 17 00:00:00 2001 +From: Michael Tokarev +Date: Mon, 19 Apr 2021 15:42:47 +0200 +Subject: [PATCH] mptsas: Remove unused MPTSASState 'pending' field + (CVE-2021-3392) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +While processing SCSI i/o requests in mptsas_process_scsi_io_request(), +the Megaraid emulator appends new MPTSASRequest object 'req' to +the 's->pending' queue. In case of an error, this same object gets +dequeued in mptsas_free_request() only if SCSIRequest object +'req->sreq' is initialised. This may lead to a use-after-free issue. + +Since s->pending is actually not used, simply remove it from +MPTSASState. + +Cc: qemu-stable@nongnu.org +Signed-off-by: Michael Tokarev +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Philippe Mathieu-Daudé +Reported-by: Cheolwoo Myung +Message-id: 20210419134247.1467982-1-f4bug@amsat.org +Message-Id: <20210416102243.1293871-1-mjt@msgid.tls.msk.ru> +Suggested-by: Paolo Bonzini +Reported-by: Cheolwoo Myung +BugLink: https://bugs.launchpad.net/qemu/+bug/1914236 (CVE-2021-3392) +Fixes: e351b826112 ("hw: Add support for LSI SAS1068 (mptsas) device") +[PMD: Reworded description, added more tags] +Signed-off-by: Philippe Mathieu-Daudé +Reviewed-by: Peter Maydell +Signed-off-by: Peter Maydell + +CVE: CVE-2021-3392 +Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=3791642c8d60029adf9b00bcb4e34d7d8a1aea4d] +Signed-off-by: Anuj Mittal +--- + hw/scsi/mptsas.c | 6 ------ + hw/scsi/mptsas.h | 1 - + 2 files changed, 7 deletions(-) + +diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c +index 7416e7870614..db3219e7d206 100644 +--- a/hw/scsi/mptsas.c ++++ b/hw/scsi/mptsas.c +@@ -251,13 +251,10 @@ static int mptsas_build_sgl(MPTSASState *s, MPTSASRequest *req, hwaddr addr) + + static void mptsas_free_request(MPTSASRequest *req) + { +- MPTSASState *s = req->dev; +- + if (req->sreq != NULL) { + req->sreq->hba_private = NULL; + scsi_req_unref(req->sreq); + req->sreq = NULL; +- QTAILQ_REMOVE(&s->pending, req, next); + } + qemu_sglist_destroy(&req->qsg); + g_free(req); +@@ -303,7 +300,6 @@ static int mptsas_process_scsi_io_request(MPTSASState *s, + } + + req = g_new0(MPTSASRequest, 1); +- QTAILQ_INSERT_TAIL(&s->pending, req, next); + req->scsi_io = *scsi_io; + req->dev = s; + +@@ -1319,8 +1315,6 @@ static void mptsas_scsi_realize(PCIDevice *dev, Error **errp) + + s->request_bh = qemu_bh_new(mptsas_fetch_requests, s); + +- QTAILQ_INIT(&s->pending); +- + scsi_bus_new(&s->bus, sizeof(s->bus), &dev->qdev, &mptsas_scsi_info, NULL); + } + +diff --git a/hw/scsi/mptsas.h b/hw/scsi/mptsas.h +index b85ac1a5fcc7..c046497db719 100644 +--- a/hw/scsi/mptsas.h ++++ b/hw/scsi/mptsas.h +@@ -79,7 +79,6 @@ struct MPTSASState { + uint16_t reply_frame_size; + + SCSIBus bus; +- QTAILQ_HEAD(, MPTSASRequest) pending; + }; + + void mptsas_fix_scsi_io_endianness(MPIMsgSCSIIORequest *req); diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch new file mode 100644 index 000000000..f9395add4 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch @@ -0,0 +1,56 @@ +From c01ae9a35b3c6b4a8e1f1bfa0a0caafe394f8b5c Mon Sep 17 00:00:00 2001 +From: Bin Meng +Date: Tue, 16 Feb 2021 11:46:52 +0800 +Subject: [PATCH 1/6] hw/sd: sdhci: Simplify updating s->prnsts in + sdhci_sdma_transfer_multi_blocks() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +s->prnsts is updated in both branches of the if () else () statement. +Move the common bits outside so that it is cleaner. + +Signed-off-by: Bin Meng +Tested-by: Alexander Bulekov +Reviewed-by: Alexander Bulekov +Reviewed-by: Philippe Mathieu-Daudé +Message-Id: <1613447214-81951-5-git-send-email-bmeng.cn@gmail.com> +Signed-off-by: Philippe Mathieu-Daudé + +Upstream-Status: Backport [8bc1f1aa51d32c3184e7b19d5b94c35ecc06f056] +CVE: CVE-2021-3409 + +Signed-off-by: Sakib Sajal +--- + hw/sd/sdhci.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c +index 2f8b74a84..f83c5e295 100644 +--- a/hw/sd/sdhci.c ++++ b/hw/sd/sdhci.c +@@ -596,9 +596,9 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s) + page_aligned = true; + } + ++ s->prnsts |= SDHC_DATA_INHIBIT | SDHC_DAT_LINE_ACTIVE; + if (s->trnmod & SDHC_TRNS_READ) { +- s->prnsts |= SDHC_DOING_READ | SDHC_DATA_INHIBIT | +- SDHC_DAT_LINE_ACTIVE; ++ s->prnsts |= SDHC_DOING_READ; + while (s->blkcnt) { + if (s->data_count == 0) { + sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size); +@@ -625,8 +625,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s) + } + } + } else { +- s->prnsts |= SDHC_DOING_WRITE | SDHC_DATA_INHIBIT | +- SDHC_DAT_LINE_ACTIVE; ++ s->prnsts |= SDHC_DOING_WRITE; + while (s->blkcnt) { + begin = s->data_count; + if (((boundary_count + begin) < block_size) && page_aligned) { +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch new file mode 100644 index 000000000..f3d2bb137 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch @@ -0,0 +1,92 @@ +From b9bb4700798bce98888c51d7b6dbc19ec49159d5 Mon Sep 17 00:00:00 2001 +From: Bin Meng +Date: Wed, 3 Mar 2021 20:26:35 +0800 +Subject: [PATCH 2/6] hw/sd: sdhci: Don't transfer any data when command time + out +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +At the end of sdhci_send_command(), it starts a data transfer if the +command register indicates data is associated. But the data transfer +should only be initiated when the command execution has succeeded. + +With this fix, the following reproducer: + +outl 0xcf8 0x80001810 +outl 0xcfc 0xe1068000 +outl 0xcf8 0x80001804 +outw 0xcfc 0x7 +write 0xe106802c 0x1 0x0f +write 0xe1068004 0xc 0x2801d10101fffffbff28a384 +write 0xe106800c 0x1f 0x9dacbbcad9e8f7061524334251606f7e8d9cabbac9d8e7f60514233241505f +write 0xe1068003 0x28 0x80d000251480d000252280d000253080d000253e80d000254c80d000255a80d000256880d0002576 +write 0xe1068003 0x1 0xfe + +cannot be reproduced with the following QEMU command line: + +$ qemu-system-x86_64 -nographic -M pc-q35-5.0 \ + -device sdhci-pci,sd-spec-version=3 \ + -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \ + -device sd-card,drive=mydrive \ + -monitor none -serial none -qtest stdio + +Cc: qemu-stable@nongnu.org +Fixes: CVE-2020-17380 +Fixes: CVE-2020-25085 +Fixes: CVE-2021-3409 +Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller") +Reported-by: Alexander Bulekov +Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum) +Reported-by: Sergej Schumilo (Ruhr-Universität Bochum) +Reported-by: Simon Wörner (Ruhr-Universität Bochum) +Buglink: https://bugs.launchpad.net/qemu/+bug/1892960 +Buglink: https://bugs.launchpad.net/qemu/+bug/1909418 +Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146 +Acked-by: Alistair Francis +Tested-by: Alexander Bulekov +Tested-by: Philippe Mathieu-Daudé +Signed-off-by: Bin Meng +Message-Id: <20210303122639.20004-2-bmeng.cn@gmail.com> +Signed-off-by: Philippe Mathieu-Daudé + +Upstream-Status: Backport [b263d8f928001b5cfa2a993ea43b7a5b3a1811e8] +CVE: CVE-2021-3409 + +Signed-off-by: Sakib Sajal +--- + hw/sd/sdhci.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c +index f83c5e295..44f8a82ea 100644 +--- a/hw/sd/sdhci.c ++++ b/hw/sd/sdhci.c +@@ -326,6 +326,7 @@ static void sdhci_send_command(SDHCIState *s) + SDRequest request; + uint8_t response[16]; + int rlen; ++ bool timeout = false; + + s->errintsts = 0; + s->acmd12errsts = 0; +@@ -349,6 +350,7 @@ static void sdhci_send_command(SDHCIState *s) + trace_sdhci_response16(s->rspreg[3], s->rspreg[2], + s->rspreg[1], s->rspreg[0]); + } else { ++ timeout = true; + trace_sdhci_error("timeout waiting for command response"); + if (s->errintstsen & SDHC_EISEN_CMDTIMEOUT) { + s->errintsts |= SDHC_EIS_CMDTIMEOUT; +@@ -369,7 +371,7 @@ static void sdhci_send_command(SDHCIState *s) + + sdhci_update_irq(s); + +- if (s->blksize && (s->cmdreg & SDHC_CMD_DATA_PRESENT)) { ++ if (!timeout && s->blksize && (s->cmdreg & SDHC_CMD_DATA_PRESENT)) { + s->data_count = 0; + sdhci_data_transfer(s); + } +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch new file mode 100644 index 000000000..c3b37ed61 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch @@ -0,0 +1,109 @@ +From 405ca416ccc8135544a4fe5732974497244128c9 Mon Sep 17 00:00:00 2001 +From: Bin Meng +Date: Wed, 3 Mar 2021 20:26:36 +0800 +Subject: [PATCH 3/6] hw/sd: sdhci: Don't write to SDHC_SYSAD register when + transfer is in progress +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Per "SD Host Controller Standard Specification Version 7.00" +chapter 2.2.1 SDMA System Address Register: + +This register can be accessed only if no transaction is executing +(i.e., after a transaction has stopped). + +With this fix, the following reproducer: + +outl 0xcf8 0x80001010 +outl 0xcfc 0xfbefff00 +outl 0xcf8 0x80001001 +outl 0xcfc 0x06000000 +write 0xfbefff2c 0x1 0x05 +write 0xfbefff0f 0x1 0x37 +write 0xfbefff0a 0x1 0x01 +write 0xfbefff0f 0x1 0x29 +write 0xfbefff0f 0x1 0x02 +write 0xfbefff0f 0x1 0x03 +write 0xfbefff04 0x1 0x01 +write 0xfbefff05 0x1 0x01 +write 0xfbefff07 0x1 0x02 +write 0xfbefff0c 0x1 0x33 +write 0xfbefff0e 0x1 0x20 +write 0xfbefff0f 0x1 0x00 +write 0xfbefff2a 0x1 0x01 +write 0xfbefff0c 0x1 0x00 +write 0xfbefff03 0x1 0x00 +write 0xfbefff05 0x1 0x00 +write 0xfbefff2a 0x1 0x02 +write 0xfbefff0c 0x1 0x32 +write 0xfbefff01 0x1 0x01 +write 0xfbefff02 0x1 0x01 +write 0xfbefff03 0x1 0x01 + +cannot be reproduced with the following QEMU command line: + +$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \ + -nodefaults -device sdhci-pci,sd-spec-version=3 \ + -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \ + -device sd-card,drive=mydrive -qtest stdio + +Cc: qemu-stable@nongnu.org +Fixes: CVE-2020-17380 +Fixes: CVE-2020-25085 +Fixes: CVE-2021-3409 +Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller") +Reported-by: Alexander Bulekov +Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum) +Reported-by: Sergej Schumilo (Ruhr-Universität Bochum) +Reported-by: Simon Wörner (Ruhr-Universität Bochum) +Buglink: https://bugs.launchpad.net/qemu/+bug/1892960 +Buglink: https://bugs.launchpad.net/qemu/+bug/1909418 +Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146 +Tested-by: Alexander Bulekov +Signed-off-by: Bin Meng +Message-Id: <20210303122639.20004-3-bmeng.cn@gmail.com> +Signed-off-by: Philippe Mathieu-Daudé + +Upstream-Status: Backport [8be45cc947832b3c02144c9d52921f499f2d77fe] +CVE: CVE-2021-3409 + +Signed-off-by: Sakib Sajal +--- + hw/sd/sdhci.c | 20 +++++++++++--------- + 1 file changed, 11 insertions(+), 9 deletions(-) + +diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c +index 44f8a82ea..d8a46f307 100644 +--- a/hw/sd/sdhci.c ++++ b/hw/sd/sdhci.c +@@ -1121,15 +1121,17 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) + + switch (offset & ~0x3) { + case SDHC_SYSAD: +- s->sdmasysad = (s->sdmasysad & mask) | value; +- MASKED_WRITE(s->sdmasysad, mask, value); +- /* Writing to last byte of sdmasysad might trigger transfer */ +- if (!(mask & 0xFF000000) && TRANSFERRING_DATA(s->prnsts) && s->blkcnt && +- s->blksize && SDHC_DMA_TYPE(s->hostctl1) == SDHC_CTRL_SDMA) { +- if (s->trnmod & SDHC_TRNS_MULTI) { +- sdhci_sdma_transfer_multi_blocks(s); +- } else { +- sdhci_sdma_transfer_single_block(s); ++ if (!TRANSFERRING_DATA(s->prnsts)) { ++ s->sdmasysad = (s->sdmasysad & mask) | value; ++ MASKED_WRITE(s->sdmasysad, mask, value); ++ /* Writing to last byte of sdmasysad might trigger transfer */ ++ if (!(mask & 0xFF000000) && s->blkcnt && s->blksize && ++ SDHC_DMA_TYPE(s->hostctl1) == SDHC_CTRL_SDMA) { ++ if (s->trnmod & SDHC_TRNS_MULTI) { ++ sdhci_sdma_transfer_multi_blocks(s); ++ } else { ++ sdhci_sdma_transfer_single_block(s); ++ } + } + } + break; +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch new file mode 100644 index 000000000..d5be99759 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch @@ -0,0 +1,75 @@ +From b672bcaf5522294a4d8de3e88e0932d55585ee3b Mon Sep 17 00:00:00 2001 +From: Bin Meng +Date: Wed, 3 Mar 2021 20:26:37 +0800 +Subject: [PATCH 4/6] hw/sd: sdhci: Correctly set the controller status for + ADMA +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When an ADMA transfer is started, the codes forget to set the +controller status to indicate a transfer is in progress. + +With this fix, the following 2 reproducers: + +https://paste.debian.net/plain/1185136 +https://paste.debian.net/plain/1185141 + +cannot be reproduced with the following QEMU command line: + +$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \ + -nodefaults -device sdhci-pci,sd-spec-version=3 \ + -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \ + -device sd-card,drive=mydrive -qtest stdio + +Cc: qemu-stable@nongnu.org +Fixes: CVE-2020-17380 +Fixes: CVE-2020-25085 +Fixes: CVE-2021-3409 +Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller") +Reported-by: Alexander Bulekov +Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum) +Reported-by: Sergej Schumilo (Ruhr-Universität Bochum) +Reported-by: Simon Wörner (Ruhr-Universität Bochum) +Buglink: https://bugs.launchpad.net/qemu/+bug/1892960 +Buglink: https://bugs.launchpad.net/qemu/+bug/1909418 +Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146 +Tested-by: Alexander Bulekov +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Bin Meng +Message-Id: <20210303122639.20004-4-bmeng.cn@gmail.com> +Signed-off-by: Philippe Mathieu-Daudé + +Upstream-Status: Backport [bc6f28995ff88f5d82c38afcfd65406f0ae375aa] +CVE: CVE-2021-3409 + +Signed-off-by: Sakib Sajal +--- + hw/sd/sdhci.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c +index d8a46f307..7de03c6dd 100644 +--- a/hw/sd/sdhci.c ++++ b/hw/sd/sdhci.c +@@ -768,7 +768,9 @@ static void sdhci_do_adma(SDHCIState *s) + + switch (dscr.attr & SDHC_ADMA_ATTR_ACT_MASK) { + case SDHC_ADMA_ATTR_ACT_TRAN: /* data transfer */ ++ s->prnsts |= SDHC_DATA_INHIBIT | SDHC_DAT_LINE_ACTIVE; + if (s->trnmod & SDHC_TRNS_READ) { ++ s->prnsts |= SDHC_DOING_READ; + while (length) { + if (s->data_count == 0) { + sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size); +@@ -796,6 +798,7 @@ static void sdhci_do_adma(SDHCIState *s) + } + } + } else { ++ s->prnsts |= SDHC_DOING_WRITE; + while (length) { + begin = s->data_count; + if ((length + begin) < block_size) { +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch new file mode 100644 index 000000000..719905683 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch @@ -0,0 +1,56 @@ +From c2298884cf6bcf2b047b4bae5f78432b052b5729 Mon Sep 17 00:00:00 2001 +From: Bin Meng +Date: Wed, 3 Mar 2021 20:26:38 +0800 +Subject: [PATCH 5/6] hw/sd: sdhci: Limit block size only when SDHC_BLKSIZE + register is writable +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The codes to limit the maximum block size is only necessary when +SDHC_BLKSIZE register is writable. + +Tested-by: Alexander Bulekov +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Bin Meng +Message-Id: <20210303122639.20004-5-bmeng.cn@gmail.com> +Signed-off-by: Philippe Mathieu-Daudé + +Upstream-Status: Backport [5cd7aa3451b76bb19c0f6adc2b931f091e5d7fcd] +CVE: CVE-2021-3409 + +Signed-off-by: Sakib Sajal +--- + hw/sd/sdhci.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c +index 7de03c6dd..6c780126e 100644 +--- a/hw/sd/sdhci.c ++++ b/hw/sd/sdhci.c +@@ -1142,15 +1142,15 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) + if (!TRANSFERRING_DATA(s->prnsts)) { + MASKED_WRITE(s->blksize, mask, extract32(value, 0, 12)); + MASKED_WRITE(s->blkcnt, mask >> 16, value >> 16); +- } + +- /* Limit block size to the maximum buffer size */ +- if (extract32(s->blksize, 0, 12) > s->buf_maxsz) { +- qemu_log_mask(LOG_GUEST_ERROR, "%s: Size 0x%x is larger than " +- "the maximum buffer 0x%x\n", __func__, s->blksize, +- s->buf_maxsz); ++ /* Limit block size to the maximum buffer size */ ++ if (extract32(s->blksize, 0, 12) > s->buf_maxsz) { ++ qemu_log_mask(LOG_GUEST_ERROR, "%s: Size 0x%x is larger than " ++ "the maximum buffer 0x%x\n", __func__, s->blksize, ++ s->buf_maxsz); + +- s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz); ++ s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz); ++ } + } + + break; +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch new file mode 100644 index 000000000..624c1f649 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch @@ -0,0 +1,99 @@ +From db916870a839346767b6d5ca7d0eed3128ba5fea Mon Sep 17 00:00:00 2001 +From: Bin Meng +Date: Wed, 3 Mar 2021 20:26:39 +0800 +Subject: [PATCH 6/6] hw/sd: sdhci: Reset the data pointer of s->fifo_buffer[] + when a different block size is programmed +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If the block size is programmed to a different value from the +previous one, reset the data pointer of s->fifo_buffer[] so that +s->fifo_buffer[] can be filled in using the new block size in +the next transfer. + +With this fix, the following reproducer: + +outl 0xcf8 0x80001010 +outl 0xcfc 0xe0000000 +outl 0xcf8 0x80001001 +outl 0xcfc 0x06000000 +write 0xe000002c 0x1 0x05 +write 0xe0000005 0x1 0x02 +write 0xe0000007 0x1 0x01 +write 0xe0000028 0x1 0x10 +write 0x0 0x1 0x23 +write 0x2 0x1 0x08 +write 0xe000000c 0x1 0x01 +write 0xe000000e 0x1 0x20 +write 0xe000000f 0x1 0x00 +write 0xe000000c 0x1 0x32 +write 0xe0000004 0x2 0x0200 +write 0xe0000028 0x1 0x00 +write 0xe0000003 0x1 0x40 + +cannot be reproduced with the following QEMU command line: + +$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \ + -nodefaults -device sdhci-pci,sd-spec-version=3 \ + -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \ + -device sd-card,drive=mydrive -qtest stdio + +Cc: qemu-stable@nongnu.org +Fixes: CVE-2020-17380 +Fixes: CVE-2020-25085 +Fixes: CVE-2021-3409 +Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller") +Reported-by: Alexander Bulekov +Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum) +Reported-by: Sergej Schumilo (Ruhr-Universität Bochum) +Reported-by: Simon Wörner (Ruhr-Universität Bochum) +Buglink: https://bugs.launchpad.net/qemu/+bug/1892960 +Buglink: https://bugs.launchpad.net/qemu/+bug/1909418 +Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146 +Tested-by: Alexander Bulekov +Signed-off-by: Bin Meng +Message-Id: <20210303122639.20004-6-bmeng.cn@gmail.com> +Signed-off-by: Philippe Mathieu-Daudé + +Upstream-Status: Backport [cffb446e8fd19a14e1634c7a3a8b07be3f01d5c9] +CVE: CVE-2021-3409 + +Signed-off-by: Sakib Sajal +--- + hw/sd/sdhci.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c +index 6c780126e..216842420 100644 +--- a/hw/sd/sdhci.c ++++ b/hw/sd/sdhci.c +@@ -1140,6 +1140,8 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) + break; + case SDHC_BLKSIZE: + if (!TRANSFERRING_DATA(s->prnsts)) { ++ uint16_t blksize = s->blksize; ++ + MASKED_WRITE(s->blksize, mask, extract32(value, 0, 12)); + MASKED_WRITE(s->blkcnt, mask >> 16, value >> 16); + +@@ -1151,6 +1153,16 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) + + s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz); + } ++ ++ /* ++ * If the block size is programmed to a different value from ++ * the previous one, reset the data pointer of s->fifo_buffer[] ++ * so that s->fifo_buffer[] can be filled in using the new block ++ * size in the next transfer. ++ */ ++ if (blksize != s->blksize) { ++ s->data_count = 0; ++ } + } + + break; +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch new file mode 100644 index 000000000..5bacd6748 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch @@ -0,0 +1,177 @@ +From 4b1988a29d67277d6c8ce1df52975f5616592913 Mon Sep 17 00:00:00 2001 +From: Jason Wang +Date: Wed, 24 Feb 2021 11:44:36 +0800 +Subject: [PATCH 01/10] net: introduce qemu_receive_packet() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Some NIC supports loopback mode and this is done by calling +nc->info->receive() directly which in fact suppresses the effort of +reentrancy check that is done in qemu_net_queue_send(). + +Unfortunately we can't use qemu_net_queue_send() here since for +loopback there's no sender as peer, so this patch introduce a +qemu_receive_packet() which is used for implementing loopback mode +for a NIC with this check. + +NIC that supports loopback mode will be converted to this helper. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Reviewed-by: Philippe Mathieu-Daudé +Cc: qemu-stable@nongnu.org +Signed-off-by: Jason Wang + +Upstream-Status: Backport [705df5466c98f3efdd2b68d3b31dad86858acad7] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + include/net/net.h | 5 +++++ + include/net/queue.h | 8 ++++++++ + net/net.c | 38 +++++++++++++++++++++++++++++++------- + net/queue.c | 22 ++++++++++++++++++++++ + 4 files changed, 66 insertions(+), 7 deletions(-) + +diff --git a/include/net/net.h b/include/net/net.h +index 778fc787c..03f058ecb 100644 +--- a/include/net/net.h ++++ b/include/net/net.h +@@ -143,12 +143,17 @@ void *qemu_get_nic_opaque(NetClientState *nc); + void qemu_del_net_client(NetClientState *nc); + typedef void (*qemu_nic_foreach)(NICState *nic, void *opaque); + void qemu_foreach_nic(qemu_nic_foreach func, void *opaque); ++int qemu_can_receive_packet(NetClientState *nc); + int qemu_can_send_packet(NetClientState *nc); + ssize_t qemu_sendv_packet(NetClientState *nc, const struct iovec *iov, + int iovcnt); + ssize_t qemu_sendv_packet_async(NetClientState *nc, const struct iovec *iov, + int iovcnt, NetPacketSent *sent_cb); + ssize_t qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size); ++ssize_t qemu_receive_packet(NetClientState *nc, const uint8_t *buf, int size); ++ssize_t qemu_receive_packet_iov(NetClientState *nc, ++ const struct iovec *iov, ++ int iovcnt); + ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size); + ssize_t qemu_send_packet_async(NetClientState *nc, const uint8_t *buf, + int size, NetPacketSent *sent_cb); +diff --git a/include/net/queue.h b/include/net/queue.h +index c0269bb1d..9f2f289d7 100644 +--- a/include/net/queue.h ++++ b/include/net/queue.h +@@ -55,6 +55,14 @@ void qemu_net_queue_append_iov(NetQueue *queue, + + void qemu_del_net_queue(NetQueue *queue); + ++ssize_t qemu_net_queue_receive(NetQueue *queue, ++ const uint8_t *data, ++ size_t size); ++ ++ssize_t qemu_net_queue_receive_iov(NetQueue *queue, ++ const struct iovec *iov, ++ int iovcnt); ++ + ssize_t qemu_net_queue_send(NetQueue *queue, + NetClientState *sender, + unsigned flags, +diff --git a/net/net.c b/net/net.c +index 6a2c3d956..5e15e5d27 100644 +--- a/net/net.c ++++ b/net/net.c +@@ -528,6 +528,17 @@ int qemu_set_vnet_be(NetClientState *nc, bool is_be) + #endif + } + ++int qemu_can_receive_packet(NetClientState *nc) ++{ ++ if (nc->receive_disabled) { ++ return 0; ++ } else if (nc->info->can_receive && ++ !nc->info->can_receive(nc)) { ++ return 0; ++ } ++ return 1; ++} ++ + int qemu_can_send_packet(NetClientState *sender) + { + int vm_running = runstate_is_running(); +@@ -540,13 +551,7 @@ int qemu_can_send_packet(NetClientState *sender) + return 1; + } + +- if (sender->peer->receive_disabled) { +- return 0; +- } else if (sender->peer->info->can_receive && +- !sender->peer->info->can_receive(sender->peer)) { +- return 0; +- } +- return 1; ++ return qemu_can_receive_packet(sender->peer); + } + + static ssize_t filter_receive_iov(NetClientState *nc, +@@ -679,6 +684,25 @@ ssize_t qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size) + return qemu_send_packet_async(nc, buf, size, NULL); + } + ++ssize_t qemu_receive_packet(NetClientState *nc, const uint8_t *buf, int size) ++{ ++ if (!qemu_can_receive_packet(nc)) { ++ return 0; ++ } ++ ++ return qemu_net_queue_receive(nc->incoming_queue, buf, size); ++} ++ ++ssize_t qemu_receive_packet_iov(NetClientState *nc, const struct iovec *iov, ++ int iovcnt) ++{ ++ if (!qemu_can_receive_packet(nc)) { ++ return 0; ++ } ++ ++ return qemu_net_queue_receive_iov(nc->incoming_queue, iov, iovcnt); ++} ++ + ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size) + { + return qemu_send_packet_async_with_flags(nc, QEMU_NET_PACKET_FLAG_RAW, +diff --git a/net/queue.c b/net/queue.c +index 19e32c80f..c872d51df 100644 +--- a/net/queue.c ++++ b/net/queue.c +@@ -182,6 +182,28 @@ static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue, + return ret; + } + ++ssize_t qemu_net_queue_receive(NetQueue *queue, ++ const uint8_t *data, ++ size_t size) ++{ ++ if (queue->delivering) { ++ return 0; ++ } ++ ++ return qemu_net_queue_deliver(queue, NULL, 0, data, size); ++} ++ ++ssize_t qemu_net_queue_receive_iov(NetQueue *queue, ++ const struct iovec *iov, ++ int iovcnt) ++{ ++ if (queue->delivering) { ++ return 0; ++ } ++ ++ return qemu_net_queue_deliver_iov(queue, NULL, 0, iov, iovcnt); ++} ++ + ssize_t qemu_net_queue_send(NetQueue *queue, + NetClientState *sender, + unsigned flags, +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch new file mode 100644 index 000000000..7deec1a34 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch @@ -0,0 +1,44 @@ +From 65b851efd3d0280425c202f4e5880c48f8334dae Mon Sep 17 00:00:00 2001 +From: Alexander Bulekov +Date: Mon, 1 Mar 2021 14:35:30 -0500 +Subject: [PATCH 10/10] lan9118: switch to use qemu_receive_packet() for + loopback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_packet() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Jason Wang + +Upstream-Status: Backport [37cee01784ff0df13e5209517e1b3594a5e792d1] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/lan9118.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c +index ab57c02c8..75f18ae2d 100644 +--- a/hw/net/lan9118.c ++++ b/hw/net/lan9118.c +@@ -669,7 +669,7 @@ static void do_tx_packet(lan9118_state *s) + /* FIXME: Honor TX disable, and allow queueing of packets. */ + if (s->phy_control & 0x4000) { + /* This assumes the receive routine doesn't touch the VLANClient. */ +- lan9118_receive(qemu_get_queue(s->nic), s->txp->data, s->txp->len); ++ qemu_receive_packet(qemu_get_queue(s->nic), s->txp->data, s->txp->len); + } else { + qemu_send_packet(qemu_get_queue(s->nic), s->txp->data, s->txp->len); + } +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch new file mode 100644 index 000000000..5e53e20ba --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch @@ -0,0 +1,42 @@ +From e2a48a3c7cc33dbbe89f896e0f07462cb04ff6b5 Mon Sep 17 00:00:00 2001 +From: Jason Wang +Date: Wed, 24 Feb 2021 12:13:22 +0800 +Subject: [PATCH 02/10] e1000: switch to use qemu_receive_packet() for loopback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_packet() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Jason Wang + +Upstream-Status: Backport [1caff0340f49c93d535c6558a5138d20d475315c] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/e1000.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/net/e1000.c b/hw/net/e1000.c +index d7d05ae30..cf22c4f07 100644 +--- a/hw/net/e1000.c ++++ b/hw/net/e1000.c +@@ -546,7 +546,7 @@ e1000_send_packet(E1000State *s, const uint8_t *buf, int size) + + NetClientState *nc = qemu_get_queue(s->nic); + if (s->phy_reg[PHY_CTRL] & MII_CR_LOOPBACK) { +- nc->info->receive(nc, buf, size); ++ qemu_receive_packet(nc, buf, size); + } else { + qemu_send_packet(nc, buf, size); + } +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch new file mode 100644 index 000000000..3fc469e3e --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch @@ -0,0 +1,43 @@ +From c041a4da1ff119715e0ccf2d4a7af62568f17b93 Mon Sep 17 00:00:00 2001 +From: Jason Wang +Date: Wed, 24 Feb 2021 12:57:40 +0800 +Subject: [PATCH 03/10] dp8393x: switch to use qemu_receive_packet() for + loopback packet +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_packet() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Reviewed-by: Philippe Mathieu-Daudé + +Upstream-Status: Backport [331d2ac9ea307c990dc86e6493e8f0c48d14bb33] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/dp8393x.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c +index 205c0decc..533a8304d 100644 +--- a/hw/net/dp8393x.c ++++ b/hw/net/dp8393x.c +@@ -506,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) + s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; + if (nc->info->can_receive(nc)) { + s->loopback_packet = 1; +- nc->info->receive(nc, s->tx_buffer, tx_len); ++ qemu_receive_packet(nc, s->tx_buffer, tx_len); + } + } else { + /* Transmit packet */ +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch new file mode 100644 index 000000000..e14f37735 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch @@ -0,0 +1,43 @@ +From 9ac5345344b75995bc96d171eaa5dc8d26bf0e21 Mon Sep 17 00:00:00 2001 +From: Jason Wang +Date: Wed, 24 Feb 2021 13:00:01 +0800 +Subject: [PATCH 04/10] msf2-mac: switch to use qemu_receive_packet() for + loopback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_packet() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Jason Wang + +Upstream-Status: Backport [26194a58f4eb83c5bdf4061a1628508084450ba1] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/msf2-emac.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/net/msf2-emac.c b/hw/net/msf2-emac.c +index 32ba9e841..3e6206044 100644 +--- a/hw/net/msf2-emac.c ++++ b/hw/net/msf2-emac.c +@@ -158,7 +158,7 @@ static void msf2_dma_tx(MSF2EmacState *s) + * R_CFG1 bit 0 is set. + */ + if (s->regs[R_CFG1] & R_CFG1_LB_EN_MASK) { +- nc->info->receive(nc, buf, size); ++ qemu_receive_packet(nc, buf, size); + } else { + qemu_send_packet(nc, buf, size); + } +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch new file mode 100644 index 000000000..c3f8f9759 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch @@ -0,0 +1,45 @@ +From d465dc79c9ee729d91ef086b993e956b1935be69 Mon Sep 17 00:00:00 2001 +From: Jason Wang +Date: Wed, 24 Feb 2021 13:14:35 +0800 +Subject: [PATCH 05/10] sungem: switch to use qemu_receive_packet() for + loopback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_packet() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Reviewed-by: Mark Cave-Ayland +Reviewed-by: Philippe Mathieu-Daudé +Reviewed-by: Alistair Francis +Signed-off-by: Jason Wang + +Upstream-Status: Backport [8c92060d3c0248bd4d515719a35922cd2391b9b4] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/sungem.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/net/sungem.c b/hw/net/sungem.c +index 33c3722df..3684a4d73 100644 +--- a/hw/net/sungem.c ++++ b/hw/net/sungem.c +@@ -306,7 +306,7 @@ static void sungem_send_packet(SunGEMState *s, const uint8_t *buf, + NetClientState *nc = qemu_get_queue(s->nic); + + if (s->macregs[MAC_XIFCFG >> 2] & MAC_XIFCFG_LBCK) { +- nc->info->receive(nc, buf, size); ++ qemu_receive_packet(nc, buf, size); + } else { + qemu_send_packet(nc, buf, size); + } +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch new file mode 100644 index 000000000..855c6970f --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch @@ -0,0 +1,43 @@ +From c0010f9b2bafe866fe32e3c2688454bc24147136 Mon Sep 17 00:00:00 2001 +From: Jason Wang +Date: Wed, 24 Feb 2021 13:27:52 +0800 +Subject: [PATCH 06/10] tx_pkt: switch to use qemu_receive_packet_iov() for + loopback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_receive_iov() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Jason Wang + +Upstream-Status: Backport [8c552542b81e56ff532dd27ec6e5328954bdda73] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/net_tx_pkt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c +index da262edc3..1f9aa59ec 100644 +--- a/hw/net/net_tx_pkt.c ++++ b/hw/net/net_tx_pkt.c +@@ -553,7 +553,7 @@ static inline void net_tx_pkt_sendv(struct NetTxPkt *pkt, + NetClientState *nc, const struct iovec *iov, int iov_cnt) + { + if (pkt->is_loopback) { +- nc->info->receive_iov(nc, iov, iov_cnt); ++ qemu_receive_packet_iov(nc, iov, iov_cnt); + } else { + qemu_sendv_packet(nc, iov, iov_cnt); + } +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch new file mode 100644 index 000000000..4e1115de0 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch @@ -0,0 +1,45 @@ +From 64b38675c728354e4015e4bec3d975cd4cb8a981 Mon Sep 17 00:00:00 2001 +From: Alexander Bulekov +Date: Fri, 26 Feb 2021 13:47:53 -0500 +Subject: [PATCH 07/10] rtl8139: switch to use qemu_receive_packet() for + loopback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_packet() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Buglink: https://bugs.launchpad.net/qemu/+bug/1910826 +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Jason Wang + +Upstream-Status: Backport [5311fb805a4403bba024e83886fa0e7572265de4] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/rtl8139.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c +index ba5ace1ab..d2dd03e6a 100644 +--- a/hw/net/rtl8139.c ++++ b/hw/net/rtl8139.c +@@ -1795,7 +1795,7 @@ static void rtl8139_transfer_frame(RTL8139State *s, uint8_t *buf, int size, + } + + DPRINTF("+++ transmit loopback mode\n"); +- rtl8139_do_receive(qemu_get_queue(s->nic), buf, size, do_interrupt); ++ qemu_receive_packet(qemu_get_queue(s->nic), buf, size); + + if (iov) { + g_free(buf2); +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch new file mode 100644 index 000000000..ed716468d --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch @@ -0,0 +1,44 @@ +From 023ce62f0a788ad3a8233c7a828554bceeafd031 Mon Sep 17 00:00:00 2001 +From: Alexander Bulekov +Date: Mon, 1 Mar 2021 10:33:34 -0500 +Subject: [PATCH 08/10] pcnet: switch to use qemu_receive_packet() for loopback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_packet() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Buglink: https://bugs.launchpad.net/qemu/+bug/1917085 +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Jason Wang + +Upstream-Status: Backport [99ccfaa1edafd79f7a3a0ff7b58ae4da7c514928] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/pcnet.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c +index f3f18d859..dcd3fc494 100644 +--- a/hw/net/pcnet.c ++++ b/hw/net/pcnet.c +@@ -1250,7 +1250,7 @@ txagain: + if (BCR_SWSTYLE(s) == 1) + add_crc = !GET_FIELD(tmd.status, TMDS, NOFCS); + s->looptest = add_crc ? PCNET_LOOPTEST_CRC : PCNET_LOOPTEST_NOCRC; +- pcnet_receive(qemu_get_queue(s->nic), s->buffer, s->xmit_pos); ++ qemu_receive_packet(qemu_get_queue(s->nic), s->buffer, s->xmit_pos); + s->looptest = 0; + } else { + if (s->nic) { +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch new file mode 100644 index 000000000..39d32b33a --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch @@ -0,0 +1,46 @@ +From ecf7e62bb2cb02c9bd40082504ae376f3e19ffd2 Mon Sep 17 00:00:00 2001 +From: Alexander Bulekov +Date: Mon, 1 Mar 2021 14:33:43 -0500 +Subject: [PATCH 09/10] cadence_gem: switch to use qemu_receive_packet() for + loopback +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch switches to use qemu_receive_packet() which can detect +reentrancy and return early. + +This is intended to address CVE-2021-3416. + +Cc: Prasad J Pandit +Cc: qemu-stable@nongnu.org +Reviewed-by: Philippe Mathieu-Daudé +Signed-off-by: Alexander Bulekov +Signed-off-by: Jason Wang + +Upstream-Status: Backport [e73adfbeec9d4e008630c814759052ed945c3fed] +CVE: CVE-2021-3416 + +Signed-off-by: Sakib Sajal +--- + hw/net/cadence_gem.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c +index 7a534691f..43b760e3f 100644 +--- a/hw/net/cadence_gem.c ++++ b/hw/net/cadence_gem.c +@@ -1275,8 +1275,8 @@ static void gem_transmit(CadenceGEMState *s) + /* Send the packet somewhere */ + if (s->phy_loop || (s->regs[GEM_NWCTRL] & + GEM_NWCTRL_LOCALLOOP)) { +- gem_receive(qemu_get_queue(s->nic), s->tx_packet, +- total_bytes); ++ qemu_receive_packet(qemu_get_queue(s->nic), s->tx_packet, ++ total_bytes); + } else { + qemu_send_packet(qemu_get_queue(s->nic), s->tx_packet, + total_bytes); +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb b/poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb index 7afa66e39..f265204b1 100644 --- a/poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb @@ -22,6 +22,7 @@ PACKAGECONFIG ??= " \ fdt sdl kvm \ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ " PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \ diff --git a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch index 38d755205..d8fcc1672 100644 --- a/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch +++ b/poky/meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch @@ -1,4 +1,4 @@ -From 9bbe3f8564705aafcdcc5f2f033f9241a97f47c6 Mon Sep 17 00:00:00 2001 +From 7b2dd83d8fcd06af8e583b53da79ed0033793d46 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 27 Feb 2017 09:43:30 +0200 Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for @@ -14,7 +14,7 @@ Signed-off-by: Alexander Kanavin 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 6c78568e4..76b1d40e4 100644 +index fe35a90fa..b2faec6f3 100644 --- a/configure.ac +++ b/configure.ac @@ -966,7 +966,7 @@ else @@ -40,7 +40,7 @@ index 35c8cf9df..9d8b2825c 100644 %_infodir %{_datadir}/info %_mandir %{_datadir}/man diff --git a/rpm.am b/rpm.am -index cd40a16be..e6941e09f 100644 +index 8e1dc2184..3d889ec86 100644 --- a/rpm.am +++ b/rpm.am @@ -1,10 +1,10 @@ @@ -55,4 +55,4 @@ index cd40a16be..e6941e09f 100644 +rpmconfigdir = $(libdir)/rpm # Libtool version (current-revision-age) for all our libraries - rpm_version_info = 10:2:1 + rpm_version_info = 10:3:1 diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb deleted file mode 100644 index d369c706a..000000000 --- a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.2.bb +++ /dev/null @@ -1,195 +0,0 @@ -SUMMARY = "The RPM package management system" -DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \ -package management system capable of installing, uninstalling, \ -verifying, querying, and updating software packages. Each software \ -package consists of an archive of files along with information about \ -the package like its version, a description, etc." - -SUMMARY_${PN}-dev = "Development files for manipulating RPM packages" -DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \ -development files will simplify the process of writing programs that \ -manipulate RPM packages and databases. These files are intended to \ -simplify the process of creating graphical package managers or any \ -other tools that need an intimate knowledge of RPM packages in order \ -to function." - -SUMMARY_python3-rpm = "Python bindings for apps which will manupulate RPM packages" -DESCRIPTION_python3-rpm = "The python3-rpm package contains a module that permits applications \ -written in the Python programming language to use the interface \ -supplied by the RPM Package Manager libraries." - -HOMEPAGE = "http://www.rpm.org" - -# libraries are also LGPL - how to express this? -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f" - -SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \ - file://environment.d-rpm.sh \ - file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \ - file://0001-Do-not-read-config-files-from-HOME.patch \ - file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \ - file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \ - file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \ - file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \ - file://0001-Fix-build-with-musl-C-library.patch \ - file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \ - file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \ - file://0001-perl-disable-auto-reqs.patch \ - file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \ - file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ - file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \ - file://0001-tools-Add-error.h-for-non-glibc-case.patch \ - " - -PE = "1" -SRCREV = "278883a704ea36c97974d0f2d65d41abe78b0e2a" - -S = "${WORKDIR}/git" - -DEPENDS = "libgcrypt db file popt xz bzip2 elfutils python3" -DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native" - -inherit autotools gettext pkgconfig python3native -export PYTHON_ABI - -AUTOTOOLS_AUXDIR = "${S}/build-aux" - -# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe -EXTRA_AUTORECONF_append = " --exclude=gnu-configize" - -EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=libgcrypt" -EXTRA_OECONF_append_libc-musl = " --disable-nls --disable-openmp" - -# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs -# --localstatedir prevents rpm from writing its database to native sysroot when building images -# Forcibly disable plugins for native/nativesdk, as the inhibit and prioreset -# plugins both behave badly inside builds. -EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins" -EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --disable-plugins" - -BBCLASSEXTEND = "native nativesdk" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'inhibit', '', d)}" -# The inhibit plugin serves no purpose outside of the target -PACKAGECONFIG_remove_class-native = "inhibit" -PACKAGECONFIG_remove_class-nativesdk = "inhibit" - -PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils" -PACKAGECONFIG[inhibit] = "--enable-inhibit-plugin,--disable-inhibit-plugin,dbus" -PACKAGECONFIG[rpm2archive] = "--with-archive,--without-archive,libarchive" - -ASNEEDED = "" - -# Direct rpm-native to read configuration from our sysroot, not the one it was compiled in -# libmagic also has sysroot path contamination, so override it - -WRAPPER_TOOLS = " \ - ${bindir}/rpm \ - ${bindir}/rpm2archive \ - ${bindir}/rpm2cpio \ - ${bindir}/rpmbuild \ - ${bindir}/rpmdb \ - ${bindir}/rpmgraph \ - ${bindir}/rpmkeys \ - ${bindir}/rpmsign \ - ${bindir}/rpmspec \ - ${libdir}/rpm/rpmdeps \ -" - -do_configure_prepend() { - mkdir -p ${S}/build-aux -} - -do_install_append_class-native() { - for tool in ${WRAPPER_TOOLS}; do - test -x ${D}$tool && create_wrapper ${D}$tool \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ - RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \ - MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ - RPM_NO_CHROOT_FOR_SCRIPTS=1 - done -} - -do_install_append_class-nativesdk() { - for tool in ${WRAPPER_TOOLS}; do - test -x ${D}$tool && create_wrapper ${D}$tool \ - RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir'), d.getVar('bindir'))}/rpm \ - RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir'), d.getVar('bindir'))}/..} \ - MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))}/misc/magic.mgc \ - RPM_NO_CHROOT_FOR_SCRIPTS=1 - done - - rm -rf ${D}/var - - mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-rpm.sh ${D}${SDKPATHNATIVE}/environment-setup.d/rpm.sh -} - -# Rpm's make install creates var/tmp which clashes with base-files packaging -do_install_append_class-target() { - rm -rf ${D}/var -} - -do_install_append () { - sed -i -e 's:${HOSTTOOLS_DIR}/::g' \ - ${D}/${libdir}/rpm/macros - - sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \ - ${D}${libdir}/rpm/pythondistdeps.py -} - -FILES_${PN} += "${libdir}/rpm-plugins/*.so \ - " -FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/rpm.sh" - -FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \ - " -PACKAGE_BEFORE_PN += "${PN}-build ${PN}-sign ${PN}-archive" - -RRECOMMENDS_${PN} += "rpm-build rpm-sign rpm-archive" - -FILES_${PN}-build = "\ - ${bindir}/rpmbuild \ - ${bindir}/gendiff \ - ${bindir}/rpmspec \ - ${libdir}/librpmbuild.so.* \ - ${libdir}/rpm/brp-* \ - ${libdir}/rpm/check-* \ - ${libdir}/rpm/debugedit \ - ${libdir}/rpm/sepdebugcrcfix \ - ${libdir}/rpm/find-debuginfo.sh \ - ${libdir}/rpm/find-lang.sh \ - ${libdir}/rpm/*provides* \ - ${libdir}/rpm/*requires* \ - ${libdir}/rpm/*deps* \ - ${libdir}/rpm/*.prov \ - ${libdir}/rpm/*.req \ - ${libdir}/rpm/config.* \ - ${libdir}/rpm/mkinstalldirs \ - ${libdir}/rpm/macros.p* \ - ${libdir}/rpm/fileattrs/* \ -" - -FILES_${PN}-sign = "\ - ${bindir}/rpmsign \ - ${libdir}/librpmsign.so.* \ -" - -FILES_${PN}-archive = "\ - ${bindir}/rpm2archive \ -" - -PACKAGES += "python3-rpm" -PROVIDES += "python3-rpm" -FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*" - -RDEPENDS_${PN}-build = "bash perl python3-core" - -PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess" - -# Do not specify a sysroot when compiling on a target. -rpm_package_preprocess () { - sed -i -e 's:--sysroot[^ ]*::g' \ - ${PKGD}/${libdir}/rpm/macros -} diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb new file mode 100644 index 000000000..7c03b41fc --- /dev/null +++ b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb @@ -0,0 +1,195 @@ +SUMMARY = "The RPM package management system" +DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \ +package management system capable of installing, uninstalling, \ +verifying, querying, and updating software packages. Each software \ +package consists of an archive of files along with information about \ +the package like its version, a description, etc." + +SUMMARY_${PN}-dev = "Development files for manipulating RPM packages" +DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \ +development files will simplify the process of writing programs that \ +manipulate RPM packages and databases. These files are intended to \ +simplify the process of creating graphical package managers or any \ +other tools that need an intimate knowledge of RPM packages in order \ +to function." + +SUMMARY_python3-rpm = "Python bindings for apps which will manupulate RPM packages" +DESCRIPTION_python3-rpm = "The python3-rpm package contains a module that permits applications \ +written in the Python programming language to use the interface \ +supplied by the RPM Package Manager libraries." + +HOMEPAGE = "http://www.rpm.org" + +# libraries are also LGPL - how to express this? +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=c4eec0c20c6034b9407a09945b48a43f" + +SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \ + file://environment.d-rpm.sh \ + file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \ + file://0001-Do-not-read-config-files-from-HOME.patch \ + file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \ + file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \ + file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \ + file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \ + file://0001-Fix-build-with-musl-C-library.patch \ + file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \ + file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \ + file://0001-perl-disable-auto-reqs.patch \ + file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \ + file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ + file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \ + file://0001-tools-Add-error.h-for-non-glibc-case.patch \ + " + +PE = "1" +SRCREV = "3659b8a04f5b8bacf6535e0124e7fe23f15286bd" + +S = "${WORKDIR}/git" + +DEPENDS = "libgcrypt db file popt xz bzip2 elfutils python3" +DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native" + +inherit autotools gettext pkgconfig python3native +export PYTHON_ABI + +AUTOTOOLS_AUXDIR = "${S}/build-aux" + +# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe +EXTRA_AUTORECONF_append = " --exclude=gnu-configize" + +EXTRA_OECONF_append = " --without-lua --enable-python --with-crypto=libgcrypt" +EXTRA_OECONF_append_libc-musl = " --disable-nls --disable-openmp" + +# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs +# --localstatedir prevents rpm from writing its database to native sysroot when building images +# Forcibly disable plugins for native/nativesdk, as the inhibit and prioreset +# plugins both behave badly inside builds. +EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins" +EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --disable-plugins" + +BBCLASSEXTEND = "native nativesdk" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'inhibit', '', d)}" +# The inhibit plugin serves no purpose outside of the target +PACKAGECONFIG_remove_class-native = "inhibit" +PACKAGECONFIG_remove_class-nativesdk = "inhibit" + +PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils" +PACKAGECONFIG[inhibit] = "--enable-inhibit-plugin,--disable-inhibit-plugin,dbus" +PACKAGECONFIG[rpm2archive] = "--with-archive,--without-archive,libarchive" + +ASNEEDED = "" + +# Direct rpm-native to read configuration from our sysroot, not the one it was compiled in +# libmagic also has sysroot path contamination, so override it + +WRAPPER_TOOLS = " \ + ${bindir}/rpm \ + ${bindir}/rpm2archive \ + ${bindir}/rpm2cpio \ + ${bindir}/rpmbuild \ + ${bindir}/rpmdb \ + ${bindir}/rpmgraph \ + ${bindir}/rpmkeys \ + ${bindir}/rpmsign \ + ${bindir}/rpmspec \ + ${libdir}/rpm/rpmdeps \ +" + +do_configure_prepend() { + mkdir -p ${S}/build-aux +} + +do_install_append_class-native() { + for tool in ${WRAPPER_TOOLS}; do + test -x ${D}$tool && create_wrapper ${D}$tool \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \ + MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ + RPM_NO_CHROOT_FOR_SCRIPTS=1 + done +} + +do_install_append_class-nativesdk() { + for tool in ${WRAPPER_TOOLS}; do + test -x ${D}$tool && create_wrapper ${D}$tool \ + RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir'), d.getVar('bindir'))}/rpm \ + RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir'), d.getVar('bindir'))}/..} \ + MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))}/misc/magic.mgc \ + RPM_NO_CHROOT_FOR_SCRIPTS=1 + done + + rm -rf ${D}/var + + mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-rpm.sh ${D}${SDKPATHNATIVE}/environment-setup.d/rpm.sh +} + +# Rpm's make install creates var/tmp which clashes with base-files packaging +do_install_append_class-target() { + rm -rf ${D}/var +} + +do_install_append () { + sed -i -e 's:${HOSTTOOLS_DIR}/::g' \ + ${D}/${libdir}/rpm/macros + + sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \ + ${D}${libdir}/rpm/pythondistdeps.py +} + +FILES_${PN} += "${libdir}/rpm-plugins/*.so \ + " +FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/rpm.sh" + +FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \ + " +PACKAGE_BEFORE_PN += "${PN}-build ${PN}-sign ${PN}-archive" + +RRECOMMENDS_${PN} += "rpm-build rpm-sign rpm-archive" + +FILES_${PN}-build = "\ + ${bindir}/rpmbuild \ + ${bindir}/gendiff \ + ${bindir}/rpmspec \ + ${libdir}/librpmbuild.so.* \ + ${libdir}/rpm/brp-* \ + ${libdir}/rpm/check-* \ + ${libdir}/rpm/debugedit \ + ${libdir}/rpm/sepdebugcrcfix \ + ${libdir}/rpm/find-debuginfo.sh \ + ${libdir}/rpm/find-lang.sh \ + ${libdir}/rpm/*provides* \ + ${libdir}/rpm/*requires* \ + ${libdir}/rpm/*deps* \ + ${libdir}/rpm/*.prov \ + ${libdir}/rpm/*.req \ + ${libdir}/rpm/config.* \ + ${libdir}/rpm/mkinstalldirs \ + ${libdir}/rpm/macros.p* \ + ${libdir}/rpm/fileattrs/* \ +" + +FILES_${PN}-sign = "\ + ${bindir}/rpmsign \ + ${libdir}/librpmsign.so.* \ +" + +FILES_${PN}-archive = "\ + ${bindir}/rpm2archive \ +" + +PACKAGES += "python3-rpm" +PROVIDES += "python3-rpm" +FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*" + +RDEPENDS_${PN}-build = "bash perl python3-core" + +PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess" + +# Do not specify a sysroot when compiling on a target. +rpm_package_preprocess () { + sed -i -e 's:--sysroot[^ ]*::g' \ + ${PKGD}/${libdir}/rpm/macros +} diff --git a/poky/meta/recipes-devtools/rsync/files/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-whe.patch b/poky/meta/recipes-devtools/rsync/files/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-whe.patch new file mode 100644 index 000000000..2d51ddf96 --- /dev/null +++ b/poky/meta/recipes-devtools/rsync/files/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-whe.patch @@ -0,0 +1,31 @@ +From fbe85634d88e82fbb439ae2a5d1aca8b8c309bea Mon Sep 17 00:00:00 2001 +From: Matt McCutchen +Date: Wed, 26 Aug 2020 12:16:08 -0400 +Subject: [PATCH] rsync-ssl: Verify the hostname in the certificate when using + openssl. + +CVE: CVE-2020-14387 + +Upstream-Status: Backport [https://git.samba.org/?p=rsync.git;a=commit;h=c3f7414] + +Signed-off-by: Chen Qi +--- + rsync-ssl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rsync-ssl b/rsync-ssl +index 8101975..46701af 100755 +--- a/rsync-ssl ++++ b/rsync-ssl +@@ -129,7 +129,7 @@ function rsync_ssl_helper { + fi + + if [[ $RSYNC_SSL_TYPE == openssl ]]; then +- exec $RSYNC_SSL_OPENSSL s_client $caopt $certopt -quiet -verify_quiet -servername $hostname -connect $hostname:$port ++ exec $RSYNC_SSL_OPENSSL s_client $caopt $certopt -quiet -verify_quiet -servername $hostname -verify_hostname $hostname -connect $hostname:$port + elif [[ $RSYNC_SSL_TYPE == gnutls ]]; then + exec $RSYNC_SSL_GNUTLS --logfile=/dev/null $gnutls_cert_opt $gnutls_opts $hostname:$port + else +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb b/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb index 8b36a8ebd..cb1866775 100644 --- a/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb +++ b/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb @@ -14,6 +14,7 @@ SRC_URI = "https://download.samba.org/pub/${BPN}/src/${BP}.tar.gz \ file://rsyncd.conf \ file://makefile-no-rebuild.patch \ file://determism.patch \ + file://0001-rsync-ssl-Verify-the-hostname-in-the-certificate-whe.patch \ " SRC_URI[sha256sum] = "becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e" diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.0.0.bb b/poky/meta/recipes-devtools/ruby/ruby_3.0.0.bb deleted file mode 100644 index 28e12c3cd..000000000 --- a/poky/meta/recipes-devtools/ruby/ruby_3.0.0.bb +++ /dev/null @@ -1,98 +0,0 @@ -require ruby.inc - -DEPENDS_append_libc-musl = " libucontext" - -SRC_URI += " \ - file://remove_has_include_macros.patch \ - file://run-ptest \ - file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \ - " - -SRC_URI[sha256sum] = "a13ed141a1c18eb967aac1e33f4d6ad5f21be1ac543c344e0d6feeee54af8e28" - -PACKAGECONFIG ??= "" -PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" - -PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" -PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp" -PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," - -EXTRA_OECONF = "\ - --disable-versioned-paths \ - --disable-rpath \ - --disable-dtrace \ - --enable-shared \ - --enable-load-relative \ - --with-pkg-config=pkg-config \ -" - -EXTRA_OECONF_append_libc-musl = "\ - LIBS='-lucontext' \ - ac_cv_func_isnan=yes \ - ac_cv_func_isinf=yes \ -" - -EXTRA_OECONF_append_libc-musl_riscv64 = "\ - --with-coroutine=copy \ -" -EXTRA_OECONF_append_libc-musl_riscv32 = "\ - --with-coroutine=copy \ -" - -do_install() { - oe_runmake 'DESTDIR=${D}' install -} - -do_install_append_class-target () { - # Find out rbconfig.rb from .installed.list - rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list` - # Remove build host directories - sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \ - -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${RECIPE_SYSROOT}::g' \ - -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ - ${D}$rbconfig_rb -} - -do_install_ptest () { - cp -rf ${S}/test ${D}${PTEST_PATH}/ - - install -D ${S}/tool/test/runner.rb ${D}${PTEST_PATH}/tool/test/runner.rb - cp -r ${S}/tool/lib ${D}${PTEST_PATH}/tool/ - mkdir -p ${D}${PTEST_PATH}/lib - cp -r ${S}/lib/did_you_mean ${S}/lib/rdoc ${D}${PTEST_PATH}/lib - - # install test-binaries - find $(find ./.ext -path '*/-test-') -name '*.so' -print0 \ - | tar --no-recursion --null -T - --no-same-owner --preserve-permissions -cf - \ - | tar -C ${D}${libdir}/ruby/${SHRT_VER}.0/ --no-same-owner --preserve-permissions --strip-components=2 -xf - - # adjust path to not assume build directory layout - sed -e 's|File.expand_path(.*\.\./bin/erb[^)]*|File.expand_path("${bindir}/erb"|g' \ - -i ${D}${PTEST_PATH}/test/erb/test_erb_command.rb - - cp -r ${S}/include ${D}/${libdir}/ruby/ - test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list` - sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb -} - -PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc" - -SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library" -RDEPENDS_${PN}-ri-docs = "${PN}" -FILES_${PN}-ri-docs += "${datadir}/ri" - -SUMMARY_${PN}-rdoc = "RDoc documentation generator from Ruby source" -RDEPENDS_${PN}-rdoc = "${PN}" -FILES_${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc" - -FILES_${PN} += "${datadir}/rubygems" - -FILES_${PN}-ptest_append_class-target = "\ - ${libdir}/ruby/include \ - ${libdir}/ruby/${SHRT_VER}.0/*/-test- \ -" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.0.1.bb b/poky/meta/recipes-devtools/ruby/ruby_3.0.1.bb new file mode 100644 index 000000000..944cb81c1 --- /dev/null +++ b/poky/meta/recipes-devtools/ruby/ruby_3.0.1.bb @@ -0,0 +1,98 @@ +require ruby.inc + +DEPENDS_append_libc-musl = " libucontext" + +SRC_URI += " \ + file://remove_has_include_macros.patch \ + file://run-ptest \ + file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \ + " + +SRC_URI[sha256sum] = "369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727" + +PACKAGECONFIG ??= "" +PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" + +PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" +PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp" +PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," + +EXTRA_OECONF = "\ + --disable-versioned-paths \ + --disable-rpath \ + --disable-dtrace \ + --enable-shared \ + --enable-load-relative \ + --with-pkg-config=pkg-config \ +" + +EXTRA_OECONF_append_libc-musl = "\ + LIBS='-lucontext' \ + ac_cv_func_isnan=yes \ + ac_cv_func_isinf=yes \ +" + +EXTRA_OECONF_append_libc-musl_riscv64 = "\ + --with-coroutine=copy \ +" +EXTRA_OECONF_append_libc-musl_riscv32 = "\ + --with-coroutine=copy \ +" + +do_install() { + oe_runmake 'DESTDIR=${D}' install +} + +do_install_append_class-target () { + # Find out rbconfig.rb from .installed.list + rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list` + # Remove build host directories + sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \ + -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + -e 's:${RECIPE_SYSROOT}::g' \ + -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ + ${D}$rbconfig_rb +} + +do_install_ptest () { + cp -rf ${S}/test ${D}${PTEST_PATH}/ + + install -D ${S}/tool/test/runner.rb ${D}${PTEST_PATH}/tool/test/runner.rb + cp -r ${S}/tool/lib ${D}${PTEST_PATH}/tool/ + mkdir -p ${D}${PTEST_PATH}/lib + cp -r ${S}/lib/did_you_mean ${S}/lib/rdoc ${D}${PTEST_PATH}/lib + + # install test-binaries + find $(find ./.ext -path '*/-test-') -name '*.so' -print0 \ + | tar --no-recursion --null -T - --no-same-owner --preserve-permissions -cf - \ + | tar -C ${D}${libdir}/ruby/${SHRT_VER}.0/ --no-same-owner --preserve-permissions --strip-components=2 -xf - + # adjust path to not assume build directory layout + sed -e 's|File.expand_path(.*\.\./bin/erb[^)]*|File.expand_path("${bindir}/erb"|g' \ + -i ${D}${PTEST_PATH}/test/erb/test_erb_command.rb + + cp -r ${S}/include ${D}/${libdir}/ruby/ + test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list` + sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb +} + +PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc" + +SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library" +RDEPENDS_${PN}-ri-docs = "${PN}" +FILES_${PN}-ri-docs += "${datadir}/ri" + +SUMMARY_${PN}-rdoc = "RDoc documentation generator from Ruby source" +RDEPENDS_${PN}-rdoc = "${PN}" +FILES_${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc" + +FILES_${PN} += "${datadir}/rubygems" + +FILES_${PN}-ptest_append_class-target = "\ + ${libdir}/ruby/include \ + ${libdir}/ruby/${SHRT_VER}.0/*/-test- \ +" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/strace/strace_5.11.bb b/poky/meta/recipes-devtools/strace/strace_5.11.bb deleted file mode 100644 index f6a91df1d..000000000 --- a/poky/meta/recipes-devtools/strace/strace_5.11.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "System call tracing tool" -HOMEPAGE = "http://strace.io" -DESCRIPTION = "strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state." -SECTION = "console/utils" -LICENSE = "LGPL-2.1+ & GPL-2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=318cfc887fc8723f4e9d4709b55e065b" - -SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ - file://update-gawk-paths.patch \ - file://Makefile-ptest.patch \ - file://run-ptest \ - file://mips-SIGEMT.patch \ - file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ - file://ptest-spacesave.patch \ - file://uintptr_t.patch \ - file://0001-strace-fix-reproducibilty-issues.patch \ - " -SRC_URI[sha256sum] = "ffe340b10c145a0f85734271e9cce56457d23f21a7ea5931ab32f8cf4e793879" - -inherit autotools ptest - -PACKAGECONFIG_class-target ??= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ -" - -PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5" -PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" - -EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror" - -CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext" - -TESTDIR = "tests" -PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)" - -do_compile_ptest() { - oe_runmake ${PARALLEL_MAKE} -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} - mkdir -p ${D}${PTEST_PATH}/build-aux - mkdir -p ${D}${PTEST_PATH}/src - install -m 755 ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ - install -m 644 ${B}/src/config.h ${D}${PTEST_PATH}/src/ - sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile -} - -RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed" - -RDEPENDS_${PN}-ptest_append_libc-glibc = "\ - locale-base-en-us.iso-8859-1 \ -" - -BBCLASSEXTEND = "native" -TOOLCHAIN = "gcc" diff --git a/poky/meta/recipes-devtools/strace/strace_5.12.bb b/poky/meta/recipes-devtools/strace/strace_5.12.bb new file mode 100644 index 000000000..6a8996535 --- /dev/null +++ b/poky/meta/recipes-devtools/strace/strace_5.12.bb @@ -0,0 +1,56 @@ +SUMMARY = "System call tracing tool" +HOMEPAGE = "http://strace.io" +DESCRIPTION = "strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state." +SECTION = "console/utils" +LICENSE = "LGPL-2.1+ & GPL-2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=318cfc887fc8723f4e9d4709b55e065b" + +SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ + file://update-gawk-paths.patch \ + file://Makefile-ptest.patch \ + file://run-ptest \ + file://mips-SIGEMT.patch \ + file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ + file://ptest-spacesave.patch \ + file://uintptr_t.patch \ + file://0001-strace-fix-reproducibilty-issues.patch \ + " +SRC_URI[sha256sum] = "29171edf9d252f89c988a4c340dfdec662f458cb8c63d85431d64bab5911e7c4" + +inherit autotools ptest + +PACKAGECONFIG_class-target ??= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ +" + +PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5" +PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" + +EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror" + +CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext" + +TESTDIR = "tests" +PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)" + +do_compile_ptest() { + oe_runmake ${PARALLEL_MAKE} -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} + mkdir -p ${D}${PTEST_PATH}/build-aux + mkdir -p ${D}${PTEST_PATH}/src + install -m 755 ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ + install -m 644 ${B}/src/config.h ${D}${PTEST_PATH}/src/ + sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile +} + +RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed" + +RDEPENDS_${PN}-ptest_append_libc-glibc = "\ + locale-base-en-us.iso-8859-1 \ +" + +BBCLASSEXTEND = "native" +TOOLCHAIN = "gcc" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Add-missing-musl.supp.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Add-missing-musl.supp.patch new file mode 100644 index 000000000..2a73f7e81 --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Add-missing-musl.supp.patch @@ -0,0 +1,72 @@ +From 61bc8664f93cd980831c9da4a3e8a385b089a0ab Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu +Date: Tue, 23 Mar 2021 09:32:22 -0700 +Subject: [PATCH] Add missing musl.supp + +3.17 did not ship musl.supp in the tarball. + +This is a workaround until next release. + +Upstream-Status: Backport [dde556d51f8226a6de564a00bf82536bb7042c54] + +Signed-off-by: Yi Fan Yu +--- + musl.supp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + create mode 100644 musl.supp + +diff --git a/musl.supp b/musl.supp +new file mode 100644 +index 000000000..864172a24 +--- /dev/null ++++ b/musl.supp +@@ -0,0 +1,46 @@ ++# Suppressions for musl libc ++# See: https://www.openwall.com/lists/musl/2017/06/15/4 ++ ++{ ++ musl-dynlink-false-positive1 ++ Memcheck:Leak ++ fun:calloc ++ fun:load_direct_deps ++ fun:load_deps ++ fun:load_deps ++ fun:__dls3 ++ fun:__dls2b ++ fun:__dls2 ++} ++ ++{ ++ musl-dynlink-false-positive2 ++ Memcheck:Leak ++ fun:calloc ++ fun:load_direct_deps ++ fun:load_deps ++ fun:load_deps ++ fun:__dls3 ++ fun:__dls2 ++} ++ ++{ ++ musl-dynlink-false-positive3 ++ Memcheck:Leak ++ fun:calloc ++ fun:load_library ++ fun:load_preload ++ fun:__dls3 ++ fun:__dls2b ++ fun:__dls2 ++} ++ ++{ ++ musl-dynlink-false-positive4 ++ Memcheck:Leak ++ fun:calloc ++ fun:load_library ++ fun:load_preload ++ fun:__dls3 ++ fun:__dls2 ++} +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch deleted file mode 100644 index 98cbcd132..000000000 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch +++ /dev/null @@ -1,200 +0,0 @@ -From 83c24e31df6932a6d4fced179050c6d8d8c6f3b5 Mon Sep 17 00:00:00 2001 -From: Philippe Waroquiers -Date: Sun, 7 Mar 2021 22:29:27 +0100 -Subject: [PATCH] Fix nlcontrolc.vgtest hanging on newer glibc and/or arm64 - -This test verifies that GDB can interrupt a process with all threads -blocked in a long select syscall. -The test used to terminate by having GDB modifying the select argument. -However, modifying the select argument works only for specific arch -and/or specific versions of glibc. -The test then blocks on other architectures/glibc versions. - -The previous version of the test was: - * first launching sleepers so as to have all threads blocked in long select - * interrupting these threads - * changing the select time arg so that the threads burn cpu - * and then change variables to have the program exit. - -The new version does: - * first launches sleepers so that all threads are burning cpu. - * interrupting these threads - * change the local variables of sleepers so that the threads will - block in a long select syscall - * interrupt these threads - * kill the program. - -With this new version, we still check the behaviour of gdb+vgdbserver -for both burning and sleep threads, but without having the termination -depending on modifying select syscall argument. - -Tested on debian amd64 and on ubuntu arm64 (to check the test does not hang -on an arm64 platform). - -Upstream-Status: Backport - -From commit on master: -c79180a3afcf65902e578646c3b716cc749db406 - -Signed-off-by: Yi Fan Yu ---- - gdbserver_tests/nlcontrolc.stderr.exp | 4 +- - gdbserver_tests/nlcontrolc.stdinB.gdb | 57 +++++++++++++++----------- - gdbserver_tests/nlcontrolc.stdoutB.exp | 25 ++++++----- - gdbserver_tests/nlcontrolc.vgtest | 12 +++--- - 4 files changed, 56 insertions(+), 42 deletions(-) - -diff --git a/gdbserver_tests/nlcontrolc.stderr.exp b/gdbserver_tests/nlcontrolc.stderr.exp -index ac75bb3da..b63a9a988 100644 ---- a/gdbserver_tests/nlcontrolc.stderr.exp -+++ b/gdbserver_tests/nlcontrolc.stderr.exp -@@ -3,9 +3,9 @@ Nulgrind, the minimal Valgrind tool - (action at startup) vgdb me ... - - --loops/sleep_ms/burn/threads_spec/affinity: 1000000000 1000000000 1000000000 BSBSBSBS 1 -+loops/sleep_ms/burn/threads_spec/affinity: 1000000000 0 100000 BSBSBSBS 1 - Brussels ready to sleep and/or burn - London ready to sleep and/or burn - Petaouchnok ready to sleep and/or burn - main ready to sleep and/or burn -- -+Gdb request to kill this process -diff --git a/gdbserver_tests/nlcontrolc.stdinB.gdb b/gdbserver_tests/nlcontrolc.stdinB.gdb -index 667ece18d..ea4fcd530 100644 ---- a/gdbserver_tests/nlcontrolc.stdinB.gdb -+++ b/gdbserver_tests/nlcontrolc.stdinB.gdb -@@ -9,32 +9,43 @@ shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep main nl - # - continue - # --# Here, all tasks should be blocked in a loooonnnng select, all in WaitSys --info threads --# We will unblock them by changing their timeout argument --# To avoid going into the frame where the timeval arg is, --# it has been defined as global variables, as the nr --# of calls on the stack differs between 32bits and 64bits, --# and/or between OS. --# ensure select finishes in a few milliseconds max: --p t[0].tv_sec = 0 --p t[1].tv_sec = 0 --p t[2].tv_sec = 0 --p t[3].tv_sec = 0 --# --# We will change the burning parameters in a few seconds -+# Threads are burning cpu now -+# We would like to fully test info threads here, but which thread are Runnable -+# or Yielding is unpredictable. With a recent enough gdb, check the nr of -+# threads by state using pipe commands and grep/wc. -+init-if-undefined $_gdb_major = 0 -+init-if-undefined $_gdb_minor = 0 -+if $_gdb_major >= 9 -+ | info threads | grep VgTs_Runnable | wc -l -+ | info threads | grep VgTs_Yielding | wc -l -+else -+ echo 1\n -+ echo 3\n -+end -+# We change the variables so that all the threads are blocked in a syscall -+p burn = 0 -+p sleepms = 1000000 -+# -+# - shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep changed nlcontrolc.stdoutB.out - # --echo changed burning parameters\n -+echo changed burning parameters to sleeping parameters\n - continue -+# Here, all tasks should be blocked in a loooonnnng select, all in WaitSys -+info threads -+# We reset the sleepms to 0. The threads should still be blocked in the syscall -+p sleepms = 0 -+shell ./simulate_control_c --vgdb-prefix=./vgdb-prefix-nlcontrolc 1 grep reset nlcontrolc.stdoutB.out - # --# Threads are burning cpu now --# We would like to test info threads here, but which thread are Runnable or Yielding --# is unpredictable. --# info threads --p burn = 0 --p loops = 0 --p report_finished = 0 -+echo reset to sleeping parameters\n - continue --# and the process should stop very quickly now -+# threads should still be blocked in a loooonnnng select, all in WaitSys -+info threads -+if $_gdb_major >= 9 -+ | info threads | grep VgTs_WaitSys | wc -l -+else -+ echo 4\n -+end -+# Make the process die. -+kill - quit -diff --git a/gdbserver_tests/nlcontrolc.stdoutB.exp b/gdbserver_tests/nlcontrolc.stdoutB.exp -index e8a5ff8ba..2e8dc8498 100644 ---- a/gdbserver_tests/nlcontrolc.stdoutB.exp -+++ b/gdbserver_tests/nlcontrolc.stdoutB.exp -@@ -1,18 +1,21 @@ - Continuing. - Program received signal SIGTRAP, Trace/breakpoint trap. -+do_burn () at sleepers.c:41 -+41 for (i = 0; i < burn; i++) loopnr++; -+ > > > > > >1 -+3 -+$1 = 0 -+$2 = 1000000 -+changed burning parameters to sleeping parameters -+Continuing. -+Program received signal SIGTRAP, Trace/breakpoint trap. - 0x........ in syscall ... - * 1 Thread .... (tid 1 VgTs_WaitSys) 0x........ in syscall ... --$1 = 0 --$2 = 0 - $3 = 0 --$4 = 0 --changed burning parameters -+reset to sleeping parameters - Continuing. - Program received signal SIGTRAP, Trace/breakpoint trap. --do_burn () at sleepers.c:41 --41 for (i = 0; i < burn; i++) loopnr++; --$5 = 0 --$6 = 0 --$7 = 0 --Continuing. --Program exited normally. -+0x........ in syscall ... -+* 1 Thread .... (tid 1 VgTs_WaitSys) 0x........ in syscall ... -+ > > > >4 -+Kill the program being debugged? (y or n) [answered Y; input not from terminal] -diff --git a/gdbserver_tests/nlcontrolc.vgtest b/gdbserver_tests/nlcontrolc.vgtest -index bb5308403..09edfcaba 100644 ---- a/gdbserver_tests/nlcontrolc.vgtest -+++ b/gdbserver_tests/nlcontrolc.vgtest -@@ -4,16 +4,16 @@ - # and modify some variables - # the user can control-c an process with all threads in Running/Yielding - # and modify some variables --# sleepers is started with argument so that it will compute during ages. --# The variable modifications means it will exit in a reasonable time. --# This test is disabled on Solaris because modifying select/poll/ppoll timeout --# has no effect if a thread is already blocked in that syscall. -+# sleepers is started so that it burns CPU. -+# We then interrupt the process. -+# We modify variables so that instead of burning cpu, sleepers blocks -+# all threads in a select syscall. - prog: sleepers --args: 1000000000 1000000000 1000000000 BSBSBSBS 1 -+args: 1000000000 0 100000 BSBSBSBS 1 - vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlcontrolc - stderr_filter: filter_stderr - # Bug 338633 nlcontrol hangs on arm64 currently. --prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/arch_test arm64 && ! ../tests/os_test solaris -+prereq: test -e gdb -a -f vgdb.invoker && ! ../tests/os_test solaris - progB: gdb - argsB: --quiet -l 60 --nx ./sleepers - stdinB: nlcontrolc.stdinB.gdb --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch deleted file mode 100644 index 37f6ea667..000000000 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-Port-to-Fedora-33.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 15330adf7c2471fbaa6a0818db07078d81dbff97 Mon Sep 17 00:00:00 2001 -From: Bart Van Assche -Date: Sat, 19 Sep 2020 08:08:59 -0700 -Subject: [PATCH] drd: Port to Fedora 33 - -Apparently on Fedora 33 the POSIX thread functions exist in both libc and -libpthread. Hence this patch that intercepts the pthread functions in -libc. See also https://bugs.kde.org/show_bug.cgi?id=426144 . - -Signed-off-by: Bart Van Assche - -This patch was imported from the valgrind sourceware server -(https://sourceware.org/git/?p=valgrind.git;a=commit;h=15330adf7c2471fbaa6a0818db07078d81dbff97) -It was modified to remove the changes to the valgrind NEWS file, -as these are difficult to maintain and don't impact the valgrind -code itself. - -Upstream-Status: Backport - -Signed-off-by: Stacy Gaikovaia ---- - drd/drd_pthread_intercepts.c | 9 +++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/drd/drd_pthread_intercepts.c b/drd/drd_pthread_intercepts.c -index 58c45aaec..c2882e5ab 100644 ---- a/drd/drd_pthread_intercepts.c -+++ b/drd/drd_pthread_intercepts.c -@@ -174,7 +174,16 @@ static int never_true; - ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ - { return implf argl; } - #else -+/* -+ * On Linux, intercept both the libc and the libpthread functions. At -+ * least glibc 2.32.9000 (Fedora 34) has an implementation of all pthread -+ * functions in both libc and libpthread. Older glibc versions only have an -+ * implementation of the pthread functions in libpthread. -+ */ - #define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ -+ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl; \ -+ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ -+ { return implf argl; } \ - ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ - ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ - { return implf argl; } --- -2.25.1 - diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch deleted file mode 100644 index e96bf3c61..000000000 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-musl-fix.patch +++ /dev/null @@ -1,31 +0,0 @@ -The changes in 0001-drd-Port-to-Fedora-33.patch break builds on musl. These -need a __GLIBC__ guard to ensure musl builds continue to work. - -Upstream-Status: Pending -Signed-off-by: Richard Purdie - -Index: valgrind-3.16.1/drd/drd_pthread_intercepts.c -=================================================================== ---- valgrind-3.16.1.orig/drd/drd_pthread_intercepts.c -+++ valgrind-3.16.1/drd/drd_pthread_intercepts.c -@@ -180,6 +180,7 @@ static int never_true; - * functions in both libc and libpthread. Older glibc versions only have an - * implementation of the pthread functions in libpthread. - */ -+#ifdef __GLIBC__ - #define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ - ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl; \ - ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBC_SONAME,zf) argl_decl \ -@@ -187,6 +188,12 @@ static int never_true; - ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ - ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ - { return implf argl; } -+#else -+#define PTH_FUNC(ret_ty, zf, implf, argl_decl, argl) \ -+ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl; \ -+ ret_ty VG_WRAP_FUNCTION_ZZ(VG_Z_LIBPTHREAD_SONAME,zf) argl_decl \ -+ { return implf argl; } -+#endif - #endif - - /** diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-tests-swapcontext-Add-SIGALRM-handler-to-avoid-s.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-tests-swapcontext-Add-SIGALRM-handler-to-avoid-s.patch new file mode 100644 index 000000000..371c1701d --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-drd-tests-swapcontext-Add-SIGALRM-handler-to-avoid-s.patch @@ -0,0 +1,65 @@ +From 4c8c4a9c3a92300e3e6500e5a278ca37514a1fdb Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu +Date: Thu, 1 Apr 2021 15:31:47 -0400 +Subject: [PATCH] drd/tests/swapcontext: Add SIGALRM handler to avoid + stacktrace + +During testing for oe-core build on QEMU, +SIGALRM can trigger during nanosleep. +This results a different stderr output than expected. + +``` +==277== Process terminating with default action of signal 14 (SIGALRM) +==277== at 0x36C74C3943: clock_nanosleep@@GLIBC_2.17 (clock_nanosleep.c:43) +==277== by 0x36C74C8726: nanosleep (nanosleep.c:25) +``` + +This stacktrace printing will not occur +if we add a handler that simply exits. + +https://bugs.kde.org/show_bug.cgi?id=435160 + +Signed-off-by: Yi Fan Yu +--- + drd/tests/swapcontext.c | 5 +++++ + drd/tests/swapcontext.stderr.exp | 4 ---- + 2 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/drd/tests/swapcontext.c b/drd/tests/swapcontext.c +index 622c70bc5..2cb969a5e 100644 +--- a/drd/tests/swapcontext.c ++++ b/drd/tests/swapcontext.c +@@ -25,6 +25,10 @@ typedef struct thread_local { + size_t nrsw; + } thread_local_t; + ++static void sig_alrm_handler(int signo) { ++ _exit(1); ++} ++ + static void f(void *data, int n) + { + enum { NR_SWITCHES = 200000 }; +@@ -76,6 +80,7 @@ int main(int argc, char *argv[]) + pthread_attr_t attr; + int i, res; + ++ signal(SIGALRM, sig_alrm_handler); + memset(tlocal, 0, sizeof(tlocal)); + + pthread_attr_init(&attr); +diff --git a/drd/tests/swapcontext.stderr.exp b/drd/tests/swapcontext.stderr.exp +index fcb5d5ed4..d18786f80 100644 +--- a/drd/tests/swapcontext.stderr.exp ++++ b/drd/tests/swapcontext.stderr.exp +@@ -1,7 +1,3 @@ + + +-Process terminating with default action of signal 14 (SIGALRM) +- at 0x........: swapcontext (in /...libc...) +- by 0x........: f (swapcontext.c:?) +- + ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch deleted file mode 100644 index f66df3d2d..000000000 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-helgrind-Intercept-libc-functions.patch +++ /dev/null @@ -1,54 +0,0 @@ -From cdec010444df5a4328e90d07a2024fdeefcc74b5 Mon Sep 17 00:00:00 2001 -From: Paul Floyd -Date: Wed, 18 Nov 2020 12:49:20 -0400 -Subject: [PATCH] helgrind: Intercept libc functions - -PTH_FUNC definition needs to be modified in order to -intercept posix thread functions in both libc and -libpthread. In order to handle this in helgrind, weak alias -the pthread functions in glibc. - -Upstream-Status: Submitted - -Signed-off-by: Paul Floyd -Signed-off-by: Stacy Gaikovaia ---- - helgrind/hg_intercepts.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c -index a10c3a4a3..316140ca6 100644 ---- a/helgrind/hg_intercepts.c -+++ b/helgrind/hg_intercepts.c -@@ -77,6 +77,11 @@ - /*--- ---*/ - /*----------------------------------------------------------------*/ - -+#define hg_expand(tok) #tok -+#define hg_str(tok) hg_expand(tok) -+# define hg_weak_alias(name, aliasname) \ -+ extern __typeof (name) aliasname __attribute__ ((weak, alias(hg_str(name)))) -+ - #if defined(VGO_solaris) - /* On Solaris, libpthread is just a filter library on top of libc. - * Threading and synchronization functions in runtime linker are not -@@ -91,9 +96,16 @@ - #define CREQ_PTHREAD_T Word - #define SEM_ERROR ret - #else -+#ifdef MUSL_LIBC -+#define PTH_FUNC(ret_ty, f, args...) \ -+ ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args); \ -+ ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args) -+#else - #define PTH_FUNC(ret_ty, f, args...) \ - ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args); \ -+ hg_weak_alias(I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f), I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBC_SONAME,f)); \ - ret_ty I_WRAP_SONAME_FNNAME_ZZ(VG_Z_LIBPTHREAD_SONAME,f)(args) -+#endif - #define CREQ_PTHREAD_T pthread_t - #define SEM_ERROR errno - #endif /* VGO_solaris */ --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch deleted file mode 100644 index 7c6214497..000000000 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 0748ed5403a75c12ad9137b3fabf9d8397206ed8 Mon Sep 17 00:00:00 2001 -From: Mark Wielaard -Date: Tue, 1 Dec 2020 13:57:39 +0100 -Subject: [PATCH] lmw, lswi and related PowerPC insns aren't allowed on ppc64le - -lmw, lswi and related PowerPC insns aren't allowed on ppc64le - -Newer binutils produce an error when the assembly contains lmw, stmw, -lswi, lswx, stswi, or stswx instructions in little-endian mode. - -Only build and run the lsw and ldst_multiple testcases on ppc64[be]. - -https://bugs.kde.org/show_bug.cgi?id=427870 -Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=74b74174d572fee4015b8f4e326db3cd949bcdc3] -Signed-off-by: Khem Raj ---- - none/tests/ppc64/Makefile.am | 9 ++++++--- - none/tests/ppc64/ldst_multiple.vgtest | 1 + - 2 files changed, 7 insertions(+), 3 deletions(-) - -diff --git a/none/tests/ppc64/Makefile.am b/none/tests/ppc64/Makefile.am -index 9bc0d0a..9d1e8b7 100644 ---- a/none/tests/ppc64/Makefile.am -+++ b/none/tests/ppc64/Makefile.am -@@ -54,16 +54,20 @@ EXTRA_DIST = \ - - check_PROGRAMS = \ - allexec \ -- lsw jm-insns round \ -+ jm-insns round \ - test_isa_2_06_part1 test_isa_2_06_part2 test_isa_2_06_part3 \ - test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5 \ - test_isa_2_07_part1 test_isa_2_07_part2 \ - test_isa_3_0 \ - subnormal_test \ -- test_tm test_touch_tm ldst_multiple data-cache-instructions \ -+ test_tm test_touch_tm data-cache-instructions \ - power6_mf_gpr std_reg_imm \ - twi_tdi tw_td power6_bcmp - -+# lmw, stmw, lswi, lswx, stswi, stswx compile (and run) only on big endian. -+if VGCONF_PLATFORMS_INCLUDE_PPC64BE_LINUX -+check_PROGRAMS += lsw ldst_multiple -+endif - - AM_CFLAGS += @FLAG_M64@ - AM_CXXFLAGS += @FLAG_M64@ -@@ -175,4 +179,3 @@ test_isa_2_07_part2_LDADD = -lm - test_tm_LDADD = -lm - test_touch_tm_LDADD = -lm - test_isa_3_0_LDADD = -lm -- -diff --git a/none/tests/ppc64/ldst_multiple.vgtest b/none/tests/ppc64/ldst_multiple.vgtest -index 87e668e..22dd46c 100644 ---- a/none/tests/ppc64/ldst_multiple.vgtest -+++ b/none/tests/ppc64/ldst_multiple.vgtest -@@ -1 +1,2 @@ -+prereq: ../../../tests/is_ppc64_BE - prog: ldst_multiple --- -2.31.0 - diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch index d641998d7..e421ac6c8 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch @@ -19,7 +19,7 @@ index 6e5a797b9..0ede1ab18 100644 @@ -25,10 +25,10 @@ Open file descriptor ...: /dev/null - FILE DESCRIPTORS: 6 open at exit. + FILE DESCRIPTORS: 6 open (3 std) at exit. -Open file descriptor ...: /tmp/data2 +Open file descriptor ...: ... ... diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch index 480fe3324..7f0e38cb9 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch +++ b/poky/meta/recipes-devtools/valgrind/valgrind/0002-context-APIs-are-not-available-on-musl.patch @@ -1,18 +1,58 @@ -From bd4e926e7e14747b3cd4d7b2a1bd5410b22f3ea2 Mon Sep 17 00:00:00 2001 +From 26c104adf6c5162572b7aa2fac89d0835b7f8f0b Mon Sep 17 00:00:00 2001 From: Randy MacLeod Date: Tue, 16 Oct 2018 21:27:46 -0400 Subject: [PATCH] context APIs are not available on musl -Upstream-Status: Pending - Updated patch for valgrind-3.14 Signed-off-by: Khem Raj Signed-off-by: Randy MacLeod + +Apply same patch to drd/tests/swapcontext.c +for valgrind-3.17. + +Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=434775] + +Signed-off-by: Yi Fan Yu --- + drd/tests/swapcontext.c | 6 ++++++ memcheck/tests/linux/stack_changes.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) + 2 files changed, 12 insertions(+), 1 deletion(-) +diff --git a/drd/tests/swapcontext.c b/drd/tests/swapcontext.c +index 622c70bc5..5e72bb0f3 100644 +--- a/drd/tests/swapcontext.c ++++ b/drd/tests/swapcontext.c +@@ -20,6 +20,7 @@ + + #define STACKSIZE (PTHREAD_STACK_MIN + 4096) + ++#ifdef __GLIBC__ + typedef struct thread_local { + ucontext_t uc[3]; + size_t nrsw; +@@ -67,9 +68,11 @@ void *worker(void *data) + swapcontext(&tlocal->uc[0], &tlocal->uc[1]); + return NULL; + } ++#endif + + int main(int argc, char *argv[]) + { ++#ifdef __GLIBC__ + enum { NR = 32 }; + thread_local_t tlocal[NR]; + pthread_t thread[NR]; +@@ -94,6 +97,9 @@ int main(int argc, char *argv[]) + + for (i = 0; i < NR; i++) + pthread_join(thread[i], NULL); ++#else ++ printf("libc context call APIs e.g. getcontext() are deprecated by posix\n"); ++#endif + + return 0; + } diff --git a/memcheck/tests/linux/stack_changes.c b/memcheck/tests/linux/stack_changes.c index 7f97b90a5..a26cb4ae6 100644 --- a/memcheck/tests/linux/stack_changes.c @@ -48,5 +88,5 @@ index 7f97b90a5..a26cb4ae6 100644 return 0; } -- -2.17.0 +2.17.1 diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch b/poky/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch index b431d3356..db6867f62 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch +++ b/poky/meta/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch @@ -1,4 +1,4 @@ -From 67e7a690107efb16d6d5aebfe420b64a552accdf Mon Sep 17 00:00:00 2001 +From d85cc45e0ddeda68adf594dead715964cb32d0e7 Mon Sep 17 00:00:00 2001 From: Qing He Date: Tue, 31 Aug 2010 22:51:58 +0800 Subject: [PATCH] valgrind: fix perl scripts @@ -22,10 +22,11 @@ Signed-off-by: Maxin B. John cachegrind/cg_diff.in | 2 +- massif/ms_print.in | 2 +- perf/vg_perf.in | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) + tests/vg_regtest.in | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in -index 69365e8..978265d 100644 +index fea114b..5e814fd 100644 --- a/cachegrind/cg_annotate.in +++ b/cachegrind/cg_annotate.in @@ -1,4 +1,4 @@ @@ -35,7 +36,7 @@ index 69365e8..978265d 100644 ##--------------------------------------------------------------------## ##--- Cachegrind's annotator. cg_annotate.in ---## diff --git a/cachegrind/cg_diff.in b/cachegrind/cg_diff.in -index 395460b..05873cc 100755 +index 9d9258e..d0f0ec7 100755 --- a/cachegrind/cg_diff.in +++ b/cachegrind/cg_diff.in @@ -1,4 +1,4 @@ @@ -45,7 +46,7 @@ index 395460b..05873cc 100755 ##--------------------------------------------------------------------## ##--- Cachegrind's differencer. cg_diff.in ---## diff --git a/massif/ms_print.in b/massif/ms_print.in -index e6fae89..3b85b40 100755 +index a206ce4..df1bc31 100755 --- a/massif/ms_print.in +++ b/massif/ms_print.in @@ -1,4 +1,4 @@ @@ -55,7 +56,7 @@ index e6fae89..3b85b40 100755 ##--------------------------------------------------------------------## ##--- Massif's results printer ms_print.in ---## diff --git a/perf/vg_perf.in b/perf/vg_perf.in -index 7a80cb0..28f6156 100644 +index 90ee1d2..c585096 100644 --- a/perf/vg_perf.in +++ b/perf/vg_perf.in @@ -1,4 +1,4 @@ @@ -65,7 +66,7 @@ index 7a80cb0..28f6156 100644 ##--- Valgrind performance testing script vg_perf ---## ##--------------------------------------------------------------------## diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in -index cb05b52..032e947 100755 +index 0fe6341..1b45eb7 100755 --- a/tests/vg_regtest.in +++ b/tests/vg_regtest.in @@ -1,4 +1,4 @@ @@ -74,5 +75,6 @@ index cb05b52..032e947 100755 ##--------------------------------------------------------------------## ##--- Valgrind regression testing script vg_regtest ---## ##--------------------------------------------------------------------## ---- -2.4.0 +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 index 93bfd45a4..a3a0c6e50 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 +++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 @@ -31,6 +31,8 @@ drd/tests/annotate_static drd/tests/annotate_trace_memory drd/tests/annotate_trace_memory_xml drd/tests/atomic_var +drd/tests/bar_bad +drd/tests/bar_bad_xml drd/tests/bar_trivial drd/tests/bug-235681 drd/tests/bug322621 diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all index d6a85c473..e69de29bb 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all +++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-all @@ -1,2 +0,0 @@ -drd/tests/bar_bad -drd/tests/bar_bad_xml diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest b/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest index f37780ef6..60d243276 100755 --- a/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest +++ b/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest @@ -7,6 +7,7 @@ # Randy MacLeod ############################################################### VALGRIND_LIB=@libdir@/valgrind +VALGRIND_LIBEXECDIR=@libexecdir@/valgrind VALGRIND_BIN=@bindir@/valgrind LOG="${VALGRIND_LIB}/ptest/valgrind_ptest_$(date +%Y%m%d-%H%M%S).log" @@ -33,7 +34,7 @@ fi cd ${VALGRIND_LIB}/ptest && ./tests/vg_regtest \ --valgrind=${VALGRIND_BIN} \ - --valgrind-lib=${VALGRIND_LIB} \ + --valgrind-lib=${VALGRIND_LIBEXECDIR} \ --yocto-ptest \ gdbserver_tests ${TOOLS} ${EXP_TOOLS} \ 2>&1|tee ${LOG} diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch b/poky/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch index eea671da0..bde1241dc 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch +++ b/poky/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch @@ -1,3 +1,8 @@ +From 8154d38bac5cdb3675cfdaf562ab9da01988b263 Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu +Date: Wed, 17 Mar 2021 12:16:31 -0400 +Subject: [PATCH 19/20] remove s390x_vec_op_t + s390x_vec_op_t is not needed anywhere, only elements of enum are accessed removing it ensures that valgrind can be built with -fno-common option @@ -6,14 +11,25 @@ ld: ../../VEX/libvex-amd64-linux.a(libvex_amd64_linux_a-guest_s390_helpers.o):/u Upstream-Status: Pending Signed-off-by: Khem Raj + +Signed-off-by: Yi Fan Yu +--- + VEX/priv/guest_s390_defs.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/VEX/priv/guest_s390_defs.h b/VEX/priv/guest_s390_defs.h +index 9054290..dab8002 100644 --- a/VEX/priv/guest_s390_defs.h +++ b/VEX/priv/guest_s390_defs.h -@@ -286,7 +286,7 @@ enum { - S390_VEC_OP_VFCHE = 18, - S390_VEC_OP_VFTCI = 19, - S390_VEC_OP_LAST = 20 // supposed to be the last element in enum +@@ -284,7 +284,7 @@ typedef enum { + S390_VEC_OP_VBPERM, + S390_VEC_OP_VMSL, + S390_VEC_OP_LAST // supposed to be the last element in enum -} s390x_vec_op_t; +}; /* Arguments of s390x_dirtyhelper_vec_op(...) which are packed into one ULong variable. +-- +2.29.2 + diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb deleted file mode 100644 index 2b1d18557..000000000 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.16.1.bb +++ /dev/null @@ -1,248 +0,0 @@ -SUMMARY = "Valgrind memory debugger and instrumentation framework" -HOMEPAGE = "http://valgrind.org/" -DESCRIPTION = "Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail." -BUGTRACKER = "http://valgrind.org/support/bug_reports.html" -LICENSE = "GPLv2 & GPLv2+ & BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://include/pub_tool_basics.h;beginline=6;endline=29;md5=41c410e8d3f305aee7aaa666b2e4f366 \ - file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \ - file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56" - -DEPENDS = " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ - " - -SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ - file://fixed-perl-path.patch \ - file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ - file://run-ptest \ - file://remove-for-aarch64 \ - file://remove-for-all \ - file://0004-Fix-out-of-tree-builds.patch \ - file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ - file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \ - file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \ - file://avoid-neon-for-targets-which-don-t-support-it.patch \ - file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \ - file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \ - file://0001-str_tester.c-Limit-rawmemchr-test-to-glibc.patch \ - file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \ - file://0002-context-APIs-are-not-available-on-musl.patch \ - file://0003-correct-include-directive-path-for-config.h.patch \ - file://0005-tc20_verifywrap.c-Fake-__GLIBC_PREREQ-with-musl.patch \ - file://0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch \ - file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \ - file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \ - file://0001-fix-opcode-not-supported-on-mips32-linux.patch \ - file://0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch \ - file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \ - file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \ - file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \ - file://0001-memcheck-vgtests-remove-fullpath-after-flags.patch \ - file://s390x_vec_op_t.patch \ - file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ - file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ - file://0001-drd-Port-to-Fedora-33.patch \ - file://0001-drd-musl-fix.patch \ - file://0001-helgrind-Intercept-libc-functions.patch \ - file://0001-Fix-nlcontrolc.vgtest-hanging-on-newer-glibc-and-or-.patch \ - file://0001-lmw-lswi-and-related-PowerPC-insns-aren-t-allowed-on.patch \ - " -SRC_URI[md5sum] = "d1b153f1ab17cf1f311705e7a83ef589" -SRC_URI[sha256sum] = "c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca" -UPSTREAM_CHECK_REGEX = "valgrind-(?P\d+(\.\d+)+)\.tar" - -COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' - -# patch 0001-memcheck-vgtests-remove-fullpath-after-flags.patch removes relative path -# argument. Change expected stderr files accordingly. -do_patch_append() { - bb.build.exec_func('do_sed_paths', d) -} - -do_sed_paths() { - sed -i -e 's|tests/||' ${S}/memcheck/tests/badfree3.stderr.exp - sed -i -e 's|tests/||' ${S}/memcheck/tests/varinfo5.stderr.exp -} - -# valgrind supports armv7 and above -COMPATIBLE_HOST_armv4 = 'null' -COMPATIBLE_HOST_armv5 = 'null' -COMPATIBLE_HOST_armv6 = 'null' - -# valgrind fails with powerpc soft-float -COMPATIBLE_HOST_powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', 'null', '.*-linux', d)}" - -# X32 isn't supported by valgrind at this time -COMPATIBLE_HOST_linux-gnux32 = 'null' -COMPATIBLE_HOST_linux-muslx32 = 'null' - -# Disable for some MIPS variants -COMPATIBLE_HOST_mipsarchr6 = 'null' -COMPATIBLE_HOST_linux-gnun32 = 'null' - -# Disable for powerpc64 with musl -COMPATIBLE_HOST_libc-musl_powerpc64 = 'null' - -# brokenseip is unfortunately required by ptests to pass -inherit autotools-brokensep ptest multilib_header - -EXTRA_OECONF = "--enable-tls --without-mpicc" -EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS') != '32']}" - -# valgrind checks host_cpu "armv7*)", so we need to over-ride the autotools.bbclass default --host option -EXTRA_OECONF_append_arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}" - -EXTRA_OEMAKE = "-w" - -CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" - -# valgrind likes to control its own optimisation flags. It generally defaults -# to -O2 but uses -O0 for some specific test apps etc. Passing our own flags -# (via CFLAGS) means we interfere with that. Only pass DEBUG_FLAGS to it -# which fixes build path issue in DWARF. -SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}" - -do_configure_prepend () { - rm -rf ${S}/config.h - sed -i -e 's:$(abs_top_builddir):$(pkglibdir)/ptest:g' ${S}/none/tests/Makefile.am - sed -i -e 's:$(top_builddir):$(pkglibdir)/ptest:g' ${S}/memcheck/tests/Makefile.am -} - -do_install_append () { - install -m 644 ${B}/default.supp ${D}/${libdir}/valgrind/ - oe_multilib_header valgrind/config.h -} - -VALGRINDARCH ?= "${TARGET_ARCH}" -VALGRINDARCH_aarch64 = "arm64" -VALGRINDARCH_x86-64 = "amd64" -VALGRINDARCH_x86 = "x86" -VALGRINDARCH_mips = "mips32" -VALGRINDARCH_mipsel = "mips32" -VALGRINDARCH_mips64el = "mips64" -VALGRINDARCH_powerpc = "ppc" -VALGRINDARCH_powerpc64 = "ppc64" -VALGRINDARCH_powerpc64el = "ppc64le" - -INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${libdir}/valgrind/vgpreload_memcheck-${VALGRINDARCH}-linux.so" - -RDEPENDS_${PN} += "perl" - -# valgrind needs debug information for ld.so at runtime in order to -# redirect functions like strlen. -RRECOMMENDS_${PN} += "${TCLIBC}-dbg" - -RDEPENDS_${PN}-ptest += " bash coreutils file \ - gdb libgomp \ - perl \ - perl-module-file-basename perl-module-file-glob perl-module-getopt-long \ - perl-module-overloading \ - procps sed ${PN}-dbg ${PN}-src" -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" - -# One of the tests contains a bogus interpreter path on purpose. -# Skip file dependency check -SKIP_FILEDEPS_${PN}-ptest = '1' -INSANE_SKIP_${PN}-ptest = "debug-deps" - -do_compile_ptest() { - oe_runmake check -} - -do_install_ptest() { - chmod +x ${B}/tests/vg_regtest - - # The test application binaries are not automatically installed. - # Grab them from the build directory. - # - # The regression tests require scripts and data files that are not - # copied to the build directory. They must be copied from the - # source directory. - saved_dir=$PWD - for parent_dir in ${S} ${B} ; do - cd $parent_dir - - subdirs=" \ - .in_place \ - cachegrind/tests \ - callgrind/tests \ - dhat/tests \ - drd/tests \ - gdbserver_tests \ - helgrind/tests \ - lackey/tests \ - massif/tests \ - memcheck/tests \ - none/tests \ - tests \ - exp-bbv/tests \ - " - # Get the vg test scripts, filters, and expected files - for dir in $subdirs ; do - find $dir | cpio -pvdu ${D}${PTEST_PATH} - done - cd $saved_dir - done - - # The scripts reference config.h so add it to the top ptest dir. - cp ${B}/config.h ${D}${PTEST_PATH} - install -D ${WORKDIR}/remove-for-aarch64 ${D}${PTEST_PATH} - install -D ${WORKDIR}/remove-for-all ${D}${PTEST_PATH} - - # Add an executable need by none/tests/bigcode - mkdir ${D}${PTEST_PATH}/perf - cp ${B}/perf/bigcode ${D}${PTEST_PATH}/perf - - # Add an executable needed by memcheck/tests/vcpu_bz2 - cp ${B}/perf/bz2 ${D}${PTEST_PATH}/perf - - # Make the ptest dir look like the top level valgrind src dir - # This is checked by the gdbserver_tests/make_local_links script - mkdir ${D}${PTEST_PATH}/coregrind - cp ${B}/coregrind/vgdb ${D}${PTEST_PATH}/coregrind - - # Add an executable needed by massif tests - cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print - - find ${D}${PTEST_PATH} \ - \( \ - -name "Makefile*" \ - -o -name "*.o" \ - \) \ - -exec rm {} \; - - # These files need to be newer so touch them. - touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test - - # find *_annotate in ${bindir} for yocto build - sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest - sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann2.vgtest - - sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest - sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest - - # handle multilib - sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest - sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest - - # This test fails on the host as well, using both 3.15 and git master (as of Jan 24 2020) - # https://bugs.kde.org/show_bug.cgi?id=402833 - rm ${D}${PTEST_PATH}/memcheck/tests/overlap.vgtest - - # As the binary isn't stripped or debug-splitted, the source file isn't fetched - # via dwarfsrcfiles either, so it needs to be installed manually. - mkdir -p ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/${BP}/none/tests/ - install ${S}/none/tests/tls.c ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/${BP}/none/tests/ -} - -# avoid stripping some generated binaries otherwise some of the tests will fail -# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail -INHIBIT_PACKAGE_STRIP_FILES = "\ - ${PKGD}${PTEST_PATH}/none/tests/tls \ - ${PKGD}${PTEST_PATH}/none/tests/tls.so \ - ${PKGD}${PTEST_PATH}/none/tests/tls2.so \ - ${PKGD}${PTEST_PATH}/helgrind/tests/tc09_bad_unlock \ - ${PKGD}${PTEST_PATH}/memcheck/tests/manuel1 \ - ${PKGD}${PTEST_PATH}/drd/tests/pth_detached3 \ -" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb new file mode 100644 index 000000000..ebbd83dd3 --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb @@ -0,0 +1,254 @@ +SUMMARY = "Valgrind memory debugger and instrumentation framework" +HOMEPAGE = "http://valgrind.org/" +DESCRIPTION = "Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail." +BUGTRACKER = "http://valgrind.org/support/bug_reports.html" +LICENSE = "GPLv2 & GPLv2+ & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://include/pub_tool_basics.h;beginline=6;endline=29;md5=41c410e8d3f305aee7aaa666b2e4f366 \ + file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \ + file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56" + +DEPENDS = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \ + " + +SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ + file://fixed-perl-path.patch \ + file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ + file://run-ptest \ + file://remove-for-aarch64 \ + file://remove-for-all \ + file://0004-Fix-out-of-tree-builds.patch \ + file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ + file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \ + file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \ + file://avoid-neon-for-targets-which-don-t-support-it.patch \ + file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \ + file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \ + file://0001-str_tester.c-Limit-rawmemchr-test-to-glibc.patch \ + file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \ + file://0002-context-APIs-are-not-available-on-musl.patch \ + file://0003-correct-include-directive-path-for-config.h.patch \ + file://0005-tc20_verifywrap.c-Fake-__GLIBC_PREREQ-with-musl.patch \ + file://0001-memcheck-arm64-Define-__THROW-if-not-already-defined.patch \ + file://0002-memcheck-x86-Define-__THROW-if-not-defined.patch \ + file://0003-tests-seg_override-Replace-__modify_ldt-with-syscall.patch \ + file://0001-fix-opcode-not-supported-on-mips32-linux.patch \ + file://0001-Guard-against-__GLIBC_PREREQ-for-musl-libc.patch \ + file://0001-Make-local-functions-static-to-avoid-assembler-error.patch \ + file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \ + file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \ + file://0001-memcheck-vgtests-remove-fullpath-after-flags.patch \ + file://s390x_vec_op_t.patch \ + file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ + file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ + file://0001-Add-missing-musl.supp.patch \ + file://0001-drd-tests-swapcontext-Add-SIGALRM-handler-to-avoid-s.patch \ + " +SRC_URI[md5sum] = "afe11b5572c3121a781433b7c0ab741b" +SRC_URI[sha256sum] = "ad3aec668e813e40f238995f60796d9590eee64a16dff88421430630e69285a2" +UPSTREAM_CHECK_REGEX = "valgrind-(?P\d+(\.\d+)+)\.tar" + +COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' + +# patch 0001-memcheck-vgtests-remove-fullpath-after-flags.patch removes relative path +# argument. Change expected stderr files accordingly. +do_patch_append() { + bb.build.exec_func('do_sed_paths', d) +} + +do_sed_paths() { + sed -i -e 's|tests/||' ${S}/memcheck/tests/badfree3.stderr.exp + sed -i -e 's|tests/||' ${S}/memcheck/tests/varinfo5.stderr.exp +} + +# valgrind supports armv7 and above +COMPATIBLE_HOST_armv4 = 'null' +COMPATIBLE_HOST_armv5 = 'null' +COMPATIBLE_HOST_armv6 = 'null' + +# valgrind fails with powerpc soft-float +COMPATIBLE_HOST_powerpc = "${@bb.utils.contains('TARGET_FPU', 'soft', 'null', '.*-linux', d)}" + +# X32 isn't supported by valgrind at this time +COMPATIBLE_HOST_linux-gnux32 = 'null' +COMPATIBLE_HOST_linux-muslx32 = 'null' + +# Disable for some MIPS variants +COMPATIBLE_HOST_mipsarchr6 = 'null' +COMPATIBLE_HOST_linux-gnun32 = 'null' + +# Disable for powerpc64 with musl +COMPATIBLE_HOST_libc-musl_powerpc64 = 'null' + +# brokenseip is unfortunately required by ptests to pass +inherit autotools-brokensep ptest multilib_header + +EXTRA_OECONF = "--enable-tls --without-mpicc" +EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][d.getVar('SITEINFO_BITS') != '32']}" + +# valgrind checks host_cpu "armv7*)", so we need to over-ride the autotools.bbclass default --host option +EXTRA_OECONF_append_arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}" + +EXTRA_OEMAKE = "-w" + +CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" + +# valgrind likes to control its own optimisation flags. It generally defaults +# to -O2 but uses -O0 for some specific test apps etc. Passing our own flags +# (via CFLAGS) means we interfere with that. Only pass DEBUG_FLAGS to it +# which fixes build path issue in DWARF. +SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}" + +do_configure_prepend () { + rm -rf ${S}/config.h + sed -i -e 's:$(abs_top_builddir):$(pkglibdir)/ptest:g' ${S}/none/tests/Makefile.am + sed -i -e 's:$(top_builddir):$(pkglibdir)/ptest:g' ${S}/memcheck/tests/Makefile.am +} + +do_install_append () { + install -m 644 ${B}/default.supp ${D}/${libexecdir}/valgrind/ + oe_multilib_header valgrind/config.h +} + +VALGRINDARCH ?= "${TARGET_ARCH}" +VALGRINDARCH_aarch64 = "arm64" +VALGRINDARCH_x86-64 = "amd64" +VALGRINDARCH_x86 = "x86" +VALGRINDARCH_mips = "mips32" +VALGRINDARCH_mipsel = "mips32" +VALGRINDARCH_mips64el = "mips64" +VALGRINDARCH_powerpc = "ppc" +VALGRINDARCH_powerpc64 = "ppc64" +VALGRINDARCH_powerpc64el = "ppc64le" + +INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${libexecdir}/valgrind/vgpreload_memcheck-${VALGRINDARCH}-linux.so" + +RDEPENDS_${PN} += "perl" + +# valgrind needs debug information for ld.so at runtime in order to +# redirect functions like strlen. +RRECOMMENDS_${PN} += "${TCLIBC}-dbg" + +RDEPENDS_${PN}-ptest += " bash coreutils file \ + gdb libgomp \ + perl \ + perl-module-file-basename perl-module-file-glob perl-module-getopt-long \ + perl-module-overloading perl-module-cwd perl-module-ipc-open3 \ + perl-module-carp perl-module-symbol \ + procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg" +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" + +# One of the tests contains a bogus interpreter path on purpose. +# Skip file dependency check +SKIP_FILEDEPS_${PN}-ptest = '1' +INSANE_SKIP_${PN}-ptest = "debug-deps" + +do_compile_ptest() { + oe_runmake check +} + +do_install_ptest() { + chmod +x ${B}/tests/vg_regtest + + # The test application binaries are not automatically installed. + # Grab them from the build directory. + # + # The regression tests require scripts and data files that are not + # copied to the build directory. They must be copied from the + # source directory. + saved_dir=$PWD + for parent_dir in ${S} ${B} ; do + cd $parent_dir + + subdirs=" \ + .in_place \ + cachegrind/tests \ + callgrind/tests \ + dhat/tests \ + drd/tests \ + gdbserver_tests \ + helgrind/tests \ + lackey/tests \ + massif/tests \ + memcheck/tests \ + none/tests \ + tests \ + exp-bbv/tests \ + " + # Get the vg test scripts, filters, and expected files + for dir in $subdirs ; do + find $dir | cpio -pvdu ${D}${PTEST_PATH} + done + cd $saved_dir + done + + # The scripts reference config.h so add it to the top ptest dir. + cp ${B}/config.h ${D}${PTEST_PATH} + install -D ${WORKDIR}/remove-for-aarch64 ${D}${PTEST_PATH} + install -D ${WORKDIR}/remove-for-all ${D}${PTEST_PATH} + + # Add an executable need by none/tests/bigcode + mkdir ${D}${PTEST_PATH}/perf + cp ${B}/perf/bigcode ${D}${PTEST_PATH}/perf + + # Add an executable needed by memcheck/tests/vcpu_bz2 + cp ${B}/perf/bz2 ${D}${PTEST_PATH}/perf + + # Make the ptest dir look like the top level valgrind src dir + # This is checked by the gdbserver_tests/make_local_links script + mkdir ${D}${PTEST_PATH}/coregrind + cp ${B}/coregrind/vgdb ${D}${PTEST_PATH}/coregrind + + # Add an executable needed by massif tests + cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print + + find ${D}${PTEST_PATH} \ + \( \ + -name "Makefile*" \ + -o -name "*.o" \ + \) \ + -exec rm {} \; + + # These files need to be newer so touch them. + touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test + + # find *_annotate in ${bindir} for yocto build + sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest + sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann2.vgtest + + sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest + sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest + + # point the expanded @abs_top_builddir@ of the host to PTEST_PATH + sed -i s:${S}:${PTEST_PATH}:g \ + ${D}${PTEST_PATH}/memcheck/tests/linux/debuginfod-check.vgtest + + # handle multilib + sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest + sed -i s:@libexecdir@:${libexecdir}:g ${D}${PTEST_PATH}/run-ptest + sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest + + # This test fails on the host as well, using both 3.15 and git master (as of Jan 24 2020) + # https://bugs.kde.org/show_bug.cgi?id=402833 + rm ${D}${PTEST_PATH}/memcheck/tests/overlap.vgtest + + # This is known failure see https://bugs.kde.org/show_bug.cgi?id=435732 + rm ${D}${PTEST_PATH}/memcheck/tests/leak_cpp_interior.vgtest + + # As the binary isn't stripped or debug-splitted, the source file isn't fetched + # via dwarfsrcfiles either, so it needs to be installed manually. + mkdir -p ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/${BP}/none/tests/ + install ${S}/none/tests/tls.c ${D}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/${BP}/none/tests/ +} + +# avoid stripping some generated binaries otherwise some of the tests will fail +# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail +INHIBIT_PACKAGE_STRIP_FILES += "\ + ${PKGD}${PTEST_PATH}/none/tests/tls \ + ${PKGD}${PTEST_PATH}/none/tests/tls.so \ + ${PKGD}${PTEST_PATH}/none/tests/tls2.so \ + ${PKGD}${PTEST_PATH}/helgrind/tests/tc09_bad_unlock \ + ${PKGD}${PTEST_PATH}/memcheck/tests/manuel1 \ + ${PKGD}${PTEST_PATH}/drd/tests/pth_detached3 \ +" diff --git a/poky/meta/recipes-extended/acpica/acpica_20210105.bb b/poky/meta/recipes-extended/acpica/acpica_20210105.bb deleted file mode 100644 index 0188dc8a1..000000000 --- a/poky/meta/recipes-extended/acpica/acpica_20210105.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "ACPICA tools for the development and debug of ACPI tables" -DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \ -OS-independent reference implementation of the Advanced Configuration and \ -Power Interface Specification (ACPI). ACPICA code contains those portions of \ -ACPI meant to be directly integrated into the host OS as a kernel-resident \ -subsystem, and a small set of tools to assist in developing and debugging \ -ACPI tables." - -HOMEPAGE = "http://www.acpica.org/" -SECTION = "console/tools" - -LICENSE = "Intel | BSD | GPLv2" -LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=c33ce358fdcd142684e41e336b7992e8" - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" - -DEPENDS = "m4-native flex-native bison-native" - -SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz" -SRC_URI[sha256sum] = "a9be7b749025e60f93fde2fe531bfe0d84a33641d3e0c9b0f6049f996dbb1ff8" - -UPSTREAM_CHECK_URI = "https://acpica.org/downloads" - -S = "${WORKDIR}/acpica-unix-${PV}" - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "acpixtract acpidump" - -EXTRA_OEMAKE = "CC='${CC}' \ - OPT_CFLAGS=-Wall \ - DESTDIR=${D} \ - PREFIX=${prefix} \ - INSTALLDIR=${bindir} \ - INSTALLFLAGS= \ - YACC=bison \ - YFLAGS='-y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' \ - " - -do_install() { - oe_runmake install -} - -# iasl*.bb is a subset of this recipe, so RREPLACE it -PROVIDES = "iasl" -RPROVIDES_${PN} += "iasl" -RREPLACES_${PN} += "iasl" -RCONFLICTS_${PN} += "iasl" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/acpica/acpica_20210331.bb b/poky/meta/recipes-extended/acpica/acpica_20210331.bb new file mode 100644 index 000000000..e17bc94c3 --- /dev/null +++ b/poky/meta/recipes-extended/acpica/acpica_20210331.bb @@ -0,0 +1,51 @@ +SUMMARY = "ACPICA tools for the development and debug of ACPI tables" +DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \ +OS-independent reference implementation of the Advanced Configuration and \ +Power Interface Specification (ACPI). ACPICA code contains those portions of \ +ACPI meant to be directly integrated into the host OS as a kernel-resident \ +subsystem, and a small set of tools to assist in developing and debugging \ +ACPI tables." + +HOMEPAGE = "http://www.acpica.org/" +SECTION = "console/tools" + +LICENSE = "Intel | BSD | GPLv2" +LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=c33ce358fdcd142684e41e336b7992e8" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +DEPENDS = "m4-native flex-native bison-native" + +SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz" +SRC_URI[sha256sum] = "b49237a2c3df58b57310612ec3a6ebee69e1a525b5efeec7152faf32a03b7068" + +UPSTREAM_CHECK_URI = "https://acpica.org/downloads" + +S = "${WORKDIR}/acpica-unix-${PV}" + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "acpixtract acpidump" + +EXTRA_OEMAKE = "CC='${CC}' \ + OPT_CFLAGS=-Wall \ + DESTDIR=${D} \ + PREFIX=${prefix} \ + INSTALLDIR=${bindir} \ + INSTALLFLAGS= \ + YACC=bison \ + YFLAGS='-y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' \ + " + +do_install() { + oe_runmake install +} + +# iasl*.bb is a subset of this recipe, so RREPLACE it +PROVIDES = "iasl" +RPROVIDES_${PN} += "iasl" +RREPLACES_${PN} += "iasl" +RCONFLICTS_${PN} += "iasl" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc index d3e1dfdb3..7350601c6 100644 --- a/poky/meta/recipes-extended/bash/bash.inc +++ b/poky/meta/recipes-extended/bash/bash.inc @@ -91,6 +91,9 @@ do_install_append_class-target () { do_install_ptest () { make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test cp ${B}/Makefile ${D}${PTEST_PATH} + cp ${B}/config.h ${D}${PTEST_PATH} + cp ${B}/version.h ${D}${PTEST_PATH} + cp ${S}/y.tab.[ch] ${D}${PTEST_PATH} install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \ -e 's|${DEBUG_PREFIX_MAP}||g' \ diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc index 244c87001..9faac0810 100644 --- a/poky/meta/recipes-extended/cups/cups.inc +++ b/poky/meta/recipes-extended/cups/cups.inc @@ -6,7 +6,7 @@ document types." HOMEPAGE = "https://www.cups.org/" SECTION = "console/utils" LICENSE = "Apache-2.0" -DEPENDS = "gnutls libpng jpeg dbus zlib libusb1" +DEPENDS = "libpng jpeg dbus zlib libusb1" SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.tar.gz \ file://0001-use-echo-only-in-init.patch \ @@ -43,12 +43,12 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}" PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl" +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls" PACKAGECONFIG[pam] = "--enable-pam --with-pam-module=unix, --disable-pam, libpam" PACKAGECONFIG[systemd] = "--with-systemd=${systemd_system_unitdir},--without-systemd,systemd" PACKAGECONFIG[xinetd] = "--with-xinetd=${sysconfdir}/xinetd.d,--without-xinetd,xinetd" EXTRA_OECONF = " \ - --enable-gnutls \ --enable-dbus \ --enable-browsing \ --disable-gssapi \ diff --git a/poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch b/poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch new file mode 100644 index 000000000..50e627fa3 --- /dev/null +++ b/poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch @@ -0,0 +1,84 @@ +From 87b3a8f9ceb2cf0a5c8b72e460465fb9ff2d62d9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 30 Apr 2021 17:40:36 -0700 +Subject: [PATCH] c-stack: stop using SIGSTKSZ + +This patch is required with glibc 2.34+ +based on gnulib [1] + +[1] https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=f9e2b20a12a230efa30f1d479563ae07d276a94b + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + lib/c-stack.c | 22 +++++++++++++--------- + 1 file changed, 13 insertions(+), 9 deletions(-) + +diff --git a/lib/c-stack.c b/lib/c-stack.c +index 9bbe6fe..e0874c9 100644 +--- a/lib/c-stack.c ++++ b/lib/c-stack.c +@@ -51,13 +51,14 @@ + typedef struct sigaltstack stack_t; + #endif + #ifndef SIGSTKSZ +-# define SIGSTKSZ 16384 +-#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384 ++#define get_sigstksz() (16384) ++#elif HAVE_LIBSIGSEGV + /* libsigsegv 2.6 through 2.8 have a bug where some architectures use + more than the Linux default of an 8k alternate stack when deciding + if a fault was caused by stack overflow. */ +-# undef SIGSTKSZ +-# define SIGSTKSZ 16384 ++#define get_sigstksz() ((SIGSTKSZ) < 16384 ? 16384 : (SIGSTKSZ)) ++#else ++#define get_sigstksz() ((SIGSTKSZ)) + #endif + + #include +@@ -136,7 +137,8 @@ die (int signo) + /* Storage for the alternate signal stack. */ + static union + { +- char buffer[SIGSTKSZ]; ++ /* allocate buffer with size from get_sigstksz() */ ++ char *buffer; + + /* These other members are for proper alignment. There's no + standard way to guarantee stack alignment, but this seems enough +@@ -208,10 +210,11 @@ c_stack_action (void (*action) (int)) + program_error_message = _("program error"); + stack_overflow_message = _("stack overflow"); + ++ alternate_signal_stack.buffer = malloc(get_sigstksz()); + /* Always install the overflow handler. */ + if (stackoverflow_install_handler (overflow_handler, + alternate_signal_stack.buffer, +- sizeof alternate_signal_stack.buffer)) ++ get_sigstksz())) + { + errno = ENOTSUP; + return -1; +@@ -284,14 +287,15 @@ c_stack_action (void (*action) (int)) + stack_t st; + struct sigaction act; + st.ss_flags = 0; ++ alternate_signal_stack.buffer = malloc(get_sigstksz()); + # if SIGALTSTACK_SS_REVERSED + /* Irix mistakenly treats ss_sp as the upper bound, rather than + lower bound, of the alternate stack. */ +- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *); +- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *); ++ st.ss_sp = alternate_signal_stack.buffer + get_sigstksz() - sizeof (void *); ++ st.ss_size = get_sigstksz() - sizeof (void *); + # else + st.ss_sp = alternate_signal_stack.buffer; +- st.ss_size = sizeof alternate_signal_stack.buffer; ++ st.ss_size = get_sigstksz(); + # endif + r = sigaltstack (&st, NULL); + if (r != 0) +-- +2.31.1 + diff --git a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb index 8111ae606..b9a54fea5 100644 --- a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb +++ b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb @@ -6,6 +6,7 @@ require diffutils.inc SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ file://run-ptest \ file://0001-Skip-strip-trailing-cr-test-case.patch \ + file://0001-c-stack-stop-using-SIGSTKSZ.patch \ " SRC_URI[md5sum] = "4824adc0e95dbbf11dfbdfaad6a1e461" diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb deleted file mode 100644 index cbf60c8c8..000000000 --- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.53.3.bb +++ /dev/null @@ -1,125 +0,0 @@ -SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter" -DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \ -a back-end to a program such as ghostview, it can display PostScript and PDF \ -documents in an X11 environment. \ -\ -Furthermore, it can render PostScript and PDF files as graphics to be printed \ -on non-PostScript printers. Supported printers include common \ -dot-matrix, inkjet and laser models. \ -" -HOMEPAGE = "http://www.ghostscript.com" -SECTION = "console/utils" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc" - -DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng" -DEPENDS_class-native = "libpng-native" - -UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" - -def gs_verdir(v): - return "".join(v.split(".")) - - -SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \ - file://ghostscript-9.15-parallel-make.patch \ - file://ghostscript-9.16-Werror-return-type.patch \ - file://do-not-check-local-libpng-source.patch \ - file://avoid-host-contamination.patch \ - file://mkdir-p.patch \ -" - -SRC_URI = "${SRC_URI_BASE} \ - file://ghostscript-9.21-prevent_recompiling.patch \ - file://cups-no-gcrypt.patch \ - " - -SRC_URI_class-native = "${SRC_URI_BASE} \ - file://ghostscript-9.21-native-fix-disable-system-libtiff.patch \ - file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ - " - -SRC_URI[sha256sum] = "6eaf422f26a81854a230b80fd18aaef7e8d94d661485bd2e97e695b9dce7bf7f" - -# Put something like -# -# PACKAGECONFIG_append_pn-ghostscript = " x11" -# -# in local.conf to enable building with X11. Be careful. The order -# of the overrides matters! -# -#PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" -PACKAGECONFIG_class-native = "" - -PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \ - --without-x, virtual/libx11 libxext libxt gtk+3\ - " - -EXTRA_OECONF = "--without-libpaper --with-system-libtiff --without-jbig2dec \ - --with-fontpath=${datadir}/fonts \ - --without-libidn --with-cups-serverbin=${exec_prefix}/lib/cups \ - --with-cups-datadir=${datadir}/cups \ - CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \ - " - -EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0" - -# Explicity disable libtiff, fontconfig, -# freetype, cups for ghostscript-native -EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \ - --without-jbig2dec --without-libpaper \ - --with-fontpath=${datadir}/fonts \ - --without-libidn --disable-fontconfig \ - --enable-freetype --disable-cups " - -# This has been fixed upstream but for now we need to subvert the check for time.h -# http://bugs.ghostscript.com/show_bug.cgi?id=692443 -# http://bugs.ghostscript.com/show_bug.cgi?id=692426 -CFLAGS += "-DHAVE_SYS_TIME_H=1" -BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1" - -inherit autotools-brokensep - -do_configure_prepend_class-target () { - rm -rf ${S}/jpeg/ -} - -do_configure_append () { - # copy tools from the native ghostscript build - if [ "${PN}" != "ghostscript-native" ]; then - mkdir -p obj/aux soobj - for i in genarch genconf mkromfs echogs gendev genht packps; do - cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i - done - fi -} - -do_install_append () { - mkdir -p ${D}${datadir}/ghostscript/${PV}/ - cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/ - cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/ -} - -do_compile_class-native () { - mkdir -p obj - for i in genarch genconf mkromfs echogs gendev genht packps; do - oe_runmake obj/aux/$i - done -} - -do_install_class-native () { - install -d ${D}${bindir}/ghostscript-${PV} - for i in genarch genconf mkromfs echogs gendev genht packps; do - install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i - done -} - -BBCLASSEXTEND = "native" - -# ghostscript does not supports "arc" -COMPATIBLE_HOST = "^(?!arc).*" - -# some entries in NVD uses gpl_ghostscript -CVE_PRODUCT = "ghostscript gpl_ghostscript" diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb new file mode 100644 index 000000000..9ace037aa --- /dev/null +++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb @@ -0,0 +1,125 @@ +SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter" +DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \ +a back-end to a program such as ghostview, it can display PostScript and PDF \ +documents in an X11 environment. \ +\ +Furthermore, it can render PostScript and PDF files as graphics to be printed \ +on non-PostScript printers. Supported printers include common \ +dot-matrix, inkjet and laser models. \ +" +HOMEPAGE = "http://www.ghostscript.com" +SECTION = "console/utils" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE;md5=70dc2bac4d0ce4448da873cd86b123fc" + +DEPENDS = "ghostscript-native tiff jpeg fontconfig cups libpng" +DEPENDS_class-native = "libpng-native" + +UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" + +def gs_verdir(v): + return "".join(v.split(".")) + + +SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \ + file://ghostscript-9.15-parallel-make.patch \ + file://ghostscript-9.16-Werror-return-type.patch \ + file://do-not-check-local-libpng-source.patch \ + file://avoid-host-contamination.patch \ + file://mkdir-p.patch \ +" + +SRC_URI = "${SRC_URI_BASE} \ + file://ghostscript-9.21-prevent_recompiling.patch \ + file://cups-no-gcrypt.patch \ + " + +SRC_URI_class-native = "${SRC_URI_BASE} \ + file://ghostscript-9.21-native-fix-disable-system-libtiff.patch \ + file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ + " + +SRC_URI[sha256sum] = "0646bb97f6f4d10a763f4919c54fa28b4fbdd3dff8e7de3410431c81762cade0" + +# Put something like +# +# PACKAGECONFIG_append_pn-ghostscript = " x11" +# +# in local.conf to enable building with X11. Be careful. The order +# of the overrides matters! +# +#PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" +PACKAGECONFIG_class-native = "" + +PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \ + --without-x, virtual/libx11 libxext libxt gtk+3\ + " + +EXTRA_OECONF = "--without-libpaper --with-system-libtiff --without-jbig2dec \ + --with-fontpath=${datadir}/fonts \ + --without-libidn --with-cups-serverbin=${exec_prefix}/lib/cups \ + --with-cups-datadir=${datadir}/cups \ + CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \ + " + +EXTRA_OECONF_append_mipsarcho32 = " --with-large_color_index=0" + +# Explicity disable libtiff, fontconfig, +# freetype, cups for ghostscript-native +EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \ + --without-jbig2dec --without-libpaper \ + --with-fontpath=${datadir}/fonts \ + --without-libidn --disable-fontconfig \ + --enable-freetype --disable-cups " + +# This has been fixed upstream but for now we need to subvert the check for time.h +# http://bugs.ghostscript.com/show_bug.cgi?id=692443 +# http://bugs.ghostscript.com/show_bug.cgi?id=692426 +CFLAGS += "-DHAVE_SYS_TIME_H=1" +BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1" + +inherit autotools-brokensep + +do_configure_prepend_class-target () { + rm -rf ${S}/jpeg/ +} + +do_configure_append () { + # copy tools from the native ghostscript build + if [ "${PN}" != "ghostscript-native" ]; then + mkdir -p obj/aux soobj + for i in genarch genconf mkromfs echogs gendev genht packps; do + cp ${STAGING_BINDIR_NATIVE}/ghostscript-${PV}/$i obj/aux/$i + done + fi +} + +do_install_append () { + mkdir -p ${D}${datadir}/ghostscript/${PV}/ + cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/ + cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/ +} + +do_compile_class-native () { + mkdir -p obj + for i in genarch genconf mkromfs echogs gendev genht packps; do + oe_runmake obj/aux/$i + done +} + +do_install_class-native () { + install -d ${D}${bindir}/ghostscript-${PV} + for i in genarch genconf mkromfs echogs gendev genht packps; do + install -m 755 obj/aux/$i ${D}${bindir}/ghostscript-${PV}/$i + done +} + +BBCLASSEXTEND = "native" + +# ghostscript does not supports "arc" +COMPATIBLE_HOST = "^(?!arc).*" + +# some entries in NVD uses gpl_ghostscript +CVE_PRODUCT = "ghostscript gpl_ghostscript" diff --git a/poky/meta/recipes-extended/groff/groff_1.22.4.bb b/poky/meta/recipes-extended/groff/groff_1.22.4.bb index 983cb9aea..f0e9eb6a8 100644 --- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb +++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb @@ -62,6 +62,10 @@ do_install_append() { rm -rf ${D}${bindir}/glilypond rm -rf ${D}${libdir}/groff/glilypond rm -rf ${D}${mandir}/man1/glilypond* + + # not ship /usr/bin/grap2graph and its releated man files + rm -rf ${D}${bindir}/grap2graph + rm -rf ${D}${mandir}/man1/grap2graph* } do_install_append_class-native() { diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.60.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.60.bb deleted file mode 100644 index 41f70b403..000000000 --- a/poky/meta/recipes-extended/hdparm/hdparm_9.60.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Utility for viewing/manipulating IDE disk drive/driver parameters" -HOMEPAGE = "http://sourceforge.net/projects/hdparm/" -DESCRIPTION = "hdparm is a Linux shell utility for viewing \ -and manipulating various IDE drive and driver parameters." -SECTION = "console/utils" - -LICENSE = "BSD & GPLv2" -LICENSE_${PN} = "BSD" -LICENSE_${PN}-dbg = "BSD" -LICENSE_wiper = "GPLv2" - -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \ - file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \ - file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \ - file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09" - - -PACKAGES =+ "wiper" - -FILES_wiper = "${bindir}/wiper.sh" - -RDEPENDS_wiper = "bash gawk coreutils" - -SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \ - file://wiper.sh-fix-stat-path.patch \ - " - -SRC_URI[md5sum] = "25a791d47236c58801f8b27074f3ef93" -SRC_URI[sha256sum] = "8397739c73e44d5ab96c4aef28fa9c0147276d53a1b5657ce04c4565cf6635cc" - -EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"' - -inherit update-alternatives - -ALTERNATIVE_${PN} = "hdparm" -ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm" -ALTERNATIVE_PRIORITY = "100" - -do_install () { - install -d ${D}/${base_sbindir} ${D}/${mandir}/man8 ${D}/${bindir} - oe_runmake 'DESTDIR=${D}' 'sbindir=${base_sbindir}' install - cp ${S}/wiper/wiper.sh ${D}/${bindir} -} diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.61.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.61.bb new file mode 100644 index 000000000..459a62a83 --- /dev/null +++ b/poky/meta/recipes-extended/hdparm/hdparm_9.61.bb @@ -0,0 +1,43 @@ +SUMMARY = "Utility for viewing/manipulating IDE disk drive/driver parameters" +HOMEPAGE = "http://sourceforge.net/projects/hdparm/" +DESCRIPTION = "hdparm is a Linux shell utility for viewing \ +and manipulating various IDE drive and driver parameters." +SECTION = "console/utils" + +LICENSE = "BSD & GPLv2" +LICENSE_${PN} = "BSD" +LICENSE_${PN}-dbg = "BSD" +LICENSE_wiper = "GPLv2" + +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \ + file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \ + file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \ + file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09" + + +PACKAGES =+ "wiper" + +FILES_wiper = "${bindir}/wiper.sh" + +RDEPENDS_wiper = "bash gawk coreutils" + +SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \ + file://wiper.sh-fix-stat-path.patch \ + " + +SRC_URI[md5sum] = "3ef06831e83890f0ba48f7a252b93325" +SRC_URI[sha256sum] = "da1a1c3887f10b8397e8e02013caa61142e0e72cb0d73997421ca2f2f4df5343" + +EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"' + +inherit update-alternatives + +ALTERNATIVE_${PN} = "hdparm" +ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm" +ALTERNATIVE_PRIORITY = "100" + +do_install () { + install -d ${D}/${base_sbindir} ${D}/${mandir}/man8 ${D}/${bindir} + oe_runmake 'DESTDIR=${D}' 'sbindir=${base_sbindir}' install + cp ${S}/wiper/wiper.sh ${D}/${bindir} +} diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.17.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.17.bb deleted file mode 100644 index fa6e8a3c4..000000000 --- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.17.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Library for solving packages and reading repositories" -DESCRIPTION = "This is libsolv, a free package dependency solver using a satisfiability algorithm for solving packages and reading repositories" -HOMEPAGE = "https://github.com/openSUSE/libsolv" -BUGTRACKER = "https://github.com/openSUSE/libsolv/issues" -SECTION = "devel" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8" - -DEPENDS = "expat zlib" - -SRC_URI = "git://github.com/openSUSE/libsolv.git \ -" - -SRCREV = "4bc791c0d235eb14bfe4c5da607206bfdfa6983d" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -inherit cmake - -PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}" -PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON -DENABLE_RPMDB_BDB=ON,,rpm" - -EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON" - -PACKAGES =+ "${PN}-tools ${PN}ext" - -FILES_${PN}-tools = "${bindir}/*" -FILES_${PN}ext = "${libdir}/${PN}ext.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.19.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.19.bb new file mode 100644 index 000000000..98e106f6f --- /dev/null +++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.19.bb @@ -0,0 +1,32 @@ +SUMMARY = "Library for solving packages and reading repositories" +DESCRIPTION = "This is libsolv, a free package dependency solver using a satisfiability algorithm for solving packages and reading repositories" +HOMEPAGE = "https://github.com/openSUSE/libsolv" +BUGTRACKER = "https://github.com/openSUSE/libsolv/issues" +SECTION = "devel" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8" + +DEPENDS = "expat zlib" + +SRC_URI = "git://github.com/openSUSE/libsolv.git \ +" + +SRCREV = "c773294be6b0a2425f344a8999f173fb00cfd16f" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +inherit cmake + +PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}" +PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON -DENABLE_RPMDB_BDB=ON,,rpm" + +EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON" + +PACKAGES =+ "${PN}-tools ${PN}ext" + +FILES_${PN}-tools = "${bindir}/*" +FILES_${PN}ext = "${libdir}/${PN}ext.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch b/poky/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch deleted file mode 100644 index f2fc8ee95..000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ad8e73306cb8293f7d32841e1599fd9048801f1f Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 20 Dec 2019 13:06:05 +0100 -Subject: [PATCH] Add more musl exclusions - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin -[ pvorel: rebase for 20200515: enable accept4_01 ] -[ pvorel: rebase for 20200120: enable fanotify13, fanotify15, setxattr03 ] -Signed-off-by: Petr Vorel ---- - testcases/kernel/syscalls/timer_create/Makefile | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/testcases/kernel/syscalls/timer_create/Makefile b/testcases/kernel/syscalls/timer_create/Makefile -index ada241fe1..d454b01e7 100644 ---- a/testcases/kernel/syscalls/timer_create/Makefile -+++ b/testcases/kernel/syscalls/timer_create/Makefile -@@ -5,6 +5,10 @@ top_srcdir ?= ../../../.. - - include $(top_srcdir)/include/mk/testcases.mk - -+ifeq ($(LIBC),musl) -+FILTER_OUT_MAKE_TARGETS := timer_create01 timer_create03 -+endif -+ - CPPFLAGS += -D_GNU_SOURCE -I$(abs_srcdir)/../include - - LDLIBS += -lpthread -lrt --- -2.26.2 - diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch b/poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch deleted file mode 100644 index 29b2bf7e4..000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 74958c3e341de713b596c8cfd35b2391d6c7bc09 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 7 Jan 2016 18:19:03 +0000 -Subject: [PATCH] build: Add option to select libc implementation - -There are more than glibc for C library implementation available on -linux now a days, uclibc cloaked like glibc but musl e.g. is very -different and does not implement all GNU extensions. - -Disable tests specifically not building _yet_ on musl based systems - -Upstream-Status: Pending (pvorel: this is not going to be fixed, instead -each test needs to be fixed) - -rt_tgsigqueueinfo fails with: -rt_tgsigqueueinfo01.c: In function 'sigusr1_handler': -rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct '} has no member named '_sifields'; did you mean '__si_fields'? - 42 | sigval_rcv = uinfo->_sifields._rt.SI_SIGVAL.sival_ptr; - | ^~~~~~~~~ - | __si_fields - -Signed-off-by: Khem Raj -[ pvorel: rebase for 20200515: enable pty, ioctl ] -[ pvorel: rebase for 20200120: enable mallopt, profil, rpc016, -rt_sigsuspend, sbrk_mutex, setdomainname, sethostname, sigsuspend, -testpi-3, testpi-5, testpi-6, ustat; move rt_tgsigqueueinfo -from 0006-rt_tgsigqueueinfo-disable-test-on-musl.patch ] -Signed-off-by: Petr Vorel ---- - Makefile | 5 +++++ - testcases/kernel/sched/Makefile | 4 +++- - testcases/kernel/syscalls/Makefile | 4 ++++ - 3 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 768ca4606..e9d679a71 100644 ---- a/Makefile -+++ b/Makefile -@@ -41,6 +41,11 @@ vpath %.mk $(top_srcdir)/mk:$(top_srcdir)/mk/include - UCLINUX ?= 0 - export UCLINUX - -+# System C library implementation (glibc,uclibc,musl etc.) -+# default to glibc if not set -+LIBC ?= glibc -+export LIBC -+ - # CLEAN_TARGETS: Targets which exist solely in clean. - # COMMON_TARGETS: Targets which exist in all, clean, and install. - # INSTALL_TARGETS: Targets which exist in clean and install (contains -diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile -index 6a57d79ee..74bb93370 100644 ---- a/testcases/kernel/sched/Makefile -+++ b/testcases/kernel/sched/Makefile -@@ -23,5 +23,7 @@ - top_srcdir ?= ../../.. - - include $(top_srcdir)/include/mk/env_pre.mk -- -+ifeq ($(LIBC),musl) -+ FILTER_OUT_DIRS += process_stress -+endif - include $(top_srcdir)/include/mk/generic_trunk_target.mk -diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile -index c6dc8d9e7..aa50761ea 100644 ---- a/testcases/kernel/syscalls/Makefile -+++ b/testcases/kernel/syscalls/Makefile -@@ -15,6 +15,10 @@ FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \ - mincore mprotect nftw profil remap_file_pages sbrk - endif - -+ifeq ($(LIBC),musl) -+FILTER_OUT_DIRS += confstr fmtmsg getcontext rt_tgsigqueueinfo -+endif -+ - ifeq ($(UCLIBC),1) - FILTER_OUT_DIRS += profil - endif --- -2.26.2 - diff --git a/poky/meta/recipes-extended/ltp/ltp_20210121.bb b/poky/meta/recipes-extended/ltp/ltp_20210121.bb index f58ca2eb2..ffda71076 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20210121.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20210121.bb @@ -34,9 +34,7 @@ PR = "r4" HASHEQUIV_HASH_VERSION .= ".4" SRC_URI = "git://github.com/linux-test-project/ltp.git \ - file://0001-build-Add-option-to-select-libc-implementation.patch \ file://0007-Fix-test_proc_kill-hanging.patch \ - file://0001-Add-more-musl-exclusions.patch \ file://0001-Remove-OOM-tests-from-runtest-mm.patch \ file://determinism.patch \ file://0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch \ @@ -61,7 +59,7 @@ EXTRA_OECONF += " --without-tirpc " do_install(){ install -d ${D}${prefix}/ - oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install + oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run # as it lacks dependency on some perl moudle such as LWP::Simple @@ -78,7 +76,8 @@ do_install(){ find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \ -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*--sysroot=[^ "]*@@g' + -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*--sysroot=[^ "]*@@g' # The controllers memcg_stree test seems to cause us hangs and takes 900s # (maybe we expect more regular output?), anyhow, skip it @@ -121,6 +120,26 @@ FILES_${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${pr INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01" INSANE_SKIP_${PN} += "already-stripped staticdev" +remove_broken_musl_sources() { + [ "${TCLIBC}" = "musl" ] || return 0 + + cd ${S} + echo "WARNING: remove unsupported tests (until they're fixed)" + + # sync with upstream + # https://github.com/linux-test-project/ltp/blob/master/travis/alpine.sh#L33 + rm -rfv \ + testcases/kernel/sched/process_stress/process.c \ + testcases/kernel/syscalls/confstr/confstr01.c \ + testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \ + testcases/kernel/syscalls/getcontext/getcontext01.c \ + testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \ + testcases/kernel/syscalls/timer_create/timer_create01.c \ + testcases/kernel/syscalls/timer_create/timer_create03.c \ + utils/benchmark/ebizzy-0.3 +} +do_patch[postfuncs] += "remove_broken_musl_sources" + # Avoid file dependency scans, as LTP checks for things that may or may not # exist on the running system. For instance it has specific checks for # csh and ksh which are not typically part of OpenEmbedded systems (but diff --git a/poky/meta/recipes-extended/man-pages/man-pages_5.10.bb b/poky/meta/recipes-extended/man-pages/man-pages_5.10.bb deleted file mode 100644 index 8874516aa..000000000 --- a/poky/meta/recipes-extended/man-pages/man-pages_5.10.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Linux man-pages" -DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs" -SECTION = "console/utils" -HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages" -LICENSE = "GPLv2+" - -LIC_FILES_CHKSUM = "file://README;md5=207f70f56526417514ac46b6680e314f" -SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz" - -SRC_URI[sha256sum] = "f2ce94a7250c49910db91806996699e1deac656097d4d53bdf56bdab4b61f228" - -inherit manpages - -MAN_PKG = "${PN}" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[manpages] = "" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -do_install() { - oe_runmake install DESTDIR=${D} -} - -# Only deliveres man-pages so FILES_${PN} gets everything -FILES_${PN}-doc = "" -FILES_${PN} = "${mandir}/*" - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "passwd.5 getspnam.3 crypt.3" -ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5" -ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3" -ALTERNATIVE_LINK_NAME[crypt.3] = "${mandir}/man3/crypt.3" diff --git a/poky/meta/recipes-extended/man-pages/man-pages_5.11.bb b/poky/meta/recipes-extended/man-pages/man-pages_5.11.bb new file mode 100644 index 000000000..3cd0bc525 --- /dev/null +++ b/poky/meta/recipes-extended/man-pages/man-pages_5.11.bb @@ -0,0 +1,36 @@ +SUMMARY = "Linux man-pages" +DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs" +SECTION = "console/utils" +HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages" +LICENSE = "GPLv2+" + +LIC_FILES_CHKSUM = "file://README;md5=207f70f56526417514ac46b6680e314f" +SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz" + +SRC_URI[sha256sum] = "3759aee7cd4a229173d3cb651fbba438777bee6206da8d75ea04caaa7c8662b0" + +inherit manpages + +MAN_PKG = "${PN}" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[manpages] = "" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + oe_runmake install DESTDIR=${D} +} + +# Only deliveres man-pages so FILES_${PN} gets everything +FILES_${PN}-doc = "" +FILES_${PN} = "${mandir}/*" + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "passwd.5 getspnam.3 crypt.3" +ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5" +ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3" +ALTERNATIVE_LINK_NAME[crypt.3] = "${mandir}/man3/crypt.3" diff --git a/poky/meta/recipes-extended/pam/libpam/pam-volatiles.conf b/poky/meta/recipes-extended/pam/libpam/pam-volatiles.conf new file mode 100644 index 000000000..d8b8259a9 --- /dev/null +++ b/poky/meta/recipes-extended/pam/libpam/pam-volatiles.conf @@ -0,0 +1 @@ +d /var/run/sepermit 0755 root root - - diff --git a/poky/meta/recipes-extended/pam/libpam/run-ptest b/poky/meta/recipes-extended/pam/libpam/run-ptest index 69e729ce2..9c304aee4 100644 --- a/poky/meta/recipes-extended/pam/libpam/run-ptest +++ b/poky/meta/recipes-extended/pam/libpam/run-ptest @@ -2,9 +2,10 @@ cd tests +export srcdir=. + failed=0 all=0 - for f in tst-*; do "./$f" > /dev/null 2>&1 case "$?" in @@ -28,4 +29,4 @@ if [ "$failed" -eq 0 ] ; then else echo "$failed of $all tests failed" fi - +unset srcdir diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb index adc641505..674193483 100644 --- a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb +++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb @@ -24,6 +24,7 @@ SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux file://pam-security-abstract-securetty-handling.patch \ file://pam-unix-nullok-secure.patch \ file://crypt_configure.patch \ + file://pam-volatiles.conf \ " SRC_URI[md5sum] = "558ff53b0fc0563ca97f79e911822165" @@ -140,8 +141,18 @@ do_install() { # don't install /var/run when populating rootfs. Do it through volatile rm -rf ${D}${localstatedir} - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/99_pam ${D}${sysconfdir}/default/volatiles + + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then + rm -rf ${D}${sysconfdir}/init.d/ + rm -rf ${D}${sysconfdir}/rc* + install -d ${D}${sysconfdir}/tmpfiles.d + install -m 0644 ${WORKDIR}/pam-volatiles.conf \ + ${D}${sysconfdir}/tmpfiles.d/pam.conf + else + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/99_pam \ + ${D}${sysconfdir}/default/volatiles/ + fi install -d ${D}${sysconfdir}/pam.d/ install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ @@ -158,9 +169,16 @@ do_install_ptest() { if [ ${PTEST_ENABLED} = "1" ]; then mkdir -p ${D}${PTEST_PATH}/tests install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests + install -m 0644 ${S}/tests/confdir ${D}${PTEST_PATH}/tests fi } +pkg_postinst_${PN}() { + if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then + /etc/init.d/populate-volatile.sh update + fi +} + inherit features_check REQUIRED_DISTRO_FEATURES = "pam" diff --git a/poky/meta/recipes-extended/unzip/unzip/unzip_optimization.patch b/poky/meta/recipes-extended/unzip/unzip/unzip_optimization.patch new file mode 100644 index 000000000..4bab7b26a --- /dev/null +++ b/poky/meta/recipes-extended/unzip/unzip/unzip_optimization.patch @@ -0,0 +1,127 @@ +unzip: use optimization from bitbake + +Remove -O3 optimizations to use bitbake default optimization levels. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Mikko Rapeli + +diff -rup unix-orig/configure unix/configure +--- a/unix-orig/configure 2021-04-16 10:25:03.120858292 +0000 ++++ b/unix/configure 2021-04-16 10:46:43.292546138 +0000 +@@ -70,7 +70,7 @@ int main() + _EOF_ + $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null + if test $? -eq 0; then +- CFLAGS_OPT='-O3' ++ CFLAGS_OPT='' + echo " DEC C ($CFLAGS_OPT)" + else + # HP-UX HP C? +@@ -111,7 +111,7 @@ int main() + _EOF_ + $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null + if test $? -eq 0; then +- CFLAGS_OPT='-O3' ++ CFLAGS_OPT='' + echo " GNU C ($CFLAGS_OPT)" + # Special Mac OS X shared library "ld" option? + if test ` uname -s 2> /dev/null ` = 'Darwin'; then +diff -rup unix-orig/Makefile unix/Makefile +--- a/unix-orig/Makefile 2021-04-16 10:25:03.000863878 +0000 ++++ b/unix/Makefile 2021-04-16 10:47:31.658299278 +0000 +@@ -47,7 +47,7 @@ LD = $(CC)# must match, else "unresolved + AS = as + LOC = $(D_USE_BZ2) $(LOCAL_UNZIP) + AF = $(LOC) +-CFLAGS = -O ++CFLAGS = + CF_NOOPT = -I. -I$(IZ_BZIP2) -DUNIX $(LOC) + CF = $(CFLAGS) $(CF_NOOPT) + LFLAGS1 = +@@ -594,12 +594,12 @@ generic_shlib: unix_make + @echo\ + 'which is UnZip linked with the DLL). This target is an example only.' + @echo "" +- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC -DDLL" ++ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC -DDLL" + gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL) + $(RM) libunzip.so.0 libunzip.so + $(LN) -s libunzip.so.0.4 libunzip.so.0 + $(LN) -s libunzip.so.0 libunzip.so +- gcc -c -O unzipstb.c ++ gcc -c unzipstb.c + gcc -o unzip_shlib unzipstb.o -L. -lunzip + + #---------------------------------------------------------------------------- +@@ -775,7 +775,7 @@ freebsd: unix_make + # with "echo" instead). + # + gcc: unix_make +- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O3" LF2="" ++ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="" LF2="" + + # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000 + hk68: unix_make +@@ -792,7 +792,7 @@ isc: unix_make + isc_gcc: unix_make + $(MAKE) unzips AS=gcc CC=gcc LD=gcc CRCA_O=crc_gcc$O \ + LF="-shlib $(LF)" SL="-shlib $(SL)" FL="-shlib $(FL)" LF2="" \ +- CFLAGS="-O3" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \ ++ CFLAGS="" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \ + AF="-DNO_UNDERLINE -Djecxz=jcxz -DALIGNMENT='.align 16' $(AF)" + $(STRIP) $(UNZIPS) + +@@ -808,7 +808,7 @@ isi: unix_make + linux: unix_make + @echo 'NOTE: use linux_noasm target for non-Intel Linux compiles.' + $(MAKE) unzips CC=gcc LD=gcc AS=gcc\ +- CFLAGS="-O3 -Wall -DASM_CRC"\ ++ CFLAGS="-Wall -DASM_CRC"\ + AF="-Di386 $(AF)" CRCA_O=crc_gcc$O + # GRR: this echo is pointless; if user gets this far, no difference to install + # @echo 'Be sure to use the install_asm target rather than the install target' +@@ -818,14 +818,14 @@ linux_asm: linux + # Linux (Posix, approximately SysV): virtually any version since before 0.96, + # for any platform. Change "-O" to "-O3" or whatever, as desired... + linux_noasm: unix_make +- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O -Wall" ++ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-Wall" + + # Linux with lcc compiler: __inline__ (stat.h) not recognized, and must edit + # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined. -O3 + # (or -O2 or -O) is ignored. [GRR 960828: test target only] + # + linux_lcc: unix_make +- $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-O3 -Wall -D__inline__= " ++ $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-Wall -D__inline__= " + + # Linux host with go32 (djgpp) cross-compiler (go32crs.tgz) for 32-bit DOS. + linux_dos: unix_make +@@ -844,7 +844,7 @@ linux_dos: unix_make + # library). + # + linux_shlib: unix_make +- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC"\ ++ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC"\ + LOC="-DDLL -DASM_CRC $(LOC)"\ + AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O + gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\ +@@ -858,7 +858,7 @@ linux_shlib: unix_make + # instead of the original UnZip version. (libz was libgz prior to 0.94) + linux_shlibz: unix_make + $(MAKE) objsdll CC=gcc AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O\ +- CFLAGS="-O3 -Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)" ++ CFLAGS="-Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)" + gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\ + crc_gcc.pic.o + ln -sf libunzip.so.0.4 libunzip.so.0 +@@ -871,7 +871,7 @@ lynx: unix_make + + # Macintosh MacOS X (Unix-compatible enviroment), using standard compiler + macosx: unix_make +- $(MAKE) unzips CFLAGS="-O3 -Wall -DBSD" LF2="" ++ $(MAKE) unzips CFLAGS="-Wall -DBSD" LF2="" + $(STRIP) $(UNZIPS) + + # Macintosh MacOS X (Unix-compatible enviroment), using gcc diff --git a/poky/meta/recipes-extended/unzip/unzip_6.0.bb b/poky/meta/recipes-extended/unzip/unzip_6.0.bb index 0c56a39d9..ec69508ee 100644 --- a/poky/meta/recipes-extended/unzip/unzip_6.0.bb +++ b/poky/meta/recipes-extended/unzip/unzip_6.0.bb @@ -26,6 +26,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/ file://CVE-2019-13232_p1.patch \ file://CVE-2019-13232_p2.patch \ file://CVE-2019-13232_p3.patch \ + file://unzip_optimization.patch \ " UPSTREAM_VERSION_UNKNOWN = "1" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb deleted file mode 100644 index 04f340f13..000000000 --- a/poky/meta/recipes-gnome/epiphany/epiphany_3.38.2.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "WebKit based web browser for GNOME" -DESCRIPTION = "Epiphany is an open source web browser for the Linux desktop environment. \ -It provides a simple and easy-to-use internet browsing experience." -HOMEPAGE = "https://wiki.gnome.org/Apps/Web" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany" -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \ - gsettings-desktop-schemas libxml2-native \ - glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings features_check upstream-version-is-even gettext mime-xdg -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ - file://0002-help-meson.build-disable-the-use-of-yelp.patch \ - file://migrator.patch \ - file://distributor.patch \ - " -SRC_URI[archive.sha256sum] = "8b05f2bcc1e80ecf4a10f6f01b3285087eb4cbdf5741dffb8c0355715ef5116d" - -# Developer mode enables debugging -PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false" - -FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" -RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.38.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.3.bb new file mode 100644 index 000000000..ce24336ac --- /dev/null +++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.3.bb @@ -0,0 +1,28 @@ +SUMMARY = "WebKit based web browser for GNOME" +DESCRIPTION = "Epiphany is an open source web browser for the Linux desktop environment. \ +It provides a simple and easy-to-use internet browsing experience." +HOMEPAGE = "https://wiki.gnome.org/Apps/Web" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr gnutls \ + gsettings-desktop-schemas libxml2-native \ + glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gsettings features_check upstream-version-is-even gettext mime-xdg +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0002-help-meson.build-disable-the-use-of-yelp.patch \ + file://migrator.patch \ + file://distributor.patch \ + " +SRC_URI[archive.sha256sum] = "ce62c1fa3e442a9d6131fc884a6bc9a65cf06224c30d649c49624c2ebcb0d275" + +# Developer mode enables debugging +PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false" + +FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" +RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch b/poky/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch new file mode 100644 index 000000000..81c4bdbbc --- /dev/null +++ b/poky/meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch @@ -0,0 +1,37 @@ +From cb3708bad88e713e4ccf705cb8c14c5996cd9d06 Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Fri, 23 Apr 2021 16:32:38 +0800 +Subject: [PATCH] gcr/meson.build: fix one parallel build failure + +ui/gcr-live-search.c includes gcr/gcr-marshal.h. Because missing +dependency, following error occurred intermittently during doing parallel +build: + + -o ui/libgcr-ui-3.so.1.0.0.p/gcr-live-search.c.o -c ../gcr-3.38.1/ui/gcr-live-search.c +../gcr-3.38.1/ui/gcr-live-search.c:32:10: fatal error: gcr/gcr-marshal.h: No such file or directory + 32 | #include "gcr/gcr-marshal.h" + | ^~~~~~~~~~~~~~~~~~~ +compilation terminated. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/68/diffs] + +Signed-off-by: Changqing Li +--- + gcr/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcr/meson.build b/gcr/meson.build +index 06c3a63..d9d4b8f 100644 +--- a/gcr/meson.build ++++ b/gcr/meson.build +@@ -181,6 +181,7 @@ gcr_base_dep = declare_dependency( + sources: [ + gcr_enums_gen[1], + gcr_oids[1], ++ gcr_marshal_gen[1], + ], + ) + +-- +2.17.1 + diff --git a/poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb b/poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb deleted file mode 100644 index 563087a36..000000000 --- a/poky/meta/recipes-gnome/gcr/gcr_3.38.1.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "A library for bits of crypto UI and parsing etc" -DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \ -accessing key stores. It also provides the viewer for crypto files on the \ -GNOME desktop." -HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" - -DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}" - -CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'" - -GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" -inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg - -SRC_URI[archive.sha256sum] = "17fcaf9c4a93a65fb1c72b82643bb102c13344084687d5886ea66313868d9ec9" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}" -PACKAGECONFIG[gtk] = "-Dgtk=true,-Dgtk=false,gtk+3" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/gcr-3 \ -" - -# http://errors.yoctoproject.org/Errors/Details/20229/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -EXTRA_OEMESON += "--cross-file ${WORKDIR}/meson-${PN}.cross" -do_write_config_append() { - cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross < +Date: Fri, 22 Feb 2019 13:22:06 +0100 +Subject: [PATCH] Work-around thumbnailer and pixdata cross-compile failure + +Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata +when generating the thumbnail metadata and resources. + +This works but the mime types will come from native +loader.cache (which will only contain in-tree loaders), not from the +target loader.cache. + +The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 + +Upstream-Status: Inappropriate [workaround] +Signed-off-by: Alexander Kanavin + +--- + tests/meson.build | 11 +++++++++-- + thumbnailer/meson.build | 23 ++++++++++++++++++++++- + 2 files changed, 31 insertions(+), 3 deletions(-) + +diff --git a/tests/meson.build b/tests/meson.build +index 7c6cb11..07121f1 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -8,13 +8,20 @@ if enabled_loaders.contains('png') and host_system != 'windows' + # Resources; we cannot use gnome.compile_resources() here, because we need to + # override the environment in order to use the utilities we just built instead + # of the system ones ++ ++ if not meson.is_cross_build() ++ pixdata_binary = gdk_pixbuf_pixdata.full_path() ++ else ++ pixdata_binary = 'gdk-pixbuf-pixdata' ++ endif ++ + resources_c = custom_target('resources.c', + input: 'resources.gresource.xml', + output: 'resources.c', + command: [ + gen_resources, + '--glib-compile-resources=@0@'.format(glib_compile_resources.full_path()), +- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), ++ '--pixdata=@0@'.format(pixdata_binary), + '--loaders=@0@'.format(loaders_cache.full_path()), + '--sourcedir=@0@'.format(meson.current_source_dir()), + '--source', +@@ -33,7 +40,7 @@ if enabled_loaders.contains('png') and host_system != 'windows' + command: [ + gen_resources, + '--glib-compile-resources=@0@'.format(glib_compile_resources.full_path()), +- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), ++ '--pixdata=@0@'.format(pixdata_binary), + '--loaders=@0@'.format(loaders_cache.full_path()), + '--sourcedir=@0@'.format(meson.current_source_dir()), + '--header', +diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build +index 8c741e0..5a3b52a 100644 +--- a/thumbnailer/meson.build ++++ b/thumbnailer/meson.build +@@ -14,7 +14,27 @@ gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types', + install: true, + dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ]) + +-custom_target('thumbnailer', ++if meson.is_cross_build() ++ custom_target('thumbnailer', ++ input: 'gdk-pixbuf-thumbnailer.thumbnailer.in', ++ output: 'gdk-pixbuf-thumbnailer.thumbnailer', ++ command: [ ++ gen_thumbnailer, ++ '--printer=gdk-pixbuf-print-mime-types', ++ '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), ++ '--loaders=@0@'.format(loaders_cache.full_path()), ++ '--bindir=@0@'.format(gdk_pixbuf_bindir), ++ '@INPUT@', ++ '@OUTPUT@', ++ ], ++ depends: [ ++ gdk_pixbuf_print_mime_types, ++ gdk_pixbuf_pixdata, ++ ], ++ install: true, ++ install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) ++else ++ custom_target('thumbnailer', + input: 'gdk-pixbuf-thumbnailer.thumbnailer.in', + output: 'gdk-pixbuf-thumbnailer.thumbnailer', + command: [ +@@ -33,3 +53,4 @@ custom_target('thumbnailer', + ], + install: true, + install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) ++endif diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch deleted file mode 100644 index a9c7600eb..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 2d1b65bd1272ad63b7fbd4babd9a8e8c296d15b5 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 22 Feb 2019 13:22:06 +0100 -Subject: [PATCH] (target only) Work-around thumbnailer and pixdata - cross-compile failure - -Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata -when generating the thumbnail metadata and resources. - -This works but the mime types will come from native -loader.cache (which will only contain in-tree loaders), not from the -target loader.cache. - -The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 - -Upstream-Status: Inappropriate [workaround] -Signed-off-by: Alexander Kanavin - ---- - build-aux/gen-thumbnailer.py | 2 -- - tests/meson.build | 11 +++++++++-- - thumbnailer/meson.build | 5 +---- - 3 files changed, 10 insertions(+), 8 deletions(-) - -diff --git a/build-aux/gen-thumbnailer.py b/build-aux/gen-thumbnailer.py -index 05ac821..c5b99ab 100644 ---- a/build-aux/gen-thumbnailer.py -+++ b/build-aux/gen-thumbnailer.py -@@ -20,8 +20,6 @@ argparser.add_argument('output', help='Output file') - args = argparser.parse_args() - - newenv = os.environ.copy() --newenv['GDK_PIXBUF_PIXDATA'] = args.pixdata --newenv['GDK_PIXBUF_MODULE_FILE'] = args.loaders - # 'nt': NT-based Windows, see https://docs.python.org/3/library/os.html - if os.name == 'nt': - gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata) -diff --git a/tests/meson.build b/tests/meson.build -index 8ed7cc1..e011b77 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -1,12 +1,19 @@ - # Resources; we cannot use gnome.compile_resources() here, because we need to - # override the environment in order to use the utilities we just built instead - # of the system ones -+ -+if not meson.is_cross_build() -+pixdata_binary = gdk_pixbuf_pixdata.full_path() -+else -+pixdata_binary = 'gdk-pixbuf-pixdata' -+endif -+ - resources_c = custom_target('resources.c', - input: 'resources.gresource.xml', - output: 'resources.c', - command: [ - gen_resources, -- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), -+ '--pixdata=@0@'.format(pixdata_binary), - '--loaders=@0@'.format(loaders_cache.full_path()), - '--sourcedir=@0@'.format(meson.current_source_dir()), - '--source', -@@ -24,7 +31,7 @@ resources_h = custom_target('resources.h', - output: 'resources.h', - command: [ - gen_resources, -- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), -+ '--pixdata=@0@'.format(pixdata_binary), - '--loaders=@0@'.format(loaders_cache.full_path()), - '--sourcedir=@0@'.format(meson.current_source_dir()), - '--header', -diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build -index aaafec8..71bd61b 100644 ---- a/thumbnailer/meson.build -+++ b/thumbnailer/meson.build -@@ -18,9 +18,7 @@ custom_target('thumbnailer', - output: 'gdk-pixbuf-thumbnailer.thumbnailer', - command: [ - gen_thumbnailer, -- '--printer=@0@'.format(gdk_pixbuf_print_mime_types.full_path()), -- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), -- '--loaders=@0@'.format(loaders_cache.full_path()), -+ '--printer=gdk-pixbuf-print-mime-types', - '--bindir=@0@'.format(gdk_pixbuf_bindir), - '@INPUT@', - '@OUTPUT@', -@@ -28,7 +26,6 @@ custom_target('thumbnailer', - depends: [ - gdk_pixbuf_print_mime_types, - gdk_pixbuf_pixdata, -- loaders_cache, - ], - install: true, - install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch deleted file mode 100644 index 96c546f27..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 3c4a6c147ae8a0962ba9194373d8a41d14eed44f Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 22 Feb 2019 13:23:55 +0100 -Subject: [PATCH] Do not run tests when building - -Upstream-Status: Inappropriate [cross-compile specific] -Signed-off-by: Alexander Kanavin ---- - tests/meson.build | 17 ----------------- - 1 file changed, 17 deletions(-) - -diff --git a/tests/meson.build b/tests/meson.build -index 4fa3fbc..6ef7884 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -138,23 +138,6 @@ foreach t: installed_tests - install_dir: installed_test_bindir, - ) - -- # Two particularly slow tests -- if test_suites.contains('slow') -- timeout = 300 -- else -- timeout = 30 -- endif -- -- test(test_name, test_bin, -- suite: test_suites, -- args: [ '-k', '--tap' ], -- env: [ -- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), -- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()), -- 'GDK_PIXBUF_MODULE_FILE=@0@'.format(loaders_cache.full_path()), -- ], -- timeout: timeout, -- ) - endforeach - - executable('pixbuf-read', diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch index 0fe13a387..cd9f88bef 100644 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch @@ -1,19 +1,20 @@ -From 1a532e090c558a830de9503f56e23414e880bb95 Mon Sep 17 00:00:00 2001 +From d02a8e202d2fe5caf3449683e0ccdf84a482a325 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 5 Jun 2019 14:17:55 +0200 Subject: [PATCH] Build thumbnailer and tests also in cross builds. Upstream-Status: Inappropriate [relies on oe-core specific hacks] Signed-off-by: Alexander Kanavin + --- meson.build | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build -index d104cea..7acb88a 100644 +index 73034d1..d114016 100644 --- a/meson.build +++ b/meson.build -@@ -397,10 +397,8 @@ endif +@@ -378,10 +378,8 @@ subdir('gdk-pixbuf') # i18n subdir('po') @@ -25,4 +26,4 @@ index d104cea..7acb88a 100644 +subdir('thumbnailer') # Documentation - subdir('docs') + build_docs = get_option('gtk_doc') or get_option('docs') diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch deleted file mode 100644 index 3fef2bc1e..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch +++ /dev/null @@ -1,55 +0,0 @@ -From bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81 Mon Sep 17 00:00:00 2001 -From: Robert Ancell -Date: Mon, 30 Nov 2020 12:26:12 +1300 -Subject: [PATCH 02/13] gif: Fix LZW decoder accepting invalid LZW code. - -The code value after a reset wasn't being validated, which means we would -accept invalid codes. This could cause an infinite loop in the decoder. - -Fixes CVE-2020-29385 - -Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/164 - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81] -CVE: CVE-2020-29385 -Signed-off-by: Chee Yang Lee - ---- - gdk-pixbuf/lzw.c | 13 +++++++------ - 1 files changed, 7 insertions(+), 6 deletions(-) - create mode 100644 tests/test-images/fail/hang_114.gif - -diff --git a/gdk-pixbuf/lzw.c b/gdk-pixbuf/lzw.c -index 9e052a6f7..105daf2b1 100644 ---- a/gdk-pixbuf/lzw.c -+++ b/gdk-pixbuf/lzw.c -@@ -195,19 +195,20 @@ lzw_decoder_feed (LZWDecoder *self, - if (self->last_code != self->clear_code && self->code_table_size < MAX_CODES) { - if (self->code < self->code_table_size) - add_code (self, self->code); -- else if (self->code == self->code_table_size) -+ else - add_code (self, self->last_code); -- else { -- /* Invalid code received - just stop here */ -- self->last_code = self->eoi_code; -- return output_length; -- } - - /* When table is full increase code size */ - if (self->code_table_size == (1 << self->code_size) && self->code_size < LZW_CODE_MAX) - self->code_size++; - } - -+ /* Invalid code received - just stop here */ -+ if (self->code >= self->code_table_size) { -+ self->last_code = self->eoi_code; -+ return output_length; -+ } -+ - /* Convert codeword into indexes */ - n_written += write_indexes (self, output + n_written, output_length - n_written); - } --- -2.25.1 - diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/missing-test-data.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/missing-test-data.patch deleted file mode 100644 index 6c758fd61..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/missing-test-data.patch +++ /dev/null @@ -1,30 +0,0 @@ -Upstream-Status: Backport -Signed-off-by: Ross Burton - -From d8d231c01ef2e59856da8a5c26ace955e5f29370 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Mon, 25 Nov 2019 17:05:46 +0000 -Subject: [PATCH] tests: install circular-table.gif - -This test data was added for the pixbuf-gif-circular-table test (added October -2018 in 0b9d004) but because the file was never actually installed the installed -test suite never passes. ---- - tests/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tests/meson.build b/tests/meson.build -index 5116fc2b9..80ed3e8b2 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -97,6 +97,7 @@ test_data = [ - 'bug775693.pixdata', - 'bug775229.pixdata', - 'aero.gif', -+ 'circular-table.gif' - ] - - installed_test_bindir = join_paths(gdk_pixbuf_libexecdir, 'installed-tests', meson.project_name()) --- -2.20.1 - diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb deleted file mode 100644 index 226e1c7b8..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb +++ /dev/null @@ -1,134 +0,0 @@ -SUMMARY = "Image loading library for GTK+" -DESCRIPTION = "The GDK Pixbuf library provides: Image loading and saving \ -facilities, fast scaling and compositing of pixbufs and Simple animation \ -loading (ie. animated GIFs)" -HOMEPAGE = "https://wiki.gnome.org/Projects/GdkPixbuf" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues" - -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \ - " - -SECTION = "libs" - -DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info" -DEPENDS_remove_class-native = "gdk-pixbuf-native" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - file://run-ptest \ - file://fatal-loader.patch \ - file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ - file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ - file://0004-Do-not-run-tests-when-building.patch \ - file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \ - file://missing-test-data.patch \ - file://CVE-2020-29385.patch \ - " - -SRC_URI_append_class-target = " \ - file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ - " -SRC_URI_append_class-nativesdk = " \ - file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ - " - -SRC_URI[md5sum] = "05eb1ebc258ba905f1c8644ef49de064" -SRC_URI[sha256sum] = "1582595099537ca8ff3b99c6804350b4c058bb8ad67411bbaae024ee7cead4e6" - -inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package - -GIR_MESON_OPTION = 'gir' - -LIBV = "2.10.0" - -GDK_PIXBUF_LOADERS ?= "png jpeg" - -PACKAGECONFIG = "${GDK_PIXBUF_LOADERS} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" -PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}" - -PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng" -PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg" -PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff" -PACKAGECONFIG[jpeg2000] = "-Djasper=true,-Djasper=false,jasper" -PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" -PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11" - -PACKAGES =+ "${PN}-xlib" - -# For GIO image type sniffing -RDEPENDS_${PN} = "shared-mime-info" - -FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" -ALLOW_EMPTY_${PN}-xlib = "1" - -FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" - -FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer" - -FILES_${PN}-dev += " \ - ${bindir}/gdk-pixbuf-csource \ - ${bindir}/gdk-pixbuf-pixdata \ - ${bindir}/gdk-pixbuf-print-mime-types \ - ${includedir}/* \ - ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \ -" - -PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*" -PACKAGES_DYNAMIC_class-native = "" - -python populate_packages_prepend () { - postinst_pixbufloader = d.getVar("postinst_pixbufloader") - - loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders') - - packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s')) - d.setVar('PIXBUF_PACKAGES', packages) - - # The test suite exercises all the loaders, so ensure they are all - # dependencies of the ptest package. - d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages) -} - -do_install_append() { - # Copy gdk-pixbuf-query-loaders into libdir so it is always available - # in multilib builds. - cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/ - -} - -# Remove a bad fuzzing attempt that sporadically fails without a way to reproduce -do_install_ptest() { - rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-randomly-modified.test -} - -do_install_append_class-native() { - find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; - - create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache - - create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ - GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders - - create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ - XDG_DATA_DIRS=${STAGING_DATADIR} \ - GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ - GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders -} -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb new file mode 100644 index 000000000..2734a11f9 --- /dev/null +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb @@ -0,0 +1,123 @@ +SUMMARY = "Image loading library for GTK+" +DESCRIPTION = "The GDK Pixbuf library provides: Image loading and saving \ +facilities, fast scaling and compositing of pixbufs and Simple animation \ +loading (ie. animated GIFs)" +HOMEPAGE = "https://wiki.gnome.org/Projects/GdkPixbuf" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \ + " + +SECTION = "libs" + +DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info" +DEPENDS_remove_class-native = "gdk-pixbuf-native" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ + file://run-ptest \ + file://fatal-loader.patch \ + file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ + file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ + file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \ + file://0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch \ + " + +SRC_URI[sha256sum] = "c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f" + +inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package + +GIR_MESON_OPTION = 'introspection' +GIR_MESON_ENABLE_FLAG = "enabled" +GIR_MESON_DISABLE_FLAG = "disabled" + +LIBV = "2.10.0" + +GDK_PIXBUF_LOADERS ?= "png jpeg" + +PACKAGECONFIG = "${GDK_PIXBUF_LOADERS} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" +PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}" + +PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng" +PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg" +PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff" +PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" + +PACKAGES =+ "${PN}-xlib" + +# For GIO image type sniffing +RDEPENDS_${PN} = "shared-mime-info" + +FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}" +ALLOW_EMPTY_${PN}-xlib = "1" + +FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" + +FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer" + +FILES_${PN}-dev += " \ + ${bindir}/gdk-pixbuf-csource \ + ${bindir}/gdk-pixbuf-pixdata \ + ${bindir}/gdk-pixbuf-print-mime-types \ + ${includedir}/* \ + ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \ +" + +PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*" +PACKAGES_DYNAMIC_class-native = "" + +python populate_packages_prepend () { + postinst_pixbufloader = d.getVar("postinst_pixbufloader") + + loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders') + + packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s')) + d.setVar('PIXBUF_PACKAGES', packages) + + # The test suite exercises all the loaders, so ensure they are all + # dependencies of the ptest package. + d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages) +} + +do_install_append() { + # Copy gdk-pixbuf-query-loaders into libdir so it is always available + # in multilib builds. + cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/ + +} + +# Remove a bad fuzzing attempt that sporadically fails without a way to reproduce +do_install_ptest() { + rm ${D}/${datadir}/installed-tests/gdk-pixbuf/pixbuf-randomly-modified.test +} + +do_install_append_class-native() { + find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \; + + create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache + + create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ + GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders + + create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \ + XDG_DATA_DIRS=${STAGING_DATADIR} \ + GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \ + GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders +} +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb deleted file mode 100644 index a2a1aed7b..000000000 --- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.38.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+." -DESCRIPTION = "A wide range of components from utilities for GIO, widgets for \ -GTK+, an animation framework, state machines, paneling and high-performance \ -counters are included." -LICENSE = "GPLv3+" -HOMEPAGE = "https://gitlab.gnome.org/GNOME/libdazzle" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/libdazzle/issues" -LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase upstream-version-is-even vala features_check gobject-introspection - -DEPENDS = "glib-2.0-native glib-2.0 gtk+3" - -SRC_URI[archive.sha256sum] = "e18af28217943bcec106585298a91ec3da48aa3ad62fd0992f23f0c70cd1678f" - -GIR_MESON_OPTION = 'with_introspection' - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.40.0.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.40.0.bb new file mode 100644 index 000000000..ff9088a62 --- /dev/null +++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.40.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+." +DESCRIPTION = "A wide range of components from utilities for GIO, widgets for \ +GTK+, an animation framework, state machines, paneling and high-performance \ +counters are included." +LICENSE = "GPLv3+" +HOMEPAGE = "https://gitlab.gnome.org/GNOME/libdazzle" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/libdazzle/issues" +LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase upstream-version-is-even vala features_check gobject-introspection + +DEPENDS = "glib-2.0-native glib-2.0 gtk+3" + +SRC_URI[archive.sha256sum] = "dba99a7e65fa6662c012b306e5d0f99ff3b466a46059ea7aa0104aaf65ce4ba5" + +GIR_MESON_OPTION = 'with_introspection' + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb b/poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb deleted file mode 100644 index 1e37feb20..000000000 --- a/poky/meta/recipes-gnome/libhandy/libhandy_1.2.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "A library full of GTK+ widgets for mobile phones" -DESCRIPTION = "Library with GTK widgets for mobile phones. Libhandy provides \ -GTK widgets and GObjects to ease developing applications for mobile phones. \ -It was developed by Purism (and used by several official GNOME projects) \ -to extend Gtk by providing mobile-friendly widgets and make the creation of \ -responsive apps easier." -HOMEPAGE = "https://gitlab.gnome.org/GNOME/libhandy" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/libhandy/-/issues" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https" -SRCREV = "7b38a860ffcec6c2ad28153358cc3d037ddb618f" -S = "${WORKDIR}/git" - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GTKDOC_MESON_OPTION = 'gtk_doc' - -inherit meson gobject-introspection vala gettext gtk-doc features_check - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -DEPENDS += "gtk+3" - -PACKAGES =+ "${PN}-examples" -FILES_${PN}-examples = "${bindir}" diff --git a/poky/meta/recipes-gnome/libhandy/libhandy_1.2.2.bb b/poky/meta/recipes-gnome/libhandy/libhandy_1.2.2.bb new file mode 100644 index 000000000..9652948a3 --- /dev/null +++ b/poky/meta/recipes-gnome/libhandy/libhandy_1.2.2.bb @@ -0,0 +1,27 @@ +SUMMARY = "A library full of GTK+ widgets for mobile phones" +DESCRIPTION = "Library with GTK widgets for mobile phones. Libhandy provides \ +GTK widgets and GObjects to ease developing applications for mobile phones. \ +It was developed by Purism (and used by several official GNOME projects) \ +to extend Gtk by providing mobile-friendly widgets and make the creation of \ +responsive apps easier." +HOMEPAGE = "https://gitlab.gnome.org/GNOME/libhandy" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/libhandy/-/issues" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https" +SRCREV = "09f36006b26f41a2bb383b0c853e954c5792cfe1" +S = "${WORKDIR}/git" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = 'gtk_doc' + +inherit meson gobject-introspection vala gettext gtk-doc features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +DEPENDS += "gtk+3" + +PACKAGES =+ "${PN}-examples" +FILES_${PN}-examples = "${bindir}" diff --git a/poky/meta/recipes-gnome/libportal/libportal_0.3.bb b/poky/meta/recipes-gnome/libportal/libportal_0.3.bb deleted file mode 100644 index bc4ff3784..000000000 --- a/poky/meta/recipes-gnome/libportal/libportal_0.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "libportal provides GIO-style async APIs for most Flatpak portals." -DESCRIPTION = "It provides simple asynchronous wrappers for most Flatpak portals \ -with a familiar GObject API along side the D-Bus API" -HOMEPAGE = "https://github.com/flatpak/libportal" -BUGTRACKER = "https://github.com/flatpak/libportal/issues" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https" -SRCREV = "a609e06d0c4adc5c510cf9ac7b060db3d368e78f" -S = "${WORKDIR}/git" - -GTKDOC_MESON_OPTION = 'gtk_doc' - -inherit meson gtk-doc - -DEPENDS += "glib-2.0 glib-2.0-native" diff --git a/poky/meta/recipes-gnome/libportal/libportal_0.4.bb b/poky/meta/recipes-gnome/libportal/libportal_0.4.bb new file mode 100644 index 000000000..03e681f58 --- /dev/null +++ b/poky/meta/recipes-gnome/libportal/libportal_0.4.bb @@ -0,0 +1,17 @@ +SUMMARY = "libportal provides GIO-style async APIs for most Flatpak portals." +DESCRIPTION = "It provides simple asynchronous wrappers for most Flatpak portals \ +with a familiar GObject API along side the D-Bus API" +HOMEPAGE = "https://github.com/flatpak/libportal" +BUGTRACKER = "https://github.com/flatpak/libportal/issues" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https" +SRCREV = "f68764e288ede516d902b131cc4fadded3804059" +S = "${WORKDIR}/git" + +GTKDOC_MESON_OPTION = 'gtk_doc' + +inherit meson gtk-doc + +DEPENDS += "glib-2.0 glib-2.0-native" diff --git a/poky/meta/recipes-graphics/drm/libdrm/0001-meson-Also-search-for-rst2man.py.patch b/poky/meta/recipes-graphics/drm/libdrm/0001-meson-Also-search-for-rst2man.py.patch deleted file mode 100644 index 67fafd40c..000000000 --- a/poky/meta/recipes-graphics/drm/libdrm/0001-meson-Also-search-for-rst2man.py.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 4129a8c6911b6b0ef3665cb167da6b635c29614d Mon Sep 17 00:00:00 2001 -From: Wang Mingyu -Date: Mon, 8 Feb 2021 17:30:52 +0900 -Subject: [PATCH] meson: Also search for rst2man.py - -That's what upstream docutils installs by default. - -Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/drm/-/commit/62b9a3eee9bdaafa766e92d5bebeb4e59845c45a] - -Signed-off-by: Heiko Becker's avatarHeiko Becker ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index a4d8d70..07d2e08 100644 ---- a/meson.build -+++ b/meson.build -@@ -261,7 +261,7 @@ else - endif - - with_man_pages = get_option('man-pages') --prog_rst2man = find_program('rst2man', required: with_man_pages == 'true') -+prog_rst2man = find_program('rst2man', 'rst2man.py', required: with_man_pages == 'true') - with_man_pages = with_man_pages != 'false' and prog_rst2man.found() - - config.set10('HAVE_VISIBILITY', --- -2.25.1 - diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.104.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.104.bb deleted file mode 100644 index ff869d6db..000000000 --- a/poky/meta/recipes-graphics/drm/libdrm_2.4.104.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "Userspace interface to the kernel DRM services" -DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \ -stands for \"Direct Rendering Manager\", which is the kernel portion of the \ -\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \ -accelerated OpenGL drivers." -HOMEPAGE = "http://dri.freedesktop.org" -SECTION = "x11/base" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" -PROVIDES = "drm" -DEPENDS = "libpthread-stubs" - -SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \ - file://0001-meson-Also-search-for-rst2man.py.patch \ - " - -SRC_URI[sha256sum] = "d66ad8b5c2441015ac1333e40137bb803c3bde3612ff040286fcc12158ea1bcb" - -inherit meson pkgconfig manpages - -PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs" -PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false" -PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess" -PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false" -PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false" -PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false" -PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false" -PACKAGECONFIG[omap] = "-Domap=true,-Domap=false" -PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false" -PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false" -PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false" -PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false" -PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false" -PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false" -PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind" -PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false" -PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false" -PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" -PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native" - -ALLOW_EMPTY_${PN}-drivers = "1" -PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \ - ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \ - ${PN}-etnaviv" - -RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \ - ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \ - ${PN}-etnaviv" - -FILES_${PN}-tests = "${bindir}/*" -FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*" -FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*" -FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*" -FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" -FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*" -FILES_${PN}-kms = "${libdir}/libkms*.so.*" -FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*" -FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids" -FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb new file mode 100644 index 000000000..8cb82ad12 --- /dev/null +++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb @@ -0,0 +1,60 @@ +SUMMARY = "Userspace interface to the kernel DRM services" +DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \ +stands for \"Direct Rendering Manager\", which is the kernel portion of the \ +\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \ +accelerated OpenGL drivers." +HOMEPAGE = "http://dri.freedesktop.org" +SECTION = "x11/base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" +PROVIDES = "drm" +DEPENDS = "libpthread-stubs" + +SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \ + " + +SRC_URI[sha256sum] = "1d1d024b7cadc63e2b59cddaca94f78864940ab440843841113fbac6afaf2a46" + +inherit meson pkgconfig manpages + +PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs" +PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false" +PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess" +PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false" +PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false" +PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false" +PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false" +PACKAGECONFIG[omap] = "-Domap=true,-Domap=false" +PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false" +PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false" +PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false" +PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false" +PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false" +PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false" +PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind" +PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false" +PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false" +PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" +PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native" + +ALLOW_EMPTY_${PN}-drivers = "1" +PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \ + ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \ + ${PN}-etnaviv" + +RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \ + ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \ + ${PN}-etnaviv" + +FILES_${PN}-tests = "${bindir}/*" +FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*" +FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*" +FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*" +FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" +FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*" +FILES_${PN}-kms = "${libdir}/libkms*.so.*" +FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*" +FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids" +FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch b/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch index ef092f17a..cddd33097 100644 --- a/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch +++ b/poky/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch @@ -34,14 +34,14 @@ index 00000000..64b6882d --- /dev/null +++ b/glslang/glslang.pc.cmake.in @@ -0,0 +1,11 @@ -+ prefix=@CMAKE_INSTALL_PREFIX@ -+ exec_prefix=@CMAKE_INSTALL_PREFIX@ -+ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ -+ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ -+ -+ Name: @PROJECT_NAME@ -+ Description: OpenGL and OpenGL ES shader front end and validator -+ Requires: -+ Version: @GLSLANG_VERSION@ -+ Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper -+ Cflags: -I${includedir} ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++Name: @PROJECT_NAME@ ++Description: OpenGL and OpenGL ES shader front end and validator ++Requires: ++Version: @GLSLANG_VERSION@ ++Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper ++Cflags: -I${includedir} diff --git a/poky/meta/recipes-graphics/glslang/glslang_11.2.0.bb b/poky/meta/recipes-graphics/glslang/glslang_11.2.0.bb deleted file mode 100644 index 902f7345f..000000000 --- a/poky/meta/recipes-graphics/glslang/glslang_11.2.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "OpenGL / OpenGL ES Reference Compiler" -DESCRIPTION = "Glslang is the official reference compiler front end for the \ -OpenGL ES and OpenGL shading languages. It implements a strict interpretation \ -of the specifications for these languages. It is open and free for anyone to use, \ -either from a command line or programmatically." -SECTION = "graphics" -HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" -LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c5ce49c0456e9b413b98a4368c378229" - -SRCREV = "5421877c380d5f92c1965c7a94620dac861297dd" -SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https \ - file://0001-generate-glslang-pkg-config.patch" -UPSTREAM_CHECK_GITTAGREGEX = "^(?P\d+(\.\d+)+)$" -S = "${WORKDIR}/git" - -inherit cmake python3native - -EXTRA_OECMAKE = " \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON \ - -DENABLE_PCH=OFF \ - -DENABLE_CTEST=OFF \ - -DBUILD_EXTERNAL=OFF \ -" - -SOLIBSDEV = "glslang.so" -# all the other libraries are unversioned, so pack it on PN -FILES_${PN} += "${libdir}/*.so" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/glslang/glslang_11.4.0.bb b/poky/meta/recipes-graphics/glslang/glslang_11.4.0.bb new file mode 100644 index 000000000..fd4cf6d53 --- /dev/null +++ b/poky/meta/recipes-graphics/glslang/glslang_11.4.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "OpenGL / OpenGL ES Reference Compiler" +DESCRIPTION = "Glslang is the official reference compiler front end for the \ +OpenGL ES and OpenGL shading languages. It implements a strict interpretation \ +of the specifications for these languages. It is open and free for anyone to use, \ +either from a command line or programmatically." +SECTION = "graphics" +HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" +LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c5ce49c0456e9b413b98a4368c378229" + +SRCREV = "18eef33bd7a4bf5ad8c69f99cb72022608cf6e73" +SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https \ + file://0001-generate-glslang-pkg-config.patch" +UPSTREAM_CHECK_GITTAGREGEX = "^(?P\d+(\.\d+)+)$" +S = "${WORKDIR}/git" + +inherit cmake python3native + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_PCH=OFF \ + -DENABLE_CTEST=OFF \ + -DBUILD_EXTERNAL=OFF \ +" + +SOLIBSDEV = "glslang.so" +# all the other libraries are unversioned, so pack it on PN +FILES_${PN} += "${libdir}/*.so" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/images/core-image-weston-ptest-all.bb b/poky/meta/recipes-graphics/images/core-image-weston-ptest-all.bb new file mode 100644 index 000000000..a622779e6 --- /dev/null +++ b/poky/meta/recipes-graphics/images/core-image-weston-ptest-all.bb @@ -0,0 +1,21 @@ +require core-image-weston-sdk.bb +require conf/distro/include/ptest-packagelists.inc + +DESCRIPTION += "Also includes ptest packages." + +# Include the full set of ptests +IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}" + +# This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live +# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the +# box) and explicitly add just 1100MB. +# strace-ptest in particular needs more than 500MB +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "1124288" + +# ptests need more memory than standard to avoid the OOM killer +# also lttng-tools needs /tmp that has at least 1G +QB_MEM = "-m 2048" + +# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places +PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-graphics/images/core-image-weston-ptest-fast.bb b/poky/meta/recipes-graphics/images/core-image-weston-ptest-fast.bb new file mode 100644 index 000000000..df02befb6 --- /dev/null +++ b/poky/meta/recipes-graphics/images/core-image-weston-ptest-fast.bb @@ -0,0 +1,20 @@ +require core-image-weston-sdk.bb +require conf/distro/include/ptest-packagelists.inc + +# Include only fast (< 30 sec) ptests +IMAGE_INSTALL += "${PTESTS_FAST}" + +DESCRIPTION += "Also includes ptest packages with fast execution times to allow for more automated QA." + +# This image is sufficiently large (~1.8GB) that it can't actually fit in a live +# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the +# box) and explicitly add just 1500MB. +# strace-ptest in particular needs more than 500MB +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "1524288" + +# ptests need more memory than standard to avoid the OOM killer +QB_MEM = "-m 1024" + +# Sadly at the moment the fast set of ptests is not robust enough and sporadically fails in a couple of places +PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-graphics/images/core-image-weston-sdk.bb b/poky/meta/recipes-graphics/images/core-image-weston-sdk.bb new file mode 100644 index 000000000..f5f7dade5 --- /dev/null +++ b/poky/meta/recipes-graphics/images/core-image-weston-sdk.bb @@ -0,0 +1,11 @@ +require core-image-weston.bb + +DESCRIPTION = "Image with Weston support that includes everything within \ +core-image-weston plus meta-toolchain, development headers and libraries to \ +form a standalone SDK." + +IMAGE_FEATURES += "dev-pkgs tools-sdk \ + tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks ssh-server-openssh" + +IMAGE_INSTALL += "kernel-devsrc" + diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb index b6efc6bca..0bd6af8db 100644 --- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb +++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb @@ -29,7 +29,7 @@ RCONFLICTS_${PN} += "jpeg" inherit cmake pkgconfig -export NASMENV = "--debug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" +export NASMENV = "--reproducible --debug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}" # Add nasm-native dependency consistently for all build arches is hard EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False" diff --git a/poky/meta/recipes-graphics/libva/libva-initial_2.10.0.bb b/poky/meta/recipes-graphics/libva/libva-initial_2.10.0.bb deleted file mode 100644 index 5c6abeafe..000000000 --- a/poky/meta/recipes-graphics/libva/libva-initial_2.10.0.bb +++ /dev/null @@ -1,5 +0,0 @@ -require libva.inc - -do_install_append () { - rm -f ${D}${libdir}/*.so* -} diff --git a/poky/meta/recipes-graphics/libva/libva-initial_2.11.0.bb b/poky/meta/recipes-graphics/libva/libva-initial_2.11.0.bb new file mode 100644 index 000000000..5c6abeafe --- /dev/null +++ b/poky/meta/recipes-graphics/libva/libva-initial_2.11.0.bb @@ -0,0 +1,5 @@ +require libva.inc + +do_install_append () { + rm -f ${D}${libdir}/*.so* +} diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.10.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.10.0.bb deleted file mode 100644 index 828f4fb31..000000000 --- a/poky/meta/recipes-graphics/libva/libva-utils_2.10.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "libva-utils is a collection of utilities from libva project" - -DESCRIPTION = "libva-utils is a collection of utilities \ -and examples to exercise VA-API in accordance with the libva \ -project.VA-API is an open-source library and API specification, \ -which provides access to graphics hardware acceleration capabilities \ -for video processing. It consists of a main library and driver-specific \ -acceleration backends for each supported hardware vendor" - -HOMEPAGE = "https://01.org/linuxmedia/vaapi" -BUGTRACKER = "https://github.com/intel/libva-utils/issues" - -SECTION = "x11" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" - -SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.10-branch" -SRCREV = "f112ee75fcd1472131b20f901b93f6ac1d293fad" -S = "${WORKDIR}/git" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+))$" - -DEPENDS = "libva" - -inherit meson pkgconfig features_check - -# depends on libva which requires opengl -REQUIRED_DISTRO_FEATURES = "opengl" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" -PACKAGECONFIG[x11] = "-Dx11=true, -Dx11=false,virtual/libx11 libxext libxfixes" -PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false,wayland-native wayland" diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.11.1.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.11.1.bb new file mode 100644 index 000000000..096d80b68 --- /dev/null +++ b/poky/meta/recipes-graphics/libva/libva-utils_2.11.1.bb @@ -0,0 +1,32 @@ +SUMMARY = "libva-utils is a collection of utilities from libva project" + +DESCRIPTION = "libva-utils is a collection of utilities \ +and examples to exercise VA-API in accordance with the libva \ +project.VA-API is an open-source library and API specification, \ +which provides access to graphics hardware acceleration capabilities \ +for video processing. It consists of a main library and driver-specific \ +acceleration backends for each supported hardware vendor" + +HOMEPAGE = "https://01.org/linuxmedia/vaapi" +BUGTRACKER = "https://github.com/intel/libva-utils/issues" + +SECTION = "x11" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" + +SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.11-branch" +SRCREV = "c0145a895ebe9b24cde5c441733f90482f1e3d71" +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+)+))$" + +DEPENDS = "libva" + +inherit meson pkgconfig features_check + +# depends on libva which requires opengl +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" +PACKAGECONFIG[x11] = "-Dx11=true, -Dx11=false,virtual/libx11 libxext libxfixes" +PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false,wayland-native wayland" diff --git a/poky/meta/recipes-graphics/libva/libva.inc b/poky/meta/recipes-graphics/libva/libva.inc index d251afa12..43d916cd1 100644 --- a/poky/meta/recipes-graphics/libva/libva.inc +++ b/poky/meta/recipes-graphics/libva/libva.inc @@ -18,7 +18,7 @@ LICENSE = "MIT" SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2" LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" -SRC_URI[sha256sum] = "fa81e35b50d9818fce5ec9eeeeff08a24a8864ceeb9a5c8e7ae4446eacfc0236" +SRC_URI[sha256sum] = "6e361117038b571ad4741d38c9280db8c140b17e76e8c01fc7a4d608d3ed7d5d" S = "${WORKDIR}/libva-${PV}" diff --git a/poky/meta/recipes-graphics/libva/libva_2.10.0.bb b/poky/meta/recipes-graphics/libva/libva_2.10.0.bb deleted file mode 100644 index 4d3fa5096..000000000 --- a/poky/meta/recipes-graphics/libva/libva_2.10.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -require libva.inc - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \ -" - -PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes" -PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa" - -PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland" - -PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland" - -RDEPENDS_${PN}-x11 =+ "${PN}" -RDEPENDS_${PN}-glx =+ "${PN}-x11" - -FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" -FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" -FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" diff --git a/poky/meta/recipes-graphics/libva/libva_2.11.0.bb b/poky/meta/recipes-graphics/libva/libva_2.11.0.bb new file mode 100644 index 000000000..4d3fa5096 --- /dev/null +++ b/poky/meta/recipes-graphics/libva/libva_2.11.0.bb @@ -0,0 +1,20 @@ +require libva.inc + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \ +" + +PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes" +PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa" + +PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland" + +PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland" + +RDEPENDS_${PN}-x11 =+ "${PN}" +RDEPENDS_${PN}-glx =+ "${PN}-x11" + +FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" +FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" +FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.1.bb deleted file mode 100644 index dff79f0be..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -require mesa.inc - -SUMMARY += " (OpenGL only, no EGL/GLES)" - -PROVIDES = "virtual/libgl virtual/mesa" - -S = "${WORKDIR}/mesa-${PV}" - -# At least one DRI rendering engine is required to build mesa. -# When no X11 is available, use osmesa for the rendering engine. -PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" -PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" - -# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS -# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system -DRIDRIVERS ?= "" diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb new file mode 100644 index 000000000..dff79f0be --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb @@ -0,0 +1,16 @@ +require mesa.inc + +SUMMARY += " (OpenGL only, no EGL/GLES)" + +PROVIDES = "virtual/libgl virtual/mesa" + +S = "${WORKDIR}/mesa-${PV}" + +# At least one DRI rendering engine is required to build mesa. +# When no X11 is available, use osmesa for the rendering engine. +PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" +PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" + +# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS +# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system +DRIDRIVERS ?= "" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index caf3c62ad..a85f94c75 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -21,7 +21,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \ " -SRC_URI[sha256sum] = "379fc984459394f2ab2d84049efdc3a659869dc1328ce72ef0598506611712bb" +SRC_URI[sha256sum] = "565c6f4bd2d5747b919454fc1d439963024fc78ca56fd05158c3b2cde2f6912b" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.0.1.bb b/poky/meta/recipes-graphics/mesa/mesa_21.0.1.bb deleted file mode 100644 index 8c584d8e9..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa_21.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require ${BPN}.inc - -DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" -DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb new file mode 100644 index 000000000..8c584d8e9 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb @@ -0,0 +1,4 @@ +require ${BPN}.inc + +DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" +DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" diff --git a/poky/meta/recipes-graphics/pango/pango_1.48.2.bb b/poky/meta/recipes-graphics/pango/pango_1.48.2.bb index 1dcb43b5e..aa279bb50 100644 --- a/poky/meta/recipes-graphics/pango/pango_1.48.2.bb +++ b/poky/meta/recipes-graphics/pango/pango_1.48.2.bb @@ -18,6 +18,8 @@ inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspec GIR_MESON_ENABLE_FLAG = "enabled" GIR_MESON_DISABLE_FLAG = "disabled" +SRC_URI += "file://run-ptest" + SRC_URI[archive.sha256sum] = "d21f8b30dc8abdfc55de25656ecb88dc1105eeeb315e5e2a980dcef8010c2c80" DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" diff --git a/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb b/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb index 5a8c62e64..4eb0cefff 100644 --- a/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb +++ b/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb @@ -21,3 +21,5 @@ S = "${WORKDIR}/git" inherit cmake EXTRA_OECMAKE = "-DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_BUILD_TESTS=OFF -DASSIMP_LIB_INSTALL_DIR=${baselib}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch b/poky/meta/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch new file mode 100644 index 000000000..06e0f7bae --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch @@ -0,0 +1,32 @@ +From a2ba4714a6872e547621d29d9ddcb0f374b88cf6 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Tue, 20 Apr 2021 20:42:18 -0700 +Subject: [PATCH] meson.build: fix incorrect header + +The wayland.c actually include 'xdg-shell-client-protocol.h' instead of +the server one, so fix it. Otherwise, it's possible to get build failure +due to race condition. + +Upstream-Status: Pending + +Signed-off-by: Chen Qi +--- + libweston/backend-wayland/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libweston/backend-wayland/meson.build b/libweston/backend-wayland/meson.build +index 7e82513..29270b5 100644 +--- a/libweston/backend-wayland/meson.build ++++ b/libweston/backend-wayland/meson.build +@@ -10,7 +10,7 @@ srcs_wlwl = [ + fullscreen_shell_unstable_v1_protocol_c, + presentation_time_protocol_c, + presentation_time_server_protocol_h, +- xdg_shell_server_protocol_h, ++ xdg_shell_client_protocol_h, + xdg_shell_protocol_c, + ] + +-- +2.30.2 + diff --git a/poky/meta/recipes-graphics/wayland/weston/xwayland.weston-start b/poky/meta/recipes-graphics/wayland/weston/xwayland.weston-start index b483c97cf..db384b1a5 100644 --- a/poky/meta/recipes-graphics/wayland/weston/xwayland.weston-start +++ b/poky/meta/recipes-graphics/wayland/weston/xwayland.weston-start @@ -2,6 +2,4 @@ if type Xwayland >/dev/null 2>/dev/null; then mkdir -p /tmp/.X11-unix - - add_weston_argument "--modules=xwayland.so" fi diff --git a/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb index 50fbfa613..ce2b7d4f3 100644 --- a/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb +++ b/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb @@ -11,6 +11,7 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ file://xwayland.weston-start \ file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \ + file://0001-meson.build-fix-incorrect-header.patch \ " SRC_URI_append_libc-musl = " file://dont-use-plane-add-prop.patch " @@ -124,7 +125,7 @@ SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wa FILES_${PN}-examples = "${bindir}/*" FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so" -RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" +RDEPENDS_${PN}-xwayland += "xwayland" RDEPENDS_${PN} += "xkeyboard-config" RRECOMMENDS_${PN} = "weston-init liberation-fonts" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch b/poky/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch new file mode 100644 index 000000000..3e87794d2 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxshmfence/0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch @@ -0,0 +1,39 @@ +From 5827f6389a227157958d14a687fb29223cb3a03a Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Wed, 7 Apr 2021 07:48:42 +0000 +Subject: [PATCH] xshmfence_futex.h: Define SYS_futex if it does not exist + +_NR_futex is not defines by newer architectures e.g. riscv32 as +they only have 64bit variant of time_t. Glibc defines SYS_futex +interface based on __NR_futex, since this is used in applications, +such applications start to fail to build for these newer architectures. +This patch defines a fallback to alias __NR_futex to __NR_futex_time64 +to make SYS_futex keep working. + +Reference: https://git.openembedded.org/openembedded-core/commit/?id=7a218adf9990f5e18d0b6a33eb34091969f979c7 + +Upstream-Status: Pending + +Signed-off-by: Mingli Yu +--- + src/xshmfence_futex.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/xshmfence_futex.h b/src/xshmfence_futex.h +index 673ac0e..a71efa5 100644 +--- a/src/xshmfence_futex.h ++++ b/src/xshmfence_futex.h +@@ -53,6 +53,10 @@ static inline int futex_wait(int32_t *addr, int32_t value) { + #include + #include + ++#if !defined(SYS_futex) && defined(SYS_futex_time64) ++#define SYS_futex SYS_futex_time64 ++#endif ++ + static inline long sys_futex(void *addr1, int op, int val1, struct timespec *timeout, void *addr2, int val3) + { + return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3); +-- +2.29.2 + diff --git a/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb index cc4569653..d153c7a60 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxshmfence_1.3.bb @@ -13,7 +13,9 @@ DEPENDS += "virtual/libx11" EXTRA_OECONF += "--with-shared-memory-dir=/dev/shm" -BBCLASSEXTEND = "native nativesdk" +SRC_URI += "file://0001-xshmfence_futex.h-Define-SYS_futex-if-it-does-not-ex.patch" SRC_URI[md5sum] = "42dda8016943dc12aff2c03a036e0937" SRC_URI[sha256sum] = "b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc index b3e03744c..da025171d 100644 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc @@ -122,7 +122,6 @@ EXTRA_OECONF += "--with-fop=no \ OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence" PACKAGECONFIG ??= "dga dri2 udev ${XORG_CRYPTO} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-logind', '', d)} \ " diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2021-3472.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2021-3472.patch new file mode 100644 index 000000000..5480f7187 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2021-3472.patch @@ -0,0 +1,43 @@ +From 7aaf54a1884f71dc363f0b884e57bcb67407a6cd Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb +Date: Sun, 21 Mar 2021 18:38:57 +0100 +Subject: [PATCH] Fix XChangeFeedbackControl() request underflow + +CVE-2021-3472 / ZDI-CAN-1259 + +This vulnerability was discovered by: +Jan-Niklas Sohn working with Trend Micro Zero Day Initiative + +Signed-off-by: Matthieu Herrb + +Upstream-Status: Backport +CVE: CVE-2021-3472 + +Reference to upstream patch: +[https://gitlab.freedesktop.org/xorg/xserver/-/commit/7aaf54a1884f71dc363f0b884e57bcb67407a6cd] + +Signed-off-by: Stefan Ghinea +--- + Xi/chgfctl.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Xi/chgfctl.c b/Xi/chgfctl.c +index 1de4da9..7a597e4 100644 +--- a/Xi/chgfctl.c ++++ b/Xi/chgfctl.c +@@ -464,8 +464,11 @@ ProcXChangeFeedbackControl(ClientPtr client) + break; + case StringFeedbackClass: + { +- xStringFeedbackCtl *f = ((xStringFeedbackCtl *) &stuff[1]); ++ xStringFeedbackCtl *f; + ++ REQUEST_AT_LEAST_EXTRA_SIZE(xChangeFeedbackControlReq, ++ sizeof(xStringFeedbackCtl)); ++ f = ((xStringFeedbackCtl *) &stuff[1]); + if (client->swapped) { + if (len < bytes_to_int32(sizeof(xStringFeedbackCtl))) + return BadLength; +-- +2.17.1 + diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb index 5c6dbac4d..755a762a7 100644 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb @@ -7,6 +7,7 @@ SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.pat file://0001-drmmode_display.c-add-missing-mi.h-include.patch \ file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \ file://0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch \ + file://CVE-2021-3472.patch \ " SRC_URI[sha256sum] = "977420c082450dc808de301ef56af4856d653eea71519a973c3490a780cb7c99" diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb b/poky/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb new file mode 100644 index 000000000..8b1c96fc4 --- /dev/null +++ b/poky/meta/recipes-graphics/xwayland/xwayland_21.1.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "XWayland is an X Server that runs under Wayland." +DESCRIPTION = "XWayland is an X Server running as a Wayland client, \ +and thus is capable of displaying native X11 client applications in a \ +Wayland compositor environment. The goal of XWayland is to facilitate \ +the transition from X Window System to Wayland environments, providing \ +a way to run unported applications in the meantime." +HOMEPAGE = "https://fedoraproject.org/wiki/Changes/XwaylandStandalone" + +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" + +SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz" +SRC_URI[sha256sum] = "31f261ce51bbee76a6ca3ec02aa367ffa2b5efa2b98412df57ccefd7a19003ce" + +inherit meson features_check +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy" + +do_install_append() { + # remove files not needed and clashing with xserver-xorg + rm -rf ${D}/${libdir}/xorg/ +} + +FILES_${PN} += "${libdir}/xorg/protocol.txt" + diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb index 1d900d85f..70b851830 100644 --- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249 DEPENDS = "git-native" -SRCREV = "8f6aaab7f64c6de30d267e31a73f7c3bb30125a9" +SRCREV = "00dfcab64b85bcb61208724a1588662184ebdd59" PR = "r12" PV = "0.2+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc index ccda9f2b7..ba5ec7f65 100644 --- a/poky/meta/recipes-kernel/kmod/kmod.inc +++ b/poky/meta/recipes-kernel/kmod/kmod.inc @@ -26,7 +26,6 @@ SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \ S = "${WORKDIR}/git" -EXTRA_AUTORECONF += "--install --symlink" EXTRA_OECONF +=" --enable-tools --with-zlib" PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb index 78856cbf6..a751b92a2 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb @@ -229,6 +229,7 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \ ${PN}-sd8887 ${PN}-sd8897 ${PN}-sd8997 ${PN}-usb8997 \ ${PN}-ti-connectivity-license ${PN}-wlcommon ${PN}-wl12xx ${PN}-wl18xx \ ${PN}-vt6656-license ${PN}-vt6656 \ + ${PN}-rs9113 ${PN}-rs9116 \ ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \ ${PN}-rtl8168 \ ${PN}-cypress-license \ @@ -529,6 +530,16 @@ RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license" RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license" RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license" +# For RSI RS911x WiFi +LICENSE_${PN}-rs9113 = "WHENCE" +LICENSE_${PN}-rs9116 = "WHENCE" + +FILES_${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps " +FILES_${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps " + +RDEPENDS_${PN}-rs9113 += "${PN}-whence-license" +RDEPENDS_${PN}-rs9116 += "${PN}-whence-license" + # For rtl LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware" LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi_firmware" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 8725473d1..ee41d612f 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -50,5 +50,7 @@ KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" KERNEL_VERSION_SANITY_SKIP = "1" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb index cb34887cd..08314ea03 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "be2935bce35f9adb6d0e735d42651e81a5094adf" -SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e" +SRCREV_machine ?= "400fbf5b14a0c88afb7c31d65be56fb9d6214c81" +SRCREV_meta ?= "38eb7ca3f4b59339c57a04c310f20809b198fa91" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.10.25" +LINUX_VERSION ?= "5.10.34" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb index 2ffc8ed54..939bef0ca 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "65bbe689d98a007848008be2c8edeb5fa8066829" -SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f" +SRCREV_machine ?= "b62ae8bedb024e67e7c5cda51840454a4170c858" +SRCREV_meta ?= "cf20a3c44f5ef181b16ed80e9c2683f76b1ead20" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.4.107" +LINUX_VERSION ?= "5.4.116" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb index 83e59b0eb..8bd674f11 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.10.25" +LINUX_VERSION ?= "5.10.34" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "0f87ec9fea7a5695cd063d9d11d89751efa53ddd" -SRCREV_machine ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" -SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e" +SRCREV_machine_qemuarm ?= "bf33b78f5136873b6d2ec6274908cf688341bc9e" +SRCREV_machine ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" +SRCREV_meta ?= "38eb7ca3f4b59339c57a04c310f20809b198fa91" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb index 2b6e35a69..e3750dd7f 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.4.107" +LINUX_VERSION ?= "5.4.116" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "ac3cbab1d6692d4a032dfffe0a604f39a634d18a" -SRCREV_machine ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" -SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f" +SRCREV_machine_qemuarm ?= "80bd6016a9bdaed4b66ddffffa8c8e62d7c1f8a6" +SRCREV_machine ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" +SRCREV_meta ?= "cf20a3c44f5ef181b16ed80e9c2683f76b1ead20" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb index 026e69511..2e7a45249 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb @@ -13,17 +13,17 @@ KBRANCH_qemux86 ?= "v5.10/standard/base" KBRANCH_qemux86-64 ?= "v5.10/standard/base" KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "d8551cae1ccdbe062a5c6068ce39ea8f4e1c72db" -SRCREV_machine_qemuarm64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" -SRCREV_machine_qemumips ?= "7f1f1ad2f2d90b1b070c6b0a82f0add9aa492e37" -SRCREV_machine_qemuppc ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" -SRCREV_machine_qemuriscv64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" -SRCREV_machine_qemuriscv32 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" -SRCREV_machine_qemux86 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" -SRCREV_machine_qemux86-64 ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" -SRCREV_machine_qemumips64 ?= "fd5ac097b891642eea13659bea536f3ec5910d6d" -SRCREV_machine ?= "cf5b0320cf4544d3db9ce3ddd6ddb7553a610651" -SRCREV_meta ?= "031f6c76e488a3563f35258c72ff1de3e25a512e" +SRCREV_machine_qemuarm ?= "78e8e722eec4434024c5db3e0d59da0b128c7647" +SRCREV_machine_qemuarm64 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" +SRCREV_machine_qemumips ?= "b5c0852a90709e77f7a3d185d1745e6a1f66b77c" +SRCREV_machine_qemuppc ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" +SRCREV_machine_qemuriscv64 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" +SRCREV_machine_qemuriscv32 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" +SRCREV_machine_qemux86 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" +SRCREV_machine_qemux86-64 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" +SRCREV_machine_qemumips64 ?= "bf264e264d2141a4fb61d515573c27935e67ecfa" +SRCREV_machine ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" +SRCREV_meta ?= "38eb7ca3f4b59339c57a04c310f20809b198fa91" # remap qemuarm to qemuarma15 for the 5.8 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -32,7 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.10.25" +LINUX_VERSION ?= "5.10.34" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb index 245c3d574..38404a193 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb @@ -12,16 +12,16 @@ KBRANCH_qemux86 ?= "v5.4/standard/base" KBRANCH_qemux86-64 ?= "v5.4/standard/base" KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "ea4097dbff5a148265018e1a998e02b5a05e3d27" -SRCREV_machine_qemuarm64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" -SRCREV_machine_qemumips ?= "230ca33504faef6f40c5d3b24901aaacb901c9a6" -SRCREV_machine_qemuppc ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" -SRCREV_machine_qemuriscv64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" -SRCREV_machine_qemux86 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" -SRCREV_machine_qemux86-64 ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" -SRCREV_machine_qemumips64 ?= "84e071a893ef9cea8a8ffbcd233b47a2bc9056b5" -SRCREV_machine ?= "cf76c5c0dc0edd51ae4a75a1f8701a2675e87c72" -SRCREV_meta ?= "19738ca97b999a3b150e2d34232bb44b6537348f" +SRCREV_machine_qemuarm ?= "e71df0530eefcac1b3248329e385bcefbad6336e" +SRCREV_machine_qemuarm64 ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" +SRCREV_machine_qemumips ?= "07445052fdd15e60b30dc5ae9d162c2e6bba47d1" +SRCREV_machine_qemuppc ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" +SRCREV_machine_qemuriscv64 ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" +SRCREV_machine_qemux86 ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" +SRCREV_machine_qemux86-64 ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" +SRCREV_machine_qemumips64 ?= "b36d79d6f2aaf9dadec352f611e7b9becf2b9a55" +SRCREV_machine ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" +SRCREV_meta ?= "cf20a3c44f5ef181b16ed80e9c2683f76b1ead20" # remap qemuarm to qemuarma15 for the 5.4 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.4.107" +LINUX_VERSION ?= "5.4.116" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb deleted file mode 100644 index 32ba75bf3..000000000 --- a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.3.bb +++ /dev/null @@ -1,93 +0,0 @@ -SUMMARY = "Babeltrace2 - Trace Format Babel Tower" -DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log." -HOMEPAGE = "http://babeltrace.org/" -BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace" -LICENSE = "MIT & GPLv2 & LGPLv2.1 & BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a458c13f18385b7bc5069a6d7b176e" - -DEPENDS = "glib-2.0 util-linux popt bison-native flex-native" - -SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.0 \ - file://run-ptest \ - file://0001-tests-do-not-run-test-applications-from-.libs.patch \ - file://0001-Make-manpages-multilib-identical.patch \ - " -SRCREV = "91d154476e66735d705adda9ca5cbf5b5eea5940" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P2(\.\d+)+)$" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig ptest python3targetconfig - -EXTRA_OECONF = "--disable-debug-info" - -PACKAGECONFIG ??= "manpages" -PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native" - -FILES_${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a" -FILES_${PN} += "${libdir}/babeltrace2/plugins/*.so" - -ASNEEDED = "" - -RDEPENDS_${PN}-ptest += "bash gawk python3" - -do_compile_ptest () { - make -C tests all -} - -do_install_ptest () { - install -d "${D}${PTEST_PATH}/tests" - - # Copy required files from source directory - for d in $(find "${S}/tests" -type d -printf '%P ') ; do - install -d "${D}${PTEST_PATH}/tests/$d" - find "${S}/tests/$d" -maxdepth 1 -executable -type f \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + - find "${S}/tests/$d" -maxdepth 1 -name *.sh \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; - find "${S}/tests/$d" -maxdepth 1 -name *.py \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; - find "${S}/tests/$d" -maxdepth 1 -name *.expect \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; - done - install -d "${D}${PTEST_PATH}/tests/data/ctf-traces/" - cp -a ${S}/tests/data/ctf-traces/* ${D}${PTEST_PATH}/tests/data/ctf-traces/ - - # Copy the tests directory tree and the executables and - # Makefiles found within. - install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/" - for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do - install -d "${D}${PTEST_PATH}/tests/$d" - find "${B}/tests/$d" -maxdepth 1 -executable -type f \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + - test -r "${B}/tests/$d/Makefile" && \ - install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile" - find "${B}/tests/$d" -maxdepth 1 -name *.sh \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; - done - - for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do - for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do - cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f - done - done - - # Prevent attempts to update Makefiles during test runs, and - # silence "Making check in $SUBDIR" messages. - find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ - sed -i \ - -e '/Makefile:/,/^$/d' \ - -e '/%: %.in/,/^$/d' \ - -e '/echo "Making $$target in $$subdir"; \\/d' \ - -e 's/^srcdir = \(.*\)/srcdir = ./' \ - -e 's/^builddir = \(.*\)/builddir = ./' \ - -e 's/^all-am:.*/all-am:/' \ - {} + - - # Substitute links to installed binaries. - install -d "${D}${PTEST_PATH}/src/cli/" - ln -s "${bindir}/babeltrace2" ${D}${PTEST_PATH}/src/cli/ - - # Remove architechture specific testfiles - rm -rf ${D}${PTEST_PATH}/tests/data/plugins/flt.lttng-utils.debug-info/* -} diff --git a/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb new file mode 100644 index 000000000..7fb524eeb --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/babeltrace2_2.0.4.bb @@ -0,0 +1,93 @@ +SUMMARY = "Babeltrace2 - Trace Format Babel Tower" +DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log." +HOMEPAGE = "http://babeltrace.org/" +BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace" +LICENSE = "MIT & GPLv2 & LGPLv2.1 & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a458c13f18385b7bc5069a6d7b176e" + +DEPENDS = "glib-2.0 util-linux popt bison-native flex-native" + +SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-2.0 \ + file://run-ptest \ + file://0001-tests-do-not-run-test-applications-from-.libs.patch \ + file://0001-Make-manpages-multilib-identical.patch \ + " +SRCREV = "23e8cf4e6fdc1d0b230e964dafac08a57e6228e6" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P2(\.\d+)+)$" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig ptest python3targetconfig + +EXTRA_OECONF = "--disable-debug-info" + +PACKAGECONFIG ??= "manpages" +PACKAGECONFIG[manpages] = ", --disable-man-pages, asciidoc-native xmlto-native" + +FILES_${PN}-staticdev += "${libdir}/babeltrace2/plugins/*.a" +FILES_${PN} += "${libdir}/babeltrace2/plugins/*.so" + +ASNEEDED = "" + +RDEPENDS_${PN}-ptest += "bash gawk python3" + +do_compile_ptest () { + make -C tests all +} + +do_install_ptest () { + install -d "${D}${PTEST_PATH}/tests" + + # Copy required files from source directory + for d in $(find "${S}/tests" -type d -printf '%P ') ; do + install -d "${D}${PTEST_PATH}/tests/$d" + find "${S}/tests/$d" -maxdepth 1 -executable -type f \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + find "${S}/tests/$d" -maxdepth 1 -name *.sh \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + find "${S}/tests/$d" -maxdepth 1 -name *.py \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + find "${S}/tests/$d" -maxdepth 1 -name *.expect \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + done + install -d "${D}${PTEST_PATH}/tests/data/ctf-traces/" + cp -a ${S}/tests/data/ctf-traces/* ${D}${PTEST_PATH}/tests/data/ctf-traces/ + + # Copy the tests directory tree and the executables and + # Makefiles found within. + install -D "${B}/tests/Makefile" "${D}${PTEST_PATH}/tests/" + for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do + install -d "${D}${PTEST_PATH}/tests/$d" + find "${B}/tests/$d" -maxdepth 1 -executable -type f \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + test -r "${B}/tests/$d/Makefile" && \ + install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile" + find "${B}/tests/$d" -maxdepth 1 -name *.sh \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} \; + done + + for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do + for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do + cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f + done + done + + # Prevent attempts to update Makefiles during test runs, and + # silence "Making check in $SUBDIR" messages. + find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ + sed -i \ + -e '/Makefile:/,/^$/d' \ + -e '/%: %.in/,/^$/d' \ + -e '/echo "Making $$target in $$subdir"; \\/d' \ + -e 's/^srcdir = \(.*\)/srcdir = ./' \ + -e 's/^builddir = \(.*\)/builddir = ./' \ + -e 's/^all-am:.*/all-am:/' \ + {} + + + # Substitute links to installed binaries. + install -d "${D}${PTEST_PATH}/src/cli/" + ln -s "${bindir}/babeltrace2" ${D}${PTEST_PATH}/src/cli/ + + # Remove architechture specific testfiles + rm -rf ${D}${PTEST_PATH}/tests/data/plugins/flt.lttng-utils.debug-info/* +} diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb index 7074096ee..6132daf1a 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb @@ -69,7 +69,7 @@ do_install_append () { } do_install_ptest () { - for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/load-42*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh; do + for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh; do install -D "${B}/$f" "${D}${PTEST_PATH}/$f" done @@ -155,7 +155,7 @@ do_install_ptest () { -i ${D}${PTEST_PATH}/tests/unit/Makefile # Fix hardcoded build path - sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH=${PTEST_PATH}/tests/regression/#' \ + sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH="${PTEST_PATH}/tests/regression/#' \ -i ${D}${PTEST_PATH}/tests/regression/ust/python-logging/test_python_logging # Substitute links to installed binaries. diff --git a/poky/meta/recipes-kernel/modutils-initscripts/files/modutils.sh b/poky/meta/recipes-kernel/modutils-initscripts/files/modutils.sh index 28fe6f92d..67e1dcd99 100755 --- a/poky/meta/recipes-kernel/modutils-initscripts/files/modutils.sh +++ b/poky/meta/recipes-kernel/modutils-initscripts/files/modutils.sh @@ -13,6 +13,7 @@ LOAD_MODULE=modprobe [ -f /proc/modules ] || exit 0 +[ -d /lib/modules/`uname -r` ] || exit 0 # Test if modules.dep exists and has a size greater than zero if [ ! -s /lib/modules/`uname -r`/modules.dep ]; then diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index b4683720a..28d0c6a2a 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -322,7 +322,7 @@ PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python" RDEPENDS_${PN} += "elfutils bash" RDEPENDS_${PN}-archive =+ "bash" -RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python3', '', d)}" +RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}" RDEPENDS_${PN}-perl =+ "bash perl perl-modules" RDEPENDS_${PN}-tests =+ "python3 bash" diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb deleted file mode 100644 index b3567bca9..000000000 --- a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Wireless Central Regulatory Domain Database" -HOMEPAGE = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda" -SECTION = "net" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" - -SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" -SRC_URI[sha256sum] = "b4164490d82ff7b0086e812ac42ab27baf57be24324d4c0ee1c5dd6ba27f2a52" - -inherit bin_package allarch - -do_install() { - install -d -m0755 ${D}${nonarch_libdir}/crda - install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys - install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin - install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem - - install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db - install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s -} - -# Install static regulatory DB in /lib/firmware for kernel to load. -# This requires Linux kernel >= v4.15. -# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass -# (in meta-networking) in kernel's recipe. -PACKAGES = "${PN}-static ${PN}" -RCONFLICTS_${PN} = "${PN}-static" - -FILES_${PN}-static = " \ - ${nonarch_base_libdir}/firmware/regulatory.db \ - ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ -" - -# Native users might want to use the source of regulatory DB. -# This is for example used by Linux kernel <= v4.14 and -# kernel_wireless_regdb.bbclass in meta-networking. -do_install_append_class-native() { - install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt -} - -RSUGGESTS_${PN} = "crda" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb new file mode 100644 index 000000000..f79c0b29e --- /dev/null +++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb @@ -0,0 +1,43 @@ +SUMMARY = "Wireless Central Regulatory Domain Database" +HOMEPAGE = "https://wireless.wiki.kernel.org/en/developers/regulatory/crda" +SECTION = "net" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c" + +SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz" +SRC_URI[sha256sum] = "9e4c02b2a9710df4dbdb327c39612e8cbbae6495987afeddaebab28c1ea3d8fa" + +inherit bin_package allarch + +do_install() { + install -d -m0755 ${D}${nonarch_libdir}/crda + install -d -m0755 ${D}${sysconfdir}/wireless-regdb/pubkeys + install -m 0644 regulatory.bin ${D}${nonarch_libdir}/crda/regulatory.bin + install -m 0644 sforshee.key.pub.pem ${D}${sysconfdir}/wireless-regdb/pubkeys/sforshee.key.pub.pem + + install -m 0644 -D regulatory.db ${D}${nonarch_base_libdir}/firmware/regulatory.db + install -m 0644 regulatory.db.p7s ${D}${nonarch_base_libdir}/firmware/regulatory.db.p7s +} + +# Install static regulatory DB in /lib/firmware for kernel to load. +# This requires Linux kernel >= v4.15. +# For kernel <= v4.14, inherit the kernel_wireless_regdb.bbclass +# (in meta-networking) in kernel's recipe. +PACKAGES = "${PN}-static ${PN}" +RCONFLICTS_${PN} = "${PN}-static" + +FILES_${PN}-static = " \ + ${nonarch_base_libdir}/firmware/regulatory.db \ + ${nonarch_base_libdir}/firmware/regulatory.db.p7s \ +" + +# Native users might want to use the source of regulatory DB. +# This is for example used by Linux kernel <= v4.14 and +# kernel_wireless_regdb.bbclass in meta-networking. +do_install_append_class-native() { + install -m 0644 -D db.txt ${D}${libdir}/crda/db.txt +} + +RSUGGESTS_${PN} = "crda" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb index ce2082ee3..96f01391b 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb @@ -28,8 +28,8 @@ PACKAGECONFIG ??= " \ ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ - bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \ - ttml uvch264 webp \ + bz2 closedcaption curl dash dtls hls openssl rsvg sbc smoothstreaming \ + sndfile ttml uvch264 webp \ " PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" @@ -45,7 +45,11 @@ PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl" PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac" PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2" PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth" -PACKAGECONFIG[hls] = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle" +PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled," +# Pick atleast one crypto backend below when enabling hls +PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle" +PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl" +PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt" # the gl packageconfig enables OpenGL elements that haven't been ported # to -base yet. They depend on the gstgl library in -base, so we do # not add GL dependencies here, since these are taken care of in -base. @@ -148,4 +152,3 @@ FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs" FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb index 728a99e08..beddfb038 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb @@ -65,12 +65,9 @@ PACKAGECONFIG[egl] = ",,virtual/egl" PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm" PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm" PACKAGECONFIG[dispmanx] = ",,virtual/libomxil" +PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d" -OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', ' x11', '', d)}" -OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gbm', ' gbm', '', d)}" -OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', ' wayland', '', d)}" -OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'dispmanx', ' dispmanx', '', d)}" -OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'egl', ' egl', '', d)}" +OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}" EXTRA_OEMESON += " \ -Ddoc=disabled \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc deleted file mode 100644 index b69806704..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc +++ /dev/null @@ -1,23 +0,0 @@ -inherit ptest-gnome - -TEST_FILES_PATH = "${datadir}/installed-tests/gstreamer-1.0/test-files" -RUN_PTEST_FILE = "${D}${PTEST_PATH}/run-ptest" - -EXTRA_OEMESON += "-Dtest-files-path=${TEST_FILES_PATH}" - -GST_TEST_SUITE_NAME ?= "gstreamer-1.0" - -# Using do_install_ptest_base instead of do_install_ptest, since -# the default do_install_ptest_base is hardcoded to expect Makefiles. -do_install_ptest_base() { - # Generate run-ptest file - echo "#!/usr/bin/env sh" > "${RUN_PTEST_FILE}" - echo "gnome-desktop-testing-runner ${GST_TEST_SUITE_NAME}" >> "${RUN_PTEST_FILE}" - chmod 0755 "${RUN_PTEST_FILE}" - - # Install additional files required by tests - if [ -d "${S}/tests/files" ] ; then - install -d "${D}/${TEST_FILES_PATH}" - install -m 0644 "${S}/tests/files"/* "${D}/${TEST_FILES_PATH}" - fi -} diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch index fe58e718a..23ebd5c60 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch @@ -12,7 +12,10 @@ environemnts, regardless of whether one pointed to by the env var succeeded or f taken from: http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669] +Part-of: + +Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9f958058697e6fbf5bde325228034572331d1a3a] + Signed-off-by: Jose Quaresma --- gst/gstpluginloader.c | 15 +++++++-------- diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch deleted file mode 100644 index e0e64e2c7..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1db36347d05d88835519368442e9aa89c64091ad Mon Sep 17 00:00:00 2001 -From: Seungha Yang -Date: Tue, 15 Sep 2020 00:54:58 +0900 -Subject: [PATCH] tests: seek: Don't use too strict timeout for validation - -Expected segment-done message might not be seen within expected -time if system is not powerful enough. - -Part-of: - -Upstream-Status: Backport [https://cgit.freedesktop.org/gstreamer/gstreamer/commit?id=f44312ae5d831438fcf8041162079c65321c588c] -Signed-off-by: Anuj Mittal ---- - tests/check/pipelines/seek.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c -index 28bb8846d..5f7447bc5 100644 ---- a/tests/check/pipelines/seek.c -+++ b/tests/check/pipelines/seek.c -@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2) - - GST_INFO ("wait for segment done message"); - -- msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND, -+ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, - GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR); - fail_unless (msg, "no message within the timed window"); - fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done"); --- -2.29.2 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch deleted file mode 100644 index bf5e57249..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch +++ /dev/null @@ -1,257 +0,0 @@ -From cf8077a7e3ab0ae236ebde79b7fc0b02eac658de Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani -Date: Fri, 25 Oct 2019 00:06:26 +0200 -Subject: [PATCH 3/3] meson: Add option for installed tests - -This adds an option for producing installed versions of the unit tests. -These versions don't need meson to run (only a small shell script). This -makes it easier to run cross compiled tests on a target machine. - -Upstream-Status: Pending - -Signed-off-by: Carlos Rafael Giani ---- - build-aux/gen-installed-test-desc.py | 18 ++++++ - build-aux/gen-installed-test-shscript.py | 25 ++++++++ - meson_options.txt | 2 + - tests/check/meson.build | 46 +++++++++++++- - tests/files/testfile | 80 ++++++++++++++++++++++++ - 5 files changed, 170 insertions(+), 1 deletion(-) - create mode 100644 build-aux/gen-installed-test-desc.py - create mode 100644 build-aux/gen-installed-test-shscript.py - create mode 100644 tests/files/testfile - -diff --git a/build-aux/gen-installed-test-desc.py b/build-aux/gen-installed-test-desc.py -new file mode 100644 -index 000000000..69e8a0faf ---- /dev/null -+++ b/build-aux/gen-installed-test-desc.py -@@ -0,0 +1,18 @@ -+import sys -+import os -+import argparse -+ -+def write_template(filename, data): -+ with open(filename, 'w') as f: -+ f.write(data) -+ -+def build_template(testdir, testname): -+ return "[Test]\nType=session\nExec={}\n".format(os.path.join(testdir, testname)) -+ -+argparser = argparse.ArgumentParser(description='Generate installed-test data.') -+argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory') -+argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name') -+argparser.add_argument('--output', metavar='file', required=True, help='Output file') -+args = argparser.parse_args() -+ -+write_template(args.output, build_template(args.test_execdir, args.testname)) -diff --git a/build-aux/gen-installed-test-shscript.py b/build-aux/gen-installed-test-shscript.py -new file mode 100644 -index 000000000..5da86fb37 ---- /dev/null -+++ b/build-aux/gen-installed-test-shscript.py -@@ -0,0 +1,25 @@ -+import sys -+import os -+import argparse -+ -+def write_template(filename, data): -+ with open(filename, 'w') as f: -+ f.write(data) -+ -+def build_template(testdir, testname): -+ return ''.join([ -+ "#!/usr/bin/env sh\n", -+ "export GST_STATE_IGNORE_ELEMENTS=''\n", -+ "export CK_DEFAULT_TIMEOUT=20\n", -+ "export GST_PLUGIN_LOADING_WHITELIST='gstreamer'\n", -+ "{}\n".format(os.path.join(testdir, testname)), -+ ]) -+ -+argparser = argparse.ArgumentParser(description='Generate installed-test data.') -+argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory') -+argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name') -+argparser.add_argument('--output', metavar='file', required=True, help='Output file') -+args = argparser.parse_args() -+ -+write_template(args.output, build_template(args.test_execdir, args.testname)) -+os.chmod(args.output, 0o755) -diff --git a/meson_options.txt b/meson_options.txt -index 72c3997e2..346c423d4 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -15,6 +15,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso - option('memory-alignment', type: 'combo', - choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'], - value: 'malloc') -+option('installed-tests', type : 'boolean', value : false, description : 'enable installed tests') -+option('test-files-path', type : 'string', description : 'Path where to find test files') - - # Feature options - option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') -diff --git a/tests/check/meson.build b/tests/check/meson.build -index a617cf159..e629131c5 100644 ---- a/tests/check/meson.build -+++ b/tests/check/meson.build -@@ -120,11 +120,17 @@ if add_languages('cpp', native: false, required: false) - ] - endif - -+test_files_path = get_option('test-files-path') -+if test_files_path == '' -+ test_files_path = meson.current_source_dir() + '/../files' -+endif -+message('Using path "@0@" as the path to read test files from'.format(test_files_path)) -+ - test_defines = [ - '-UG_DISABLE_ASSERT', - '-UG_DISABLE_CAST_CHECKS', - '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"', -- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"', -+ '-DTESTFILE="@0@"'.format(test_files_path + '/testfile'), - '-DGST_DISABLE_DEPRECATED', - ] - -@@ -138,6 +144,14 @@ endif - glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep] - gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep] - -+installed_tests_datadir = join_paths(prefix, get_option('datadir'), 'installed-tests', 'gstreamer-1.0') -+installed_tests_execdir = join_paths(prefix, libexecdir, 'installed-tests', 'gstreamer-1.0') -+installed_tests_enabled = get_option('installed-tests') -+ -+python = import('python').find_installation() -+gen_installed_test_desc = files('../../build-aux/gen-installed-test-desc.py') -+gen_installed_test_shscript = files('../../build-aux/gen-installed-test-shscript.py') -+ - foreach t : core_tests - fname = t[0] - test_name = fname.split('.')[0].underscorify() -@@ -151,8 +165,38 @@ foreach t : core_tests - include_directories : [configinc], - link_with : link_with_libs, - dependencies : test_deps + glib_deps + gst_deps, -+ install_dir: installed_tests_execdir, -+ install: installed_tests_enabled - ) - -+ if installed_tests_enabled -+ installed_test_shscript = test_name + '.sh' -+ shscript = custom_target (test_name + '_shscript', -+ output: installed_test_shscript, -+ command: [ -+ python, -+ gen_installed_test_shscript, -+ '--test-execdir=@0@'.format(installed_tests_execdir), -+ '--testname=@0@'.format(test_name), -+ '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_shscript)), -+ ], -+ install: true, -+ install_dir: installed_tests_execdir) -+ -+ installed_test_desc = test_name + '.test' -+ data = custom_target(test_name + '_desc', -+ output: installed_test_desc, -+ command: [ -+ python, -+ gen_installed_test_desc, -+ '--test-execdir=@0@'.format(installed_tests_execdir), -+ '--testname=@0@'.format(installed_test_shscript), -+ '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_desc)), -+ ], -+ install: true, -+ install_dir: installed_tests_datadir) -+ endif -+ - env = environment() - env.set('GST_PLUGIN_PATH_1_0', meson.build_root()) - env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '') -diff --git a/tests/files/testfile b/tests/files/testfile -new file mode 100644 -index 000000000..89954e0e2 ---- /dev/null -+++ b/tests/files/testfile -@@ -0,0 +1,80 @@ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ -+................................................................................ --- -2.29.2 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch new file mode 100644 index 000000000..e0e64e2c7 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch @@ -0,0 +1,32 @@ +From 1db36347d05d88835519368442e9aa89c64091ad Mon Sep 17 00:00:00 2001 +From: Seungha Yang +Date: Tue, 15 Sep 2020 00:54:58 +0900 +Subject: [PATCH] tests: seek: Don't use too strict timeout for validation + +Expected segment-done message might not be seen within expected +time if system is not powerful enough. + +Part-of: + +Upstream-Status: Backport [https://cgit.freedesktop.org/gstreamer/gstreamer/commit?id=f44312ae5d831438fcf8041162079c65321c588c] +Signed-off-by: Anuj Mittal +--- + tests/check/pipelines/seek.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c +index 28bb8846d..5f7447bc5 100644 +--- a/tests/check/pipelines/seek.c ++++ b/tests/check/pipelines/seek.c +@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2) + + GST_INFO ("wait for segment done message"); + +- msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND, ++ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, + GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR); + fail_unless (msg, "no message within the timed window"); + fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done"); +-- +2.29.2 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch new file mode 100644 index 000000000..6f571a12d --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch @@ -0,0 +1,36 @@ +From 122e5ac3dd16a461b6ae595605490c8f5d1c3a9d Mon Sep 17 00:00:00 2001 +From: Jose Quaresma +Date: Sun, 11 Apr 2021 19:48:13 +0100 +Subject: [PATCH 1/4] tests: respect the idententaion used in meson + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] + +Signed-off-by: Jose Quaresma +--- + tests/check/meson.build | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/tests/check/meson.build b/tests/check/meson.build +index a617cf159..b2636714b 100644 +--- a/tests/check/meson.build ++++ b/tests/check/meson.build +@@ -146,11 +146,11 @@ foreach t : core_tests + + if not skip_test + exe = executable(test_name, fname, +- c_args : gst_c_args + test_defines, +- cpp_args : gst_c_args + test_defines, +- include_directories : [configinc], +- link_with : link_with_libs, +- dependencies : test_deps + glib_deps + gst_deps, ++ c_args : gst_c_args + test_defines, ++ cpp_args : gst_c_args + test_defines, ++ include_directories : [configinc], ++ link_with : link_with_libs, ++ dependencies : test_deps + glib_deps + gst_deps, + ) + + env = environment() +-- +2.31.1 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch new file mode 100644 index 000000000..b77fb5797 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch @@ -0,0 +1,110 @@ +From c9e93c7a3e4d2773abef4f5e1464af24f36700b3 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma +Date: Sun, 11 Apr 2021 19:48:13 +0100 +Subject: [PATCH 2/4] tests: add support for install the tests + +This will provide to run the tests using the gnome-desktop-testing [1] + +[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] + +Signed-off-by: Jose Quaresma +--- + meson.build | 5 +++++ + meson_options.txt | 1 + + template.test.in | 3 +++ + tests/check/meson.build | 22 +++++++++++++++++++++- + 4 files changed, 30 insertions(+), 1 deletion(-) + create mode 100644 template.test.in + +diff --git a/meson.build b/meson.build +index c4e8774f5..1abf4eb26 100644 +--- a/meson.build ++++ b/meson.build +@@ -562,6 +562,11 @@ if bashcomp_dep.found() + endif + endif + ++installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name()) ++installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name()) ++installed_tests_enabled = get_option('installed-tests') ++installed_tests_template = files('template.test.in') ++ + plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0') + + pkgconfig = import('pkgconfig') +diff --git a/meson_options.txt b/meson_options.txt +index c8cee3762..b5da40eaa 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso + option('memory-alignment', type: 'combo', + choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'], + value: 'malloc') ++option('installed-tests', type : 'boolean', value : false, description : 'Enable installed tests') + + # Feature options + option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') +diff --git a/template.test.in b/template.test.in +new file mode 100644 +index 000000000..f701627f8 +--- /dev/null ++++ b/template.test.in +@@ -0,0 +1,3 @@ ++[Test] ++Type=session ++Exec=@installed_tests_dir@/@program@ +diff --git a/tests/check/meson.build b/tests/check/meson.build +index b2636714b..a697a7b06 100644 +--- a/tests/check/meson.build ++++ b/tests/check/meson.build +@@ -124,10 +124,16 @@ test_defines = [ + '-UG_DISABLE_ASSERT', + '-UG_DISABLE_CAST_CHECKS', + '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"', +- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"', + '-DGST_DISABLE_DEPRECATED', + ] + ++testfile = meson.current_source_dir() + '/meson.build' ++if installed_tests_enabled ++ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile') ++ testfile = installed_tests_metadir + '/testfile' ++endif ++test_defines += '-DTESTFILE="@0@"'.format(testfile) ++ + # sanity checking + if get_option('check').disabled() + if get_option('tests').enabled() +@@ -151,6 +157,8 @@ foreach t : core_tests + include_directories : [configinc], + link_with : link_with_libs, + dependencies : test_deps + glib_deps + gst_deps, ++ install_dir: installed_tests_execdir, ++ install: installed_tests_enabled, + ) + + env = environment() +@@ -162,6 +170,18 @@ foreach t : core_tests + env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner') + env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer') + ++ if installed_tests_enabled ++ test_conf = configuration_data() ++ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir)) ++ test_conf.set('program', test_name) ++ configure_file( ++ input: installed_tests_template, ++ output: test_name + '.test', ++ install_dir: installed_tests_metadir, ++ configuration: test_conf ++ ) ++ endif ++ + test(test_name, exe, env: env, timeout : 3 * 60) + endif + endforeach +-- +2.31.1 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch new file mode 100644 index 000000000..46813cec3 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch @@ -0,0 +1,48 @@ +From e82dedec1803922656e92285fc1bb75b2cdc0aad Mon Sep 17 00:00:00 2001 +From: Jose Quaresma +Date: Sat, 24 Apr 2021 10:34:47 +0100 +Subject: [PATCH 3/4] tests: use a dictionaries for environment + +meson environment() can't be passed to configure_file and it is needed for installed_tests, +use a dictionary as this is simplest solution to install the environment. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] + +Signed-off-by: Jose Quaresma +--- + tests/check/meson.build | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +diff --git a/tests/check/meson.build b/tests/check/meson.build +index a697a7b06..f64524904 100644 +--- a/tests/check/meson.build ++++ b/tests/check/meson.build +@@ -161,14 +161,17 @@ foreach t : core_tests + install: installed_tests_enabled, + ) + +- env = environment() +- env.set('GST_PLUGIN_PATH_1_0', meson.build_root()) +- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '') +- env.set('GST_STATE_IGNORE_ELEMENTS', '') +- env.set('CK_DEFAULT_TIMEOUT', '20') +- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name)) +- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner') +- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer') ++ # environment() can't be passed to configure_file and it is needed for installed_tests ++ # use a dictionary as this is simplest solution to install the environment ++ env = { ++ 'GST_PLUGIN_PATH_1_0': meson.build_root(), ++ 'GST_PLUGIN_SYSTEM_PATH_1_0': '', ++ 'GST_STATE_IGNORE_ELEMENTS': '', ++ 'CK_DEFAULT_TIMEOUT': '20', ++ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name), ++ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner', ++ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer', ++ } + + if installed_tests_enabled + test_conf = configuration_data() +-- +2.31.1 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch new file mode 100644 index 000000000..eabe7bcbe --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch @@ -0,0 +1,58 @@ +From 57d2965e979f886e03eecd7e351bf01812053971 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma +Date: Sun, 2 May 2021 01:58:01 +0100 +Subject: [PATCH 4/4] tests: install the environment for installed_tests + +- adapt the test environment for installed_tests +- install the test environment for installed_tests +- run the tests using the installed environment + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] + +Signed-off-by: Jose Quaresma +--- + template.test.in | 2 +- + tests/check/meson.build | 18 ++++++++++++++++++ + 2 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/template.test.in b/template.test.in +index f701627f8..9a3fbdd09 100644 +--- a/template.test.in ++++ b/template.test.in +@@ -1,3 +1,3 @@ + [Test] + Type=session +-Exec=@installed_tests_dir@/@program@ ++Exec=sh -c 'set -aex && source @installed_tests_dir@/@program@.env && exec @installed_tests_dir@/@program@' +diff --git a/tests/check/meson.build b/tests/check/meson.build +index f64524904..a67e0f8dd 100644 +--- a/tests/check/meson.build ++++ b/tests/check/meson.build +@@ -183,6 +183,24 @@ foreach t : core_tests + install_dir: installed_tests_metadir, + configuration: test_conf + ) ++ ++ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)} ++ configure_file( ++ output: test_name + '.env', ++ install_dir: installed_tests_execdir, ++ configuration : env, ++ ) ++ # helper to convert a meson environment dictionay object exported with configure_file ++ # this also remove not needed variables for the installed tests ++ meson.add_postconf_script('sed', '-i', ++ '-e', '/^#define/!d', ++ '-e', 's/^#define //g', ++ '-e', '/^GST_PLUGIN_PATH_1_0/d', ++ '-e', '/^GST_PLUGIN_SYSTEM_PATH_1_0/d', ++ '-e', '/^GST_PLUGIN_SCANNER_1_0/d', ++ '-e', 's/ /=/', ++ join_paths(meson.current_build_dir(), test_name + '.env') ++ ) + endif + + test(test_name, exe, env: env, timeout : 3 * 60) +-- +2.31.1 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest new file mode 100755 index 000000000..0cfa955f0 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest @@ -0,0 +1,2 @@ +#!/usr/bin/env sh +gnome-desktop-testing-runner gstreamer diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb index 856207096..8f135b383 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb @@ -8,7 +8,7 @@ LICENSE = "LGPLv2+" DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native" -inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection +inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" @@ -16,10 +16,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ S = "${WORKDIR}/gstreamer-${PV}" SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ + file://run-ptest \ file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ file://0002-Remove-unused-valgrind-detection.patch \ - file://0003-meson-Add-option-for-installed-tests.patch \ - file://0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \ + file://0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \ + file://0004-tests-respect-the-idententaion-used-in-meson.patch \ + file://0005-tests-add-support-for-install-the-tests.patch \ + file://0006-tests-use-a-dictionaries-for-environment.patch \ + file://0007-tests-install-the-environment-for-installed_tests.patch \ " SRC_URI[sha256sum] = "9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5" @@ -68,4 +72,4 @@ FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb" CVE_PRODUCT = "gstreamer" -require gstreamer1.0-ptest.inc +PTEST_BUILD_HOST_FILES = "" diff --git a/poky/meta/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch b/poky/meta/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch index 0d1d0dc38..1895748d1 100644 --- a/poky/meta/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch +++ b/poky/meta/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch @@ -4,15 +4,13 @@ flags. We need those to generate reproducible binaries. Allow them through. Upstream-Status: Pending Signed-off-by: Richard Purdie -Index: libid3tag-0.15.1b/configure.ac -=================================================================== ---- libid3tag-0.15.1b.orig/configure.ac -+++ libid3tag-0.15.1b/configure.ac +--- a/configure.ac ++++ b/configure.ac @@ -99,6 +99,10 @@ do -mno-cygwin) shift ;; -+ -fmacro-prefix-map*|-fdebug-prefix-map*) ++ -fmacro-prefix-map*|-fdebug-prefix-map*|-ffile-prefix-map*) + CFLAGS="$CFLAGS $1" + shift + ;; diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.2.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.2.0.bb deleted file mode 100644 index ea8580a25..000000000 --- a/poky/meta/recipes-multimedia/libtiff/tiff_4.2.0.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Provides support for the Tag Image File Format (TIFF)" -DESCRIPTION = "Library provides support for the Tag Image File Format \ -(TIFF), a widely used format for storing image data. This library \ -provide means to easily access and create TIFF image files." -HOMEPAGE = "http://www.libtiff.org/" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf" - -CVE_PRODUCT = "libtiff" - -SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \ - " -SRC_URI[sha256sum] = "eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb" - -# exclude betas -UPSTREAM_CHECK_REGEX = "tiff-(?P\d+(\.\d+)+).tar" - -inherit autotools multilib_header - -CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no" - -PACKAGECONFIG ?= "cxx jpeg zlib lzma \ - strip-chopping extrasample-as-alpha check-ycbcr-subsampling" - -PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,," -PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg," -PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib," -PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz," - -# Convert single-strip uncompressed images to multiple strips of specified -# size (default: 8192) to reduce memory usage -PACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,," - -# Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA -PACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,," - -# Control picking up YCbCr subsample info. Disable to support files lacking -# the tag -PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,," - -# Support a mechanism allowing reading large strips (usually one strip files) -# in chunks when using TIFFReadScanline. Experimental 4.0+ feature -PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,," - -PACKAGES =+ "tiffxx tiff-utils" -FILES_tiffxx = "${libdir}/libtiffxx.so.*" -FILES_tiff-utils = "${bindir}/*" - -do_install_append() { - oe_multilib_header tiffconf.h -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb new file mode 100644 index 000000000..abf0a6774 --- /dev/null +++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb @@ -0,0 +1,53 @@ +SUMMARY = "Provides support for the Tag Image File Format (TIFF)" +DESCRIPTION = "Library provides support for the Tag Image File Format \ +(TIFF), a widely used format for storing image data. This library \ +provide means to easily access and create TIFF image files." +HOMEPAGE = "http://www.libtiff.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf" + +CVE_PRODUCT = "libtiff" + +SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \ + " +SRC_URI[sha256sum] = "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8" + +# exclude betas +UPSTREAM_CHECK_REGEX = "tiff-(?P\d+(\.\d+)+).tar" + +inherit autotools multilib_header + +CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no" + +PACKAGECONFIG ?= "cxx jpeg zlib lzma \ + strip-chopping extrasample-as-alpha check-ycbcr-subsampling" + +PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,," +PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg," +PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib," +PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz," + +# Convert single-strip uncompressed images to multiple strips of specified +# size (default: 8192) to reduce memory usage +PACKAGECONFIG[strip-chopping] = "--enable-strip-chopping,--disable-strip-chopping,," + +# Treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA +PACKAGECONFIG[extrasample-as-alpha] = "--enable-extrasample-as-alpha,--disable-extrasample-as-alpha,," + +# Control picking up YCbCr subsample info. Disable to support files lacking +# the tag +PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--disable-check-ycbcr-subsampling,," + +# Support a mechanism allowing reading large strips (usually one strip files) +# in chunks when using TIFFReadScanline. Experimental 4.0+ feature +PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,," + +PACKAGES =+ "tiffxx tiff-utils" +FILES_tiffxx = "${libdir}/libtiffxx.so.*" +FILES_tiff-utils = "${bindir}/*" + +do_install_append() { + oe_multilib_header tiffconf.h +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.4.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.4.bb deleted file mode 100644 index 35cad6ffc..000000000 --- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.4.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" -DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ -mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ -and also can write the decoded audio to WAV." -HOMEPAGE = "http://mpg123.de/" -BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169" - -SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" -SRC_URI[sha256sum] = "081991540df7a666b29049ad870f293cfa28863b36488ab4d58ceaa7b5846454" - -UPSTREAM_CHECK_REGEX = "mpg123-(?P\d+(\.\d+)+)\.tar" - -inherit autotools pkgconfig - -# The options should be mutually exclusive for configuration script. -# If both alsa and pulseaudio are specified (as in the default distro features) -# pulseaudio takes precedence. -PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" - -PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" -PACKAGECONFIG[esd] = ",,esound" -PACKAGECONFIG[jack] = ",,jack" -PACKAGECONFIG[openal] = ",,openal-soft" -PACKAGECONFIG[portaudio] = ",,portaudio-v19" -PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" -PACKAGECONFIG[sdl] = ",,libsdl2" - -# Following are possible sound output modules: -# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi -AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}" -AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" - -EXTRA_OECONF = " \ - --enable-shared \ - --with-audio='${AUDIOMODS}' \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ - ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-cpu=generic_nofpu', '', d)} \ -" -# Fails to build with thumb-1 (qemuarm) -#| {standard input}: Assembler messages: -#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' -#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24' -#... -#| make[3]: *** [equalizer.lo] Error 1 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb new file mode 100644 index 000000000..7207bd1dd --- /dev/null +++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb @@ -0,0 +1,52 @@ +SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" +DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ +mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ +and also can write the decoded audio to WAV." +HOMEPAGE = "http://mpg123.de/" +BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169" + +SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" +SRC_URI[sha256sum] = "502a97e0d935be7e37d987338021d8f301bae35c2884f2a83d59c4b52466ef06" + +UPSTREAM_CHECK_REGEX = "mpg123-(?P\d+(\.\d+)+)\.tar" + +inherit autotools pkgconfig + +# The options should be mutually exclusive for configuration script. +# If both alsa and pulseaudio are specified (as in the default distro features) +# pulseaudio takes precedence. +PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" + +PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" +PACKAGECONFIG[esd] = ",,esound" +PACKAGECONFIG[jack] = ",,jack" +PACKAGECONFIG[openal] = ",,openal-soft" +PACKAGECONFIG[portaudio] = ",,portaudio-v19" +PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" +PACKAGECONFIG[sdl] = ",,libsdl2" + +# Following are possible sound output modules: +# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi +AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}" +AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" + +EXTRA_OECONF = " \ + --enable-shared \ + --with-audio='${AUDIOMODS}' \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-cpu=generic_nofpu', '', d)} \ +" +# Fails to build with thumb-1 (qemuarm) +#| {standard input}: Assembler messages: +#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' +#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24' +#... +#| make[3]: *** [equalizer.lo] Error 1 +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc index 9358f13d0..0c89bad91 100644 --- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc +++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc @@ -1,5 +1,5 @@ # Version 1.8 -SRCREV = "32819581cc0509c9d58c33c3061f57abe0c40c88" +SRCREV = "6af88067da16c6e69243b376c3b6454ec694460b" PE = "1" SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=unstable/devel/latest" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch index 93bda4d75..68195f846 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch @@ -8,7 +8,7 @@ it can reflect broader range which is now checked Rename ATOMIC_INT64_IS_BUILTIN to ATOMICS_ARE_BUILTIN -Upstream-Status: Submitted [https://bugs.webkit.org/attachment.cgi?bugid=222959] +Upstream-Status: Accepted [https://bugs.webkit.org/attachment.cgi?bugid=222959] Signed-off-by: Khem Raj --- Source/JavaScriptCore/CMakeLists.txt | 2 +- diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch index a13b394fd..1ccef1fdc 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch @@ -3,7 +3,7 @@ From: Alexander Kanavin Date: Fri, 6 Oct 2017 17:00:08 +0300 Subject: [PATCH] Fix build with musl -Upstream-Status: Pending +Upstream-Status: Accepted Signed-off-by: Alexander Kanavin --- diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch new file mode 100644 index 000000000..98d2d1ded --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch @@ -0,0 +1,31 @@ +From dcf9ae0dc0b4510eddbeeea09e11edfb123f95af Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 2 May 2021 13:10:49 -0700 +Subject: [PATCH] MiniBrowser: Fix reproduciblity + +Do not emit references to source dir in generated sourcecode + +Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=225283] +Signed-off-by: Khem Raj +--- + Tools/MiniBrowser/gtk/CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Tools/MiniBrowser/gtk/CMakeLists.txt b/Tools/MiniBrowser/gtk/CMakeLists.txt +index 93b62521..482d3b00 100644 +--- a/Tools/MiniBrowser/gtk/CMakeLists.txt ++++ b/Tools/MiniBrowser/gtk/CMakeLists.txt +@@ -51,8 +51,8 @@ add_custom_command( + OUTPUT ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.c + ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.h + MAIN_DEPENDENCY ${MiniBrowser_DIR}/browser-marshal.list +- COMMAND glib-genmarshal --prefix=browser_marshal ${MiniBrowser_DIR}/browser-marshal.list --body > ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.c +- COMMAND glib-genmarshal --prefix=browser_marshal ${MiniBrowser_DIR}/browser-marshal.list --header > ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.h ++ COMMAND glib-genmarshal --prefix=browser_marshal ${MiniBrowser_DIR}/browser-marshal.list --body --skip-source > ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.c ++ COMMAND glib-genmarshal --prefix=browser_marshal ${MiniBrowser_DIR}/browser-marshal.list --header --skip-source > ${MiniBrowser_DERIVED_SOURCES_DIR}/BrowserMarshal.h + VERBATIM) + + if (USE_GTK4) +-- +2.31.1 + diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch b/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch index dc3a71d93..5033de419 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch @@ -13,7 +13,7 @@ setting DEFAULT_THREAD_STACK_SIZE_IN_KB alone is not enough either This patch only changes behavior when using musl, the defaults for glibc in OE remains same -Upstream-Status: Pending +Upstream-Status: Accepted Signed-off-by: Khem Raj --- a/Source/JavaScriptCore/runtime/OptionsList.h diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb deleted file mode 100644 index cdc3f9b58..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.30.5.bb +++ /dev/null @@ -1,150 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -HOMEPAGE = "https://www.webkitgtk.org/" -BUGTRACKER = "https://bugs.webkit.org/" - -LICENSE = "BSD & LGPLv2+" -LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ - file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ - file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ - " - -SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ - file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ - file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ - file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ - file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \ - file://0001-Fix-build-with-musl.patch \ - file://include_xutil.patch \ - file://reduce-memory-overheads.patch \ - file://0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch \ - file://musl-lower-stack-usage.patch \ - " - -SRC_URI[sha256sum] = "7d0dab08e3c5ae07bec80b2822ef42e952765d5724cac86eb23999bfed5a7f1f" - -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" - -CVE_PRODUCT = "webkitgtk webkitgtk\+" - -DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libgcrypt \ - gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ - pango icu bison-native gawk intltool-native libwebp \ - atk udev harfbuzz jpeg libpng librsvg libtheora libvorbis \ - ruby-native libnotify gstreamer1.0-plugins-bad \ - gettext-native glib-2.0 glib-2.0-native libtasn1 \ - " - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ - enchant \ - libsecret \ - " - -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" -PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" -PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" -PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" -PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," - -# webkitgtk is full of /usr/bin/env python, particular for generating docs -do_configure[postfuncs] += "setup_python_link" -setup_python_link() { - if [ ! -e ${STAGING_BINDIR_NATIVE}/python ]; then - ln -s `which python3` ${STAGING_BINDIR_NATIVE}/python - fi -} - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ - -DENABLE_MINIBROWSER=ON \ - -DPYTHON_EXECUTABLE=`which python3` \ - -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ - " - -# Javascript JIT is not supported on ARC -EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " -# By default 25-bit "medium" calls are used on ARC -# which is not enough for binaries larger than 32 MiB -CFLAGS_append_arc = " -mlong-calls" -CXXFLAGS_append_arc = " -mlong-calls" - -# Javascript JIT is not supported on powerpc -EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " - -# ARM JIT code does not build on ARMv4/5/6 anymore -EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " - -EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " - -# JIT and gold linker does not work on RISCV -EXTRA_OECMAKE_append_riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" -EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" - -# JIT not supported on MIPS either -EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " - -# JIT not supported on X32 -# An attempt was made to upstream JIT support for x32 in -# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as -# unresolved due to limited X32 adoption. -EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF " - -SECURITY_CFLAGS_remove_aarch64 = "-fpie" -SECURITY_CFLAGS_append_aarch64 = " -fPIE" - -FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" - -RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET_armv7a = "thumb" -ARM_INSTRUCTION_SET_armv7r = "thumb" -ARM_INSTRUCTION_SET_armv7ve = "thumb" - -# introspection inside qemu-arm hangs forever on musl/arm builds -# therefore disable GI_DATA -GI_DATA_ENABLED_libc-musl_armv7a = "False" -GI_DATA_ENABLED_libc-musl_armv7ve = "False" - -# Can't be built with ccache -CCACHE_DISABLE = "1" - -PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" -src_package_preprocess () { - # Trim build paths from comments in generated sources to ensure reproducibility - sed -i -e "s,${WORKDIR},,g" \ - ${B}/DerivedSources/webkit2gtk/webkit2/*.cpp \ - ${B}/DerivedSources/ForwardingHeaders/JavaScriptCore/*.h \ - ${B}/DerivedSources/JavaScriptCore/*.h \ - ${B}/DerivedSources/JavaScriptCore/yarr/*.h \ - ${B}/DerivedSources/MiniBrowser/*.c -} - diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb new file mode 100644 index 000000000..7d0d0fc16 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb @@ -0,0 +1,151 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "https://www.webkitgtk.org/" +BUGTRACKER = "https://bugs.webkit.org/" + +LICENSE = "BSD & LGPLv2+" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ + file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ + file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ + file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \ + file://0001-Fix-build-with-musl.patch \ + file://include_xutil.patch \ + file://reduce-memory-overheads.patch \ + file://0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch \ + file://musl-lower-stack-usage.patch \ + file://0001-MiniBrowser-Fix-reproduciblity.patch \ + " + +SRC_URI[sha256sum] = "50736ec7a91770b5939d715196e5fe7209b93efcdeef425b24dc51fb8e9d7c1e" + +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" + +CVE_PRODUCT = "webkitgtk webkitgtk\+" + +DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libgcrypt \ + gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ + pango icu bison-native gawk intltool-native libwebp \ + atk udev harfbuzz jpeg libpng librsvg libtheora libvorbis \ + ruby-native libnotify gstreamer1.0-plugins-bad \ + gettext-native glib-2.0 glib-2.0-native libtasn1 \ + " + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ + enchant \ + libsecret \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" +PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" +PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" +PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," + +# webkitgtk is full of /usr/bin/env python, particular for generating docs +do_configure[postfuncs] += "setup_python_link" +setup_python_link() { + if [ ! -e ${STAGING_BINDIR_NATIVE}/python ]; then + ln -s `which python3` ${STAGING_BINDIR_NATIVE}/python + fi +} + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DPYTHON_EXECUTABLE=`which python3` \ + -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ + " + +# Javascript JIT is not supported on ARC +EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " +# By default 25-bit "medium" calls are used on ARC +# which is not enough for binaries larger than 32 MiB +CFLAGS_append_arc = " -mlong-calls" +CXXFLAGS_append_arc = " -mlong-calls" + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv4/5/6 anymore +EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " + +EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " + +# JIT and gold linker does not work on RISCV +EXTRA_OECMAKE_append_riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" +EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" + +# JIT not supported on MIPS either +EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS_remove_aarch64 = "-fpie" +SECURITY_CFLAGS_append_aarch64 = " -fPIE" + +FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" + +RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET_armv7a = "thumb" +ARM_INSTRUCTION_SET_armv7r = "thumb" +ARM_INSTRUCTION_SET_armv7ve = "thumb" + +# introspection inside qemu-arm hangs forever on musl/arm builds +# therefore disable GI_DATA +GI_DATA_ENABLED_libc-musl_armv7a = "False" +GI_DATA_ENABLED_libc-musl_armv7ve = "False" + +# Can't be built with ccache +CCACHE_DISABLE = "1" + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${WORKDIR},,g" \ + ${B}/DerivedSources/webkit2gtk/webkit2/*.cpp \ + ${B}/DerivedSources/ForwardingHeaders/JavaScriptCore/*.h \ + ${B}/DerivedSources/JavaScriptCore/*.h \ + ${B}/DerivedSources/JavaScriptCore/yarr/*.h \ + ${B}/DerivedSources/MiniBrowser/*.c +} + diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb deleted file mode 100644 index 344aa9717..000000000 --- a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "WPE's backend based on a freedesktop.org stack." -HOMEPAGE = "https://github.com/Igalia/WPEBackend-fdo" -BUGTRACKER = "https://github.com/Igalia/WPEBackend-fdo/issues" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66" -DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy" - -DEPENDS_append_class-target = " wayland-native" - -inherit meson features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "9652a99c75fe1c6eab0585b6395f4e104b2427e4d1f42969f1f77df29920d253" - -# This is a tweak of upstream-version-is-even needed because -# ipstream directory contains tarballs for other components as well. -UPSTREAM_CHECK_REGEX = "wpebackend-fdo-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.3.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.3.bb new file mode 100644 index 000000000..d27111a45 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.3.bb @@ -0,0 +1,20 @@ +SUMMARY = "WPE's backend based on a freedesktop.org stack." +HOMEPAGE = "https://github.com/Igalia/WPEBackend-fdo" +BUGTRACKER = "https://github.com/Igalia/WPEBackend-fdo/issues" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66" +DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy" + +DEPENDS_append_class-target = " wayland-native" + +inherit meson features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "3d0b4282a1bd9e0664d7a20abe14e982f3285296ac62de56cae2a404b9d28b9e" + +# This is a tweak of upstream-version-is-even needed because +# ipstream directory contains tarballs for other components as well. +UPSTREAM_CHECK_REGEX = "wpebackend-fdo-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb deleted file mode 100644 index a74e4cd5c..000000000 --- a/poky/meta/recipes-support/atk/at-spi2-core_2.38.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" - -DESCRIPTION = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked." - -HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" -BUGTRACKER = "http://bugzilla.gnome.org/" -LICENSE = "LGPL-2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "84e36c3fe66862133f5fe229772b76aa2526e10de5014a3778f2fa46ce550da5" - -X11DEPENDS = "virtual/libx11 libxi libxtst" - -DEPENDS = "dbus glib-2.0" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" - -inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection - -EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ - -Ddbus_daemon=${bindir}/dbus-daemon \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ -" - -GTKDOC_MESON_OPTION = "docs" - -GIR_MESON_OPTION = 'introspection' -GIR_MESON_ENABLE_FLAG = 'yes' -GIR_MESON_DISABLE_FLAG = 'no' - -FILES_${PN} += "${datadir}/dbus-1/services/*.service \ - ${datadir}/dbus-1/accessibility-services/*.service \ - ${datadir}/defaults/at-spi2 \ - ${systemd_user_unitdir}/at-spi-dbus-bus.service \ - " -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.40.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.40.0.bb new file mode 100644 index 000000000..e80fa260f --- /dev/null +++ b/poky/meta/recipes-support/atk/at-spi2-core_2.40.0.bb @@ -0,0 +1,39 @@ +SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" + +DESCRIPTION = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked." + +HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" +BUGTRACKER = "http://bugzilla.gnome.org/" +LICENSE = "LGPL-2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "4196a7d30a0051e52a67b8ce4283fe79ae5e4e14a725719934565adf1d333429" + +X11DEPENDS = "virtual/libx11 libxi libxtst" + +DEPENDS = "dbus glib-2.0" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" + +inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection + +EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ + -Ddbus_daemon=${bindir}/dbus-daemon \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ +" + +GTKDOC_MESON_OPTION = "docs" + +GIR_MESON_OPTION = 'introspection' +GIR_MESON_ENABLE_FLAG = 'yes' +GIR_MESON_DISABLE_FLAG = 'no' + +FILES_${PN} += "${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/accessibility-services/*.service \ + ${datadir}/defaults/at-spi2 \ + ${systemd_user_unitdir}/at-spi-dbus-bus.service \ + " +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/boost/boost-1.75.0.inc b/poky/meta/recipes-support/boost/boost-1.75.0.inc deleted file mode 100644 index e5a8488c5..000000000 --- a/poky/meta/recipes-support/boost/boost-1.75.0.inc +++ /dev/null @@ -1,20 +0,0 @@ -# The Boost web site provides free peer-reviewed portable -# C++ source libraries. The emphasis is on libraries which -# work well with the C++ Standard Library. The libraries are -# intended to be widely useful, and are in regular use by -# thousands of programmers across a broad spectrum of applications. -HOMEPAGE = "http://www.boost.org/" -LICENSE = "BSL-1.0 & MIT & Python-2.0" -LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" - -BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}" -BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" -BOOST_P = "boost_${BOOST_VER}" - -SRC_URI = "https://dl.bintray.com/boostorg/release/${PV}/source/${BOOST_P}.tar.bz2" -SRC_URI[sha256sum] = "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb" - -UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" -UPSTREAM_CHECK_REGEX = "boostorg/release/(?P.*)/source/" - -S = "${WORKDIR}/${BOOST_P}" diff --git a/poky/meta/recipes-support/boost/boost-1.76.0.inc b/poky/meta/recipes-support/boost/boost-1.76.0.inc new file mode 100644 index 000000000..eb5d48497 --- /dev/null +++ b/poky/meta/recipes-support/boost/boost-1.76.0.inc @@ -0,0 +1,20 @@ +# The Boost web site provides free peer-reviewed portable +# C++ source libraries. The emphasis is on libraries which +# work well with the C++ Standard Library. The libraries are +# intended to be widely useful, and are in regular use by +# thousands of programmers across a broad spectrum of applications. +HOMEPAGE = "http://www.boost.org/" +LICENSE = "BSL-1.0 & MIT & Python-2.0" +LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}" +BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" +BOOST_P = "boost_${BOOST_VER}" + +SRC_URI = "https://dl.bintray.com/boostorg/release/${PV}/source/${BOOST_P}.tar.bz2" +SRC_URI[sha256sum] = "f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41" + +UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" +UPSTREAM_CHECK_REGEX = "release/(?P.*)/source/" + +S = "${WORKDIR}/${BOOST_P}" diff --git a/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb b/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb deleted file mode 100644 index 19e991e65..000000000 --- a/poky/meta/recipes-support/boost/boost-build-native_4.3.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Boost.Build" -DESCRIPTION = "B2 makes it easy to build C++ projects, everywhere." -HOMEPAGE = "https://github.com/boostorg/build" -SECTION = "devel" - -LICENSE = "BSL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" - -SRC_URI = "git://github.com/boostorg/build;protocol=https" -SRCREV = "632ea768f3eb225b4472c5ed6d20afee708724ad" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+){2,}))" - -inherit native - -S = "${WORKDIR}/git" - -do_compile() { - ./bootstrap.sh -} - -do_install() { - ./b2 install --prefix=${prefix} staging-prefix=${D}${prefix} -} - -# The build is either release mode (pre-stripped) or debug (-O0). -INSANE_SKIP_${PN} = "already-stripped" diff --git a/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb b/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb new file mode 100644 index 000000000..ad675ce73 --- /dev/null +++ b/poky/meta/recipes-support/boost/boost-build-native_4.4.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Boost.Build" +DESCRIPTION = "B2 makes it easy to build C++ projects, everywhere." +HOMEPAGE = "https://github.com/boostorg/build" +SECTION = "devel" + +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +SRC_URI = "git://github.com/boostorg/build;protocol=https" +SRCREV = "76da80f33187a3d9e5336157cdfae12ce82e37eb" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P(\d+(\.\d+){2,}))" + +inherit native + +S = "${WORKDIR}/git" + +do_compile() { + ./bootstrap.sh +} + +do_install() { + ./b2 install --prefix=${prefix} staging-prefix=${D}${prefix} +} + +# The build is either release mode (pre-stripped) or debug (-O0). +INSANE_SKIP_${PN} = "already-stripped" diff --git a/poky/meta/recipes-support/boost/boost_1.75.0.bb b/poky/meta/recipes-support/boost/boost_1.75.0.bb deleted file mode 100644 index 23b0ffc67..000000000 --- a/poky/meta/recipes-support/boost/boost_1.75.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -require boost-${PV}.inc -require boost.inc - -SRC_URI += " \ - file://boost-CVE-2012-2677.patch \ - file://boost-math-disable-pch-for-gcc.patch \ - file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ - file://0001-dont-setup-compiler-flags-m32-m64.patch \ - file://0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch \ - " diff --git a/poky/meta/recipes-support/boost/boost_1.76.0.bb b/poky/meta/recipes-support/boost/boost_1.76.0.bb new file mode 100644 index 000000000..23b0ffc67 --- /dev/null +++ b/poky/meta/recipes-support/boost/boost_1.76.0.bb @@ -0,0 +1,10 @@ +require boost-${PV}.inc +require boost.inc + +SRC_URI += " \ + file://boost-CVE-2012-2677.patch \ + file://boost-math-disable-pch-for-gcc.patch \ + file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ + file://0001-dont-setup-compiler-flags-m32-m64.patch \ + file://0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch \ + " diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb b/poky/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb index 888a235c1..7dcc86fdc 100644 --- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb +++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb @@ -83,8 +83,8 @@ do_install_append_class-native () { SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates } -RDEPENDS_${PN}_class-target = "openssl-bin" -RDEPENDS_${PN}_class-native = "openssl-native" -RDEPENDS_${PN}_class-nativesdk = "nativesdk-openssl-bin" +RDEPENDS_${PN}_append_class-target = " openssl-bin openssl" +RDEPENDS_${PN}_append_class-native = " openssl-native" +RDEPENDS_${PN}_append_class-nativesdk = " nativesdk-openssl-bin nativesdk-openssl" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/curl/curl_7.75.0.bb b/poky/meta/recipes-support/curl/curl_7.75.0.bb deleted file mode 100644 index 7666c7b60..000000000 --- a/poky/meta/recipes-support/curl/curl_7.75.0.bb +++ /dev/null @@ -1,89 +0,0 @@ -SUMMARY = "Command line tool and library for client-side URL transfers" -DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \ -curl is a widely used because of its ability to be flexible and complete \ -complex tasks. For example, you can use curl for things like user authentication, \ -HTTP post, SSL connections, proxy support, FTP uploads, and more!" -HOMEPAGE = "http://curl.haxx.se/" -BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" -SECTION = "console/network" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=425f6fdc767cc067518eef9bbdf4ab7b" - -SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \ - file://0001-replace-krb5-config-with-pkg-config.patch \ -" - -SRC_URI[sha256sum] = "50552d4501c178e4cc68baaecc487f466a3d6d19bbf4e50a01869effb316d026" - -# Curl has used many names over the years... -CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" - -inherit autotools pkgconfig binconfig multilib_header - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib" -PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" -PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" - -# 'ares' and 'threaded-resolver' are mutually exclusive -PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" -PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" -PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" -PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," -PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" -PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," -PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," -PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," -PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" -PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" -PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" -PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," -PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" -PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," -PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," -PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" -PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," -PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," -PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," -PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" -PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" -PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," -PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," -PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" -PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" -PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" - -EXTRA_OECONF = " \ - --disable-libcurl-option \ - --disable-ntlm-wb \ - --enable-crypto-auth \ - --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ - --without-libmetalink \ - --without-libpsl \ - --enable-debug \ - --enable-optimize \ - --disable-curldebug \ -" - -do_install_append_class-target() { - # cleanup buildpaths from curl-config - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - ${D}${bindir}/curl-config -} - -PACKAGES =+ "lib${BPN}" - -FILES_lib${BPN} = "${libdir}/lib*.so.*" -RRECOMMENDS_lib${BPN} += "ca-certificates" - -FILES_${PN} += "${datadir}/zsh" - -inherit multilib_script -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/curl/curl_7.76.0.bb b/poky/meta/recipes-support/curl/curl_7.76.0.bb new file mode 100644 index 000000000..db6318148 --- /dev/null +++ b/poky/meta/recipes-support/curl/curl_7.76.0.bb @@ -0,0 +1,90 @@ +SUMMARY = "Command line tool and library for client-side URL transfers" +DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \ +curl is a widely used because of its ability to be flexible and complete \ +complex tasks. For example, you can use curl for things like user authentication, \ +HTTP post, SSL connections, proxy support, FTP uploads, and more!" +HOMEPAGE = "http://curl.haxx.se/" +BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" +SECTION = "console/network" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=425f6fdc767cc067518eef9bbdf4ab7b" + +SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \ + file://0001-replace-krb5-config-with-pkg-config.patch \ +" + +SRC_URI[sha256sum] = "e29bfe3633701590d75b0071bbb649ee5ca4ca73f00649268bd389639531c49a" + +# Curl has used many names over the years... +CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" + +inherit autotools pkgconfig binconfig multilib_header + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} ssl libidn proxy threaded-resolver verbose zlib" +PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" +PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" + +# 'ares' and 'threaded-resolver' are mutually exclusive +PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" +PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" +PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" +PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" +PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," +PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," +PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," +PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl" +PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" +PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" +PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" +PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," +PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" +PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," +PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," +PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" +PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," +PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," +PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," +PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" +PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" +PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," +PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," +PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" +PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" +PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" + +EXTRA_OECONF = " \ + --disable-libcurl-option \ + --disable-ntlm-wb \ + --enable-crypto-auth \ + --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ + --without-libmetalink \ + --without-libpsl \ + --enable-debug \ + --enable-optimize \ + --disable-curldebug \ +" + +do_install_append_class-target() { + # cleanup buildpaths from curl-config + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + ${D}${bindir}/curl-config +} + +PACKAGES =+ "lib${BPN}" + +FILES_lib${BPN} = "${libdir}/lib*.so.*" +RRECOMMENDS_lib${BPN} += "ca-certificates" + +FILES_${PN} += "${datadir}/zsh" + +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_172.bb b/poky/meta/recipes-support/diffoscope/diffoscope_172.bb index bf4726e77..86dd5d8d7 100644 --- a/poky/meta/recipes-support/diffoscope/diffoscope_172.bb +++ b/poky/meta/recipes-support/diffoscope/diffoscope_172.bb @@ -23,6 +23,7 @@ do_install_append_class-native() { create_wrapper ${D}${bindir}/diffoscope \ MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} } diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb index 51d472c82..350d0a018 100644 --- a/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb +++ b/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb @@ -27,11 +27,11 @@ SRC_URI[sha256sum] = "3777d7963eca5e06eb315686163b7b3f5045e2baac5e54e038ace9835e inherit autotools texinfo pkgconfig gettext lib_package gtk-doc -PACKAGECONFIG ??= "libidn" +PACKAGECONFIG ??= "libidn ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}" # You must also have CONFIG_SECCOMP enabled in the kernel for # seccomp to work. -PACKAGECONFIG[seccomp] = "ac_cv_libseccomp=yes,ac_cv_libseccomp=no,libseccomp" +PACKAGECONFIG[seccomp] = "--with-libseccomp-prefix=${STAGING_EXECPREFIXDIR},ac_cv_libseccomp=no,libseccomp" PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" diff --git a/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch b/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch index 145efc0e0..c5dc0611c 100644 --- a/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch +++ b/poky/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch @@ -13,7 +13,7 @@ Signed-off-by: Lei Maohui 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h -index 8c6a0e1..cf89907 100644 +index c937463..feaad0f 100644 --- a/i18n/double-conversion-utils.h +++ b/i18n/double-conversion-utils.h @@ -115,7 +115,7 @@ int main(int argc, char** argv) { @@ -24,7 +24,7 @@ index 8c6a0e1..cf89907 100644 + defined(__arm__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ defined(__hppa__) || defined(__ia64__) || \ defined(__mips__) || \ - defined(__nios2__) || \ + defined(__nios2__) || defined(__ghs) || \ -- -2.7.4 +2.25.1 diff --git a/poky/meta/recipes-support/icu/icu_68.2.bb b/poky/meta/recipes-support/icu/icu_68.2.bb deleted file mode 100644 index 1ca87feee..000000000 --- a/poky/meta/recipes-support/icu/icu_68.2.bb +++ /dev/null @@ -1,150 +0,0 @@ -SUMMARY = "International Component for Unicode libraries" -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \ -portable set of C/C++ and Java libraries for Unicode support, software \ -internationalization (I18N) and globalization (G11N), giving applications the \ -same results on all platforms." -HOMEPAGE = "http://site.icu-project.org/" - -LICENSE = "ICU" -DEPENDS = "icu-native" -DEPENDS_class-native = "" - -CVE_PRODUCT = "international_components_for_unicode" - -S = "${WORKDIR}/icu/source" -SPDX_S = "${WORKDIR}/icu" -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" - -BINCONFIG = "${bindir}/icu-config" - -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}" - -inherit autotools pkgconfig binconfig multilib_script - -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config" - -# ICU needs the native build directory as an argument to its --with-cross-build option when -# cross-compiling. Taken the situation that different builds may share a common sstate-cache -# into consideration, the native build directory needs to be staged. -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}" -EXTRA_OECONF_class-native = "" -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}" - -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}" -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}" - -ASNEEDED = "" - -do_compile_prepend_class-target () { - # Make sure certain build host references do not end up being compiled - # in the image. This only affects libicutu and icu-dbg - sed \ - -e 's,DU_BUILD=,DU_BUILD_unused=,g' \ - -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \ - -i ${B}/tools/toolutil/Makefile -} - -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}" -do_install_append_class-native() { - mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config - cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config - cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config - cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE} - cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE} - cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE} -} - -do_install_append_class-target() { - # The native pkgdata can not generate the correct data file. - # Use icupkg to re-generate it. - if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then - rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat - icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat - fi - - # Remove build host references... - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \ - ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc -} - -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio" - -FILES_${PN}-dev += "${libdir}/${BPN}/" - -FILES_libicudata = "${libdir}/libicudata.so.*" -FILES_libicuuc = "${libdir}/libicuuc.so.*" -FILES_libicui18n = "${libdir}/libicui18n.so.*" -FILES_libicutu = "${libdir}/libicutu.so.*" -FILES_libicuio = "${libdir}/libicuio.so.*" - -BBCLASSEXTEND = "native nativesdk" - -LIC_FILES_CHKSUM = "file://../LICENSE;md5=002d2fdc32d17f0ec06e9a47f2c0c8d0" - -def icu_download_version(d): - pvsplit = d.getVar('PV').split('.') - return pvsplit[0] + "_" + pvsplit[1] - -def icu_download_folder(d): - pvsplit = d.getVar('PV').split('.') - return pvsplit[0] + "-" + pvsplit[1] - -ICU_PV = "${@icu_download_version(d)}" -ICU_FOLDER = "${@icu_download_folder(d)}" - -# http://errors.yoctoproject.org/Errors/Details/20486/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -BASE_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-src.tgz" -DATA_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-data.zip" -SRC_URI = "${BASE_SRC_URI};name=code \ - ${DATA_SRC_URI};name=data \ - file://filter.json \ - file://fix-install-manx.patch \ - file://0001-icu-Added-armeb-support.patch \ - " - -SRC_URI_append_class-target = "\ - file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ - " -SRC_URI[code.sha256sum] = "c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625" -SRC_URI[data.sha256sum] = "2989b466fa010edc41297e12fdd5ae47c2610ad68b63af1a0bd2a1acfaf497f3" - -UPSTREAM_CHECK_REGEX = "icu4c-(?P\d+(_\d+)+)-src" -UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases" - -EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no" - -PACKAGECONFIG ?= "" -PACKAGECONFIG[make-icudata] = ",,," - -do_make_icudata_class-target () { - ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)} - cd ${S} - rm -rf data - cp -a ${WORKDIR}/data . - AR='${BUILD_AR}' \ - CC='${BUILD_CC}' \ - CPP='${BUILD_CPP}' \ - CXX='${BUILD_CXX}' \ - RANLIB='${BUILD_RANLIB}' \ - CFLAGS='${BUILD_CFLAGS}' \ - CPPFLAGS='${BUILD_CPPFLAGS}' \ - CXXFLAGS='${BUILD_CXXFLAGS}' \ - LDFLAGS='${BUILD_LDFLAGS}' \ - ICU_DATA_FILTER_FILE=${WORKDIR}/filter.json \ - ./runConfigureICU Linux --with-data-packaging=archive - oe_runmake - install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat -} - -do_make_icudata() { - : -} - -addtask make_icudata before do_configure after do_patch diff --git a/poky/meta/recipes-support/icu/icu_69.1.bb b/poky/meta/recipes-support/icu/icu_69.1.bb new file mode 100644 index 000000000..bfeea8d2f --- /dev/null +++ b/poky/meta/recipes-support/icu/icu_69.1.bb @@ -0,0 +1,150 @@ +SUMMARY = "International Component for Unicode libraries" +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \ +portable set of C/C++ and Java libraries for Unicode support, software \ +internationalization (I18N) and globalization (G11N), giving applications the \ +same results on all platforms." +HOMEPAGE = "http://site.icu-project.org/" + +LICENSE = "ICU" +DEPENDS = "icu-native" +DEPENDS_class-native = "" + +CVE_PRODUCT = "international_components_for_unicode" + +S = "${WORKDIR}/icu/source" +SPDX_S = "${WORKDIR}/icu" +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}" + +BINCONFIG = "${bindir}/icu-config" + +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}" + +inherit autotools pkgconfig binconfig multilib_script + +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config" + +# ICU needs the native build directory as an argument to its --with-cross-build option when +# cross-compiling. Taken the situation that different builds may share a common sstate-cache +# into consideration, the native build directory needs to be staged. +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}" +EXTRA_OECONF_class-native = "" +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}" + +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}" +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}" + +ASNEEDED = "" + +do_compile_prepend_class-target () { + # Make sure certain build host references do not end up being compiled + # in the image. This only affects libicutu and icu-dbg + sed \ + -e 's,DU_BUILD=,DU_BUILD_unused=,g' \ + -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \ + -i ${B}/tools/toolutil/Makefile +} + +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}" +do_install_append_class-native() { + mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config + cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config + cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config + cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE} + cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE} + cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE} +} + +do_install_append_class-target() { + # The native pkgdata can not generate the correct data file. + # Use icupkg to re-generate it. + if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then + rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat + icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat + fi + + # Remove build host references... + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${HOSTTOOLS_DIR}/::g' \ + ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \ + ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc +} + +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio" + +FILES_${PN}-dev += "${libdir}/${BPN}/" + +FILES_libicudata = "${libdir}/libicudata.so.*" +FILES_libicuuc = "${libdir}/libicuuc.so.*" +FILES_libicui18n = "${libdir}/libicui18n.so.*" +FILES_libicutu = "${libdir}/libicutu.so.*" +FILES_libicuio = "${libdir}/libicuio.so.*" + +BBCLASSEXTEND = "native nativesdk" + +LIC_FILES_CHKSUM = "file://../LICENSE;md5=002d2fdc32d17f0ec06e9a47f2c0c8d0" + +def icu_download_version(d): + pvsplit = d.getVar('PV').split('.') + return pvsplit[0] + "_" + pvsplit[1] + +def icu_download_folder(d): + pvsplit = d.getVar('PV').split('.') + return pvsplit[0] + "-" + pvsplit[1] + +ICU_PV = "${@icu_download_version(d)}" +ICU_FOLDER = "${@icu_download_folder(d)}" + +# http://errors.yoctoproject.org/Errors/Details/20486/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +BASE_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-src.tgz" +DATA_SRC_URI = "https://github.com/unicode-org/icu/releases/download/release-${ICU_FOLDER}/icu4c-${ICU_PV}-data.zip" +SRC_URI = "${BASE_SRC_URI};name=code \ + ${DATA_SRC_URI};name=data \ + file://filter.json \ + file://fix-install-manx.patch \ + file://0001-icu-Added-armeb-support.patch \ + " + +SRC_URI_append_class-target = "\ + file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ + " +SRC_URI[code.sha256sum] = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745" +SRC_URI[data.sha256sum] = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf" + +UPSTREAM_CHECK_REGEX = "icu4c-(?P\d+(_\d+)+)-src" +UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases" + +EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[make-icudata] = ",,," + +do_make_icudata_class-target () { + ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)} + cd ${S} + rm -rf data + cp -a ${WORKDIR}/data . + AR='${BUILD_AR}' \ + CC='${BUILD_CC}' \ + CPP='${BUILD_CPP}' \ + CXX='${BUILD_CXX}' \ + RANLIB='${BUILD_RANLIB}' \ + CFLAGS='${BUILD_CFLAGS}' \ + CPPFLAGS='${BUILD_CPPFLAGS}' \ + CXXFLAGS='${BUILD_CXXFLAGS}' \ + LDFLAGS='${BUILD_LDFLAGS}' \ + ICU_DATA_FILTER_FILE=${WORKDIR}/filter.json \ + ./runConfigureICU Linux --with-data-packaging=archive + oe_runmake + install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat +} + +do_make_icudata() { + : +} + +addtask make_icudata before do_configure after do_patch diff --git a/poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch b/poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch index 0e81454c6..fe811254d 100644 --- a/poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch +++ b/poky/meta/recipes-support/libassuan/libassuan/libassuan-add-pkgconfig-support.patch @@ -8,17 +8,20 @@ Signed-off-by: Constantin Musca forward ported to 2.4.4 Signed-off-by: Armin Kuster +--- + src/libassuan.m4 | 81 ++---------------------------------------------- + 1 file changed, 3 insertions(+), 78 deletions(-) -Index: libassuan-2.5.2/src/libassuan.m4 -=================================================================== ---- libassuan-2.5.2.orig/src/libassuan.m4 -+++ libassuan-2.5.2/src/libassuan.m4 -@@ -16,27 +16,6 @@ dnl Returns ok set to yes or no. +diff --git a/src/libassuan.m4 b/src/libassuan.m4 +index df50484..380a48a 100644 +--- a/src/libassuan.m4 ++++ b/src/libassuan.m4 +@@ -17,27 +17,6 @@ dnl Returns ok set to yes or no. dnl AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], [ AC_REQUIRE([AC_CANONICAL_HOST]) - AC_ARG_WITH(libassuan-prefix, -- AC_HELP_STRING([--with-libassuan-prefix=PFX], +- AS_HELP_STRING([--with-libassuan-prefix=PFX], - [prefix where LIBASSUAN is installed (optional)]), - libassuan_config_prefix="$withval", libassuan_config_prefix="") - if test x$libassuan_config_prefix != x ; then @@ -41,10 +44,11 @@ Index: libassuan-2.5.2/src/libassuan.m4 tmp=ifelse([$1], ,1:0.9.2,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then -@@ -47,58 +26,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], +@@ -47,59 +26,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], + req_libassuan_api=0 min_libassuan_version="$tmp" fi - +- - AC_MSG_CHECKING(for LIBASSUAN - version >= $min_libassuan_version) - ok=no - if test "$LIBASSUAN_CONFIG" != "no"; then @@ -102,7 +106,7 @@ Index: libassuan-2.5.2/src/libassuan.m4 if test "$tmp" -gt 0 ; then AC_MSG_CHECKING([LIBASSUAN API version]) if test "$req_libassuan_api" -eq "$tmp" ; then -@@ -114,9 +46,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], +@@ -115,9 +46,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], if test $ok = yes; then if test x"$host" != x ; then if test -z "$use_gpgrt_config"; then @@ -113,7 +117,7 @@ Index: libassuan-2.5.2/src/libassuan.m4 fi if test x"$libassuan_config_host" != xnone ; then if test x"$libassuan_config_host" != x"$host" ; then -@@ -158,12 +88,8 @@ dnl +@@ -159,12 +88,8 @@ dnl AC_DEFUN([AM_PATH_LIBASSUAN], [ _AM_PATH_LIBASSUAN_COMMON($1) if test $ok = yes; then @@ -126,3 +130,6 @@ Index: libassuan-2.5.2/src/libassuan.m4 ifelse([$3], , :, [$3]) fi AC_SUBST(LIBASSUAN_CFLAGS) +-- +2.25.1 + diff --git a/poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb b/poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb deleted file mode 100644 index d44b95aa0..000000000 --- a/poky/meta/recipes-support/libassuan/libassuan_2.5.4.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "IPC library used by GnuPG and GPGME" -DESCRIPTION = "A small library implementing the so-called Assuan protocol. \ -This protocol is used for IPC between most newer GnuPG components. \ -Both, server and client side functions are provided. " -HOMEPAGE = "http://www.gnupg.org/related_software/libassuan/" -BUGTRACKER = "https://bugs.g10code.com/gnupg/index" - -LICENSE = "GPLv3+ & LGPLv2.1+" -LICENSE_${PN} = "LGPLv2.1+" -LICENSE_${PN}-doc = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ - file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://src/assuan.c;endline=20;md5=ab92143a5a2adabd06d7994d1467ea5c\ - file://src/assuan-defs.h;endline=20;md5=15d950c83e82978e35b35e790d7e4d39" - -DEPENDS = "libgpg-error" - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/libassuan/libassuan-${PV}.tar.bz2 \ - file://libassuan-add-pkgconfig-support.patch \ - " - -SRC_URI[sha256sum] = "c080ee96b3bd519edd696cfcebdecf19a3952189178db9887be713ccbcb5fbf0" - -BINCONFIG = "${bindir}/libassuan-config" - -inherit autotools texinfo binconfig-disabled pkgconfig multilib_header - -do_configure_prepend () { - # Else these could be used in preference to those in aclocal-copy - rm -f ${S}/m4/*.m4 -} - -do_install_append () { - oe_multilib_header assuan.h -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libassuan/libassuan_2.5.5.bb b/poky/meta/recipes-support/libassuan/libassuan_2.5.5.bb new file mode 100644 index 000000000..3d12ea09e --- /dev/null +++ b/poky/meta/recipes-support/libassuan/libassuan_2.5.5.bb @@ -0,0 +1,38 @@ +SUMMARY = "IPC library used by GnuPG and GPGME" +DESCRIPTION = "A small library implementing the so-called Assuan protocol. \ +This protocol is used for IPC between most newer GnuPG components. \ +Both, server and client side functions are provided. " +HOMEPAGE = "http://www.gnupg.org/related_software/libassuan/" +BUGTRACKER = "https://bugs.g10code.com/gnupg/index" + +LICENSE = "GPLv3+ & LGPLv2.1+" +LICENSE_${PN} = "LGPLv2.1+" +LICENSE_${PN}-doc = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ + file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://src/assuan.c;endline=20;md5=ab92143a5a2adabd06d7994d1467ea5c\ + file://src/assuan-defs.h;endline=20;md5=15d950c83e82978e35b35e790d7e4d39" + +DEPENDS = "libgpg-error" + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/libassuan/libassuan-${PV}.tar.bz2 \ + file://libassuan-add-pkgconfig-support.patch \ + " + +SRC_URI[sha256sum] = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4" + +BINCONFIG = "${bindir}/libassuan-config" + +inherit autotools texinfo binconfig-disabled pkgconfig multilib_header + +do_configure_prepend () { + # Else these could be used in preference to those in aclocal-copy + rm -f ${S}/m4/*.m4 +} + +do_install_append () { + oe_multilib_header assuan.h +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libcap/libcap_2.48.bb b/poky/meta/recipes-support/libcap/libcap_2.48.bb deleted file mode 100644 index a12738d63..000000000 --- a/poky/meta/recipes-support/libcap/libcap_2.48.bb +++ /dev/null @@ -1,78 +0,0 @@ -SUMMARY = "Library for getting/setting POSIX.1e capabilities" -DESCRIPTION = "A library providing the API to access POSIX capabilities. \ -These allow giving various kinds of specific privileges to individual \ -users, without giving them full root permissions." -HOMEPAGE = "http://sites.google.com/site/fullycapable/" -# no specific GPL version required -LICENSE = "BSD | GPLv2" -LIC_FILES_CHKSUM = "file://License;md5=3f84fd6f29d453a56514cb7e4ead25f1" - -DEPENDS = "hostperl-runtime-native gperf-native" - -SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \ - file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ - file://0002-tests-do-not-run-target-executables.patch \ - file://0001-tests-do-not-statically-link-a-test.patch \ - " -SRC_URI[sha256sum] = "4de9590ee09a87c282d558737ffb5b6175ccbfd26d580add10df44d0f047f6c2" - -UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/" - -inherit lib_package - -# do NOT pass target cflags to host compilations -# -do_configure() { - # libcap uses := for compilers, fortunately, it gives us a hint - # on what should be replaced with ?= - sed -e 's,:=,?=,g' -i Make.Rules - sed -e 's,^BUILD_CFLAGS ?= ,BUILD_CFLAGS := $(BUILD_CFLAGS) ,' -i Make.Rules -} - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -PACKAGECONFIG_class-native ??= "" - -PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam" - -EXTRA_OEMAKE = " \ - INDENT= \ - lib='${baselib}' \ - RAISE_SETFCAP=no \ - DYNAMIC=yes \ - BUILD_GPERF=yes \ -" - -EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}" - -# these are present in the libcap defaults, so include in our CFLAGS too -CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" - -do_compile() { - oe_runmake ${PACKAGECONFIG_CONFARGS} -} - -do_install() { - oe_runmake install \ - ${PACKAGECONFIG_CONFARGS} \ - DESTDIR="${D}" \ - prefix="${prefix}" \ - SBINDIR="${sbindir}" -} - -do_install_append() { - # Move the library to base_libdir - install -d ${D}${base_libdir} - if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then - mv ${D}${libdir}/libcap* ${D}${base_libdir} - if [ -d ${D}${libdir}/security ]; then - mv ${D}${libdir}/security ${D}${base_libdir} - fi - fi -} - -FILES_${PN}-dev += "${base_libdir}/*.so" - -# pam files -FILES_${PN} += "${base_libdir}/security/*.so" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libcap/libcap_2.49.bb b/poky/meta/recipes-support/libcap/libcap_2.49.bb new file mode 100644 index 000000000..3f4a9256c --- /dev/null +++ b/poky/meta/recipes-support/libcap/libcap_2.49.bb @@ -0,0 +1,78 @@ +SUMMARY = "Library for getting/setting POSIX.1e capabilities" +DESCRIPTION = "A library providing the API to access POSIX capabilities. \ +These allow giving various kinds of specific privileges to individual \ +users, without giving them full root permissions." +HOMEPAGE = "http://sites.google.com/site/fullycapable/" +# no specific GPL version required +LICENSE = "BSD | GPLv2" +LIC_FILES_CHKSUM = "file://License;md5=e2370ba375efe9e1a095c26d37e483b8" + +DEPENDS = "hostperl-runtime-native gperf-native" + +SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \ + file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ + file://0002-tests-do-not-run-target-executables.patch \ + file://0001-tests-do-not-statically-link-a-test.patch \ + " +SRC_URI[sha256sum] = "e98bc4d93645082ec787730b0fd1a712b38882465c505777de17c338831ee181" + +UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/" + +inherit lib_package + +# do NOT pass target cflags to host compilations +# +do_configure() { + # libcap uses := for compilers, fortunately, it gives us a hint + # on what should be replaced with ?= + sed -e 's,:=,?=,g' -i Make.Rules + sed -e 's,^BUILD_CFLAGS ?= ,BUILD_CFLAGS := $(BUILD_CFLAGS) ,' -i Make.Rules +} + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" +PACKAGECONFIG_class-native ??= "" + +PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam" + +EXTRA_OEMAKE = " \ + INDENT= \ + lib='${baselib}' \ + RAISE_SETFCAP=no \ + DYNAMIC=yes \ + BUILD_GPERF=yes \ +" + +EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}" + +# these are present in the libcap defaults, so include in our CFLAGS too +CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" + +do_compile() { + oe_runmake ${PACKAGECONFIG_CONFARGS} +} + +do_install() { + oe_runmake install \ + ${PACKAGECONFIG_CONFARGS} \ + DESTDIR="${D}" \ + prefix="${prefix}" \ + SBINDIR="${sbindir}" +} + +do_install_append() { + # Move the library to base_libdir + install -d ${D}${base_libdir} + if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then + mv ${D}${libdir}/libcap* ${D}${base_libdir} + if [ -d ${D}${libdir}/security ]; then + mv ${D}${libdir}/security ${D}${base_libdir} + fi + fi +} + +FILES_${PN}-dev += "${base_libdir}/*.so" + +# pam files +FILES_${PN} += "${base_libdir}/security/*.so" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libevent/libevent/0002-test-regress.h-Increase-default-timeval-tolerance-50.patch b/poky/meta/recipes-support/libevent/libevent/0002-test-regress.h-Increase-default-timeval-tolerance-50.patch new file mode 100644 index 000000000..0b20eda3c --- /dev/null +++ b/poky/meta/recipes-support/libevent/libevent/0002-test-regress.h-Increase-default-timeval-tolerance-50.patch @@ -0,0 +1,33 @@ +From dff8fd27edb23bc1486809186c6a4fe1f75f2179 Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu +Date: Thu, 22 Apr 2021 22:35:59 -0400 +Subject: [PATCH] test/regress.h: Increase default timeval tolerance 50 ms -> + 100 ms + +The default timeout tolerance is 50 ms, +which causes intermittent failure in many the +related tests in arm64 QEMU. + +See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14163 +(The root cause seems to be a heavy load) + +Upstream-Status: Submitted [https://github.com/libevent/libevent/pull/1157] + +Signed-off-by: Yi Fan Yu +--- + test/regress.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/regress.h b/test/regress.h +index f06a7669..829af4a7 100644 +--- a/test/regress.h ++++ b/test/regress.h +@@ -127,7 +127,7 @@ int test_ai_eq_(const struct evutil_addrinfo *ai, const char *sockaddr_port, + tt_int_op(labs(timeval_msec_diff((tv1), (tv2)) - diff), <=, tolerance) + + #define test_timeval_diff_eq(tv1, tv2, diff) \ +- test_timeval_diff_leq((tv1), (tv2), (diff), 50) ++ test_timeval_diff_leq((tv1), (tv2), (diff), 100) + + long timeval_msec_diff(const struct timeval *start, const struct timeval *end); + diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.12.bb b/poky/meta/recipes-support/libevent/libevent_2.1.12.bb index dd4533cce..6d53fea5a 100644 --- a/poky/meta/recipes-support/libevent/libevent_2.1.12.bb +++ b/poky/meta/recipes-support/libevent/libevent_2.1.12.bb @@ -15,6 +15,7 @@ SRC_URI = "https://github.com/libevent/libevent/releases/download/release-${PV}- file://Makefile-missing-test-dir.patch \ file://run-ptest \ file://0001-test-regress_dns.c-patch-out-tests-that-require-a-wo.patch \ + file://0002-test-regress.h-Increase-default-timeval-tolerance-50.patch \ " SRC_URI[sha256sum] = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb" diff --git a/poky/meta/recipes-support/libical/libical_3.0.10.bb b/poky/meta/recipes-support/libical/libical_3.0.10.bb new file mode 100644 index 000000000..30d6bbfd0 --- /dev/null +++ b/poky/meta/recipes-support/libical/libical_3.0.10.bb @@ -0,0 +1,46 @@ +SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library" +DESCRIPTION = "An Open Source implementation of the iCalendar protocols \ +and protocol data units. The iCalendar specification describes how \ +calendar clients can communicate with calendar servers so users can store \ +their calendar data and arrange meetings with other users. " +HOMEPAGE = "https://github.com/libical/libical" +BUGTRACKER = "https://github.com/libical/libical/issues" +LICENSE = "LGPLv2.1 | MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \ + file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \ + file://LICENSE.MPL2.txt;md5=f75d2927d3c1ed2414ef72048f5ad640 \ + " +SECTION = "libs" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ +" +SRC_URI[sha256sum] = "f933b3e6cf9d56a35bb5625e8e4a9c3a50239a85aea05ed842932c1a1dc336b4" +UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" + +inherit cmake pkgconfig + +DEPENDS_append_class-target = "libical-native" + +PACKAGECONFIG ??= "icu glib" +PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db" +PACKAGECONFIG[glib] = "-DICAL_GLIB=True,-DICAL_GLIB=False,glib-2.0-native libxml2-native glib-2.0 libxml2" +# ICU is used for RSCALE (RFC7529) support +PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu" + +# No need to use perl-native, the host perl is sufficient. +EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl" +# doc build fails with linker error (??) for libical-glib so disable it +EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false" + +EXTRA_OECMAKE_append_class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake" + +do_install_append () { + # Remove build host references + sed -i \ + -e 's,${STAGING_LIBDIR},${libdir},g' \ + -e 's,${STAGING_INCDIR},${includedir},g' \ + ${D}${libdir}/cmake/LibIcal/LibIcal*.cmake \ + ${D}${libdir}/cmake/LibIcal/Ical*.cmake +} + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/libical/libical_3.0.9.bb b/poky/meta/recipes-support/libical/libical_3.0.9.bb deleted file mode 100644 index 4c7027d14..000000000 --- a/poky/meta/recipes-support/libical/libical_3.0.9.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library" -DESCRIPTION = "An Open Source implementation of the iCalendar protocols \ -and protocol data units. The iCalendar specification describes how \ -calendar clients can communicate with calendar servers so users can store \ -their calendar data and arrange meetings with other users. " -HOMEPAGE = "https://github.com/libical/libical" -BUGTRACKER = "https://github.com/libical/libical/issues" -LICENSE = "LGPLv2.1 | MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \ - file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \ - file://LICENSE.MPL2.txt;md5=f75d2927d3c1ed2414ef72048f5ad640 \ - " -SECTION = "libs" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ -" -SRC_URI[sha256sum] = "bd26d98b7fcb2eb0cd5461747bbb02024ebe38e293ca53a7dfdcb2505265a728" -UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" - -inherit cmake pkgconfig - -DEPENDS_append_class-target = "libical-native" - -PACKAGECONFIG ??= "icu glib" -PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db" -PACKAGECONFIG[glib] = "-DICAL_GLIB=True,-DICAL_GLIB=False,glib-2.0-native libxml2-native glib-2.0 libxml2" -# ICU is used for RSCALE (RFC7529) support -PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu" - -# No need to use perl-native, the host perl is sufficient. -EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl" -# doc build fails with linker error (??) for libical-glib so disable it -EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false" - -EXTRA_OECMAKE_append_class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake" - -do_install_append () { - # Remove build host references - sed -i \ - -e 's,${STAGING_LIBDIR},${libdir},g' \ - -e 's,${STAGING_INCDIR},${includedir},g' \ - ${D}${libdir}/cmake/LibIcal/LibIcal*.cmake \ - ${D}${libdir}/cmake/LibIcal/Ical*.cmake -} - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.1.bb b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.1.bb deleted file mode 100644 index 197bb787a..000000000 --- a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Hardware RNG based on CPU timing jitter" -DESCRIPTION = "The Jitter RNG provides a noise source using the CPU execution timing jitter. \ -It does not depend on any system resource other than a high-resolution time \ -stamp. It is a small-scale, yet fast entropy source that is viable in almost \ -all environments and on a lot of CPU architectures." -HOMEPAGE = "http://www.chronox.de/jent.html" -LICENSE = "GPLv2+ | BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=c69090e97c8fd6372d03099c0a5bc382 \ - file://COPYING.gplv2;md5=eb723b61539feef013de476e68b5c50a \ - file://COPYING.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \ - " -SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git" -SRCREV = "747bf030b0ea9c44548b4e29bcfab7ae416675fc" -S = "${WORKDIR}/git" - -do_configure[noexec] = "1" - -LDFLAGS += "-Wl,-O0" - -do_install () { - oe_runmake install INCDIR="/include" \ - DESTDIR="${D}" \ - PREFIX="${exec_prefix}" \ - LIBDIR="${baselib}" \ - INSTALL_STRIP="install" -} - diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb new file mode 100644 index 000000000..8e39974ef --- /dev/null +++ b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb @@ -0,0 +1,27 @@ +SUMMARY = "Hardware RNG based on CPU timing jitter" +DESCRIPTION = "The Jitter RNG provides a noise source using the CPU execution timing jitter. \ +It does not depend on any system resource other than a high-resolution time \ +stamp. It is a small-scale, yet fast entropy source that is viable in almost \ +all environments and on a lot of CPU architectures." +HOMEPAGE = "http://www.chronox.de/jent.html" +LICENSE = "GPLv2+ | BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=c69090e97c8fd6372d03099c0a5bc382 \ + file://COPYING.gplv2;md5=eb723b61539feef013de476e68b5c50a \ + file://COPYING.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \ + " +SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git" +SRCREV = "a0c51e21c2d4322681a320a22de5e2ef13c08196" +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" + +LDFLAGS += "-Wl,-O0" + +do_install () { + oe_runmake install INCDIR="/include" \ + DESTDIR="${D}" \ + PREFIX="${exec_prefix}" \ + LIBDIR="${baselib}" \ + INSTALL_STRIP="install" +} + diff --git a/poky/meta/recipes-support/libksba/libksba_1.5.0.bb b/poky/meta/recipes-support/libksba/libksba_1.5.0.bb deleted file mode 100644 index 8d7043fc0..000000000 --- a/poky/meta/recipes-support/libksba/libksba_1.5.0.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Easy API to create and parse X.509 and CMS related objects" -DESCRIPTION = "A library to make the tasks of working with X.509 certificates, \ -CMS data and related objects more easy. It provides a highlevel interface to \ -the implemented protocols and presents the data in a consistent way. The \ -library does not rely on another cryptographic library but provides \ -hooks for easy integration with Libgcrypt. " -HOMEPAGE = "http://www.gnupg.org/related_software/libksba/" -LICENSE = "GPLv3+ & (GPLv2+ | LGPLv3+)" -LICENSE_${PN} = "GPLv2+ | LGPLv3+" -LICENSE_${PN}-doc = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=fd541d83f75d038c4e0617b672ed8bda \ - file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.GPLv3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ - file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - " - -DEPENDS = "libgpg-error" - -BINCONFIG = "${bindir}/ksba-config" - -inherit autotools binconfig-disabled pkgconfig texinfo - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://ksba-add-pkgconfig-support.patch" - -SRC_URI[sha256sum] = "ae4af129216b2d7fdea0b5bf2a788cd458a79c983bb09a43f4d525cc87aba0ba" - -do_configure_prepend () { - # Else these could be used in preference to those in aclocal-copy - rm -f ${S}/m4/gpg-error.m4 -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libksba/libksba_1.5.1.bb b/poky/meta/recipes-support/libksba/libksba_1.5.1.bb new file mode 100644 index 000000000..aa296c6b9 --- /dev/null +++ b/poky/meta/recipes-support/libksba/libksba_1.5.1.bb @@ -0,0 +1,34 @@ +SUMMARY = "Easy API to create and parse X.509 and CMS related objects" +DESCRIPTION = "A library to make the tasks of working with X.509 certificates, \ +CMS data and related objects more easy. It provides a highlevel interface to \ +the implemented protocols and presents the data in a consistent way. The \ +library does not rely on another cryptographic library but provides \ +hooks for easy integration with Libgcrypt. " +HOMEPAGE = "http://www.gnupg.org/related_software/libksba/" +LICENSE = "GPLv3+ & (GPLv2+ | LGPLv3+)" +LICENSE_${PN} = "GPLv2+ | LGPLv3+" +LICENSE_${PN}-doc = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=fd541d83f75d038c4e0617b672ed8bda \ + file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.GPLv3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ + file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + " + +DEPENDS = "libgpg-error" + +BINCONFIG = "${bindir}/ksba-config" + +inherit autotools binconfig-disabled pkgconfig texinfo + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://ksba-add-pkgconfig-support.patch" + +SRC_URI[sha256sum] = "b0f4c65e4e447d9a2349f6b8c0e77a28be9531e4548ba02c545d1f46dc7bf921" + +do_configure_prepend () { + # Else these could be used in preference to those in aclocal-copy + rm -f ${S}/m4/gpg-error.m4 +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb b/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb new file mode 100644 index 000000000..219f0c44d --- /dev/null +++ b/poky/meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application" +HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/" +LICENSE = "LGPL-2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=57d09285feac8a64efa878e692b14f36" +SECTION = "net" + +DEPENDS = "file" + +SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "2b15949b1633e4fa487e08cdcc97f0e3" +SRC_URI[sha256sum] = "a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e" + +inherit autotools lib_package pkgconfig gettext + +CFLAGS += "-pthread -D_REENTRANT" + +EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../" + +PACKAGECONFIG ?= "curl https" +PACKAGECONFIG_append_class-target = "\ + ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \ +" +PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,," +PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl," +PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls," + +do_compile_append() { + sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb b/poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb index db4b3a599..4fc0ad8ac 100644 --- a/poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb +++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.1.bb @@ -16,11 +16,10 @@ SRC_URI[sha256sum] = "ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896 UPSTREAM_CHECK_URI = "https://github.com/rockdaboot/libpsl/releases" -DEPENDS = "libidn2" - inherit autotools gettext gtk-doc manpages pkgconfig lib_package -PACKAGECONFIG ??= "" +PACKAGECONFIG ?= "icu" PACKAGECONFIG[manpages] = "--enable-man,--disable-man,libxslt-native" - +PACKAGECONFIG[icu] = "--enable-runtime=libicu --enable-builtin=libicu,,icu" +PACKAGECONFIG[idn2] = "--enable-runtime=libidn2 --enable-builtin=libidn2,,libidn2 libunistring" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libseccomp/files/run-ptest b/poky/meta/recipes-support/libseccomp/files/run-ptest new file mode 100644 index 000000000..54b4a63cd --- /dev/null +++ b/poky/meta/recipes-support/libseccomp/files/run-ptest @@ -0,0 +1,4 @@ +#!/bin/sh + +cd tests +./regression -a diff --git a/poky/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb new file mode 100644 index 000000000..8fe102390 --- /dev/null +++ b/poky/meta/recipes-support/libseccomp/libseccomp_2.5.1.bb @@ -0,0 +1,54 @@ +SUMMARY = "interface to seccomp filtering mechanism" +DESCRIPTION = "The libseccomp library provides and easy to use, platform independent,interface to the Linux Kernel's syscall filtering mechanism: seccomp." +HOMEPAGE = "https://github.com/seccomp/libseccomp" +SECTION = "security" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE;beginline=0;endline=1;md5=8eac08d22113880357ceb8e7c37f989f" + +DEPENDS += "gperf-native" + +SRCREV = "4bf70431a339a2886ab8c82e9a45378f30c6e6c7" + +SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.5 \ + file://run-ptest \ + " + +COMPATIBLE_HOST_riscv32 = "null" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig ptest features_check + +REQUIRED_DISTRO_FEATURES = "seccomp" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[python] = "--enable-python, --disable-python, python3" + +DISABLE_STATIC = "" + +do_compile_ptest() { + oe_runmake -C tests check-build +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + install -d ${D}${PTEST_PATH}/tools + for file in $(find tests/* -executable -type f); do + install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests + done + for file in $(find tests/*.tests -type f); do + install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tests + done + for file in $(find tools/* -executable -type f); do + install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools + done + # Overwrite libtool wrappers with real executables + for file in $(find tools/.libs/* -executable -type f); do + install -m 744 ${S}/${file} ${D}/${PTEST_PATH}/tools + done +} + +FILES_${PN} = "${bindir} ${libdir}/${BPN}.so*" +FILES_${PN}-dbg += "${libdir}/${PN}/tests/.debug/* ${libdir}/${PN}/tools/.debug" + +RDEPENDS_${PN}-ptest = "coreutils bash" diff --git a/poky/meta/recipes-support/libssh2/files/0001-kex.c-move-EC-macro-outside-of-if-check-549-550.patch b/poky/meta/recipes-support/libssh2/files/0001-kex.c-move-EC-macro-outside-of-if-check-549-550.patch new file mode 100644 index 000000000..b331c1bf8 --- /dev/null +++ b/poky/meta/recipes-support/libssh2/files/0001-kex.c-move-EC-macro-outside-of-if-check-549-550.patch @@ -0,0 +1,112 @@ +From 1f76151c92e1b52e9c24ebf06adc77fbd6c062bc Mon Sep 17 00:00:00 2001 +From: Will Cosgrove +Date: Tue, 26 Jan 2021 11:41:21 -0800 +Subject: [PATCH] kex.c: move EC macro outside of if check #549 (#550) + +File: kex.c + +Notes: +Moved the macro LIBSSH2_KEX_METHOD_EC_SHA_HASH_CREATE_VERIFY outside of the LIBSSH2_ECDSA since it's also now used by the ED25519 code. + +Sha 256, 384 and 512 need to be defined for all backends now even if they aren't used directly. I believe this is already the case, but just a heads up. + +Credit: +Stefan-Ghinea + +Upstream-Status: Backport + +Reference to upstream patch: +https://github.com/libssh2/libssh2/commit/1f76151c92e1b52e9c24ebf06adc77fbd6c062bc + +Signed-off-by: Stefan Ghinea +--- + src/kex.c | 66 +++++++++++++++++++++++++++---------------------------- + 1 file changed, 33 insertions(+), 33 deletions(-) + +diff --git a/src/kex.c b/src/kex.c +index cb16639..19ab6ec 100644 +--- a/src/kex.c ++++ b/src/kex.c +@@ -1885,39 +1885,6 @@ kex_method_diffie_hellman_group_exchange_sha256_key_exchange + } + + +-#if LIBSSH2_ECDSA +- +-/* kex_session_ecdh_curve_type +- * returns the EC curve type by name used in key exchange +- */ +- +-static int +-kex_session_ecdh_curve_type(const char *name, libssh2_curve_type *out_type) +-{ +- int ret = 0; +- libssh2_curve_type type; +- +- if(name == NULL) +- return -1; +- +- if(strcmp(name, "ecdh-sha2-nistp256") == 0) +- type = LIBSSH2_EC_CURVE_NISTP256; +- else if(strcmp(name, "ecdh-sha2-nistp384") == 0) +- type = LIBSSH2_EC_CURVE_NISTP384; +- else if(strcmp(name, "ecdh-sha2-nistp521") == 0) +- type = LIBSSH2_EC_CURVE_NISTP521; +- else { +- ret = -1; +- } +- +- if(ret == 0 && out_type) { +- *out_type = type; +- } +- +- return ret; +-} +- +- + /* LIBSSH2_KEX_METHOD_EC_SHA_HASH_CREATE_VERIFY + * + * Macro that create and verifies EC SHA hash with a given digest bytes +@@ -2027,6 +1994,39 @@ kex_session_ecdh_curve_type(const char *name, libssh2_curve_type *out_type) + } \ + + ++#if LIBSSH2_ECDSA ++ ++/* kex_session_ecdh_curve_type ++ * returns the EC curve type by name used in key exchange ++ */ ++ ++static int ++kex_session_ecdh_curve_type(const char *name, libssh2_curve_type *out_type) ++{ ++ int ret = 0; ++ libssh2_curve_type type; ++ ++ if(name == NULL) ++ return -1; ++ ++ if(strcmp(name, "ecdh-sha2-nistp256") == 0) ++ type = LIBSSH2_EC_CURVE_NISTP256; ++ else if(strcmp(name, "ecdh-sha2-nistp384") == 0) ++ type = LIBSSH2_EC_CURVE_NISTP384; ++ else if(strcmp(name, "ecdh-sha2-nistp521") == 0) ++ type = LIBSSH2_EC_CURVE_NISTP521; ++ else { ++ ret = -1; ++ } ++ ++ if(ret == 0 && out_type) { ++ *out_type = type; ++ } ++ ++ return ret; ++} ++ ++ + /* ecdh_sha2_nistp + * Elliptic Curve Diffie Hellman Key Exchange + */ +-- +2.17.1 + diff --git a/poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb b/poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb index 0b8ccbd21..a5451628e 100644 --- a/poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb +++ b/poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb @@ -11,6 +11,7 @@ SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz \ file://CVE-2019-17498.patch \ file://0001-configure-Conditionally-undefine-backend-m4-macro.patch \ file://run-ptest \ + file://0001-kex.c-move-EC-macro-outside-of-if-check-549-550.patch \ " SRC_URI_append_ptest = " file://0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch" diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb b/poky/meta/recipes-support/lz4/lz4_1.9.3.bb index effc530b9..3905ef7db 100644 --- a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb +++ b/poky/meta/recipes-support/lz4/lz4_1.9.3.bb @@ -22,7 +22,7 @@ S = "${WORKDIR}/git" # Fixed in r118, which is larger than the current version. CVE_CHECK_WHITELIST += "CVE-2014-4715" -EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no" +EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' CFLAGS='${CFLAGS}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no" do_install() { oe_runmake install diff --git a/poky/meta/recipes-support/nettle/nettle_3.7.1.bb b/poky/meta/recipes-support/nettle/nettle_3.7.1.bb deleted file mode 100644 index 3bbcf17c7..000000000 --- a/poky/meta/recipes-support/nettle/nettle_3.7.1.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "A low level cryptographic library" -DESCRIPTION = "Nettle is a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space." -HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/" -DESCRIPTION = "It tries to solve a problem of providing a common set of \ -cryptographic algorithms for higher-level applications by implementing a \ -context-independent set of cryptographic algorithms" -SECTION = "libs" -LICENSE = "LGPLv3+ | GPLv2+" - -LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \ - file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e" - -DEPENDS += "gmp" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ - file://Add-target-to-only-build-tests-not-run-them.patch \ - file://run-ptest \ - file://check-header-files-of-openssl-only-if-enable_.patch \ - " - -SRC_URI_append_class-target = "\ - file://dlopen-test.patch \ - " - -SRC_URI[sha256sum] = "156621427c7b00a75ff9b34b770b95d34f80ef7a55c3407de94b16cbf436c42e" - -UPSTREAM_CHECK_REGEX = "nettle-(?P\d+(\.\d+)+)\.tar" - -inherit autotools ptest multilib_header - -EXTRA_AUTORECONF += "--exclude=aclocal" - -EXTRA_OECONF = "--disable-openssl" - -do_compile_ptest() { - oe_runmake buildtest -} - -do_install_append() { - oe_multilib_header nettle/version.h -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ - # tools can be found in PATH, not in ../tools/ - sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test - install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ -} - -RDEPENDS_${PN}-ptest += "${PN}-dev" -INSANE_SKIP_${PN}-ptest += "dev-deps" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/nettle/nettle_3.7.2.bb b/poky/meta/recipes-support/nettle/nettle_3.7.2.bb new file mode 100644 index 000000000..f8f336008 --- /dev/null +++ b/poky/meta/recipes-support/nettle/nettle_3.7.2.bb @@ -0,0 +1,57 @@ +SUMMARY = "A low level cryptographic library" +DESCRIPTION = "Nettle is a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space." +HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/" +DESCRIPTION = "It tries to solve a problem of providing a common set of \ +cryptographic algorithms for higher-level applications by implementing a \ +context-independent set of cryptographic algorithms" +SECTION = "libs" +LICENSE = "LGPLv3+ | GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \ + file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e" + +DEPENDS += "gmp" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://Add-target-to-only-build-tests-not-run-them.patch \ + file://run-ptest \ + file://check-header-files-of-openssl-only-if-enable_.patch \ + " + +SRC_URI_append_class-target = "\ + file://dlopen-test.patch \ + " + +SRC_URI[sha256sum] = "8d2a604ef1cde4cd5fb77e422531ea25ad064679ff0adf956e78b3352e0ef162" + +UPSTREAM_CHECK_REGEX = "nettle-(?P\d+(\.\d+)+)\.tar" + +inherit autotools ptest multilib_header + +EXTRA_AUTORECONF += "--exclude=aclocal" + +EXTRA_OECONF = "--disable-openssl" + +do_compile_ptest() { + oe_runmake buildtest +} + +do_install_append() { + oe_multilib_header nettle/version.h +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ + # tools can be found in PATH, not in ../tools/ + sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test + install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ +} + +RDEPENDS_${PN}-ptest += "${PN}-dev" +INSANE_SKIP_${PN}-ptest += "dev-deps" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb index 57a3ae005..6bd10d2fe 100644 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb @@ -26,3 +26,5 @@ do_compile () { do_install () { install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner } + +RDEPENDS_${PN}_append_libc-glibc = " libgcc" diff --git a/poky/meta/recipes-support/re2c/re2c_2.0.3.bb b/poky/meta/recipes-support/re2c/re2c_2.0.3.bb deleted file mode 100644 index ce04fd39e..000000000 --- a/poky/meta/recipes-support/re2c/re2c_2.0.3.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Tool for writing very fast and very flexible scanners" -DESCRIPTION = "A free and open-source lexer generator for C, C++ and Go. It compiles regular expressions to determinisitic finite automata and encodes the automata in the form of a program in the target language. Unlike any other such tool, re2c focuses on generating high efficient code for regular expression matching. As a result this allows a much broader range of use than any traditional lexer." -HOMEPAGE = "http://re2c.org/" -BUGTRACKER = "https://github.com/skvadrik/re2c/issues" -AUTHOR = "Marcus Börger " -SECTION = "devel" -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=64eca4d8a3b67f9dc7656094731a2c8d" - -SRC_URI = "https://github.com/skvadrik/re2c/releases/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "b2bc1eb8aaaa21ff2fcd26507b7e6e72c5e3d887e58aa515c2155fb17d744278" -UPSTREAM_CHECK_URI = "https://github.com/skvadrik/re2c/releases" - -BBCLASSEXTEND = "native nativesdk" - -inherit autotools diff --git a/poky/meta/recipes-support/re2c/re2c_2.1.1.bb b/poky/meta/recipes-support/re2c/re2c_2.1.1.bb new file mode 100644 index 000000000..1da944e90 --- /dev/null +++ b/poky/meta/recipes-support/re2c/re2c_2.1.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "Tool for writing very fast and very flexible scanners" +DESCRIPTION = "A free and open-source lexer generator for C, C++ and Go. It compiles regular expressions to determinisitic finite automata and encodes the automata in the form of a program in the target language. Unlike any other such tool, re2c focuses on generating high efficient code for regular expression matching. As a result this allows a much broader range of use than any traditional lexer." +HOMEPAGE = "http://re2c.org/" +BUGTRACKER = "https://github.com/skvadrik/re2c/issues" +AUTHOR = "Marcus Börger " +SECTION = "devel" +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=64eca4d8a3b67f9dc7656094731a2c8d" + +SRC_URI = "https://github.com/skvadrik/re2c/releases/download/${PV}/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "036ee264fafd5423141ebd628890775aa9447a4c4068a6307385d7366fe711f8" +UPSTREAM_CHECK_URI = "https://github.com/skvadrik/re2c/releases" + +BBCLASSEXTEND = "native nativesdk" + +inherit autotools diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb deleted file mode 100644 index 127065bbc..000000000 --- a/poky/meta/recipes-support/sqlite/sqlite3_3.35.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -require sqlite3.inc - -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" - -SRC_URI = "http://www.sqlite.org/2021/sqlite-autoconf-${SQLITE_PV}.tar.gz" -SRC_URI[sha256sum] = "3dfb3f143c83695a555c7dd9e06ed924f9d273c287989874e102656724baf2d0" - -# -19242 is only an issue in specific development branch commits -CVE_CHECK_WHITELIST += "CVE-2019-19242" -# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA) -CVE_CHECK_WHITELIST += "CVE-2015-3717" diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb new file mode 100644 index 000000000..459dcbd4c --- /dev/null +++ b/poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb @@ -0,0 +1,12 @@ +require sqlite3.inc + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" + +SRC_URI = "http://www.sqlite.org/2021/sqlite-autoconf-${SQLITE_PV}.tar.gz" +SRC_URI[sha256sum] = "ecbccdd440bdf32c0e1bb3611d635239e3b5af268248d130d0445a32daf0274b" + +# -19242 is only an issue in specific development branch commits +CVE_CHECK_WHITELIST += "CVE-2019-19242" +# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA) +CVE_CHECK_WHITELIST += "CVE-2015-3717" diff --git a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch index a1d2e7ff2..b4100fc38 100644 --- a/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch +++ b/poky/meta/recipes-support/vte/vte/0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch @@ -17,20 +17,19 @@ Signed-off-by: Andreas Müller src/widget.cc | 1 + 2 files changed, 5 insertions(+) -diff --git a/src/missing.hh b/src/missing.hh -index 0742270..30ede62 100644 --- a/src/missing.hh +++ b/src/missing.hh -@@ -33,3 +33,7 @@ int fdwalk(int (*cb)(void* data, int fd), - char* strchrnul(char const* s, - int c); +@@ -24,6 +24,10 @@ + #define NSIG (8 * sizeof(sigset_t)) #endif -+ + +#ifndef W_EXITCODE +#define W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) +#endif -diff --git a/src/widget.cc b/src/widget.cc -index 44a2271..0668735 100644 ++ + #ifndef HAVE_FDWALK + int fdwalk(int (*cb)(void* data, int fd), + void* data); --- a/src/widget.cc +++ b/src/widget.cc @@ -21,6 +21,7 @@ diff --git a/poky/meta/recipes-support/vte/vte_0.62.2.bb b/poky/meta/recipes-support/vte/vte_0.62.2.bb deleted file mode 100644 index a2164f43d..000000000 --- a/poky/meta/recipes-support/vte/vte_0.62.2.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "Virtual terminal emulator GTK+ widget library" -DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications." -HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "GPLv3 & LGPLv3+ & LGPLv2.1+" -LICENSE_libvte = "LGPLv3+" - -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ - file://COPYING.LGPL2;md5=4fbd65380cdd255951079008b364516c \ - file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \ -" - -DEPENDS = "glib-2.0 gtk+3 libpcre2 libxml2-native gperf-native icu" - -GNOMEBASEBUILDCLASS = "meson" -GIR_MESON_OPTION = 'gir' - -inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection - -# vapigen.m4 is required when vala is not present (but the one from vala should be used normally) -SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" -SRC_URI[archive.sha256sum] = "b0300bbcf0c02df5812a10a3cb8e4fff723bab92c08c97a0a90c167cf543aff0" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -# Instead of "inherit vala" we do the relevant settings here so we can -# set DEPENDS based on PACKAGECONFIG. - -# Our patched version of Vala looks in STAGING_DATADIR for .vapi files -export STAGING_DATADIR -# Upstream Vala >= 0.11 looks in XDG_DATA_DIRS for .vapi files -export XDG_DATA_DIRS = "${STAGING_DATADIR}" - -# Help g-ir-scanner find the .so for linking -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/src/.libs" -} - -# Package additional files -FILES_${PN}-dev += "${datadir}/vala/vapi/*" - -PACKAGECONFIG ??= "gnutls" -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala" -PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" -PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd" -# vala requires gir -PACKAGECONFIG_remove_class-native = "vala" - -CFLAGS += "-D_GNU_SOURCE" - -PACKAGES =+ "libvte ${PN}-prompt" -FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*" -FILES_${PN}-prompt = " \ - ${sysconfdir}/profile.d \ - ${libexecdir}/vte-urlencode-cwd \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/vte/vte_0.64.0.bb b/poky/meta/recipes-support/vte/vte_0.64.0.bb new file mode 100644 index 000000000..fc7d3014a --- /dev/null +++ b/poky/meta/recipes-support/vte/vte_0.64.0.bb @@ -0,0 +1,61 @@ +SUMMARY = "Virtual terminal emulator GTK+ widget library" +DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications." +HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE" +BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" +LICENSE = "GPLv3 & LGPLv3+ & MIT-X" +LICENSE_libvte = "LGPLv3+" + +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \ + file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \ + file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \ +" + +DEPENDS = "glib-2.0 gtk+3 libpcre2 libxml2-native gperf-native icu" + +GNOMEBASEBUILDCLASS = "meson" +GIR_MESON_OPTION = 'gir' + +inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection + +# vapigen.m4 is required when vala is not present (but the one from vala should be used normally) +SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" +SRC_URI[archive.sha256sum] = "c0c60b8dc343167437c86d984b0cf134df86034180ed70513f683006ada3ec41" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +# Instead of "inherit vala" we do the relevant settings here so we can +# set DEPENDS based on PACKAGECONFIG. + +# Our patched version of Vala looks in STAGING_DATADIR for .vapi files +export STAGING_DATADIR +# Upstream Vala >= 0.11 looks in XDG_DATA_DIRS for .vapi files +export XDG_DATA_DIRS = "${STAGING_DATADIR}" + +# Help g-ir-scanner find the .so for linking +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/src/.libs" +} + +# Package additional files +FILES_${PN}-dev += "${datadir}/vala/vapi/*" + +PACKAGECONFIG ??= "gnutls" +PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala" +PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" +PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd" +# vala requires gir +PACKAGECONFIG_remove_class-native = "vala" + +CFLAGS += "-D_GNU_SOURCE" + +PACKAGES =+ "libvte ${PN}-prompt" +FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*" +FILES_${PN}-prompt = " \ + ${sysconfdir}/profile.d \ + ${libexecdir}/vte-urlencode-cwd \ +" + +FILES_${PN}-dev += "${datadir}/glade/" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/scripts/combo-layer b/poky/scripts/combo-layer index a634dd69d..045de6564 100755 --- a/poky/scripts/combo-layer +++ b/poky/scripts/combo-layer @@ -508,7 +508,7 @@ def check_patch(patchfile): f.close() if of: of.close() - os.rename(patchfile + '.tmp', patchfile) + bb.utils.rename(patchfile + '.tmp', patchfile) def drop_to_shell(workdir=None): if not sys.stdin.isatty(): diff --git a/poky/scripts/contrib/image-manifest b/poky/scripts/contrib/image-manifest new file mode 100755 index 000000000..3c07a73a4 --- /dev/null +++ b/poky/scripts/contrib/image-manifest @@ -0,0 +1,523 @@ +#!/usr/bin/env python3 + +# Script to extract information from image manifests +# +# Copyright (C) 2018 Intel Corporation +# Copyright (C) 2021 Wind River Systems, Inc. +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import sys +import os +import argparse +import logging +import json +import shutil +import tempfile +import tarfile +from collections import OrderedDict + +scripts_path = os.path.dirname(__file__) +lib_path = scripts_path + '/../lib' +sys.path = sys.path + [lib_path] + +import scriptutils +logger = scriptutils.logger_create(os.path.basename(__file__)) + +import argparse_oe +import scriptpath +bitbakepath = scriptpath.add_bitbake_lib_path() +if not bitbakepath: + logger.error("Unable to find bitbake by searching parent directory of this script or PATH") + sys.exit(1) +logger.debug('Using standard bitbake path %s' % bitbakepath) +scriptpath.add_oe_lib_path() + +import bb.tinfoil +import bb.utils +import oe.utils +import oe.recipeutils + +def get_pkg_list(manifest): + pkglist = [] + with open(manifest, 'r') as f: + for line in f: + linesplit = line.split() + if len(linesplit) == 3: + # manifest file + pkglist.append(linesplit[0]) + elif len(linesplit) == 1: + # build dependency file + pkglist.append(linesplit[0]) + return sorted(pkglist) + +def list_packages(args): + pkglist = get_pkg_list(args.manifest) + for pkg in pkglist: + print('%s' % pkg) + +def pkg2recipe(tinfoil, pkg): + if "-native" in pkg: + logger.info('skipping %s' % pkg) + return None + + pkgdata_dir = tinfoil.config_data.getVar('PKGDATA_DIR') + pkgdatafile = os.path.join(pkgdata_dir, 'runtime-reverse', pkg) + logger.debug('pkgdatafile %s' % pkgdatafile) + try: + f = open(pkgdatafile, 'r') + for line in f: + if line.startswith('PN:'): + recipe = line.split(':', 1)[1].strip() + return recipe + except Exception: + logger.warning('%s is missing' % pkgdatafile) + return None + +def get_recipe_list(manifest, tinfoil): + pkglist = get_pkg_list(manifest) + recipelist = [] + for pkg in pkglist: + recipe = pkg2recipe(tinfoil,pkg) + if recipe: + if not recipe in recipelist: + recipelist.append(recipe) + + return sorted(recipelist) + +def list_recipes(args): + import bb.tinfoil + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(config_only=True) + recipelist = get_recipe_list(args.manifest, tinfoil) + for recipe in sorted(recipelist): + print('%s' % recipe) + +def list_layers(args): + + def find_git_repo(pth): + checkpth = pth + while checkpth != os.sep: + if os.path.exists(os.path.join(checkpth, '.git')): + return checkpth + checkpth = os.path.dirname(checkpth) + return None + + def get_git_remote_branch(repodir): + try: + stdout, _ = bb.process.run(['git', 'rev-parse', '--abbrev-ref', '--symbolic-full-name', '@{u}'], cwd=repodir) + except bb.process.ExecutionError as e: + stdout = None + if stdout: + return stdout.strip() + else: + return None + + def get_git_head_commit(repodir): + try: + stdout, _ = bb.process.run(['git', 'rev-parse', 'HEAD'], cwd=repodir) + except bb.process.ExecutionError as e: + stdout = None + if stdout: + return stdout.strip() + else: + return None + + def get_git_repo_url(repodir, remote='origin'): + import bb.process + # Try to get upstream repo location from origin remote + try: + stdout, _ = bb.process.run(['git', 'remote', '-v'], cwd=repodir) + except bb.process.ExecutionError as e: + stdout = None + if stdout: + for line in stdout.splitlines(): + splitline = line.split() + if len(splitline) > 1: + if splitline[0] == remote and scriptutils.is_src_url(splitline[1]): + return splitline[1] + return None + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(config_only=False) + layers = OrderedDict() + for layerdir in tinfoil.config_data.getVar('BBLAYERS').split(): + layerdata = OrderedDict() + layername = os.path.basename(layerdir) + logger.debug('layername %s, layerdir %s' % (layername, layerdir)) + if layername in layers: + logger.warning('layername %s is not unique in configuration' % layername) + layername = os.path.basename(os.path.dirname(layerdir)) + '_' + os.path.basename(layerdir) + logger.debug('trying layername %s' % layername) + if layername in layers: + logger.error('Layer name %s is not unique in configuration' % layername) + sys.exit(2) + repodir = find_git_repo(layerdir) + if repodir: + remotebranch = get_git_remote_branch(repodir) + remote = 'origin' + if remotebranch and '/' in remotebranch: + rbsplit = remotebranch.split('/', 1) + layerdata['actual_branch'] = rbsplit[1] + remote = rbsplit[0] + layerdata['vcs_url'] = get_git_repo_url(repodir, remote) + if os.path.abspath(repodir) != os.path.abspath(layerdir): + layerdata['vcs_subdir'] = os.path.relpath(layerdir, repodir) + commit = get_git_head_commit(repodir) + if commit: + layerdata['vcs_commit'] = commit + layers[layername] = layerdata + + json.dump(layers, args.output, indent=2) + +def get_recipe(args): + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(config_only=True) + + recipe = pkg2recipe(tinfoil, args.package) + print(' %s package provided by %s' % (args.package, recipe)) + +def pkg_dependencies(args): + def get_recipe_info(tinfoil, recipe): + try: + info = tinfoil.get_recipe_info(recipe) + except Exception: + logger.error('Failed to get recipe info for: %s' % recipe) + sys.exit(1) + if not info: + logger.warning('No recipe info found for: %s' % recipe) + sys.exit(1) + append_files = tinfoil.get_file_appends(info.fn) + appends = True + data = tinfoil.parse_recipe_file(info.fn, appends, append_files) + data.pn = info.pn + data.pv = info.pv + return data + + def find_dependencies(tinfoil, assume_provided, recipe_info, packages, rn, order): + spaces = ' ' * order + data = recipe_info[rn] + if args.native: + logger.debug('%s- %s' % (spaces, data.pn)) + elif "-native" not in data.pn: + if "cross" not in data.pn: + logger.debug('%s- %s' % (spaces, data.pn)) + + depends = [] + for dep in data.depends: + if dep not in assume_provided: + depends.append(dep) + + # First find all dependencies not in package list. + for dep in depends: + if dep not in packages: + packages.append(dep) + dep_data = get_recipe_info(tinfoil, dep) + # Do this once now to reduce the number of bitbake calls. + dep_data.depends = dep_data.getVar('DEPENDS').split() + recipe_info[dep] = dep_data + + # Then recursively analyze all of the dependencies for the current recipe. + for dep in depends: + find_dependencies(tinfoil, assume_provided, recipe_info, packages, dep, order + 1) + + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare() + + assume_provided = tinfoil.config_data.getVar('ASSUME_PROVIDED').split() + logger.debug('assumed provided:') + for ap in sorted(assume_provided): + logger.debug(' - %s' % ap) + + recipe = pkg2recipe(tinfoil, args.package) + data = get_recipe_info(tinfoil, recipe) + data.depends = [] + depends = data.getVar('DEPENDS').split() + for dep in depends: + if dep not in assume_provided: + data.depends.append(dep) + + recipe_info = dict([(recipe, data)]) + packages = [] + find_dependencies(tinfoil, assume_provided, recipe_info, packages, recipe, order=1) + + print('\nThe following packages are required to build %s' % recipe) + for p in sorted(packages): + data = recipe_info[p] + if "-native" not in data.pn: + if "cross" not in data.pn: + print(" %s (%s)" % (data.pn,p)) + + if args.native: + print('\nThe following native packages are required to build %s' % recipe) + for p in sorted(packages): + data = recipe_info[p] + if "-native" in data.pn: + print(" %s(%s)" % (data.pn,p)) + if "cross" in data.pn: + print(" %s(%s)" % (data.pn,p)) + +def default_config(): + vlist = OrderedDict() + vlist['PV'] = 'yes' + vlist['SUMMARY'] = 'no' + vlist['DESCRIPTION'] = 'no' + vlist['SECTION'] = 'no' + vlist['LICENSE'] = 'yes' + vlist['HOMEPAGE'] = 'no' + vlist['BUGTRACKER'] = 'no' + vlist['PROVIDES'] = 'no' + vlist['BBCLASSEXTEND'] = 'no' + vlist['DEPENDS'] = 'no' + vlist['PACKAGECONFIG'] = 'no' + vlist['SRC_URI'] = 'yes' + vlist['SRCREV'] = 'yes' + vlist['EXTRA_OECONF'] = 'no' + vlist['EXTRA_OESCONS'] = 'no' + vlist['EXTRA_OECMAKE'] = 'no' + vlist['EXTRA_OEMESON'] = 'no' + + clist = OrderedDict() + clist['variables'] = vlist + clist['filepath'] = 'no' + clist['sha256sum'] = 'no' + clist['layerdir'] = 'no' + clist['layer'] = 'no' + clist['inherits'] = 'no' + clist['source_urls'] = 'no' + clist['packageconfig_opts'] = 'no' + clist['patches'] = 'no' + clist['packagedir'] = 'no' + return clist + +def dump_config(args): + config = default_config() + f = open('default_config.json', 'w') + json.dump(config, f, indent=2) + logger.info('Default config list dumped to default_config.json') + +def export_manifest_info(args): + + def handle_value(value): + if value: + return oe.utils.squashspaces(value) + else: + return value + + if args.config: + logger.debug('config: %s' % args.config) + f = open(args.config, 'r') + config = json.load(f, object_pairs_hook=OrderedDict) + else: + config = default_config() + if logger.isEnabledFor(logging.DEBUG): + print('Configuration:') + json.dump(config, sys.stdout, indent=2) + print('') + + tmpoutdir = tempfile.mkdtemp(prefix=os.path.basename(__file__)+'-') + logger.debug('tmp dir: %s' % tmpoutdir) + + # export manifest + shutil.copy2(args.manifest,os.path.join(tmpoutdir, "manifest")) + + with bb.tinfoil.Tinfoil(tracking=True) as tinfoil: + tinfoil.logger.setLevel(logger.getEffectiveLevel()) + tinfoil.prepare(config_only=False) + + pkglist = get_pkg_list(args.manifest) + # export pkg list + f = open(os.path.join(tmpoutdir, "pkgs"), 'w') + for pkg in pkglist: + f.write('%s\n' % pkg) + f.close() + + recipelist = [] + for pkg in pkglist: + recipe = pkg2recipe(tinfoil,pkg) + if recipe: + if not recipe in recipelist: + recipelist.append(recipe) + recipelist.sort() + # export recipe list + f = open(os.path.join(tmpoutdir, "recipes"), 'w') + for recipe in recipelist: + f.write('%s\n' % recipe) + f.close() + + try: + rvalues = OrderedDict() + for pn in sorted(recipelist): + logger.debug('Package: %s' % pn) + rd = tinfoil.parse_recipe(pn) + + rvalues[pn] = OrderedDict() + + for varname in config['variables']: + if config['variables'][varname] == 'yes': + rvalues[pn][varname] = handle_value(rd.getVar(varname)) + + fpth = rd.getVar('FILE') + layerdir = oe.recipeutils.find_layerdir(fpth) + if config['filepath'] == 'yes': + rvalues[pn]['filepath'] = os.path.relpath(fpth, layerdir) + if config['sha256sum'] == 'yes': + rvalues[pn]['sha256sum'] = bb.utils.sha256_file(fpth) + + if config['layerdir'] == 'yes': + rvalues[pn]['layerdir'] = layerdir + + if config['layer'] == 'yes': + rvalues[pn]['layer'] = os.path.basename(layerdir) + + if config['inherits'] == 'yes': + gr = set(tinfoil.config_data.getVar("__inherit_cache") or []) + lr = set(rd.getVar("__inherit_cache") or []) + rvalues[pn]['inherits'] = sorted({os.path.splitext(os.path.basename(r))[0] for r in lr if r not in gr}) + + if config['source_urls'] == 'yes': + rvalues[pn]['source_urls'] = [] + for url in (rd.getVar('SRC_URI') or '').split(): + if not url.startswith('file://'): + url = url.split(';')[0] + rvalues[pn]['source_urls'].append(url) + + if config['packageconfig_opts'] == 'yes': + rvalues[pn]['packageconfig_opts'] = OrderedDict() + for key in rd.getVarFlags('PACKAGECONFIG').keys(): + if key == 'doc': + continue + rvalues[pn]['packageconfig_opts'][key] = rd.getVarFlag('PACKAGECONFIG', key, True) + + if config['patches'] == 'yes': + patches = oe.recipeutils.get_recipe_patches(rd) + rvalues[pn]['patches'] = [] + if patches: + recipeoutdir = os.path.join(tmpoutdir, pn, 'patches') + bb.utils.mkdirhier(recipeoutdir) + for patch in patches: + # Patches may be in other layers too + patchlayerdir = oe.recipeutils.find_layerdir(patch) + # patchlayerdir will be None for remote patches, which we ignore + # (since currently they are considered as part of sources) + if patchlayerdir: + rvalues[pn]['patches'].append((os.path.basename(patchlayerdir), os.path.relpath(patch, patchlayerdir))) + shutil.copy(patch, recipeoutdir) + + if config['packagedir'] == 'yes': + pn_dir = os.path.join(tmpoutdir, pn) + bb.utils.mkdirhier(pn_dir) + f = open(os.path.join(pn_dir, 'recipe.json'), 'w') + json.dump(rvalues[pn], f, indent=2) + f.close() + + with open(os.path.join(tmpoutdir, 'recipes.json'), 'w') as f: + json.dump(rvalues, f, indent=2) + + if args.output: + outname = os.path.basename(args.output) + else: + outname = os.path.splitext(os.path.basename(args.manifest))[0] + if outname.endswith('.tar.gz'): + outname = outname[:-7] + elif outname.endswith('.tgz'): + outname = outname[:-4] + + tarfn = outname + if tarfn.endswith(os.sep): + tarfn = tarfn[:-1] + if not tarfn.endswith(('.tar.gz', '.tgz')): + tarfn += '.tar.gz' + with open(tarfn, 'wb') as f: + with tarfile.open(None, "w:gz", f) as tar: + tar.add(tmpoutdir, outname) + finally: + shutil.rmtree(tmpoutdir) + + +def main(): + parser = argparse_oe.ArgumentParser(description="Image manifest utility", + epilog="Use %(prog)s --help to get help on a specific command") + parser.add_argument('-d', '--debug', help='Enable debug output', action='store_true') + parser.add_argument('-q', '--quiet', help='Print only errors', action='store_true') + subparsers = parser.add_subparsers(dest="subparser_name", title='subcommands', metavar='') + subparsers.required = True + + # get recipe info + parser_get_recipes = subparsers.add_parser('recipe-info', + help='Get recipe info', + description='Get recipe information for a package') + parser_get_recipes.add_argument('package', help='Package name') + parser_get_recipes.set_defaults(func=get_recipe) + + # list runtime dependencies + parser_pkg_dep = subparsers.add_parser('list-depends', + help='List dependencies', + description='List dependencies required to build the package') + parser_pkg_dep.add_argument('--native', help='also print native and cross packages', action='store_true') + parser_pkg_dep.add_argument('package', help='Package name') + parser_pkg_dep.set_defaults(func=pkg_dependencies) + + # list recipes + parser_recipes = subparsers.add_parser('list-recipes', + help='List recipes producing packages within an image', + description='Lists recipes producing the packages that went into an image, using the manifest and pkgdata') + parser_recipes.add_argument('manifest', help='Manifest file') + parser_recipes.set_defaults(func=list_recipes) + + # list packages + parser_packages = subparsers.add_parser('list-packages', + help='List packages within an image', + description='Lists packages that went into an image, using the manifest') + parser_packages.add_argument('manifest', help='Manifest file') + parser_packages.set_defaults(func=list_packages) + + # list layers + parser_layers = subparsers.add_parser('list-layers', + help='List included layers', + description='Lists included layers') + parser_layers.add_argument('-o', '--output', help='Output file - defaults to stdout if not specified', + default=sys.stdout, type=argparse.FileType('w')) + parser_layers.set_defaults(func=list_layers) + + # dump default configuration file + parser_dconfig = subparsers.add_parser('dump-config', + help='Dump default config', + description='Dump default config to default_config.json') + parser_dconfig.set_defaults(func=dump_config) + + # export recipe info for packages in manifest + parser_export = subparsers.add_parser('manifest-info', + help='Export recipe info for a manifest', + description='Export recipe information using the manifest') + parser_export.add_argument('-c', '--config', help='load config from json file') + parser_export.add_argument('-o', '--output', help='Output file (tarball) - defaults to manifest name if not specified') + parser_export.add_argument('manifest', help='Manifest file') + parser_export.set_defaults(func=export_manifest_info) + + args = parser.parse_args() + + if args.debug: + logger.setLevel(logging.DEBUG) + logger.debug("Debug Enabled") + elif args.quiet: + logger.setLevel(logging.ERROR) + + ret = args.func(args) + + return ret + + +if __name__ == "__main__": + try: + ret = main() + except Exception: + ret = 1 + import traceback + traceback.print_exc() + sys.exit(ret) diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py index f364a4528..5eba2191d 100644 --- a/poky/scripts/lib/devtool/standard.py +++ b/poky/scripts/lib/devtool/standard.py @@ -746,7 +746,7 @@ def _check_preserve(config, recipename): os.remove(removefile) else: tf.write(line) - os.rename(newfile, origfile) + bb.utils.rename(newfile, origfile) def get_staging_kver(srcdir): # Kernel version from work-shared @@ -1094,10 +1094,10 @@ def rename(args, config, basepath, workspace): # Rename bbappend logger.info('Renaming %s to %s' % (append, newappend)) - os.rename(append, newappend) + bb.utils.rename(append, newappend) # Rename recipe file logger.info('Renaming %s to %s' % (recipefile, newfile)) - os.rename(recipefile, newfile) + bb.utils.rename(recipefile, newfile) # Rename source tree if it's the default path appendmd5 = None @@ -1333,7 +1333,7 @@ def _export_patches(srctree, rd, start_rev, destdir, changed_revs=None): if match_name: # Rename patch files if new_patch != match_name: - os.rename(os.path.join(destdir, new_patch), + bb.utils.rename(os.path.join(destdir, new_patch), os.path.join(destdir, match_name)) # Need to pop it off the list now before checking changed_revs oldpath = existing_patches.pop(old_patch) diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py index 5a057e95f..24e3700ec 100644 --- a/poky/scripts/lib/devtool/upgrade.py +++ b/poky/scripts/lib/devtool/upgrade.py @@ -71,7 +71,8 @@ def _rename_recipe_dirs(oldpv, newpv, path): if oldfile.find(oldpv) != -1: newfile = oldfile.replace(oldpv, newpv) if oldfile != newfile: - os.rename(os.path.join(path, oldfile), os.path.join(path, newfile)) + bb.utils.rename(os.path.join(path, oldfile), + os.path.join(path, newfile)) def _rename_recipe_file(oldrecipe, bpn, oldpv, newpv, path): oldrecipe = os.path.basename(oldrecipe) diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py index ea709e8c5..96168aadb 100644 --- a/poky/scripts/lib/wic/plugins/imager/direct.py +++ b/poky/scripts/lib/wic/plugins/imager/direct.py @@ -616,5 +616,5 @@ class PartitionedImage(): part.start + part.size_sec - 1, part.size_sec) partimage = self.path + '.p%d' % part.num - os.rename(source, partimage) + bb.utils.rename(source, partimage) self.partimages.append(partimage) diff --git a/poky/scripts/oe-buildenv-internal b/poky/scripts/oe-buildenv-internal index ba0a9b44d..e0d920f2f 100755 --- a/poky/scripts/oe-buildenv-internal +++ b/poky/scripts/oe-buildenv-internal @@ -88,6 +88,10 @@ if [ ! -d "$BITBAKEDIR" ]; then return 1 fi +# Add BitBake's library to PYTHONPATH +PYTHONPATH=$BITBAKEDIR/lib:$PYTHONPATH +export PYTHONPATH + # Make sure our paths are at the beginning of $PATH for newpath in "$BITBAKEDIR/bin" "$OEROOT/scripts"; do # Remove any existences of $newpath from $PATH diff --git a/poky/scripts/oe-debuginfod b/poky/scripts/oe-debuginfod index 967dd5807..556076988 100755 --- a/poky/scripts/oe-debuginfod +++ b/poky/scripts/oe-debuginfod @@ -20,12 +20,7 @@ if __name__ == "__main__": package_classes_var = "DEPLOY_DIR_" + tinfoil.config_data.getVar("PACKAGE_CLASSES").split()[0].replace("package_", "").upper() feed_dir = tinfoil.config_data.getVar(package_classes_var, expand=True) - try: - if package_classes_var == "DEPLOY_DIR_RPM": - subprocess.check_output(subprocess.run(['oe-run-native', 'elfutils-native', 'debuginfod', '--verbose', '-R', feed_dir])) - else: - subprocess.check_output(subprocess.run(['oe-run-native', 'elfutils-native', 'debuginfod', '--verbose', '-U', feed_dir])) - except subprocess.CalledProcessError: - print("\nTo use the debuginfod server Please ensure that this variable PACKAGECONFIG_pn-elfutils-native = \"debuginfod libdebuginfod\" is set in the local.conf") - except KeyboardInterrupt: - sys.exit(1) + subprocess.call(['bitbake', '-c', 'addto_recipe_sysroot', 'elfutils-native']) + + subprocess.call(['oe-run-native', 'elfutils-native', 'debuginfod', '--verbose', '-R', '-U', feed_dir]) + print("\nTo use the debuginfod server please ensure that this variable PACKAGECONFIG_pn-elfutils-native = \"debuginfod libdebuginfod\" is set in the local.conf") diff --git a/poky/scripts/oe-time-dd-test.sh b/poky/scripts/oe-time-dd-test.sh old mode 100644 new mode 100755 index 970a86dff..46b218b76 --- a/poky/scripts/oe-time-dd-test.sh +++ b/poky/scripts/oe-time-dd-test.sh @@ -13,11 +13,17 @@ usage() { echo "Usage: $0 " } +TIMEOUT=15 + if [ $# -ne 1 ]; then usage exit 1 fi uptime -/usr/bin/time -f "%e" dd if=/dev/zero of=foo bs=1024 count=$1 conv=fsync -top -b -n 1 | grep -v "0 0 0" | grep -E ' [RSD] ' | cut -c 46-47 | sort | uniq -c +timeout ${TIMEOUT} dd if=/dev/zero of=oe-time-dd-test.dat bs=1024 count=$1 conv=fsync +if [ $? -ne 0 ]; then + echo "Timeout used: ${TIMEOUT}" + top -c -b -n1 -w 512 + tail -30 tmp*/log/cooker/*/console-latest.log +fi diff --git a/poky/scripts/pybootchartgui/pybootchartgui/draw.py b/poky/scripts/pybootchartgui/pybootchartgui/draw.py index 53324b9f8..29eb7505b 100644 --- a/poky/scripts/pybootchartgui/pybootchartgui/draw.py +++ b/poky/scripts/pybootchartgui/pybootchartgui/draw.py @@ -271,7 +271,7 @@ def draw_chart(ctx, color, fill, chart_bounds, data, proc_tree, data_range): # If data_range is given, scale the chart so that the value range in # data_range matches the chart bounds exactly. # Otherwise, scale so that the actual data matches the chart bounds. - if data_range: + if data_range and (data_range[1] - data_range[0]): yscale = float(chart_bounds[3]) / (data_range[1] - data_range[0]) ybase = data_range[0] else: diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index ba0b701af..edd17d09c 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -145,7 +145,6 @@ class BaseConfig(object): self.qemu_opt = '' self.qemu_opt_script = '' self.qemuparams = '' - self.clean_nfs_dir = False self.nfs_server = '' self.rootfs = '' # File name(s) of a OVMF firmware file or variable store, @@ -210,6 +209,8 @@ class BaseConfig(object): self.qemupid = None # avoid cleanup twice self.cleaned = False + # Files to cleanup after run + self.cleanup_files = [] def acquire_taplock(self, error=True): logger.debug("Acquiring lockfile %s..." % self.taplock) @@ -1020,8 +1021,9 @@ class BaseConfig(object): logger.info('Running %s...' % str(cmd)) if subprocess.call(cmd) != 0: raise RunQemuError('Failed to run %s' % cmd) - self.clean_nfs_dir = True self.rootfs = dest + self.cleanup_files.append(self.rootfs) + self.cleanup_files.append('%s.pseudo_state' % self.rootfs) # Start the userspace NFS server cmd = ('runqemu-export-rootfs', 'start', self.rootfs) @@ -1204,6 +1206,7 @@ class BaseConfig(object): self.rootfs = newrootfs # Don't need a second copy now! self.snapshot = False + self.cleanup_files.append(newrootfs) qb_rootfs_opt = self.get('QB_ROOTFS_OPT') if qb_rootfs_opt: @@ -1476,10 +1479,13 @@ class BaseConfig(object): if self.saved_stty: subprocess.check_call(("stty", self.saved_stty)) - if self.clean_nfs_dir: - logger.info('Removing %s' % self.rootfs) - shutil.rmtree(self.rootfs) - shutil.rmtree('%s.pseudo_state' % self.rootfs) + if self.cleanup_files: + for ent in self.cleanup_files: + logger.info('Removing %s' % ent) + if os.path.isfile(ent): + os.remove(ent) + else: + shutil.rmtree(ent) self.cleaned = True diff --git a/poky/scripts/yocto-check-layer b/poky/scripts/yocto-check-layer index b7c83c8b5..44e77b73d 100755 --- a/poky/scripts/yocto-check-layer +++ b/poky/scripts/yocto-check-layer @@ -112,7 +112,7 @@ def main(): % layer['name']) layers.remove(layer) elif layer['type'] == LayerType.ERROR_NO_LAYER_CONF: - logger.error("%s: Don't have conf/layer.conf file."\ + logger.info("%s: Doesn't have conf/layer.conf file, so ignoring"\ % layer['name']) layers.remove(layer) else: @@ -138,6 +138,9 @@ def main(): layer['type'] == LayerType.ERROR_BSP_DISTRO: continue + # Reset to a clean backup copy for each run + shutil.copyfile(bblayersconf + '.backup', bblayersconf) + if check_bblayers(bblayersconf, layer['path'], logger): logger.info("%s already in %s. To capture initial signatures, layer under test should not present " "in BBLAYERS. Please remove %s from BBLAYERS." % (layer['name'], bblayersconf, layer['name'])) -- cgit v1.2.3 From f103a7f6b5e3370ba34a5f547fb321eacc4fc5a0 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 7 May 2021 16:09:40 -0500 Subject: meta-openembedded: subtree update:08c0280b7c..4fe1065655 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alexander Kanavin (1): libmicrohttpd: remove the recipe Andreas Müller (4): jack: upgrade 1.19.17 -> 1.19.18 xfce4-settings: upgrade 4.16.0 -> 4.16.1 zsh: reduce priority slightly to avoid conflict with bash mutter/wayland: replace xserver-xorg-xwayland by xwayland in rdep Andrej Kozemcak (1): proftpd: Update to 1.3.7a release Armin Kuster (3): wireguard: update to v1.0.20210219 +1 nostromo: remove recipe packagegroup-meta-webserver: remove nostromo from pkg grp Chen Qi (3): tigervnc: upgrade to 1.11.0 python3-django: upgrade to 2.2.20 tigervnc: fix do_package error when enabling user merge Gianfranco (1): vboxguestdrivers: upgrade 6.1.18 -> 6.1.20 Hongxu Jia (1): debootstrap: explicitly add virtual/fakeroot-native to depends Joe Hershberger (1): strongswan: Make PACKAGECONFIG a default value Justin Standring (1): tslib: add PACKAGECONFIG for evthres, one-wire-ts-input Kai Kang (1): freeradius: check existence of openssl's commands in bootstrap Khem Raj (36): nss: Re-enable -Werror gimp: Disable vector icon generation on mips/glibc too iwd: Upgade to 1.13 python3-icu: Upgrade to 2.7.2 nodejs: Update to 14.16.1 nodejs: Fix build with icu-69 nodejs: Use qemu usermode to run target binaries during build nodejs: Fix build on mips nodejs: Fix build with clang for x86 target tbb: Re-introduce PE bearssl: Update to tip of master gimp: Disable vector icons on musl/x86 gd: Replace deprecated types from tiff nodejs: Enable snapshot python3-docutils: Delete libchamplain: Require opengl distro feature aom: Match the name for AOM-Patent-License-1.0 libdevmapper,lvm2: Do not inherit license gnome-disk-utility: Require polkit in distro features README: Make git send-email example work sysprof: Enable sysprofd/libsysprof only when polkit in DISTRO_FEATURES packagegroup-gnome-apps: Add gnome-disk-utility only if polkit is in DISTRO_FEATURES python3-jinja2_2.%.bbappend: Delete python3-pyyaml: Do not check for meta-python python3-pyyaml: Delete python3-markupsafe: Delete bbappend snort,proftpd,net-snmp: Deal with -ffile-prefix-map as well apache2: Deal with -ffile-prefix-map vk-gl-cts: Fix build with GCC 11 gegl: Update to 0.4.30 python3-m2crypto: Upgrade to 0.37.1 libupnp: Upgrade to 1.14.6 ctags: Switch to universal ctags dibbler: Add libpthread to linker flags libowfat: Replace __pure__ with pure and remove using __deprecated__ emacs: Do not use SIGSTKSZ Leon Anavi (21): python3-bitarray: Upgrade 1.9.2 -> 2.0.0 python3-xxhash: Upgrade 2.0.0 -> 2.0.2 python3-xlsxwriter: Upgrade 1.3.8 -> 1.3.9 python3-docutils: Upgrade 0.17 -> 0.17.1 python3-portion: Upgrade 2.1.5 -> 2.1.6 python3-huey: Upgrade 2.3.1 -> 2.3.2 python3-pysonos: Upgrade 0.0.42 -> 0.0.43 python3-asttokens: Upgrade 2.0.4 -> 2.0.5 python3-hyperframe: Upgrade 6.0.0 -> 6.0.1 python3-argcomplete: Upgrade 1.12.2 -> 1.12.3 python3-python-vlc: Upgrade 3.0.12117 -> 3.0.12118 python3-bitarray: Upgrade 2.0.0 -> 2.0.1 python3-sqlalchemy: Upgrade 1.4.7 -> 1.4.11 python3-watchdog: Upgrade 2.0.2 -> 2.0.3 python3-pytest-asyncio: Upgrade 0.14.0 -> 0.15.1 python3-xlsxwriter: Upgrade 1.3.9 -> 1.4.0 python3-astroid: Upgrade 2.5.3 -> 2.5.6 python3-arpeggio: Upgrade 1.10.1 -> 1.10.2 python3-cachetools: Upgrade 4.2.1 -> 4.2.2 python3-pymisp: Upgrade 2.4.141.1 -> 2.4.142 python3-et-xmlfile: Upgrade 1.0.1 -> 1.1.0 Mingli Yu (4): python3-cryptography: Upgrade to 3.3.2 onig: add oniguruma to PROVIDES php: Upgrade to 7.4.16 tk: adapt to potential pseudo changes Persian Prince (1): libdvdnav 6.1.1 Peter Kjellerstedt (1): syslog-ng: Merge .bb and .inc Ramon Fried (1): bitwise: Upgrade 0.41 -> 0.42 Reto Schneider (1): nng: Upgrade 1.2.5 -> 1.4.0 Saul Wold (2): tbb: Disable PPC as COMPATIBLE_MACHINE packagegroup-meta-oe: conditional remove tbb for powerpc Silcet (2): ufw: fix python shebang ufw: bump version to 0.36 and add services Sinan Kaya (1): zram: add support for mem_limit Stefan Ghinea (1): python3-django: fix CVE-2021-28658 Ulrich Ölmann (1): v4l-utils: fix reproducibility Yi Fan Yu (3): syslog-ng: upgrade 3.24.1 -> 3.31.2 syslog-ng: remove CONFIG_TLS override for arm DEBUG_BUILD syslog-ng: Drop an obsolete patch to add --enable-libnet Yi Zhao (1): gvfs: rdepend on gsettings-desktop-schemas zangrc (19): fuse3: upgrade 3.10.2 -> 3.10.3 cifs-utils: upgrade 6.12 -> 6.13 dnsmasq: upgrade 2.84 -> 2.85 nbdkit: upgrade 1.25.5 -> 1.25.6 wolfssl: upgrade 4.7.0 -> 4.7.1 networkmanager: upgrade 1.30.2 -> 1.30.4 libdvdread: upgrade 6.1.1 -> 6.1.2 libwebsockets: upgrade 4.1.6 -> 4.2.0 ostree: upgrade 2021.1 -> 2021.2 redis: upgrade 6.2.1 -> 6.2.2 tinyproxy: upgrade 1.10.0 -> 1.11.0 nss: upgrade 3.63 -> 3.64 babeld: upgrade 1.9.2 -> 1.10 fetchmail: upgrade 6.4.18 -> 6.4.19 openvpn: upgrade 2.5.1 -> 2.5.2 wireshark: upgrade 3.4.4 -> 3.4.5 debootstrap: upgrade 1.0.123 -> 1.0.124 mailcap: upgrade 2.1.52 -> 2.1.53 rsyslog: upgrade 8.2102.0 -> 8.2104.0 zhengruoqin (7): irssi: upgrade 1.2.2 -> 1.2.3 librsync: upgrade 2.3.1 -> 2.3.2 hiawatha: upgrade 10.11 -> 10.12 python3-supervisor: upgrade 4.2.1 -> 4.2.2 python3-zopeinterface: upgrade 5.3.0 -> 5.4.0 sdparm: upgrade 1.11 -> 1.12 tcsh: upgrade 6.22.03 -> 6.22.04 Signed-off-by: Andrew Geissler Change-Id: Iaeb2fe4ee0a49cf44ea60bc3c1aef83528d92f55 --- .../recipes-support/fuse/fuse3_3.10.2.bb | 63 --- .../recipes-support/fuse/fuse3_3.10.3.bb | 63 +++ meta-openembedded/meta-gnome/README | 2 +- .../gegl/gegl/0001-Fix-build-with-OpenEXR-3.patch | 28 + ...1-meson.build-Give-note-if-sdl2-was-found.patch | 32 -- .../meta-gnome/recipes-gimp/gegl/gegl_0.4.28.bb | 60 --- .../meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb | 60 +++ .../meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb | 3 +- .../gnome-disk-utility_3.36.3.bb | 3 +- .../meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb | 2 + .../libchamplain/libchamplain_0.12.20.bb | 4 +- .../recipes-gnome/mutter/mutter_3.34.6.bb | 2 +- .../recipes-gnome/sysprof/sysprof_3.36.0.bb | 4 +- .../packagegroups/packagegroup-gnome-apps.bb | 3 +- .../recipes-connectivity/libupnp/libupnp_1.14.0.bb | 22 - .../recipes-connectivity/libupnp/libupnp_1.14.6.bb | 22 + .../recipes-multimedia/aom/aom_3.0.0.bb | 2 +- .../libdvdnav/libdvdnav_5.0.3.bb | 14 - .../libdvdnav/libdvdnav_6.1.1.bb | 14 + .../recipes-connectivity/bearssl/bearssl_0.6.bb | 5 +- .../recipes-connectivity/dibbler/dibbler_git.bb | 2 + .../check-openssl-cmds-in-script-bootstrap.patch | 38 ++ .../freeradius/freeradius_3.0.21.bb | 1 + .../recipes-connectivity/nanomsg/nng_1.2.5.bb | 21 - .../recipes-connectivity/nanomsg/nng_1.4.0.bb | 24 + .../networkmanager/networkmanager_1.30.2.bb | 181 ------- .../networkmanager/networkmanager_1.30.4.bb | 181 +++++++ .../recipes-connectivity/snort/snort_2.9.17.1.bb | 2 +- .../ufw/ufw/0001-optimize-boot.patch | 37 +- ...dd-an-option-to-specify-iptables-location.patch | 108 ++++ .../ufw/ufw/0002-lp1044361.patch | 118 ----- .../ufw/ufw/0003-fix-typeerror-on-error.patch | 20 - .../ufw/0003-only-make-one-reference-to-env.patch | 73 +++ .../ufw/ufw/0004-lp1039729.patch | 40 -- .../ufw/ufw/0005-lp1191197.patch | 32 -- ...dd-an-option-to-specify-iptables-location.patch | 107 ---- .../ufw/setup-only-make-one-reference-to-env.patch | 77 --- .../recipes-connectivity/ufw/ufw_0.33.bb | 59 --- .../recipes-connectivity/ufw/ufw_0.36.bb | 68 +++ .../recipes-connectivity/wolfssl/wolfssl_4.7.0.bb | 22 - .../recipes-connectivity/wolfssl/wolfssl_4.7.1.bb | 22 + .../proftpd/files/build_fixup.patch | 69 +-- .../recipes-daemons/proftpd/files/contrib.patch | 29 +- .../recipes-daemons/proftpd/proftpd_1.3.6.bb | 141 ------ .../recipes-daemons/proftpd/proftpd_1.3.7a.bb | 145 ++++++ .../wireguard/wireguard-module_1.0.20201112.bb | 33 -- .../wireguard/wireguard-module_1.0.20210219.bb | 34 ++ .../recipes-protocols/babeld/babeld_1.10.bb | 29 ++ .../recipes-protocols/babeld/babeld_1.9.2.bb | 29 -- .../recipes-protocols/net-snmp/net-snmp_5.9.bb | 2 + .../recipes-support/cifs/cifs-utils_6.12.bb | 33 -- .../recipes-support/cifs/cifs-utils_6.13.bb | 33 ++ .../recipes-support/dnsmasq/dnsmasq_2.84.bb | 8 - .../recipes-support/dnsmasq/dnsmasq_2.85.bb | 8 + .../recipes-support/fetchmail/fetchmail_6.4.18.bb | 22 - .../recipes-support/fetchmail/fetchmail_6.4.19.bb | 22 + .../recipes-support/nbdkit/nbdkit_1.25.5.bb | 34 -- .../recipes-support/nbdkit/nbdkit_1.25.6.bb | 34 ++ ...ace-__pure__-with-compiler-attribute-pure.patch | 562 +++++++++++++++++++++ .../recipes-support/ncp/libowfat_0.32.bb | 1 + .../recipes-support/openvpn/openvpn_2.5.1.bb | 73 --- .../recipes-support/openvpn/openvpn_2.5.2.bb | 73 +++ .../recipes-support/strongswan/strongswan_5.9.2.bb | 2 +- .../tinyproxy/disable-documentation.patch | 49 +- .../recipes-support/tinyproxy/tinyproxy_1.10.0.bb | 42 -- .../recipes-support/tinyproxy/tinyproxy_1.11.0.bb | 42 ++ .../recipes-support/wireshark/wireshark_3.4.4.bb | 87 ---- .../recipes-support/wireshark/wireshark_3.4.5.bb | 87 ++++ .../recipes-connectivity/irssi/irssi_1.2.2.bb | 22 - .../recipes-connectivity/irssi/irssi_1.2.3.bb | 22 + ...bs_top_srcdir-instead-of-abs_srcdir-for-e.patch | 35 ++ .../meta-oe/recipes-connectivity/iwd/iwd_1.12.bb | 55 -- .../meta-oe/recipes-connectivity/iwd/iwd_1.13.bb | 55 ++ .../libwebsockets/libwebsockets_4.1.6.bb | 43 -- .../libwebsockets/libwebsockets_4.2.0.bb | 43 ++ .../packagegroups/packagegroup-meta-oe.bb | 2 +- .../meta-oe/recipes-devtools/ctags/ctags_5.8.bb | 25 - .../recipes-devtools/ctags/ctags_5.9.20210502.0.bb | 25 + .../debootstrap/debootstrap_1.0.123.bb | 23 - .../debootstrap/debootstrap_1.0.124.bb | 27 + ...isable-running-gyp-files-for-bundled-deps.patch | 15 +- ...of-register-r7-because-llvm-now-issues-an.patch | 53 -- .../nodejs/nodejs/0002-Using-native-binaries.patch | 93 ++-- ...0003-Install-both-binaries-and-use-libdir.patch | 37 +- .../recipes-devtools/nodejs/nodejs/libatomic.patch | 21 + .../nodejs/nodejs/mips-less-memory.patch | 32 ++ .../v8-call-new-ListFormatter-createInstance.patch | 93 ++++ .../recipes-devtools/nodejs/nodejs_12.21.0.bb | 161 ------ .../recipes-devtools/nodejs/nodejs_14.16.1.bb | 197 ++++++++ .../recipes-devtools/php/php/CVE-2020-7069.patch | 158 ------ .../recipes-devtools/php/php/CVE-2020-7070.patch | 24 - .../meta-oe/recipes-devtools/php/php_7.4.16.bb | 270 ++++++++++ .../meta-oe/recipes-devtools/php/php_7.4.9.bb | 273 ---------- .../meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb | 2 + .../recipes-extended/bitwise/bitwise_0.41.bb | 24 - .../recipes-extended/bitwise/bitwise_0.42.bb | 24 + .../recipes-extended/ostree/ostree_2021.1.bb | 189 ------- .../recipes-extended/ostree/ostree_2021.2.bb | 189 +++++++ .../meta-oe/recipes-extended/redis/redis_6.2.1.bb | 66 --- .../meta-oe/recipes-extended/redis/redis_6.2.2.bb | 66 +++ .../recipes-extended/rsyslog/rsyslog_8.2102.0.bb | 205 -------- .../recipes-extended/rsyslog/rsyslog_8.2104.0.bb | 205 ++++++++ .../recipes-extended/zram/zram/zram-swap-init | 5 + .../0002-do-not-build-tests-sub-directory.patch | 21 +- ...tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch | 36 +- .../recipes-graphics/tigervnc/tigervnc_1.10.1.bb | 130 ----- .../recipes-graphics/tigervnc/tigervnc_1.11.0.bb | 133 +++++ .../meta-oe/recipes-graphics/tslib/tslib_1.22.bb | 4 +- ...01-Do-not-error-on-uninitialized-warnings.patch | 28 - ...-Include-limits-header-for-numeric_limits.patch | 88 ++++ ...d-for-GCC-11-uninit-variable-warnings-946.patch | 73 +++ .../files/fix-clang-private-operator.patch | 6 +- .../vk-gl-cts/files/fix-musl.patch | 24 +- .../recipes-graphics/vk-gl-cts/khronos-cts.inc | 4 + .../vk-gl-cts/opengl-es-cts_3.2.6.1.bb | 33 -- .../vk-gl-cts/opengl-es-cts_3.2.7.0.bb | 31 ++ .../vk-gl-cts/vulkan-cts_1.2.3.2.bb | 24 - .../vk-gl-cts/vulkan-cts_1.2.6.0.bb | 24 + .../recipes-multimedia/jack/jack_1.19.17.bb | 53 -- .../recipes-multimedia/jack/jack_1.19.18.bb | 53 ++ .../libdvdread/libdvdread_6.1.1.bb | 12 - .../libdvdread/libdvdread_6.1.2.bb | 12 + ...ure.ac-autodetect-availability-of-systemd.patch | 47 ++ ...estrict-installation-of-50-rc_keymap.conf.patch | 40 ++ .../v4l2apps/v4l-utils_1.20.0.bb | 11 +- .../meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb | 44 -- .../meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb | 44 ++ .../meta-oe/recipes-shells/zsh/zsh_5.4.2.bb | 2 +- .../meta-oe/recipes-support/emacs/emacs_27.2.bb | 5 +- .../emacs/files/emacs-glibc-2.34.patch | 40 ++ ...t32-with-uint32_t-and-uint16-with-uint16_.patch | 170 +++++++ .../meta-oe/recipes-support/gd/gd_2.3.2.bb | 3 +- .../libmicrohttpd/libmicrohttpd_0.9.72.bb | 31 -- .../recipes-support/librsync/librsync_2.3.1.bb | 18 - .../recipes-support/librsync/librsync_2.3.2.bb | 18 + .../meta-oe/recipes-support/lvm2/lvm2.inc | 5 +- .../recipes-support/mailcap/mailcap_2.1.52.bb | 31 -- .../recipes-support/mailcap/mailcap_2.1.53.bb | 31 ++ .../meta-oe/recipes-support/nss/nss_3.63.bb | 283 ----------- .../meta-oe/recipes-support/nss/nss_3.64.bb | 282 +++++++++++ .../meta-oe/recipes-support/onig/onig_6.9.4.bb | 2 + .../meta-oe/recipes-support/sdparm/sdparm_1.11.bb | 26 - .../meta-oe/recipes-support/sdparm/sdparm_1.12.bb | 26 + ...ng-fix-segment-fault-during-service-start.patch | 74 --- ...l-fix-wrong-ownership-during-installation.patch | 30 ++ .../0005-.py-s-python-python3-exclude-tests.patch | 53 ++ ...c-add-option-enable-thread-tls-to-manage-.patch | 47 -- .../syslog-ng/files/fix-config-libnet.patch | 65 --- .../syslog-ng/files/fix-invalid-ownership.patch | 25 - .../recipes-support/syslog-ng/files/shebang.patch | 18 - .../syslog-ng/files/syslog-ng.conf.systemd | 2 +- .../syslog-ng/files/syslog-ng.conf.sysvinit | 2 +- .../recipes-support/syslog-ng/syslog-ng.inc | 143 ------ .../recipes-support/syslog-ng/syslog-ng_3.24.1.bb | 15 - .../recipes-support/syslog-ng/syslog-ng_3.31.2.bb | 143 ++++++ .../meta-oe/recipes-support/tbb/tbb_2021.2.0.bb | 5 + .../vboxguestdrivers/kernel-5.10.patch | 23 - .../vboxguestdrivers/vboxguestdrivers_6.1.18.bb | 84 --- .../vboxguestdrivers/vboxguestdrivers_6.1.20.bb | 83 +++ .../python-hyperframe/python3-hyperframe_6.0.0.bb | 10 - .../python-hyperframe/python3-hyperframe_6.0.1.bb | 9 + .../recipes-devtools/python/python-m2crypto.inc | 63 --- ...y-link-in-sysroot-not-in-host-directories.patch | 35 -- .../python-m2crypto/cross-compile-platform.patch | 33 -- .../m2crypto-0.26.4-gcc_macros.patch | 35 -- .../python/python3-argcomplete_1.12.2.bb | 17 - .../python/python3-argcomplete_1.12.3.bb | 18 + .../python/python3-arpeggio_1.10.1.bb | 17 - .../python/python3-arpeggio_1.10.2.bb | 17 + .../python/python3-astroid_2.5.3.bb | 32 -- .../python/python3-astroid_2.5.6.bb | 32 ++ .../python/python3-asttokens_2.0.4.bb | 17 - .../python/python3-asttokens_2.0.5.bb | 17 + .../python/python3-bitarray_1.9.2.bb | 10 - .../python/python3-bitarray_2.0.1.bb | 10 + .../python/python3-cachetools_4.2.1.bb | 32 -- .../python/python3-cachetools_4.2.2.bb | 32 ++ .../python/python3-cryptography_3.3.1.bb | 65 --- .../python/python3-cryptography_3.3.2.bb | 65 +++ .../python/python3-django_2.2.16.bb | 9 - .../python/python3-django_2.2.20.bb | 9 + .../python/python3-docutils_0.17.bb | 9 - .../python/python3-et-xmlfile_1.0.1.bb | 20 - .../python/python3-et-xmlfile_1.1.0.bb | 17 + .../recipes-devtools/python/python3-huey_2.3.1.bb | 11 - .../recipes-devtools/python/python3-huey_2.3.2.bb | 11 + ...1-Fix-host-contamination-of-include-files.patch | 40 ++ .../python/python3-icu/fix_host_include.patch | 30 -- .../recipes-devtools/python/python3-icu_2.6.bb | 13 - .../recipes-devtools/python/python3-icu_2.7.2.bb | 13 + .../python/python3-jinja2_2.%.bbappend | 13 - ...llow-verify_cb_-to-be-called-with-ok-True.patch | 47 ++ ...of-RSA_SSLV23_PADDING-has-been-deprecated.patch | 29 ++ ...y-link-in-sysroot-not-in-host-directories.patch | 33 ++ .../python3-m2crypto/cross-compile-platform.patch | 31 ++ .../python/python3-m2crypto_0.30.1.bb | 2 - .../python/python3-m2crypto_0.37.1.bb | 63 +++ .../python/python3-markupsafe_1.%.bbappend | 12 - .../python/python3-portion_2.1.5.bb | 12 - .../python/python3-portion_2.1.6.bb | 12 + .../python/python3-pymisp_2.4.141.1.bb | 22 - .../python/python3-pymisp_2.4.142.bb | 22 + .../python/python3-pysonos_0.0.42.bb | 15 - .../python/python3-pysonos_0.0.43.bb | 15 + .../python/python3-pytest-asyncio_0.14.0.bb | 15 - .../python/python3-pytest-asyncio_0.15.1.bb | 14 + .../python/python3-python-vlc_3.0.12117.bb | 8 - .../python/python3-python-vlc_3.0.12118.bb | 8 + .../python/python3-pyyaml_5.4.1.bb | 18 - .../python/python3-sqlalchemy_1.4.11.bb | 19 + .../python/python3-sqlalchemy_1.4.7.bb | 19 - .../python/python3-supervisor_4.2.1.bb | 29 -- .../python/python3-supervisor_4.2.2.bb | 29 ++ .../python/python3-watchdog_2.0.2.bb | 18 - .../python/python3-watchdog_2.0.3.bb | 18 + .../python/python3-xlsxwriter_1.3.8.bb | 13 - .../python/python3-xlsxwriter_1.4.0.bb | 13 + .../python/python3-xxhash_2.0.0.bb | 22 - .../python/python3-xxhash_2.0.2.bb | 21 + .../python/python3-zopeinterface_5.3.0.bb | 23 - .../python/python3-zopeinterface_5.4.0.bb | 23 + .../packagesgroups/packagegroup-meta-webserver.bb | 1 - .../recipes-httpd/apache2/apache2_2.4.46.bb | 4 +- .../recipes-httpd/hiawatha/hiawatha_10.11.bb | 64 --- .../recipes-httpd/hiawatha/hiawatha_10.12.bb | 64 +++ ...ile-add-possibility-to-override-variables.patch | 145 ------ .../recipes-httpd/nostromo/files/nhttpd.conf | 55 -- .../recipes-httpd/nostromo/files/nostromo | 34 -- .../recipes-httpd/nostromo/files/tmpfiles.conf | 1 - .../recipes-httpd/nostromo/files/volatiles | 2 - .../recipes-httpd/nostromo/nostromo_1.9.9.bb | 64 --- .../xfce4-settings/xfce4-settings_4.16.0.bb | 30 -- .../xfce4-settings/xfce4-settings_4.16.1.bb | 30 ++ 233 files changed, 5539 insertions(+), 5244 deletions(-) delete mode 100644 meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.2.bb create mode 100644 meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.3.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-Fix-build-with-OpenEXR-3.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-meson.build-Give-note-if-sdl2-was-found.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.28.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb delete mode 100644 meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.0.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_5.0.3.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/check-openssl-cmds-in-script-bootstrap.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.4.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.4.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0002-add-an-option-to-specify-iptables-location.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0003-only-make-one-reference-to-env.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.bb delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.7.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.7.1.bb delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7a.bb delete mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20201112.bb create mode 100644 meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb create mode 100644 meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.10.bb delete mode 100644 meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.2.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.12.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.84.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.85.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.18.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.19.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.5.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.6.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ncp/libowfat/0001-replace-__pure__-with-compiler-attribute-pure.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.2.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.4.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.13.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.1.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.2.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210502.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.123.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.124.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-less-memory.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/v8-call-new-ListFormatter-createInstance.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_14.16.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2020-7069.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2020-7070.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.16.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.41.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.42.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2104.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.18.bb delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0008-configure.ac-autodetect-availability-of-systemd.patch create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0009-keytable-restrict-installation-of-50-rc_keymap.conf.patch delete mode 100644 meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb create mode 100644 meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/emacs/files/emacs-glibc-2.34.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.53.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/nss/nss_3.64.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.11.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.12.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0002-scl-fix-wrong-ownership-during-installation.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0005-.py-s-python-python3-exclude-tests.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/files/shebang.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc delete mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.31.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.10.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.20.bb delete mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_1.12.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_1.12.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.10.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.10.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.6.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.9.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.0.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.2.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.16.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.20.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.17.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-icu/0001-Fix-host-contamination-of-include-files.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-icu/fix_host_include.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.%.bbappend create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-Allow-verify_cb_-to-be-called-with-ok-True.patch create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/cross-compile-platform.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.30.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.%.bbappend delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.6.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.141.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.142.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.42.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.43.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.14.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.15.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12117.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12118.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.4.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.11.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.3.8.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_2.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_2.0.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.4.0.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.11.bb create mode 100644 meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.12.bb delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nostromo delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/volatiles delete mode 100644 meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.9.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.16.0.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.16.1.bb diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.2.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.2.bb deleted file mode 100644 index 91d0e373b..000000000 --- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.2.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "Implementation of a fully functional filesystem in a userspace program" -DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ - programs to export a virtual filesystem to the Linux kernel. FUSE \ - also aims to provide a secure method for non privileged users to \ - create and mount their own filesystem implementations. \ - " -HOMEPAGE = "https://github.com/libfuse/libfuse" -SECTION = "libs" -LICENSE = "GPLv2 & LGPLv2" -LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ - file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" - -SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ -" -SRC_URI[sha256sum] = "736e8d1ce65c09cb435fbbb500d53dc75f4d6e93bd325d22adc890951cf56337" - -S = "${WORKDIR}/fuse-${PV}" - -UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" -UPSTREAM_CHECK_REGEX = "fuse\-(?P3(\.\d+)+).tar.xz" - -CVE_PRODUCT = "fuse_project:fuse" - -inherit meson pkgconfig ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - bash \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/test - cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ -} - -DEPENDS = "udev" - -PACKAGES =+ "fuse3-utils" - -RPROVIDES_${PN}-dbg += "fuse3-utils-dbg" - -RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils" - -FILES_${PN} += "${libdir}/libfuse3.so.*" -FILES_${PN}-dev += "${libdir}/libfuse3*.la" - -EXTRA_OEMESON += " \ - -Dexamples=false \ -" - -# Forbid auto-renaming to libfuse3-utils -FILES_fuse3-utils = "${bindir} ${base_sbindir}" -DEBIAN_NOAUTONAME_fuse3-utils = "1" -DEBIAN_NOAUTONAME_${PN}-dbg = "1" - -do_install_append() { - rm -rf ${D}${base_prefix}/dev -} diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.3.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.3.bb new file mode 100644 index 000000000..72d0cd3e4 --- /dev/null +++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.3.bb @@ -0,0 +1,63 @@ +SUMMARY = "Implementation of a fully functional filesystem in a userspace program" +DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ + programs to export a virtual filesystem to the Linux kernel. FUSE \ + also aims to provide a secure method for non privileged users to \ + create and mount their own filesystem implementations. \ + " +HOMEPAGE = "https://github.com/libfuse/libfuse" +SECTION = "libs" +LICENSE = "GPLv2 & LGPLv2" +LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \ + file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66" + +SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \ +" +SRC_URI[sha256sum] = "eb8373f208b05a39702f9f437f6e49caf4b1ace26a9acb68110b49912078560f" + +S = "${WORKDIR}/fuse-${PV}" + +UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases" +UPSTREAM_CHECK_REGEX = "fuse\-(?P3(\.\d+)+).tar.xz" + +CVE_PRODUCT = "fuse_project:fuse" + +inherit meson pkgconfig ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + bash \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/test + cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/ +} + +DEPENDS = "udev" + +PACKAGES =+ "fuse3-utils" + +RPROVIDES_${PN}-dbg += "fuse3-utils-dbg" + +RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils" + +FILES_${PN} += "${libdir}/libfuse3.so.*" +FILES_${PN}-dev += "${libdir}/libfuse3*.la" + +EXTRA_OEMESON += " \ + -Dexamples=false \ +" + +# Forbid auto-renaming to libfuse3-utils +FILES_fuse3-utils = "${bindir} ${base_sbindir}" +DEBIAN_NOAUTONAME_fuse3-utils = "1" +DEBIAN_NOAUTONAME_${PN}-dbg = "1" + +do_install_append() { + rm -rf ${D}${base_prefix}/dev +} diff --git a/meta-openembedded/meta-gnome/README b/meta-openembedded/meta-gnome/README index a11815fb1..1a9105000 100644 --- a/meta-openembedded/meta-gnome/README +++ b/meta-openembedded/meta-gnome/README @@ -13,6 +13,6 @@ revision: HEAD Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome]' in the subject' When sending single patches, please using something like: -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-gnome][PATCH' +git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-gnome][PATCH' Layer maintainer: Andreas Müller diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-Fix-build-with-OpenEXR-3.patch b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-Fix-build-with-OpenEXR-3.patch new file mode 100644 index 000000000..b2f13afd5 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-Fix-build-with-OpenEXR-3.patch @@ -0,0 +1,28 @@ +From 073d622fbf8564271cd9be87c2f619ea00498578 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 May 2021 08:25:24 -0700 +Subject: [PATCH] Fix build with OpenEXR 3 + +Add a header that is no longer transitively included + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gegl/-/merge_requests/96] +Signed-off-by: Khem Raj +--- + operations/external/exr-save.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/operations/external/exr-save.cc b/operations/external/exr-save.cc +index 1e8c09d..87abed5 100644 +--- a/operations/external/exr-save.cc ++++ b/operations/external/exr-save.cc +@@ -45,6 +45,7 @@ extern "C" { + #include + #include + #include ++#include + #include "ImathRandom.h" + + +-- +2.31.1 + diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-meson.build-Give-note-if-sdl2-was-found.patch b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-meson.build-Give-note-if-sdl2-was-found.patch deleted file mode 100644 index 6a49f1d7c..000000000 --- a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl/0001-meson.build-Give-note-if-sdl2-was-found.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6bed199a73a7af39344cf8e799b665011553600c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Sat, 8 Feb 2020 14:29:52 +0100 -Subject: [PATCH] meson.build: Give note if sdl2 was found -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Configure output confused me a bit - -Upstream-Status: Pending - -Signed-off-by: Andreas Müller ---- - meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/meson.build b/meson.build -index 9d5b484..296b5f3 100644 ---- a/meson.build -+++ b/meson.build -@@ -374,6 +374,7 @@ message('\n'.join(['', - ' OpenEXR: @0@'.format(openexr.found()), - ' rsvg: @0@'.format(librsvg.found()), - ' SDL: @0@'.format(sdl1.found()), -+' SDL2: @0@'.format(sdl2.found()), - ' libraw: @0@'.format(libraw.found()), - ' Jasper: @0@'.format(jasper.found()), - ' av libs: @0@'.format(avlibs_found), --- -2.21.0 - diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.28.bb b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.28.bb deleted file mode 100644 index 810036162..000000000 --- a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.28.bb +++ /dev/null @@ -1,60 +0,0 @@ -SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=f1a8bfcbc85304df454b65d378b299c7" - -DEPENDS = " \ - intltool-native \ - babl \ - glib-2.0 \ - pango \ - cairo \ - expat \ - zlib \ - \ - json-glib \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit features_check gnomebase vala gobject-introspection - -REQUIRED_DISTRO_FEATURES = "x11" - -SHPV = "${@gnome_verdir("${PV}")}" - -SRC_URI = " \ - https://download.gimp.org/pub/${BPN}/${SHPV}/${BP}.tar.xz \ - file://0001-meson.build-Give-note-if-sdl2-was-found.patch \ -" -SRC_URI[sha256sum] = "1d110d8577d54cca3b34239315bd37c57ccb27dd4355655074a2d2b3fd897900" - -PACKAGECONFIG ??= "gexiv2 jpeg libpng librsvg sdl2" -PACKAGECONFIG_class-native = "libpng librsvg" - -PACKAGECONFIG[jasper] = "-Djasper=enabled,-Djasper=disabled,jasper" -PACKAGECONFIG[gexiv2] = "-Dgexiv2=enabled,-Dgexiv2=disabled,gexiv2" -PACKAGECONFIG[graphviz] = "-Dgraphviz=enabled,-Dgraphviz=disabled,graphviz" -PACKAGECONFIG[jpeg] = "-Dlibjpeg=enabled,-Dlibjpeg=disabled,jpeg" -PACKAGECONFIG[lcms] = "-Dlcms=enabled,-Dlcms=disabled,lcms" -PACKAGECONFIG[libav] = "-Dlibav=enabled,-Dlibav=disabled,libav" -PACKAGECONFIG[libpng] = "-Dlibpng=enabled,-Dlibpng=disabled,libpng" -PACKAGECONFIG[librsvg] = "-Dlibrsvg=enabled,-Dlibrsvg=disabled,librsvg" -PACKAGECONFIG[sdl] = "-Dsdl1=enabled,-Dsdl1=disabled,virtual/libsdl" -PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" -PACKAGECONFIG[tiff] = "-Dlibtiff=enabled,-Dlibtiff=disabled,tiff" -PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,webp" - -# There are a couple of non-symlink .so files installed into libdir, which need to go into main package -FILES_${PN} += " \ - ${libdir}/*.so \ - ${libdir}/gegl-${SHPV}/*.json \ - ${libdir}/gegl-${SHPV}/*.so \ -" -FILES_SOLIBSDEV = "${libdir}/libgegl-${SHPV}${SOLIBSDEV}" - -# Fails to build with thumb-1 (qemuarm) -# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process': -# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275 -ARM_INSTRUCTION_SET = "arm" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb new file mode 100644 index 000000000..d08a3a3c9 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb @@ -0,0 +1,60 @@ +SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=f1a8bfcbc85304df454b65d378b299c7" + +DEPENDS = " \ + intltool-native \ + babl \ + glib-2.0 \ + pango \ + cairo \ + expat \ + zlib \ + \ + json-glib \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit features_check gnomebase vala gobject-introspection + +REQUIRED_DISTRO_FEATURES = "x11" + +SHPV = "${@gnome_verdir("${PV}")}" + +SRC_URI = " \ + https://download.gimp.org/pub/${BPN}/${SHPV}/${BP}.tar.xz \ + file://0001-Fix-build-with-OpenEXR-3.patch \ +" +SRC_URI[sha256sum] = "c112782cf4096969e23217ccdfabe42284e35d5435ff0c43d40e4c70faeca8dd" + +PACKAGECONFIG ??= "gexiv2 jpeg libpng librsvg sdl2" +PACKAGECONFIG_class-native = "libpng librsvg" + +PACKAGECONFIG[jasper] = "-Djasper=enabled,-Djasper=disabled,jasper" +PACKAGECONFIG[gexiv2] = "-Dgexiv2=enabled,-Dgexiv2=disabled,gexiv2" +PACKAGECONFIG[graphviz] = "-Dgraphviz=enabled,-Dgraphviz=disabled,graphviz" +PACKAGECONFIG[jpeg] = "-Dlibjpeg=enabled,-Dlibjpeg=disabled,jpeg" +PACKAGECONFIG[lcms] = "-Dlcms=enabled,-Dlcms=disabled,lcms" +PACKAGECONFIG[libav] = "-Dlibav=enabled,-Dlibav=disabled,libav" +PACKAGECONFIG[libpng] = "-Dlibpng=enabled,-Dlibpng=disabled,libpng" +PACKAGECONFIG[librsvg] = "-Dlibrsvg=enabled,-Dlibrsvg=disabled,librsvg" +PACKAGECONFIG[sdl] = "-Dsdl1=enabled,-Dsdl1=disabled,virtual/libsdl" +PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" +PACKAGECONFIG[tiff] = "-Dlibtiff=enabled,-Dlibtiff=disabled,tiff" +PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,webp" + +# There are a couple of non-symlink .so files installed into libdir, which need to go into main package +FILES_${PN} += " \ + ${libdir}/*.so \ + ${libdir}/gegl-${SHPV}/*.json \ + ${libdir}/gegl-${SHPV}/*.so \ +" +FILES_SOLIBSDEV = "${libdir}/libgegl-${SHPV}${SOLIBSDEV}" + +# Fails to build with thumb-1 (qemuarm) +# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process': +# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275 +ARM_INSTRUCTION_SET = "arm" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb index aa5112add..717716e1f 100644 --- a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb +++ b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb @@ -53,8 +53,9 @@ EXTRA_OECONF = "--disable-python \ --disable-check-update \ --without-wmf" -EXTRA_OECONF_append_libc-musl_mipsarch = " --disable-vector-icons" +EXTRA_OECONF_append_mipsarch = " --disable-vector-icons" EXTRA_OECONF_append_libc-musl_riscv32 = " --disable-vector-icons" +EXTRA_OECONF_append_libc-musl_x86 = " --disable-vector-icons" EXTRA_OECONF_append_arm = " --disable-vector-icons" do_configure_append() { diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_3.36.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_3.36.3.bb index 08fd96472..1045dea25 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_3.36.3.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_3.36.3.bb @@ -18,7 +18,7 @@ GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 polkit" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" @@ -31,4 +31,3 @@ FILES_${PN} += " \ ${datadir}/metainfo \ ${datadir}/dbus-1 \ " - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb index ad5dab5ec..c8c16a3c5 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.44.1.bb @@ -8,6 +8,8 @@ inherit gnomebase gsettings bash-completion gettext upstream-version-is-even fea DEPENDS += "libsecret glib-2.0 glib-2.0-native libgudev shadow-native \ gsettings-desktop-schemas dbus" +RDEPENDS_${PN} += "gsettings-desktop-schemas" + SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" SRC_URI[archive.md5sum] = "72383474f52d05c21ef2be96d0b91974" SRC_URI[archive.sha256sum] = "50ef3245d1b03666a40455109169a2a1bd51419fd2d51f9fa6cfd4f89f04fb46" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb index 90e553301..24312c78a 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb @@ -3,7 +3,9 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "glib-2.0 gtk+3 gdk-pixbuf clutter-1.0 clutter-gtk-1.0 libsoup-2.4" -inherit meson gobject-introspection +inherit features_check gobject-introspection meson + +REQUIRED_DISTRO_FEATURES = "opengl" SRCREV = "145e417f32e507b63c21ad4e915b808a6174099e" SRC_URI = "git://github.com/gnome/libchamplain.git" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb index a3e479869..adbfcd6d7 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb @@ -57,7 +57,7 @@ PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm" PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof" PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification" -PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland wayland-native, xserver-xorg-xwayland" +PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland wayland-native, xwayland" PACKAGECONFIG[wayland-eglstream] = "-Dwayland_eglstream=true,-Dwayland_eglstream=false" # yes they changed from mutter-4 -> mutter-5 recently so be perpared diff --git a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb index 275fbaa69..e9fa25c63 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb @@ -21,7 +21,9 @@ SRC_URI += " \ file://0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch \ " -PACKAGECONFIG ?= "sysprofd libsysprof ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}" +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'sysprofd', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'libsysprof', '', d)} \ + ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}" PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3 libdazzle" PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit" PACKAGECONFIG[libsysprof] = "-Dlibsysprof=true,-Dlibsysprof=false,polkit" diff --git a/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb b/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb index 1f450fd9d..593e5866d 100644 --- a/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb +++ b/meta-openembedded/meta-gnome/recipes-support/packagegroups/packagegroup-gnome-apps.bb @@ -14,11 +14,10 @@ RDEPENDS_${PN} = " \ ghex \ gnome-calculator \ gnome-calendar \ - gnome-disk-utility \ gnome-font-viewer \ gnome-photos \ gnome-terminal \ libwnck3 \ nautilus \ - ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'gnome-system-monitor', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'gnome-system-monitor gnome-disk-utility', '', d)} \ " diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.0.bb deleted file mode 100644 index 88652a443..000000000 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Portable SDK for UPnP* Devices" -DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \ -UPnP device and control point applications. It consists of the core UPnP \ -protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \ -supporting the Document Object Model (DOM) Level 2 API and an optional, \ -integrated mini web server for serving UPnP related documents." -HOMEPAGE = "http://pupnp.sourceforge.net/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=394a0f17b97f33426275571e15920434" - -SRCREV = "a6c3616530490ca67db41131572ec18f00d95eb0" -SRC_URI = "git://github.com/mrjimenez/pupnp.git;protocol=https" - -S="${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF += "--enable-reuseaddr" - -# Enable LFS support ( for samples ) -CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb new file mode 100644 index 000000000..ff6fb55dd --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb @@ -0,0 +1,22 @@ +SUMMARY = "Portable SDK for UPnP* Devices" +DESCRIPTION = "The Portable SDK for UPnP Devices is an SDK for development of \ +UPnP device and control point applications. It consists of the core UPnP \ +protocols along with a UPnP-specific eXtensible Markup Language (XML) parser \ +supporting the Document Object Model (DOM) Level 2 API and an optional, \ +integrated mini web server for serving UPnP related documents." +HOMEPAGE = "http://pupnp.sourceforge.net/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=394a0f17b97f33426275571e15920434" + +SRCREV = "cef2b23fb36baac091b0c7d41136b4c1d9549c6d" +SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x" + +S="${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF += "--enable-reuseaddr" + +# Enable LFS support ( for samples ) +CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb index 7ea9b199b..f5a42fb86 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb @@ -1,7 +1,7 @@ SUMMARY = "Alliance for Open Media - AV1 Codec Library" DESCRIPTION = "Alliance for Open Media AV1 codec library" -LICENSE = "BSD-2-Clause & AOM-Patent-1.0" +LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \ " diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_5.0.3.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_5.0.3.bb deleted file mode 100644 index c2dd96f9d..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_5.0.3.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "library for DVD navigation features" -SECTION = "libs/multimedia" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "libdvdread" - -SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.bz2" -SRC_URI[md5sum] = "e9ea4de3bd8f204e61301d407d09f033" -SRC_URI[sha256sum] = "5097023e3d2b36944c763f1df707ee06b19dc639b2b68fb30113a5f2cbf60b6d" - -inherit autotools lib_package binconfig pkgconfig - -CONFIGUREOPTS_remove = "--disable-silent-rules" - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb new file mode 100644 index 000000000..06308d96c --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "library for DVD navigation features" +SECTION = "libs/multimedia" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "libdvdread" + +SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.bz2" +SRC_URI[md5sum] = "46c46cb0294fbd1fcb8a0181818dad15" +SRC_URI[sha256sum] = "c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48" + +inherit autotools lib_package binconfig pkgconfig + +CONFIGUREOPTS_remove = "--disable-silent-rules" + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb index 1102bb95a..c0556e739 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/bearssl/bearssl_0.6.bb @@ -23,8 +23,9 @@ inherit lib_package LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1fc37e1037ae673975fbcb96a98f7191" -SRCREV = "8ef7680081c61b486622f2d983c0d3d21e83caad" -SRC_URI = "git://www.bearssl.org/git/BearSSL;protocol=https;nobranch=1 \ +PV .= "+git${SRCPV}" +SRCREV = "79b1a9996c094ff593ae50bc4edc1f349f39dd6d" +SRC_URI = "git://www.bearssl.org/git/BearSSL;protocol=https \ file://0001-conf-Unix.mk-remove-fixed-command-definitions.patch \ file://0002-test-test_x509.c-fix-potential-overflow-issue.patch \ file://0001-make-Pass-LDFLAGS-when-building-shared-objects.patch \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb index c2f482716..b19364e1e 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/dibbler/dibbler_git.bb @@ -29,6 +29,8 @@ inherit autotools DEPENDS += "flex-native" +LDFLAGS += "-pthread" + PACKAGES =+ "${PN}-requestor ${PN}-client ${PN}-relay ${PN}-server" FILES_${PN}-client = "${sbindir}/${PN}-client" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/check-openssl-cmds-in-script-bootstrap.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/check-openssl-cmds-in-script-bootstrap.patch new file mode 100644 index 000000000..fcadae93a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/check-openssl-cmds-in-script-bootstrap.patch @@ -0,0 +1,38 @@ +bootstrap: check commands of openssl exist + +It calls openssl commands dhparam and pkcs12 in script bootstrap. These +commands are configurable based on configure options 'no-dh' and +'no-des', and may not be provided by openssl. So check existence of +these commands. If not, abort running of script bootstrap. + +1. https://github.com/openssl/openssl/blob/master/apps/build.info#L37 +2. https://github.com/openssl/openssl/blob/master/apps/build.info#L22 + +Upstream-Status: Denied [https://github.com/FreeRADIUS/freeradius-server/pull/4059] + The maintainer commented in the pull that the script could + be run on a host which provides these openssl commands. + +Signed-off-by: Kai Kang +--- + raddb/certs/bootstrap | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/raddb/certs/bootstrap b/raddb/certs/bootstrap +index 0f719aafd4..17feddbeeb 100755 +--- a/raddb/certs/bootstrap ++++ b/raddb/certs/bootstrap +@@ -13,6 +13,14 @@ + umask 027 + cd `dirname $0` + ++# check commands of openssl exist ++for cmd in dhparam pkcs12; do ++ if ! openssl ${cmd} -help >/dev/null 2>&1; then ++ echo "Error: command ${cmd} is not supported by openssl." ++ exit 1 ++ fi ++done ++ + make -h > /dev/null 2>&1 + + # diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb index 864a4e944..a6df2aeb0 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb @@ -31,6 +31,7 @@ SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.0.x;lfs=0 file://0001-workaround-error-with-autoconf-2.7.patch \ file://radiusd.service \ file://radiusd-volatiles.conf \ + file://check-openssl-cmds-in-script-bootstrap.patch \ " SRCREV = "af428abda249b2279ba0582180985a9f6f4a144a" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb deleted file mode 100644 index 77be27ffa..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.2.5.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "nanomsg-next-generation -- light-weight brokerless messaging" -DESCRIPTION = "NNG, like its predecessors nanomsg (and to some extent ZeroMQ), is a lightweight, broker-less library, offering a simple API to solve common recurring messaging problems, such as publish/subscribe, RPC-style request/reply, or service discovery." -HOMEPAGE = "https://github.com/nanomsg/nng" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a19b15be6e844b39a54de2ef665bd6de" - -SECTION = "libs/networking" - -SRCREV = "53ae1a5ab37fdfc9ad5c236df3eaf4dd63f0fee9" - -SRC_URI = "git://github.com/nanomsg/nng.git;branch=v1.2.x" - -S = "${WORKDIR}/git" - -inherit cmake pkgconfig - -EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON" - -PACKAGECONFIG ??= "" - -PACKAGECONFIG[mbedtls] = "-DNNG_ENABLE_TLS=ON,-DNNG_ENABLE_TLS=OFF,mbedtls" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.4.0.bb new file mode 100644 index 000000000..f61aa0549 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nng_1.4.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "nanomsg-next-generation -- light-weight brokerless messaging" +DESCRIPTION = "NNG, like its predecessors nanomsg (and to some extent ZeroMQ), is a lightweight, broker-less library, offering a simple API to solve common recurring messaging problems, such as publish/subscribe, RPC-style request/reply, or service discovery." +HOMEPAGE = "https://github.com/nanomsg/nng" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a41e579bb4326c21c774f8e51e41d8a3" + +SECTION = "libs/networking" + +SRCREV = "d020adda8f0348d094790618703b8341a26007a3" + +SRC_URI = "git://github.com/nanomsg/nng.git" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DNNG_ENABLE_NNGCAT=ON" + +PACKAGECONFIG ??= "" + +PACKAGECONFIG[mbedtls] = "-DNNG_ENABLE_TLS=ON,-DNNG_ENABLE_TLS=OFF,mbedtls" + +PACKAGES =+ "${PN}-tools" +FILES_${PN}-tools = "${bindir}/*" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.2.bb deleted file mode 100644 index ec3bdd22b..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.2.bb +++ /dev/null @@ -1,181 +0,0 @@ -SUMMARY = "NetworkManager" -HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" -SECTION = "net/misc" - -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = " \ - intltool-native \ - libxslt-native \ - libnl \ - udev \ - util-linux \ - libndp \ - libnewt \ - curl \ -" - -inherit gnomebase gettext update-rc.d systemd vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even - -SRC_URI = " \ - ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ - file://${BPN}.initd \ - file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ - file://0002-Do-not-create-settings-settings-property-documentati.patch \ - file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \ -" -SRC_URI_append_libc-musl = " \ - file://musl/0001-Fix-build-with-musl-systemd-specific.patch \ - file://musl/0002-Fix-build-with-musl-systemd-specific.patch \ -" -SRC_URI[sha256sum] = "0c8e80e77877860e4a4e6ab4a0f7cdc1186e356b65b042a751897188b88944d2" - -S = "${WORKDIR}/NetworkManager-${PV}" - -EXTRA_OECONF = " \ - --disable-ifcfg-rh \ - --disable-more-warnings \ - --with-iptables=${sbindir}/iptables \ - --with-tests \ - --with-nmtui=yes \ - --with-udev-dir=${nonarch_base_libdir}/udev \ - --with-dhclient=no \ - --with-dhcpcd=no \ - --with-dhcpcanon=no \ - --with-netconfig=no \ -" - -# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template -# avoids: -# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? -CFLAGS_append_libc-musl = " \ - -DRTLD_DEEPBIND=0 \ -" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" -} - -PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ -" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)} - -PACKAGECONFIG[systemd] = " \ - --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ - --without-systemdsystemunitdir, \ -" -PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" -PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" -# consolekit is not picked by shlibs, so add it to RDEPENDS too -PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" -PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" -PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" -PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" -PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" -PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf" -PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" -PACKAGECONFIG[wifi] = "--with-wext=yes --enable-wifi=yes,--with-wext=no --enable-wifi=no,,wpa-supplicant" -PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" -PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" -PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no" -PACKAGECONFIG[nmcli] = "--with-nmcli=yes,--with-nmcli=no,readline" -PACKAGECONFIG[ovs] = "--enable-ovs,--disable-ovs,jansson" - -PACKAGES =+ " \ - ${PN}-nmcli ${PN}-nmcli-doc \ - ${PN}-nmtui ${PN}-nmtui-doc \ - ${PN}-adsl ${PN}-cloud-setup \ -" - -SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup" - -FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so" - -FILES_${PN}-cloud-setup = " \ - ${libexecdir}/nm-cloud-setup \ - ${systemd_system_unitdir}/nm-cloud-setup.service \ - ${systemd_system_unitdir}/nm-cloud-setup.timer \ - ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ - ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ -" -ALLOW_EMPTY_${PN}-cloud-setup = "1" -SYSTEMD_SERVICE_${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" - -FILES_${PN} += " \ - ${libexecdir} \ - ${libdir}/NetworkManager/${PV}/*.so \ - ${libdir}/NetworkManager \ - ${libdir}/firewalld/zones \ - ${nonarch_libdir}/NetworkManager/conf.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ - ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ - ${nonarch_libdir}/NetworkManager/VPN \ - ${nonarch_libdir}/NetworkManager/system-connections \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${nonarch_base_libdir}/udev/* \ - ${systemd_system_unitdir} \ - ${libdir}/pppd \ -" - -RRECOMMENDS_${PN} += "iptables \ - ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ -" -RCONFLICTS_${PN} = "connman" - -FILES_${PN}-dev += " \ - ${datadir}/NetworkManager/gdb-cmd \ - ${libdir}/pppd/*/*.la \ - ${libdir}/NetworkManager/*.la \ - ${libdir}/NetworkManager/${PV}/*.la \ -" - -FILES_${PN}-nmcli = " \ - ${bindir}/nmcli \ -" - -FILES_${PN}-nmcli-doc = " \ - ${mandir}/man1/nmcli* \ -" - -FILES_${PN}-nmtui = " \ - ${bindir}/nmtui \ - ${bindir}/nmtui-edit \ - ${bindir}/nmtui-connect \ - ${bindir}/nmtui-hostname \ -" - -FILES_${PN}-nmtui-doc = " \ - ${mandir}/man1/nmtui* \ -" - -INITSCRIPT_NAME = "network-manager" -SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" - -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" -ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" - -do_install_append() { - install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager - - rm -rf ${D}/run ${D}${localstatedir}/run - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - # For read-only filesystem, do not create links during bootup - ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager - - # systemd v210 and newer do not need this rule file - rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules - fi -} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.4.bb new file mode 100644 index 000000000..7c07b0a34 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.30.4.bb @@ -0,0 +1,181 @@ +SUMMARY = "NetworkManager" +HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager" +SECTION = "net/misc" + +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = " \ + intltool-native \ + libxslt-native \ + libnl \ + udev \ + util-linux \ + libndp \ + libnewt \ + curl \ +" + +inherit gnomebase gettext update-rc.d systemd vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even + +SRC_URI = " \ + ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ + file://${BPN}.initd \ + file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ + file://0002-Do-not-create-settings-settings-property-documentati.patch \ + file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \ +" +SRC_URI_append_libc-musl = " \ + file://musl/0001-Fix-build-with-musl-systemd-specific.patch \ + file://musl/0002-Fix-build-with-musl-systemd-specific.patch \ +" +SRC_URI[sha256sum] = "6050b724212ea3ce7386113359bea9afa1f679a54f60d999a5999892e672c190" + +S = "${WORKDIR}/NetworkManager-${PV}" + +EXTRA_OECONF = " \ + --disable-ifcfg-rh \ + --disable-more-warnings \ + --with-iptables=${sbindir}/iptables \ + --with-tests \ + --with-nmtui=yes \ + --with-udev-dir=${nonarch_base_libdir}/udev \ + --with-dhclient=no \ + --with-dhcpcd=no \ + --with-dhcpcanon=no \ + --with-netconfig=no \ +" + +# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template +# avoids: +# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'? +CFLAGS_append_libc-musl = " \ + -DRTLD_DEEPBIND=0 \ +" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs" +} + +PACKAGECONFIG ??= "nss ifupdown dnsmasq nmcli \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \ +" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'nmcli', 'bash-completion', '', d)} + +PACKAGECONFIG[systemd] = " \ + --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \ + --without-systemdsystemunitdir, \ +" +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" +PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5" +# consolekit is not picked by shlibs, so add it to RDEPENDS too +PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit" +PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager" +PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp" +PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq" +PACKAGECONFIG[nss] = "--with-crypto=nss,,nss" +PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls" +PACKAGECONFIG[wifi] = "--with-wext=yes --enable-wifi=yes,--with-wext=no --enable-wifi=no,,wpa-supplicant" +PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown" +PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free" +PACKAGECONFIG[cloud-setup] = "--with-nm-cloud-setup=yes,--with-nm-cloud-setup=no" +PACKAGECONFIG[nmcli] = "--with-nmcli=yes,--with-nmcli=no,readline" +PACKAGECONFIG[ovs] = "--enable-ovs,--disable-ovs,jansson" + +PACKAGES =+ " \ + ${PN}-nmcli ${PN}-nmcli-doc \ + ${PN}-nmtui ${PN}-nmtui-doc \ + ${PN}-adsl ${PN}-cloud-setup \ +" + +SYSTEMD_PACKAGES = "${PN} ${PN}-cloud-setup" + +FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so" + +FILES_${PN}-cloud-setup = " \ + ${libexecdir}/nm-cloud-setup \ + ${systemd_system_unitdir}/nm-cloud-setup.service \ + ${systemd_system_unitdir}/nm-cloud-setup.timer \ + ${libdir}/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh \ + ${libdir}/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh \ +" +ALLOW_EMPTY_${PN}-cloud-setup = "1" +SYSTEMD_SERVICE_${PN}-cloud-setup = "${@bb.utils.contains('PACKAGECONFIG', 'cloud-setup', 'nm-cloud-setup.service nm-cloud-setup.timer', '', d)}" + +FILES_${PN} += " \ + ${libexecdir} \ + ${libdir}/NetworkManager/${PV}/*.so \ + ${libdir}/NetworkManager \ + ${libdir}/firewalld/zones \ + ${nonarch_libdir}/NetworkManager/conf.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-down.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/pre-up.d \ + ${nonarch_libdir}/NetworkManager/dispatcher.d/no-wait.d \ + ${nonarch_libdir}/NetworkManager/VPN \ + ${nonarch_libdir}/NetworkManager/system-connections \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${nonarch_base_libdir}/udev/* \ + ${systemd_system_unitdir} \ + ${libdir}/pppd \ +" + +RRECOMMENDS_${PN} += "iptables \ + ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \ +" +RCONFLICTS_${PN} = "connman" + +FILES_${PN}-dev += " \ + ${datadir}/NetworkManager/gdb-cmd \ + ${libdir}/pppd/*/*.la \ + ${libdir}/NetworkManager/*.la \ + ${libdir}/NetworkManager/${PV}/*.la \ +" + +FILES_${PN}-nmcli = " \ + ${bindir}/nmcli \ +" + +FILES_${PN}-nmcli-doc = " \ + ${mandir}/man1/nmcli* \ +" + +FILES_${PN}-nmtui = " \ + ${bindir}/nmtui \ + ${bindir}/nmtui-edit \ + ${bindir}/nmtui-connect \ + ${bindir}/nmtui-hostname \ +" + +FILES_${PN}-nmtui-doc = " \ + ${mandir}/man1/nmtui* \ +" + +INITSCRIPT_NAME = "network-manager" +SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}" +ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" + +do_install_append() { + install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager + + rm -rf ${D}/run ${D}${localstatedir}/run + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + # For read-only filesystem, do not create links during bootup + ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager + + # systemd v210 and newer do not need this rule file + rm ${D}/${nonarch_base_libdir}/udev/rules.d/84-nm-drivers.rules + fi +} diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb index 9c20be537..b5ff43099 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.17.1.bb @@ -74,7 +74,7 @@ do_install_append() { install -d ${D}${sysconfdir}/default/volatiles install -m 0644 ${WORKDIR}/volatiles.99_snort ${D}${sysconfdir}/default/volatiles/99_snort - sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc + sed -i -e 's|-ffile-prefix-map[^ ]*||g; s|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc } pkg_postinst_${PN}() { diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch index a1e56b7ca..28068bba1 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch +++ b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0001-optimize-boot.patch @@ -1,18 +1,31 @@ -Author: Jamie Strandboge -Description: to improve boot speed when disabled, don't source all of - ufw-init-functions (which also sources in other files). +From 92fcdbc1a57086e4decc1597217c0739dc16342a Mon Sep 17 00:00:00 2001 +From: Silcet +Date: Tue, 27 Apr 2021 05:34:59 +0000 +Subject: [PATCH] Author: Jamie Strandboge +Description: +to improve boot speed when disabled, don't source all of ufw-init-functions +(which also sources in other files). Upstream-Status: Inappropriate [ not author ] Signed-off-by: Joe MacDonald -Index: ufw-0.31/src/ufw-init -=================================================================== ---- ufw-0.31.orig/src/ufw-init 2012-03-09 17:07:11.000000000 -0600 -+++ ufw-0.31/src/ufw-init 2012-03-17 09:37:51.000000000 -0500 -@@ -18,6 +18,12 @@ - # - set -e +The patch was imported from the OpenEmbedded git server +(git://git.openembedded.org/openembedded) as of commit id +2cc1bd9dd060f5002c2fde7aacba86fe230c12af. + +Signed-off-by: Silcet +--- + src/ufw-init | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/ufw-init b/src/ufw-init +index 3505a02..dde37f0 100755 +--- a/src/ufw-init ++++ b/src/ufw-init +@@ -31,6 +31,12 @@ if [ "$1" = "--datadir" ] && [ -s "$2" ]; then + fi + export DATA_DIR="$datadir" +# Debian/Ubuntu: small boot speed improvement +. "#CONFIG_PREFIX#/ufw/ufw.conf" @@ -20,6 +33,6 @@ Index: ufw-0.31/src/ufw-init + exit 0 +fi + - if [ -s "#STATE_PREFIX#/ufw-init-functions" ]; then - . "#STATE_PREFIX#/ufw-init-functions" + if [ -s "${rootdir}#STATE_PREFIX#/ufw-init-functions" ]; then + . "${rootdir}#STATE_PREFIX#/ufw-init-functions" else diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0002-add-an-option-to-specify-iptables-location.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0002-add-an-option-to-specify-iptables-location.patch new file mode 100644 index 000000000..884fa1647 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0002-add-an-option-to-specify-iptables-location.patch @@ -0,0 +1,108 @@ +From 808577f8464f542076840d0d93fe168a5f79442c Mon Sep 17 00:00:00 2001 +From: Silcet +Date: Tue, 27 Apr 2021 05:40:03 +0000 +Subject: [PATCH] setup: add an option to specify iptables location + +When cross-compiling it isn't certain that the location of iptables on the +target will be the same as on the host. It also doesn't make sense the +test the version of the host during setup. We provide an option to +specify an alternate iptables directory. This is assumed to be a +cross-compile environment and therefore no attempt is made to verify the +version of iptables to be used. + +Upstream-Status: Pending + +Signed-off-by: Joe MacDonald + +The patch was imported from the OpenEmbedded git server +(git://git.openembedded.org/openembedded) as of commit id +2cc1bd9dd060f5002c2fde7aacba86fe230c12af. + +Signed-off-by: Silcet +--- + setup.py | 65 ++++++++++++++++++++++++++++++++------------------------ + 1 file changed, 37 insertions(+), 28 deletions(-) + +diff --git a/setup.py b/setup.py +index 09204d3..2343bc9 100644 +--- a/setup.py ++++ b/setup.py +@@ -246,41 +246,50 @@ shutil.copytree('src', 'staging') + os.unlink(os.path.join('staging', 'ufw-init')) + os.unlink(os.path.join('staging', 'ufw-init-functions')) + ++iptables_set = 0 + iptables_exe = '' + iptables_dir = '' + +-for e in ['iptables']: +- for dir in ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', \ +- '/usr/local/bin']: +- if e == "iptables": +- if os.path.exists(os.path.join(dir, e)): +- iptables_dir = dir +- iptables_exe = os.path.join(iptables_dir, "iptables") +- print("Found '%s'" % iptables_exe) +- else: +- continue +- +- if iptables_exe != "": +- break +- ++if "--iptables-dir" in sys.argv: ++ iptables_dir = sys.argv[sys.argv.index("--iptables-dir") + 1] ++ iptables_exe = os.path.join(iptables_dir, "iptables") ++ iptables_set = 1 ++ print("INFO: iptables manually set: '%s'" % (iptables_exe)) ++ sys.argv.remove(iptables_dir) ++ sys.argv.remove("--iptables-dir") ++ ++if not iptables_set: ++ for e in ['iptables']: ++ for dir in ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', \ ++ '/usr/local/bin']: ++ if e == "iptables": ++ if os.path.exists(os.path.join(dir, e)): ++ iptables_dir = dir ++ iptables_exe = os.path.join(iptables_dir, "iptables") ++ print("Found '%s'" % iptables_exe) ++ else: ++ continue + +-if iptables_exe == '': +- print("ERROR: could not find required binary 'iptables'", file=sys.stderr) +- sys.exit(1) ++ if iptables_exe != "": ++ break + +-for e in ['ip6tables', 'iptables-restore', 'ip6tables-restore']: +- if not os.path.exists(os.path.join(iptables_dir, e)): +- print("ERROR: could not find required binary '%s'" % (e), file=sys.stderr) ++ if iptables_exe == '': ++ print("ERROR: could not find required binary 'iptables'", file=sys.stderr) + sys.exit(1) + +-(rc, out) = cmd([iptables_exe, '-V']) +-if rc != 0: +- raise OSError(errno.ENOENT, "Could not find version for '%s'" % \ +- (iptables_exe)) +-version = re.sub('^v', '', re.split('\s', str(out))[1]) +-print("Found '%s' version '%s'" % (iptables_exe, version)) +-if version < "1.4": +- print("WARN: version '%s' has limited IPv6 support. See README for details." % (version), file=sys.stderr) ++ for e in ['ip6tables', 'iptables-restore', 'ip6tables-restore']: ++ if not os.path.exists(os.path.join(iptables_dir, e)): ++ print("ERROR: could not find required binary '%s'" % (e), file=sys.stderr) ++ sys.exit(1) ++ ++ (rc, out) = cmd([iptables_exe, '-V']) ++ if rc != 0: ++ raise OSError(errno.ENOENT, "Could not find version for '%s'" % \ ++ (iptables_exe)) ++ version = re.sub('^v', '', re.split('\s', str(out))[1]) ++ print("Found '%s' version '%s'" % (iptables_exe, version)) ++ if version < "1.4": ++ print("WARN: version '%s' has limited IPv6 support. See README for details." % (version), file=sys.stderr) + + setup (name='ufw', + version=ufw_version, diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch deleted file mode 100644 index 804c18bc9..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0002-lp1044361.patch +++ /dev/null @@ -1,118 +0,0 @@ -Origin: r795, r796 -Description: move netfilter capabilities checking into initcaps(), and call - initcaps() only when we need it. -Bug-Ubuntu: https://launchpad.net/bugs/1044361 - -Upstream-Status: Inappropriate [ not author ] - -Signed-off-by: Joe MacDonald - -Index: ufw-0.33/src/backend_iptables.py -=================================================================== ---- ufw-0.33.orig/src/backend_iptables.py 2012-09-23 09:58:34.000000000 -0500 -+++ ufw-0.33/src/backend_iptables.py 2012-09-23 09:58:36.000000000 -0500 -@@ -160,6 +160,9 @@ - out += "> " + _("Checking raw ip6tables\n") - return out - -+ # Initialize the capabilities database -+ self.initcaps() -+ - args = ['-n', '-v', '-x', '-L'] - items = [] - items6 = [] -@@ -470,6 +473,9 @@ - if self.dryrun: - return False - -+ # Initialize the capabilities database -+ self.initcaps() -+ - prefix = "ufw" - exe = self.iptables - if v6: -@@ -684,6 +690,9 @@ - except Exception: - raise - -+ # Initialize the capabilities database -+ self.initcaps() -+ - chain_prefix = "ufw" - rules = self.rules - if v6: -@@ -830,6 +839,10 @@ - * updating user rules file - * reloading the user rules file if rule is modified - ''' -+ -+ # Initialize the capabilities database -+ self.initcaps() -+ - rstr = "" - - if rule.v6: -@@ -1073,6 +1086,9 @@ - if self.dryrun: - return - -+ # Initialize the capabilities database -+ self.initcaps() -+ - rules_t = [] - try: - rules_t = self._get_logging_rules(level) -Index: ufw-0.33/src/backend.py -=================================================================== ---- ufw-0.33.orig/src/backend.py 2012-09-23 09:58:34.000000000 -0500 -+++ ufw-0.33/src/backend.py 2012-09-23 09:59:03.000000000 -0500 -@@ -21,7 +21,7 @@ - import stat - import sys - import ufw.util --from ufw.util import warn, debug -+from ufw.util import error, warn, debug - from ufw.common import UFWError, config_dir, iptables_dir, UFWRule - import ufw.applications - -@@ -68,6 +68,17 @@ - err_msg = _("Couldn't determine iptables version") - raise UFWError(err_msg) - -+ # Initialize via initcaps only when we need it (LP: #1044361) -+ self.caps = None -+ -+ def initcaps(self): -+ '''Initialize the capabilities database. This needs to be called -+ before accessing the database.''' -+ -+ # Only initialize if not initialized already -+ if self.caps != None: -+ return -+ - self.caps = {} - self.caps['limit'] = {} - -@@ -78,14 +89,20 @@ - # Try to get capabilities from the running system if root - if self.do_checks and os.getuid() == 0 and not self.dryrun: - # v4 -- nf_caps = ufw.util.get_netfilter_capabilities(self.iptables) -+ try: -+ nf_caps = ufw.util.get_netfilter_capabilities(self.iptables) -+ except OSError as e: -+ error("initcaps\n%s" % e) - if 'recent-set' in nf_caps and 'recent-update' in nf_caps: - self.caps['limit']['4'] = True - else: - self.caps['limit']['4'] = False - - # v6 -- nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables) -+ try: -+ nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables) -+ except OSError as e: -+ error("initcaps\n%s" % e) - if 'recent-set' in nf_caps and 'recent-update' in nf_caps: - self.caps['limit']['6'] = True - else: diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch deleted file mode 100644 index b259fdf78..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0003-fix-typeerror-on-error.patch +++ /dev/null @@ -1,20 +0,0 @@ -Origin: r797 -Description: src/backend_iptables.py: fix misplaced parenthesis - -Upstream-Status: Inappropriate [ not author ] - -Signed-off-by: Joe MacDonald - -Index: ufw-0.33/src/backend_iptables.py -=================================================================== ---- ufw-0.33.orig/src/backend_iptables.py 2012-09-24 08:51:13.000000000 -0500 -+++ ufw-0.33/src/backend_iptables.py 2012-09-24 08:52:00.000000000 -0500 -@@ -1075,7 +1075,7 @@ - exe = self.ip6tables - (rc, out) = cmd([exe] + args) - if rc != 0: -- err_msg = _("Could not perform '%s'") % (args) -+ err_msg = _("Could not perform '%s'" % (args)) - if fail_ok: - debug("FAILOK: " + err_msg) - else: diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0003-only-make-one-reference-to-env.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0003-only-make-one-reference-to-env.patch new file mode 100644 index 000000000..556d4459d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0003-only-make-one-reference-to-env.patch @@ -0,0 +1,73 @@ +From 42170d379eddc12bd2d1fe84dc268882d8eb4d64 Mon Sep 17 00:00:00 2001 +From: Silcet +Date: Mon, 3 May 2021 08:59:28 +0000 +Subject: [PATCH] setup: only make one reference to env + +If sys.executable happens to be '/usr/bin/env python' or something +similar, the setup script will result in 'ufw' getting /usr/bin/env +repeated on the top line. This causes an error at runtime. Perform a +quick sanity check on sys.executable before doing the substitution. + +While we're at it, change the default value of 'exe' to the one we either +detected or specified on the build line. + +Upstream-Status: Inappropriate [ embedded specific ] + +Signed-off-by: Joe MacDonald + +The patch was imported from the OpenEmbedded git server +(git://git.openembedded.org/openembedded) as of commit id +2cc1bd9dd060f5002c2fde7aacba86fe230c12af. + +A previous change had modified the way the python shebang was updated to +follow the same version as the one used to call setup.py. However, it +used a regex that was not matching anymore. To fix this, the regex +condition is removed so the shebang line is substituted with the sys.executable +value. Later in the installation distutils finds the string with the path +of sys.executable and replaces it with "#! /usr/bin/env python3". + +Signed-off-by: Silcet +--- + setup.py | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 2343bc9..f8a638b 100644 +--- a/setup.py ++++ b/setup.py +@@ -64,7 +64,7 @@ class Install(_install, object): + real_sharedir = os.path.join(real_prefix, 'share', 'ufw') + + # Update the modules' paths +- for fn in [ 'common.py' ]: ++ for fn in [ 'common.py', 'util.py' ]: + # 'staging' is used with just 'install' but build_lib is used when + # using 'build'. We could probably override 'def build()' but this + # at least works +@@ -97,6 +97,12 @@ class Install(_install, object): + "-i", + "s%#SHARE_DIR#%" + real_sharedir + "%g", + f]) ++ ++ subprocess.call(["sed", ++ "-i.jjm", ++ "s%/sbin/iptables%" + iptables_exe + "%g", ++ f]) ++ + + if fn == 'common.py' and 'UFW_SKIP_CHECKS' in os.environ and \ + os.environ['UFW_SKIP_CHECKS'] != '': +@@ -123,10 +129,12 @@ class Install(_install, object): + self.mkpath(os.path.dirname(f)) + + # update the interpreter to that of the one the user specified for setup ++ # Distutils searches for the string of sys.executable and replaces it ++ # with the "#! /usr/bin/env pythonX" shebang on a later step + print("Updating staging/ufw to use %s" % (sys.executable)) + subprocess.call(["sed", + "-i", +- "1s%^#.*python.*%#! /usr/bin/env " + sys.executable + "%g", ++ "1s%/.*python.*%" + sys.executable + "%g", + 'staging/ufw']) + self.copy_file('staging/ufw', script) + self.copy_file('doc/ufw.8', manpage) diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch deleted file mode 100644 index 695b26567..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0004-lp1039729.patch +++ /dev/null @@ -1,40 +0,0 @@ -Origin: r803, r804 -Description: Don't call get_netfilter_capabilities() with ipv6 if ipv6 is - disabled. -Bug-Ubuntu: https://launchpad.net/ufw/bugs/1039729 - -Upstream-Status: Inappropriate [ not author ] - -Signed-off-by: Joe MacDonald - -Index: ufw-0.33/src/backend.py -=================================================================== ---- ufw-0.33.orig/src/backend.py 2012-12-04 09:21:57.000000000 -0600 -+++ ufw-0.33/src/backend.py 2012-12-04 09:22:40.000000000 -0600 -@@ -98,15 +98,17 @@ - else: - self.caps['limit']['4'] = False - -- # v6 -- try: -- nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables) -- except OSError as e: -- error("initcaps\n%s" % e) -- if 'recent-set' in nf_caps and 'recent-update' in nf_caps: -- self.caps['limit']['6'] = True -- else: -- self.caps['limit']['6'] = False -+ # v6 (skip capabilities check for ipv6 if ipv6 is disabled in ufw -+ # because the system may not have ipv6 support (LP: #1039729) -+ if self.use_ipv6(): -+ try: -+ nf_caps = ufw.util.get_netfilter_capabilities(self.ip6tables) -+ except OSError as e: -+ error("initcaps\n%s" % e) -+ if 'recent-set' in nf_caps and 'recent-update' in nf_caps: -+ self.caps['limit']['6'] = True -+ else: -+ self.caps['limit']['6'] = False - - def is_enabled(self): - '''Is firewall configured as enabled''' diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch deleted file mode 100644 index b760d3fd3..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/0005-lp1191197.patch +++ /dev/null @@ -1,32 +0,0 @@ -Origin: r816 -Description: add check for -m rt --rt-type 0 -Bug-Ubuntu: https://launchpad.net/bugs/1191197 -Forwarded: yes - -Upstream-Status: Inappropriate [ not author ] - -Signed-off-by: Joe MacDonald - -Index: ufw-0.33/tests/check-requirements -=================================================================== ---- ufw-0.33.orig/tests/check-requirements 2012-08-17 16:12:49.000000000 -0500 -+++ ufw-0.33/tests/check-requirements 2013-06-15 07:47:00.000000000 -0500 -@@ -3,7 +3,7 @@ - # check-requirements: verify all the required iptables functionality is - # available - # --# Copyright 2008-2012 Canonical Ltd. -+# Copyright 2008-2013 Canonical Ltd. - # - # This program is free software: you can redistribute it and/or modify - # it under the terms of the GNU General Public License version 3, -@@ -218,6 +218,9 @@ - echo -n "icmpv6 with hl ($j): " - runcmd $exe -A $c -p icmpv6 --icmpv6-type $j -m hl --hl-eq 255 -j ACCEPT - done -+ -+ echo -n "ipv6 rt: " -+ runcmd $exe -A $c -m rt --rt-type 0 -j ACCEPT - fi - - echo "" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch deleted file mode 100644 index 511742338..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/setup-add-an-option-to-specify-iptables-location.patch +++ /dev/null @@ -1,107 +0,0 @@ -From c54d36d0582a60fd281cd9287077cea205fd849d Mon Sep 17 00:00:00 2001 -From: Joe MacDonald -Date: Thu, 27 Nov 2014 15:20:34 -0500 -Subject: [PATCH] setup: add an option to specify iptables location - -When cross-compiling it isn't certain that the location of iptables on the -target will be the same as on the host. It also doesn't make sense the -test the version of the host during setup. We provide an option to -specify an alternate iptables directory. This is assumed to be a -cross-compile environment and therefore no attempt is made to verify the -version of iptables to be used. - -Upstream-Status: Pending - -Signed-off-by: Joe MacDonald ---- - setup.py | 69 ++++++++++++++++++++++++++++++++++++---------------------------- - 1 file changed, 39 insertions(+), 30 deletions(-) - -diff --git a/setup.py b/setup.py -index 6fb3751..b13d11c 100644 ---- a/setup.py -+++ b/setup.py -@@ -225,41 +225,50 @@ shutil.copytree('src', 'staging') - os.unlink(os.path.join('staging', 'ufw-init')) - os.unlink(os.path.join('staging', 'ufw-init-functions')) - -+iptables_set = 0 - iptables_exe = '' - iptables_dir = '' - --for e in ['iptables']: -- for dir in ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', \ -- '/usr/local/bin']: -- if e == "iptables": -- if os.path.exists(os.path.join(dir, e)): -- iptables_dir = dir -- iptables_exe = os.path.join(iptables_dir, "iptables") -- print("Found '%s'" % iptables_exe) -- else: -- continue -- -- if iptables_exe != "": -- break -- -- --if iptables_exe == '': -- print("ERROR: could not find required binary 'iptables'", file=sys.stderr) -- sys.exit(1) -- --for e in ['ip6tables', 'iptables-restore', 'ip6tables-restore']: -- if not os.path.exists(os.path.join(iptables_dir, e)): -- print("ERROR: could not find required binary '%s'" % (e), file=sys.stderr) -+if "--iptables-dir" in sys.argv: -+ iptables_dir = sys.argv[sys.argv.index("--iptables-dir") + 1] -+ iptables_exe = os.path.join(iptables_dir, "iptables") -+ iptables_set = 1 -+ print("INFO: iptables manually set: '%s'" % (iptables_exe)) -+ sys.argv.remove(iptables_dir) -+ sys.argv.remove("--iptables-dir") -+ -+if not iptables_set: -+ for e in ['iptables']: -+ for dir in ['/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/sbin', \ -+ '/usr/local/bin']: -+ if e == "iptables": -+ if os.path.exists(os.path.join(dir, e)): -+ iptables_dir = dir -+ iptables_exe = os.path.join(iptables_dir, "iptables") -+ print("Found '%s'" % iptables_exe) -+ else: -+ continue -+ -+ if iptables_exe != "": -+ break -+ -+ if iptables_exe == '': -+ print("ERROR: could not find required binary 'iptables'", file=sys.stderr) - sys.exit(1) - --(rc, out) = cmd([iptables_exe, '-V']) --if rc != 0: -- raise OSError(errno.ENOENT, "Could not find version for '%s'" % \ -- (iptables_exe)) --version = re.sub('^v', '', re.split('\s', str(out))[1]) --print("Found '%s' version '%s'" % (iptables_exe, version)) --if version < "1.4": -- print("WARN: version '%s' has limited IPv6 support. See README for details." % (version), file=sys.stderr) -+ for e in ['ip6tables', 'iptables-restore', 'ip6tables-restore']: -+ if not os.path.exists(os.path.join(iptables_dir, e)): -+ print("ERROR: could not find required binary '%s'" % (e), file=sys.stderr) -+ sys.exit(1) -+ -+ (rc, out) = cmd([iptables_exe, '-V']) -+ if rc != 0: -+ raise OSError(errno.ENOENT, "Could not find version for '%s'" % \ -+ (iptables_exe)) -+ version = re.sub('^v', '', re.split('\s', str(out))[1]) -+ print("Found '%s' version '%s'" % (iptables_exe, version)) -+ if version < "1.4": -+ print("WARN: version '%s' has limited IPv6 support. See README for details." % (version), file=sys.stderr) - - setup (name='ufw', - version=ufw_version, --- -1.9.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch deleted file mode 100644 index ff704b5a4..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw/setup-only-make-one-reference-to-env.patch +++ /dev/null @@ -1,77 +0,0 @@ -From be53eea06a5655fdc98f47a73be8277b65bb42ed Mon Sep 17 00:00:00 2001 -From: Joe MacDonald -Date: Tue, 11 Nov 2014 21:41:14 -0500 -Subject: [PATCH] setup: only make one reference to env - -If sys.executable happens to be '/usr/bin/env python' or something -similar, the setup script will result in 'ufw' getting /usr/bin/env -repeated on the top line. This causes an error at runtime. Perform a -quick sanity check on sys.executable before doing the substitution. - -While we're at it, change the default value of 'exe' to the one we either -detected or specified on the build line. - -Upstream-Status: Inappropriate [ embedded specific ] - -Signed-off-by: Joe MacDonald ---- - setup.py | 34 ++++++++++++++++++++++++++++------ - 1 file changed, 28 insertions(+), 6 deletions(-) - -diff --git a/setup.py b/setup.py -index b13d11c..73acdef 100644 ---- a/setup.py -+++ b/setup.py -@@ -64,7 +64,7 @@ class Install(_install, object): - real_sharedir = os.path.join(real_prefix, 'share', 'ufw') - - # Update the modules' paths -- for file in [ 'common.py' ]: -+ for file in [ 'common.py', 'util.py' ]: - print("Updating " + file) - subprocess.call(["sed", - "-i", -@@ -91,6 +91,11 @@ class Install(_install, object): - "s%#SHARE_DIR#%" + real_sharedir + "%g", - os.path.join('staging', file)]) - -+ subprocess.call(["sed", -+ "-i.jjm", -+ "s%/sbin/iptables%" + iptables_exe + "%g", -+ os.path.join('staging', file)]) -+ - # Now byte-compile everything - super(Install, self).run() - -@@ -107,12 +112,23 @@ class Install(_install, object): - for f in [ script, manpage, manpage_f ]: - self.mkpath(os.path.dirname(f)) - -+ # if sys.executable == /usr/bin/env python* the result will be the top -+ # of ufw getting: -+ # -+ # #! /usr/bin/env /usr/bin/env python -+ # -+ # which is not ideal -+ # - # update the interpreter to that of the one the user specified for setup -- print("Updating staging/ufw to use %s" % (sys.executable)) -- subprocess.call(["sed", -- "-i", -- "1s%^#.*python.*%#! /usr/bin/env " + sys.executable + "%g", -- 'staging/ufw']) -+ print("Updating staging/ufw to use (%s)" % (sys.executable)) -+ -+ if re.search("(/usr/bin/env)", sys.executable): -+ print("found 'env' in sys.executable (%s)" % (sys.executable)) -+ subprocess.call(["sed", -+ "-i.jjm", -+ "1s%^#.*python.*%#! " + sys.executable + "%g", -+ 'staging/ufw']) -+ - self.copy_file('staging/ufw', script) - self.copy_file('doc/ufw.8', manpage) - self.copy_file('doc/ufw-framework.8', manpage_f) --- -1.9.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb deleted file mode 100644 index 42fc26258..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.33.bb +++ /dev/null @@ -1,59 +0,0 @@ -SUMMARY = "Uncomplicated Firewall" -DESCRIPTION = "UFW stands for Uncomplicated Firewall, and is program for \ -managing a netfilter firewall. It provides a command line interface and aims \ -to be uncomplicated and easy to use." -HOMEPAGE = "https://launchpad.net/ufw" -SECTION = "net" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" - -SRC_URI = " \ - https://launchpad.net/ufw/0.33/0.33/+download/ufw-0.33.tar.gz \ - file://setup-add-an-option-to-specify-iptables-location.patch \ - file://setup-only-make-one-reference-to-env.patch \ - file://0001-optimize-boot.patch \ - file://0002-lp1044361.patch \ - file://0003-fix-typeerror-on-error.patch \ - file://0004-lp1039729.patch \ - file://0005-lp1191197.patch \ -" - -UPSTREAM_CHECK_URI = "https://launchpad.net/ufw" - -SRC_URI[md5sum] = "3747b453d76709e5a99da209fc0bb5f5" -SRC_URI[sha256sum] = "5f85a8084ad3539b547bec097286948233188c971f498890316dec170bdd1da8" - -inherit setuptools3 features_check - -RDEPENDS_${PN} = " \ - iptables \ - python3 \ - python3-modules \ - " - -RRECOMMENDS_${PN} = " \ - kernel-module-ipv6 \ - kernel-module-nf-conntrack-ipv6 \ - kernel-module-nf-log-common \ - kernel-module-nf-log-ipv4 \ - kernel-module-nf-log-ipv6 \ - kernel-module-nf-addrtype \ - kernel-module-nf-limit \ - kernel-module-nf-log \ - kernel-module-nf-recent \ -" - -# Certain items are explicitly put under /lib, not base_libdir when installed. -# -FILES_${PN} += " \ - ${sbindir}/* \ - ${datadir}/ufw/* \ - /lib/ufw/* \ - ${sysconfdir}/ufw/* \ - ${sysconfdir}/default/ufw \ -" - -REQUIRED_DISTRO_FEATURES = "ipv6" - -DISTUTILS_BUILD_ARGS_append = " --iptables-dir /usr/sbin" -DISTUTILS_INSTALL_ARGS_append = " --iptables-dir /usr/sbin" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.bb b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.bb new file mode 100644 index 000000000..8e35dc01e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.bb @@ -0,0 +1,68 @@ + +SUMMARY = "Uncomplicated Firewall" +DESCRIPTION = "UFW stands for Uncomplicated Firewall, and is program for \ +managing a netfilter firewall. It provides a command line interface and aims \ +to be uncomplicated and easy to use." +HOMEPAGE = "https://launchpad.net/ufw" +SECTION = "net" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +SRC_URI = "https://launchpad.net/ufw/0.36/0.36/+download/ufw-0.36.tar.gz \ + file://0001-optimize-boot.patch \ + file://0002-add-an-option-to-specify-iptables-location.patch \ + file://0003-only-make-one-reference-to-env.patch \ + " + +UPSTREAM_CHECK_URI = "https://launchpad.net/ufw" + +SRC_URI[md5sum] = "6d8ab1506da21ae003f4628f93d05781" +SRC_URI[sha256sum] = "754b22ae5edff0273460ac9f57509c3938187e0cf4fb9692c6a02833fff33cfc" + +inherit setuptools3 features_check systemd update-rc.d + +RDEPENDS_${PN} = " \ + iptables \ + python3 \ + python3-modules \ + " + +RRECOMMENDS_${PN} = " \ + kernel-module-ipv6 \ + kernel-module-nf-conntrack-ipv6 \ + kernel-module-nf-log-common \ + kernel-module-nf-log-ipv4 \ + kernel-module-nf-log-ipv6 \ + kernel-module-nf-addrtype \ + kernel-module-nf-limit \ + kernel-module-nf-log \ + kernel-module-nf-recent \ +" + +do_install_append() { + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/doc/systemd.example ${D}${systemd_unitdir}/system/ufw.service + + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${S}/doc/initscript.example ${D}${sysconfdir}/init.d/ufw +} + +SYSTEMD_SERVICE_${PN} = "ufw.service" + +INITSCRIPT_NAME = "ufw" +INITSCRIPT_PARAMS = "defaults" + +# Certain items are explicitly put under /lib, not base_libdir when installed. +# +FILES_${PN} += " \ + ${sbindir}/* \ + ${datadir}/ufw/* \ + /lib/ufw/* \ + ${sysconfdir}/ufw/* \ + ${sysconfdir}/default/ufw \ +" + +REQUIRED_DISTRO_FEATURES = "ipv6" + +DISTUTILS_BUILD_ARGS_append = " --iptables-dir /usr/sbin" +DISTUTILS_INSTALL_ARGS_append = " --iptables-dir /usr/sbin" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.7.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.7.0.bb deleted file mode 100644 index 83406f507..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.7.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" -DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ - in C and optimized for embedded and RTOS environments. It can \ - be up to 20 times smaller than OpenSSL while still supporting \ - a full TLS client and server, up to TLS 1.3" -HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" -BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" -SECTION = "libs" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -PROVIDES += "cyassl" -RPROVIDES_${PN} = "cyassl" - -SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https \ -" -SRCREV = "830de9a9fb99e30f9ac9caa0a7f7bba29c3b4863" -S = "${WORKDIR}/git" - -inherit autotools - -BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.7.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.7.1.bb new file mode 100644 index 000000000..76a5fd75c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.7.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library" +DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \ + in C and optimized for embedded and RTOS environments. It can \ + be up to 20 times smaller than OpenSSL while still supporting \ + a full TLS client and server, up to TLS 1.3" +HOMEPAGE = "https://www.wolfssl.com/products/wolfssl" +BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues" +SECTION = "libs" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +PROVIDES += "cyassl" +RPROVIDES_${PN} = "cyassl" + +SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https \ +" +SRCREV = "95b91d89133a712a3d0f389442924612c103da24" +S = "${WORKDIR}/git" + +inherit autotools + +BBCLASSEXTEND += "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch b/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch index 9816d4d22..d888dd826 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch +++ b/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/build_fixup.patch @@ -9,10 +9,10 @@ redefine PR_RUN_DIR as ${localstatedir}/run Signed-off-By: Armin Kuster -Index: proftpd-1.3.6/Make.rules.in -=================================================================== ---- proftpd-1.3.6.orig/Make.rules.in -+++ proftpd-1.3.6/Make.rules.in +diff --git a/Make.rules.in b/Make.rules.in +index a5028ac..ccd7807 100644 +--- a/Make.rules.in ++++ b/Make.rules.in @@ -30,9 +30,9 @@ INSTALL=@INSTALL@ INSTALL_STRIP=@INSTALL_STRIP@ INSTALL_USER=@install_user@ @@ -26,11 +26,11 @@ Index: proftpd-1.3.6/Make.rules.in RM=rm -f SHELL=@CONFIG_SHELL@ -Index: proftpd-1.3.6/Makefile.in -=================================================================== ---- proftpd-1.3.6.orig/Makefile.in -+++ proftpd-1.3.6/Makefile.in -@@ -105,7 +105,6 @@ check: proftpd$(EXEEXT) +diff --git a/Makefile.in b/Makefile.in +index 9434cbd..13f2e16 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -123,7 +123,6 @@ check: proftpd$(EXEEXT) $(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8: @if [ ! -d $@ ]; then \ mkdir -p $@; \ @@ -38,20 +38,20 @@ Index: proftpd-1.3.6/Makefile.in chmod 0755 $@; \ fi -@@ -115,7 +114,6 @@ install-proftpd: proftpd $(DESTDIR)$(inc +@@ -133,7 +132,6 @@ install-proftpd: proftpd$(EXEEXT) $(DESTDIR)$(includedir) $(DESTDIR)$(localstate rm -f $(DESTDIR)$(sbindir)/in.proftpd ; \ fi - ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd + ln -s $(top_builddir)/proftpd $(DESTDIR)$(sbindir)/in.proftpd - -chown -h $(INSTALL_USER):$(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd install-libs: $(DESTDIR)$(libdir)/proftpd cd lib/ && $(MAKE) install -@@ -152,11 +150,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DE - $(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut - $(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop - $(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho -- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs -+ $(INSTALL) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs +@@ -170,11 +168,11 @@ install-utils: $(DESTDIR)$(sbindir) $(DESTDIR)$(bindir) + $(INSTALL_SBIN) $(top_builddir)/ftpshut $(DESTDIR)$(sbindir)/ftpshut + $(INSTALL_BIN) $(top_builddir)/ftptop $(DESTDIR)$(bindir)/ftptop + $(INSTALL_BIN) $(top_builddir)/ftpwho $(DESTDIR)$(bindir)/ftpwho +- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 $(top_builddir)/src/prxs $(DESTDIR)$(bindir)/prxs ++ $(INSTALL) -m 0755 $(top_builddir)/src/prxs $(DESTDIR)$(bindir)/prxs install-conf: $(DESTDIR)$(sysconfdir) if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then \ @@ -60,11 +60,11 @@ Index: proftpd-1.3.6/Makefile.in $(top_srcdir)/sample-configurations/basic.conf \ $(DESTDIR)$(sysconfdir)/proftpd.conf ; \ fi -Index: proftpd-1.3.6/configure -=================================================================== ---- proftpd-1.3.6.orig/configure -+++ proftpd-1.3.6/configure -@@ -41777,7 +41777,7 @@ _ACEOF +diff --git a/configure b/configure +index 0a51670..69fa130 100755 +--- a/configure ++++ b/configure +@@ -25116,7 +25116,7 @@ _ACEOF cat >>confdefs.h <<_ACEOF @@ -73,7 +73,7 @@ Index: proftpd-1.3.6/configure _ACEOF -@@ -41787,7 +41787,7 @@ _ACEOF +@@ -25126,7 +25126,7 @@ _ACEOF cat >>confdefs.h <<_ACEOF @@ -82,11 +82,11 @@ Index: proftpd-1.3.6/configure _ACEOF -Index: proftpd-1.3.6/configure.in -=================================================================== ---- proftpd-1.3.6.orig/configure.in -+++ proftpd-1.3.6/configure.in -@@ -3833,8 +3833,8 @@ locale_dir="`eval echo ${locale_dir}`" +diff --git a/configure.in b/configure.in +index 50561de..93cad3f 100644 +--- a/configure.in ++++ b/configure.in +@@ -4059,8 +4059,8 @@ locale_dir="`eval echo ${locale_dir}`" AC_DEFINE_UNQUOTED(PR_LOCALE_DIR, "`eval echo "${locale_dir}"`", [Define the locale directory]) AC_DEFINE_UNQUOTED(PR_RUN_DIR, "`eval echo "${localstatedir}"`", [Define the run directory]) @@ -97,16 +97,3 @@ Index: proftpd-1.3.6/configure.in prefix="$pr_saved_prefix" exec_prefix="$pr_saved_exec_prefix" -Index: proftpd-1.3.6/lib/libcap/Makefile -=================================================================== ---- proftpd-1.3.6.orig/lib/libcap/Makefile -+++ proftpd-1.3.6/lib/libcap/Makefile -@@ -26,7 +26,7 @@ OBJS=$(addsuffix .o, $(FILES)) - all: $(LIBNAME) - - _makenames: _makenames.c cap_names.sed -- $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ -+ $(BUILD_CC) $(CFLAGS) $(LDFLAGS) $< -o $@ - - cap_names.h: _makenames - ./_makenames > cap_names.h diff --git a/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/contrib.patch b/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/contrib.patch index 7e2a8e3ce..96c237d38 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/contrib.patch +++ b/meta-openembedded/meta-networking/recipes-daemons/proftpd/files/contrib.patch @@ -11,32 +11,29 @@ Signed-off-by: Kevin Strasser 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile.in b/Makefile.in -index 5b2e683..ee72fe1 100644 +index 9434cbd..8da7d1f 100644 --- a/Makefile.in +++ b/Makefile.in -@@ -120,7 +120,7 @@ install-modules: $(DESTDIR)$(libexecdir) $(DESTDIR)$(sysconfdir) +@@ -163,7 +163,7 @@ install-modules: $(DESTDIR)$(libexecdir) $(DESTDIR)$(sysconfdir) test -z "$(SHARED_MODULE_OBJS)" -a -z "$(SHARED_MODULE_DIRS)" -a -z "$(STATIC_MODULE_DIRS)" || (cd modules/ && $(MAKE) install) install-utils: $(DESTDIR)$(sbindir) $(DESTDIR)$(bindir) - cd contrib/ && $(MAKE) install-utils + cd contrib/ && $(MAKE) DESTDIR=${DESTDIR} install-utils - $(INSTALL_BIN) ftpcount $(DESTDIR)$(bindir)/ftpcount - $(INSTALL_BIN) ftpdctl $(DESTDIR)$(bindir)/ftpdctl - $(INSTALL_SBIN) ftpscrub $(DESTDIR)$(sbindir)/ftpscrub + $(INSTALL_BIN) $(top_builddir)/ftpcount $(DESTDIR)$(bindir)/ftpcount + $(INSTALL_BIN) $(top_builddir)/ftpdctl $(DESTDIR)$(bindir)/ftpdctl + $(INSTALL_SBIN) $(top_builddir)/ftpscrub $(DESTDIR)$(sbindir)/ftpscrub diff --git a/contrib/Makefile.in b/contrib/Makefile.in -index 5bcc038..51d248c 100644 +index d1a31af..65d2abc 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in -@@ -18,6 +18,6 @@ Makefile: Makefile.in ../config.status +@@ -17,6 +17,6 @@ Makefile: Makefile.in ../config.status cd ../ && ./config.status install-utils: -- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpasswd $(DESTDIR)$(bindir)/ftpasswd -- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpmail $(DESTDIR)$(bindir)/ftpmail -- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 ftpquota $(DESTDIR)$(bindir)/ftpquota -+ $(INSTALL) -m 0755 ftpasswd $(DESTDIR)$(bindir)/ftpasswd -+ $(INSTALL) -m 0755 ftpmail $(DESTDIR)$(bindir)/ftpmail -+ $(INSTALL) -m 0755 ftpquota $(DESTDIR)$(bindir)/ftpquota --- -1.7.9.5 - +- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 $(srcdir)/ftpasswd $(DESTDIR)$(bindir)/ftpasswd +- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 $(srcdir)/ftpmail $(DESTDIR)$(bindir)/ftpmail +- $(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 $(srcdir)/ftpquota $(DESTDIR)$(bindir)/ftpquota ++ $(INSTALL) -m 0755 $(srcdir)/ftpasswd $(DESTDIR)$(bindir)/ftpasswd ++ $(INSTALL) -m 0755 $(srcdir)/ftpmail $(DESTDIR)$(bindir)/ftpmail ++ $(INSTALL) -m 0755 $(srcdir)/ftpquota $(DESTDIR)$(bindir)/ftpquota diff --git a/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb b/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb deleted file mode 100644 index 1e4697a63..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.6.bb +++ /dev/null @@ -1,141 +0,0 @@ -SUMMARY = "Secure and configurable FTP server" -SECTION = "net" -HOMEPAGE = "http://www.proftpd.org" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184" - -SRC_URI = "ftp://ftp.proftpd.org/distrib/source/${BPN}-${PV}.tar.gz \ - file://basic.conf.patch \ - file://proftpd-basic.init \ - file://default \ - file://close-RequireValidShell-check.patch \ - file://contrib.patch \ - file://build_fixup.patch \ - file://proftpd.service \ - " -SRC_URI[md5sum] = "13270911c42aac842435f18205546a1b" -SRC_URI[sha256sum] = "91ef74b143495d5ff97c4d4770c6804072a8c8eb1ad1ecc8cc541b40e152ecaf" - -inherit autotools-brokensep useradd update-rc.d systemd multilib_script - -PACKAGECONFIG ??= "shadow \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ - " - -PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses" -PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl" -PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam" -PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6" -PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow" -PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre " - -# enable POSIX.1e capabilities -PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap" - -#enable support for POSIX ACLs -PACKAGECONFIG[acl] = "--enable-facl, --disable-facl" - -#enable proftpd controls via ftpdct -PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls" - -#prevent proftpd from using its bundled getopt implementation. -PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt" - -#do not strip debugging symbols from installed code -PACKAGECONFIG[strip] = "--enable-strip, --disable-strip" - -#enable SIA authentication support (Tru64) -PACKAGECONFIG[sia] = "--enable-sia, --disable-sia" -PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile" - -#enable Native Language Support (NLS) -PACKAGECONFIG[nls] = "--enable-nls, --disable-nls" - -#add mod_dso to core modules -PACKAGECONFIG[dso] = "--enable-dso, --disable-dso" -PACKAGECONFIG[largefile] = "--enable-largefile, --disable-largefile" - -#omit mod_auth_file from core modules -PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file" - - -# proftpd uses libltdl which currently makes configuring using -# autotools.bbclass a pain... -do_configure () { - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} - oe_runconf - cp ${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool ${S}/libtool -} - -FTPUSER = "ftp" -FTPGROUP = "ftp" - -do_install () { - oe_runmake DESTDIR=${D} install - rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale - [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir} - sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf - sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd - - install -d ${D}${sysconfdir}/default - install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd - - # create the pub directory - mkdir -p ${D}/home/${FTPUSER}/pub/ - chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub - if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then - # install proftpd pam configuration - install -d ${D}${sysconfdir}/pam.d - install -m 644 ${S}/contrib/dist/rpm/ftp.pamd ${D}${sysconfdir}/pam.d/proftpd - sed -i '/ftpusers/d' ${D}${sysconfdir}/pam.d/proftpd - # specify the user Authentication config - sed -i '/^MaxInstances/a\AuthPAM on\nAuthPAMConfig proftpd' \ - ${D}${sysconfdir}/proftpd.conf - fi - - install -d ${D}/${systemd_unitdir}/system - install -m 644 ${WORKDIR}/proftpd.service ${D}/${systemd_unitdir}/system - sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - -i ${D}${systemd_unitdir}/system/*.service - - sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \ - -e 's|${STAGING_DIR_NATIVE}||g' \ - -e 's|-fdebug-prefix-map=[^ ]*||g' \ - -e 's|-fmacro-prefix-map=[^ ]*||g' \ - -i ${D}/${bindir}/prxs - - # ftpmail perl script, which reads the proftpd log file and sends - # automatic email notifications once an upload finishs, - # depends on an old perl Mail::Sendmail - # The Mail::Sendmail has not been maintained for almost 10 years - # Other distribution not ship with ftpmail, so do the same to - # avoid confusion about having it fails to run - rm -rf ${D}${bindir}/ftpmail - rm -rf ${D}${mandir}/man1/ftpmail.1 -} - -INITSCRIPT_NAME = "proftpd" -INITSCRIPT_PARAM = "defaults 85 15" - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "proftpd.service" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}" -USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \ - --shell /bin/false ${FTPUSER}" - -MULTILIB_SCRIPTS = "${PN}:${bindir}/prxs" - -FILES_${PN} += "/home/${FTPUSER}" - -RDEPENDS_${PN} += "perl" diff --git a/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7a.bb b/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7a.bb new file mode 100644 index 000000000..f2a89e5a2 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/proftpd/proftpd_1.3.7a.bb @@ -0,0 +1,145 @@ +SUMMARY = "Secure and configurable FTP server" +SECTION = "net" +HOMEPAGE = "http://www.proftpd.org" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb0d1484d11915fa88a6a7702f1dc184" + +SRCREV = "715eadc1aa4f6b07d69f9d09558e9cb471e51d87" +BRANCH = "1.3.7" + +SRC_URI = "git://github.com/proftpd/proftpd.git;branch=${BRANCH} \ + file://basic.conf.patch \ + file://proftpd-basic.init \ + file://default \ + file://close-RequireValidShell-check.patch \ + file://contrib.patch \ + file://build_fixup.patch \ + file://proftpd.service \ + " + +S = "${WORKDIR}/git" + +inherit autotools-brokensep useradd update-rc.d systemd multilib_script + +PACKAGECONFIG ??= "shadow \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ + static \ + " + +PACKAGECONFIG[curses] = "--enable-curses --enable-ncurses, --disable-curses --disable-ncurses, ncurses" +PACKAGECONFIG[openssl] = "--enable-openssl, --disable-openssl, openssl, openssl" +PACKAGECONFIG[pam] = "--enable-auth-pam, --disable-auth-pam, libpam, libpam" +PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6" +PACKAGECONFIG[shadow] = "--enable-shadow, --disable-shadow" +PACKAGECONFIG[pcre] = "--enable-pcre, --disable-pcre, libpcre " +PACKAGECONFIG[static] = "--enable-static=yes, --enable-static=no" + +# enable POSIX.1e capabilities +PACKAGECONFIG[cap] = "--enable-cap, --disable-cap, libcap, libcap" + +#enable support for POSIX ACLs +PACKAGECONFIG[acl] = "--enable-facl, --disable-facl" + +#enable proftpd controls via ftpdct +PACKAGECONFIG[ctrls] = "--enable-ctrls, --disable-crtls" + +#prevent proftpd from using its bundled getopt implementation. +PACKAGECONFIG[getopt] = "--with-getopt, --without-getopt" + +#do not strip debugging symbols from installed code +PACKAGECONFIG[strip] = "--enable-strip, --disable-strip" + +#enable SIA authentication support (Tru64) +PACKAGECONFIG[sia] = "--enable-sia, --disable-sia" +PACKAGECONFIG[sendfile] = "-enable-sendfile, --disable-sendfile" + +#enable Native Language Support (NLS) +PACKAGECONFIG[nls] = "--enable-nls, --disable-nls" + +#add mod_dso to core modules +PACKAGECONFIG[dso] = "--enable-dso, --disable-dso" +PACKAGECONFIG[largefile] = "--enable-largefile, --disable-largefile" + +#omit mod_auth_file from core modules +PACKAGECONFIG[auth] = "--enable-auth-file, --disable-auth-file" + +# proftpd uses libltdl which currently makes configuring using +# autotools.bbclass a pain... +do_configure () { + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S} + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S} + oe_runconf +} + +FTPUSER = "ftp" +FTPGROUP = "ftp" + +do_install () { + oe_runmake DESTDIR=${D} install + rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale + [ -d ${D}${libexecdir} ] && rmdir ${D}${libexecdir} + sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf + sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/proftpd-basic.init ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/proftpd + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/proftpd + + install -d ${D}${sysconfdir}/default + install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/proftpd + + # create the pub directory + mkdir -p ${D}/home/${FTPUSER}/pub/ + chown -R ${FTPUSER}:${FTPGROUP} ${D}/home/${FTPUSER}/pub + if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then + # install proftpd pam configuration + install -d ${D}${sysconfdir}/pam.d + install -m 644 ${S}/contrib/dist/rpm/ftp.pamd ${D}${sysconfdir}/pam.d/proftpd + sed -i '/ftpusers/d' ${D}${sysconfdir}/pam.d/proftpd + # specify the user Authentication config + sed -i '/^MaxInstances/a\AuthPAM on\nAuthPAMConfig proftpd' \ + ${D}${sysconfdir}/proftpd.conf + fi + + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/proftpd.service ${D}/${systemd_unitdir}/system + sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -i ${D}${systemd_unitdir}/system/*.service + + sed -e 's|--sysroot=${STAGING_DIR_HOST}||g' \ + -e 's|${STAGING_DIR_NATIVE}||g' \ + -e 's|-ffile-prefix-map=[^ ]*||g' \ + -e 's|-fdebug-prefix-map=[^ ]*||g' \ + -e 's|-fmacro-prefix-map=[^ ]*||g' \ + -i ${D}/${bindir}/prxs + + # ftpmail perl script, which reads the proftpd log file and sends + # automatic email notifications once an upload finishs, + # depends on an old perl Mail::Sendmail + # The Mail::Sendmail has not been maintained for almost 10 years + # Other distribution not ship with ftpmail, so do the same to + # avoid confusion about having it fails to run + rm -rf ${D}${bindir}/ftpmail + rm -rf ${D}${mandir}/man1/ftpmail.1 +} + +INITSCRIPT_NAME = "proftpd" +INITSCRIPT_PARAM = "defaults 85 15" + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "proftpd.service" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system ${FTPGROUP}" +USERADD_PARAM_${PN} = "--system -g ${FTPGROUP} --home-dir /var/lib/${FTPUSER} --no-create-home \ + --shell /bin/false ${FTPUSER}" + +MULTILIB_SCRIPTS = "${PN}:${bindir}/prxs" + +FILES_${PN} += "/home/${FTPUSER}" + +RDEPENDS_${PN} += "perl" diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20201112.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20201112.bb deleted file mode 100644 index 64958a75b..000000000 --- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20201112.bb +++ /dev/null @@ -1,33 +0,0 @@ -require wireguard.inc - -SRCREV = "fe402261666821514377d06c2c68ed9bc19e7634" - -SRC_URI = "git://git.zx2c4.com/wireguard-linux-compat" - -inherit module kernel-module-split - -DEPENDS = "virtual/kernel libmnl" - -# This module requires Linux 3.10 higher and several networking related -# configuration options. For exact kernel requirements visit: -# https://www.wireguard.io/install/#kernel-requirements - -EXTRA_OEMAKE_append = " \ - KERNELDIR=${STAGING_KERNEL_DIR} \ - " - -MAKE_TARGETS = "module" - -RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit" -MODULE_NAME = "wireguard" - -module_do_install() { - install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} - install -m 0644 ${MODULE_NAME}.ko \ - ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko -} - -# WireGuard has been merged into Linux kernel >= 5.6 and therefore this compatibility module is no longer required. -# OE-core post dunfell has moved to use kernel 5.8 which now means we cant build this module in world builds -# for reference machines e.g. qemu -EXCLUDE_FROM_WORLD = "1" diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb new file mode 100644 index 000000000..0525b4135 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_1.0.20210219.bb @@ -0,0 +1,34 @@ +require wireguard.inc + +SRCREV = "122f06bfd8fc7b06a0899fa9adc4ce8e06900d98" + +SRC_URI = "git://git.zx2c4.com/wireguard-linux-compat" + +inherit module kernel-module-split + +DEPENDS = "virtual/kernel libmnl" + +# This module requires Linux 3.10 higher and several networking related +# configuration options. For exact kernel requirements visit: +# https://www.wireguard.io/install/#kernel-requirements + +EXTRA_OEMAKE_append = " \ + KERNELDIR=${STAGING_KERNEL_DIR} \ + " + +MAKE_TARGETS = "module" + +RRECOMMENDS_${PN} = "kernel-module-xt-hashlimit" +MODULE_NAME = "wireguard" + +module_do_install() { + install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} + install -m 0644 ${MODULE_NAME}.ko \ + ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko +} + +# WireGuard has been merged into Linux kernel >= 5.6 and therefore this compatibility module is no longer required. +# OE-core post dunfell has moved to use kernel 5.8 which now means we cant build this module in world builds +# for reference machines e.g. qemu +EXCLUDE_FROM_WORLD = "1" + diff --git a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.10.bb b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.10.bb new file mode 100644 index 000000000..5af4c31d1 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.10.bb @@ -0,0 +1,29 @@ +SUMMARY = "Babel is a loop-avoiding distance-vector routing protocol" +DESCRIPTION = "\ +Babel is a loop-avoiding distance-vector routing protocol for IPv6 and \ +IPv4 with fast convergence properties. It is based on the ideas in DSDV, AODV \ +and Cisco's EIGRP, but is designed to work well not only in wired networks \ +but also in wireless mesh networks, and has been extended with support \ +for overlay networks. Babel is in the process of becoming an IETF Standard. \ +" +HOMEPAGE = "https://www.irif.fr/~jch/software/babel/" +SECTION = "net" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754" + +SRC_URI = "git://github.com/jech/babeld.git;protocol=git" +SRCREV = "dbb8799d1b5b3bfaf4387386c92369c847704480" + +UPSTREAM_CHECK_GITTAGREGEX = "babeld-(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +do_compile () { + oe_runmake babeld +} + +do_install () { + oe_runmake install.minimal PREFIX=${D} +} + diff --git a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.2.bb b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.2.bb deleted file mode 100644 index a7d7fc81f..000000000 --- a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.9.2.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Babel is a loop-avoiding distance-vector routing protocol" -DESCRIPTION = "\ -Babel is a loop-avoiding distance-vector routing protocol for IPv6 and \ -IPv4 with fast convergence properties. It is based on the ideas in DSDV, AODV \ -and Cisco's EIGRP, but is designed to work well not only in wired networks \ -but also in wireless mesh networks, and has been extended with support \ -for overlay networks. Babel is in the process of becoming an IETF Standard. \ -" -HOMEPAGE = "https://www.irif.fr/~jch/software/babel/" -SECTION = "net" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754" - -SRC_URI = "git://github.com/jech/babeld.git;protocol=git" -SRCREV = "a1043879225ac205614259b480d7f577025d8bb0" - -UPSTREAM_CHECK_GITTAGREGEX = "babeld-(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -do_compile () { - oe_runmake babeld -} - -do_install () { - oe_runmake install.minimal PREFIX=${D} -} - diff --git a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb index d9040c164..de0aeeec7 100644 --- a/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb +++ b/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.bb @@ -120,6 +120,7 @@ do_install_append() { sed -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g" \ -i ${D}${bindir}/net-snmp-create-v3-user sed -e 's@^NSC_SRCDIR=.*@NSC_SRCDIR=.@g' \ + -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ -e 's@[^ ]*--sysroot=[^ "]*@@g' \ @@ -172,6 +173,7 @@ net_snmp_sysroot_preprocess () { -e "s@^includedir=.*@includedir=${STAGING_INCDIR}@g" \ -e "s@^libdir=.*@libdir=${STAGING_LIBDIR}@g" \ -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=${S}@g" \ + -e "s@-ffile-prefix-map=${SNMP_DBGDIR}@-ffile-prefix-map=${WORKDIR}=${SNMP_DBGDIR}@g" \ -e "s@-fdebug-prefix-map=${SNMP_DBGDIR}@-fdebug-prefix-map=${WORKDIR}=${SNMP_DBGDIR}@g" \ -e "s@-fdebug-prefix-map= -fdebug-prefix-map=@-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ -fdebug-prefix-map=${STAGING_DIR_HOST}=@g" \ diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.12.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.12.bb deleted file mode 100644 index c68b474cc..000000000 --- a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.12.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "A a package of utilities for doing and managing mounts of the Linux CIFS filesystem." -HOMEPAGE = "http://wiki.samba.org/index.php/LinuxCIFS_utils" -SECTION = "otherosfs" -LICENSE = "GPLv3 & LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRCREV = "73008e3292e4d46fde3eab5d5f618886210ec4a1" -SRC_URI = "git://git.samba.org/cifs-utils.git" - -S = "${WORKDIR}/git" -DEPENDS += "libtalloc" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap" -# when enabled, it creates ${bindir}/cifscreds and --ignore-fail-on-non-empty in do_install_append is needed -PACKAGECONFIG[cifscreds] = "--enable-cifscreds,--disable-cifscreds,keyutils" -# when enabled, it creates ${sbindir}/cifs.upcall and --ignore-fail-on-non-empty in do_install_append is needed -PACKAGECONFIG[cifsupcall] = "--enable-cifsupcall,--disable-cifsupcall,krb5 libtalloc keyutils" -PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap,keyutils samba" -PACKAGECONFIG[cifsacl] = "--enable-cifsacl,--disable-cifsacl,samba" -PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disable-pam,libpam keyutils" - -inherit autotools pkgconfig - -do_install_append() { - # Remove empty /usr/bin and /usr/sbin directories since the mount helper - # is installed to /sbin - rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir} -} - -FILES_${PN} += "${base_libdir}/security" -FILES_${PN}-dbg += "${base_libdir}/security/.debug" -RRECOMMENDS_${PN} = "kernel-module-cifs" diff --git a/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb new file mode 100644 index 000000000..41a9b8e76 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/cifs/cifs-utils_6.13.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "A a package of utilities for doing and managing mounts of the Linux CIFS filesystem." +HOMEPAGE = "http://wiki.samba.org/index.php/LinuxCIFS_utils" +SECTION = "otherosfs" +LICENSE = "GPLv3 & LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRCREV = "464a60344a324311a6f5bb326fdf5f422a3c9005" +SRC_URI = "git://git.samba.org/cifs-utils.git" + +S = "${WORKDIR}/git" +DEPENDS += "libtalloc" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[cap] = "--with-libcap,--without-libcap,libcap" +# when enabled, it creates ${bindir}/cifscreds and --ignore-fail-on-non-empty in do_install_append is needed +PACKAGECONFIG[cifscreds] = "--enable-cifscreds,--disable-cifscreds,keyutils" +# when enabled, it creates ${sbindir}/cifs.upcall and --ignore-fail-on-non-empty in do_install_append is needed +PACKAGECONFIG[cifsupcall] = "--enable-cifsupcall,--disable-cifsupcall,krb5 libtalloc keyutils" +PACKAGECONFIG[cifsidmap] = "--enable-cifsidmap,--disable-cifsidmap,keyutils samba" +PACKAGECONFIG[cifsacl] = "--enable-cifsacl,--disable-cifsacl,samba" +PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disable-pam,libpam keyutils" + +inherit autotools pkgconfig + +do_install_append() { + # Remove empty /usr/bin and /usr/sbin directories since the mount helper + # is installed to /sbin + rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir} +} + +FILES_${PN} += "${base_libdir}/security" +FILES_${PN}-dbg += "${base_libdir}/security/.debug" +RRECOMMENDS_${PN} = "kernel-module-cifs" diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.84.bb b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.84.bb deleted file mode 100644 index 3dd9154f3..000000000 --- a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.84.bb +++ /dev/null @@ -1,8 +0,0 @@ -require dnsmasq.inc - -SRC_URI[dnsmasq-2.84.md5sum] = "6bf24b5bcf9293db2941fbdb545c1133" -SRC_URI[dnsmasq-2.84.sha256sum] = "4caf385376f34fae5c55244a1f870dcf6f90e037bb7c4487210933dc497f9c36" -SRC_URI += "\ - file://lua.patch \ -" - diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.85.bb b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.85.bb new file mode 100644 index 000000000..023dda3e5 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.85.bb @@ -0,0 +1,8 @@ +require dnsmasq.inc + +SRC_URI[dnsmasq-2.85.md5sum] = "4079e1e6e1065e4bd14ded268cdd7bd7" +SRC_URI[dnsmasq-2.85.sha256sum] = "f36b93ecac9397c15f461de9b1689ee5a2ed6b5135db0085916233053ff3f886" +SRC_URI += "\ + file://lua.patch \ +" + diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.18.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.18.bb deleted file mode 100644 index 7254a4713..000000000 --- a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.18.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP" -HOMEPAGE = "http://www.fetchmail.info/" -DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval \ -and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP \ -connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, \ -RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC." -SECTION = "mail" -LICENSE = "GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=06a8d16599e1d0b131390bec01fb571c" - -DEPENDS = "openssl" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \ - " -SRC_URI[sha256sum] = "302dc9bcdc6927dedf375d2baaead2347557faa70d98b1da83f2409fa6fb259f" - -inherit autotools gettext python3-dir python3native - -EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" - -PACKAGES =+ "fetchmail-python" -FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.19.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.19.bb new file mode 100644 index 000000000..aead5e9f0 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.19.bb @@ -0,0 +1,22 @@ +SUMMARY = "Fetchmail retrieves mail from remote mail servers and forwards it via SMTP" +HOMEPAGE = "http://www.fetchmail.info/" +DESCRIPTION = "Fetchmail is a full-featured, robust, well-documented remote-mail retrieval \ +and forwarding utility intended to be used over on-demand TCP/IP links (such as SLIP or PPP \ +connections). It supports every remote-mail protocol now in use on the Internet: POP2, POP3, \ +RPOP, APOP, KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 and IPSEC." +SECTION = "mail" +LICENSE = "GPLv2 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=ad73c6bd421c137fbf18cf8b92474186" + +DEPENDS = "openssl" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \ + " +SRC_URI[sha256sum] = "cd8d11a3d103e50caa2ec64bcda6307eb3d0783a4d4dfd88e668b81aaf9d6b5f" + +inherit autotools gettext python3-dir python3native + +EXTRA_OECONF = "--with-ssl=${STAGING_DIR_HOST}${prefix}" + +PACKAGES =+ "fetchmail-python" +FILES_fetchmail-python = "${libdir}/${PYTHON_DIR}/*" diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.5.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.5.bb deleted file mode 100644 index a6070ccf8..000000000 --- a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.5.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "nbdkit is a toolkit for creating NBD servers." -DESCRIPTION = "NBD — Network Block Device — is a protocol \ -for accessing Block Devices (hard disks and disk-like things) \ -over a Network. \ -\ -nbdkit is a toolkit for creating NBD servers." - -HOMEPAGE = "https://github.com/libguestfs/nbdkit" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0" - -SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \ -" - -SRCREV = "c828c6d48ff6b69454cad98054a1920d03c4b4c7" - -S = "${WORKDIR}/git" - -DEPENDS = "curl xz e2fsprogs zlib" - -# autotools-brokensep is needed as nbdkit does not support build in external directory -inherit pkgconfig python3native perlnative bash-completion autotools-brokensep - -# Those are required to build standalone -EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" - -# Disable some extended support (not desired for small embedded systems) -#EXTRA_OECONF += " --disable-python" -#EXTRA_OECONF += " --disable-ocaml" -#EXTRA_OECONF += " --disable-rust" -#EXTRA_OECONF += " --disable-ruby" -#EXTRA_OECONF += " --disable-tcl" -#EXTRA_OECONF += " --disable-lua" -#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.6.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.6.bb new file mode 100644 index 000000000..067911b4e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.6.bb @@ -0,0 +1,34 @@ +SUMMARY = "nbdkit is a toolkit for creating NBD servers." +DESCRIPTION = "NBD — Network Block Device — is a protocol \ +for accessing Block Devices (hard disks and disk-like things) \ +over a Network. \ +\ +nbdkit is a toolkit for creating NBD servers." + +HOMEPAGE = "https://github.com/libguestfs/nbdkit" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0" + +SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \ +" + +SRCREV = "023dac3e09a0e39d6f91dea4b7f8efb8f5faae36" + +S = "${WORKDIR}/git" + +DEPENDS = "curl xz e2fsprogs zlib" + +# autotools-brokensep is needed as nbdkit does not support build in external directory +inherit pkgconfig python3native perlnative bash-completion autotools-brokensep + +# Those are required to build standalone +EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" + +# Disable some extended support (not desired for small embedded systems) +#EXTRA_OECONF += " --disable-python" +#EXTRA_OECONF += " --disable-ocaml" +#EXTRA_OECONF += " --disable-rust" +#EXTRA_OECONF += " --disable-ruby" +#EXTRA_OECONF += " --disable-tcl" +#EXTRA_OECONF += " --disable-lua" +#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-openembedded/meta-networking/recipes-support/ncp/libowfat/0001-replace-__pure__-with-compiler-attribute-pure.patch b/meta-openembedded/meta-networking/recipes-support/ncp/libowfat/0001-replace-__pure__-with-compiler-attribute-pure.patch new file mode 100644 index 000000000..3ad3b4aa8 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ncp/libowfat/0001-replace-__pure__-with-compiler-attribute-pure.patch @@ -0,0 +1,562 @@ +From 408e7dfaf2eb735804f62728de679972867c30d5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 3 May 2021 13:53:10 -0700 +Subject: [PATCH] replace __pure__ with compiler attribute 'pure' + +Remove defining __deprecated__ + +Upstream-Status: OE-Specific [Untested with dietlibc] +Signed-off-by: Khem Raj +--- + byte.h | 22 ++++++---- + critbit.h | 12 ++++-- + fmt.h | 100 +++++++++++++++++++++++--------------------- + str.h | 22 ++++++---- + stralloc.h | 20 +++++---- + 5 files changed, 103 insertions(+), 73 deletions(-) + +--- a/byte.h ++++ b/byte.h +@@ -2,6 +2,16 @@ + #ifndef BYTE_H + #define BYTE_H + ++#ifndef __has_attribute ++ #define __has_attribute(x) 0 ++#endif ++ ++#if __has_attribute(pure) ++#define __PURE __attribute__ ((pure)) ++#else ++#define __PURE ++#endif ++ + /* for size_t: */ + #include + +@@ -9,17 +19,13 @@ + extern "C" { + #endif + +-#ifndef __pure__ +-#define __pure__ +-#endif +- + /* byte_chr returns the smallest integer i between 0 and len-1 + * inclusive such that one[i] equals needle, or len if not found. */ +-size_t byte_chr(const void* haystack, size_t len, char needle) __pure__; ++size_t byte_chr(const void* haystack, size_t len, char needle) __PURE; + + /* byte_rchr returns the largest integer i between 0 and len-1 inclusive + * such that one[i] equals needle, or len if not found. */ +-size_t byte_rchr(const void* haystack,size_t len,char needle) __pure__; ++size_t byte_rchr(const void* haystack,size_t len,char needle) __PURE; + + /* byte_copy copies in[0] to out[0], in[1] to out[1], ... and in[len-1] + * to out[len-1]. */ +@@ -34,14 +40,14 @@ void byte_copyr(void* out, size_t len, c + * than, equal to, or greater than the string b[0], b[1], ..., + * b[len-1]. When the strings are different, byte_diff does not read + * bytes past the first difference. */ +-int byte_diff(const void* a, size_t len, const void* b) __pure__; ++int byte_diff(const void* a, size_t len, const void* b) __PURE; + + /* byte_zero sets the bytes out[0], out[1], ..., out[len-1] to 0 */ + void byte_zero(void* out, size_t len); + + #define byte_equal(s,n,t) (!byte_diff((s),(n),(t))) + +-int byte_equal_notimingattack(const void* a, size_t len,const void* b) __pure__; ++int byte_equal_notimingattack(const void* a, size_t len,const void* b) __PURE; + + #if defined(__i386__) || defined(__x86_64__) + #define UNALIGNED_ACCESS_OK +--- a/critbit.h ++++ b/critbit.h +@@ -8,15 +8,21 @@ extern "C" { + /* for __pure__ if we are compiling under dietlibc */ + #include + +-#ifndef __pure__ +-#define __pure__ ++#ifndef __has_attribute ++ #define __has_attribute(x) 0 ++#endif ++ ++#if __has_attribute(pure) ++#define __PURE __attribute__ ((pure)) ++#else ++#define __PURE + #endif + + typedef struct { + void *root; + } critbit0_tree; + +-int critbit0_contains(critbit0_tree *t, const char *u) __pure__; ++int critbit0_contains(critbit0_tree *t, const char *u) __PURE; + int critbit0_insert(critbit0_tree *t, const char *u); + int critbit0_delete(critbit0_tree *t, const char *u); + void critbit0_clear(critbit0_tree *t); +--- a/fmt.h ++++ b/fmt.h +@@ -2,6 +2,16 @@ + #ifndef FMT_H + #define FMT_H + ++#ifndef __has_attribute ++ #define __has_attribute(x) 0 ++#endif ++ ++#if __has_attribute(pure) ++#define __PURE __attribute__ ((pure)) ++#else ++#define __PURE ++#endif ++ + /* for size_t: */ + #include + /* for uint32_t */ +@@ -15,10 +25,6 @@ + extern "C" { + #endif + +-#ifndef __pure__ +-#define __pure__ +-#endif +- + #define FMT_LONG 41 /* enough space to hold -2^127 in decimal, plus \0 */ + #define FMT_ULONG 40 /* enough space to hold 2^128 - 1 in decimal, plus \0 */ + #define FMT_8LONG 44 /* enough space to hold 2^128 - 1 in octal, plus \0 */ +@@ -46,31 +52,31 @@ extern "C" { + /* convert signed src integer -23 to ASCII '-','2','3', return number of + * bytes of value in output format (3 in this example). + * If dest is not NULL, write result to dest */ +-size_t fmt_long(char *dest,signed long src) __pure__; ++size_t fmt_long(char *dest,signed long src) __PURE; + + /* convert unsigned src integer 23 to ASCII '2','3', return number of + * bytes of value in output format (2 in this example). + * If dest is not NULL, write result to dest */ +-size_t fmt_ulong(char *dest,unsigned long src) __pure__; ++size_t fmt_ulong(char *dest,unsigned long src) __PURE; + + /* convert unsigned src integer 0x23 to ASCII '2','3', return number of + * bytes of value in output format (2 in this example). + * If dest is not NULL, write result to dest */ +-size_t fmt_xlong(char *dest,unsigned long src) __pure__; ++size_t fmt_xlong(char *dest,unsigned long src) __PURE; + + /* convert unsigned src integer 023 to ASCII '2','3', return number of + * bytes of value in output format (2 in this example). + * If dest is not NULL, write result to dest */ +-size_t fmt_8long(char *dest,unsigned long src) __pure__; ++size_t fmt_8long(char *dest,unsigned long src) __PURE; + + /* like fmt_long but for long long */ +-size_t fmt_longlong(char *dest,signed long long src) __pure__; ++size_t fmt_longlong(char *dest,signed long long src) __PURE; + + /* like fmt_ulong but for unsigned long long */ +-size_t fmt_ulonglong(char *dest,unsigned long long src) __pure__; ++size_t fmt_ulonglong(char *dest,unsigned long long src) __PURE; + + /* like fmt_xlong but for unsigned long long */ +-size_t fmt_xlonglong(char *dest,unsigned long long src) __pure__; ++size_t fmt_xlonglong(char *dest,unsigned long long src) __PURE; + + #define fmt_uint(dest,src) fmt_ulong(dest,src) + #define fmt_int(dest,src) fmt_long(dest,src) +@@ -81,22 +87,22 @@ size_t fmt_xlonglong(char *dest,unsigned + * Does not truncate! */ + /* fmt_ulong0(buf,23,4) -> '0','0','2','3' return 4 */ + /* fmt_ulong0(buf,234,2) -> '2','3','4', return 3 */ +-size_t fmt_ulong0(char *,unsigned long src,size_t padto) __pure__; ++size_t fmt_ulong0(char *,unsigned long src,size_t padto) __PURE; + + #define fmt_uint0(buf,src,padto) fmt_ulong0(buf,src,padto) + + /* convert src double 1.7 to ASCII '1','.','7', return length. + * If dest is not NULL, write result to dest */ +-size_t fmt_double(char *dest, double d,int max,int prec) __pure__; ++size_t fmt_double(char *dest, double d,int max,int prec) __PURE; + + /* if src is negative, write '-' and return 1. + * if src is positive, write '+' and return 1. + * otherwise return 0 */ +-size_t fmt_plusminus(char *dest,int src) __pure__; ++size_t fmt_plusminus(char *dest,int src) __PURE; + + /* if src is negative, write '-' and return 1. + * otherwise return 0. */ +-size_t fmt_minus(char *dest,int src) __pure__; ++size_t fmt_minus(char *dest,int src) __PURE; + + /* copy str to dest until \0 byte, return number of copied bytes. */ + /* fmt_str(NULL,str) == strlen(str) */ +@@ -108,11 +114,11 @@ size_t fmt_minus(char *dest,int src) __p + * This is more efficient because strcat needs to scan the string to + * find the end and append. + */ +-size_t fmt_str(char *dest,const char *src) __pure__; ++size_t fmt_str(char *dest,const char *src) __PURE; + + /* copy str to dest until \0 byte or limit bytes copied. + * return number of copied bytes. */ +-size_t fmt_strn(char *dest,const char *src,size_t limit) __pure__; ++size_t fmt_strn(char *dest,const char *src,size_t limit) __PURE; + + /* copy n bytes from src to dest, return n */ + static inline size_t fmt_copybytes(char* dest,const char* src,size_t n) { +@@ -124,56 +130,56 @@ static inline size_t fmt_copybytes(char* + * write padlen-srclen spaces, if that is >= 0. Then copy srclen + * characters from src. Truncate only if total length is larger than + * maxlen. Return number of characters written. */ +-size_t fmt_pad(char* dest,const char* src,size_t srclen,size_t padlen,size_t maxlen) __pure__; ++size_t fmt_pad(char* dest,const char* src,size_t srclen,size_t padlen,size_t maxlen) __PURE; + + /* "foo" -> "foo " + * append padlen-srclen spaces after dest, if that is >= 0. Truncate + * only if total length is larger than maxlen. Return number of + * characters written. */ +-size_t fmt_fill(char* dest,size_t srclen,size_t padlen,size_t maxlen) __pure__; ++size_t fmt_fill(char* dest,size_t srclen,size_t padlen,size_t maxlen) __PURE; + + /* 1 -> "1", 4900 -> "4.9k", 2300000 -> "2.3M" */ +-size_t fmt_human(char* dest,unsigned long long l) __pure__; ++size_t fmt_human(char* dest,unsigned long long l) __PURE; + + /* 1 -> "1", 4900 -> "4.8k", 2300000 -> "2.2M" */ +-size_t fmt_humank(char* dest,unsigned long long l) __pure__; ++size_t fmt_humank(char* dest,unsigned long long l) __PURE; + + /* "Sun, 06 Nov 1994 08:49:37 GMT" */ + size_t fmt_httpdate(char* dest,time_t t); /* not marked pure because it calls gmtime */ + + /* "2014-05-27T19:22:16.247Z" */ +-size_t fmt_iso8601(char* dest,time_t t) __pure__; ++size_t fmt_iso8601(char* dest,time_t t) __PURE; + + #define FMT_UTF8 5 + #define FMT_ASN1LENGTH 17 /* enough space to hold 2^128-1 */ + #define FMT_ASN1TAG 19 /* enough space to hold 2^128-1 */ + + /* some variable length encodings for integers */ +-size_t fmt_utf8(char* dest,uint32_t n) __pure__; /* can store 0-0x7fffffff */ +-size_t fmt_asn1derlength(char* dest,unsigned long long l) __pure__; /* 0-0x7f: 1 byte, above that 1+bytes_needed bytes */ +-size_t fmt_asn1dertag(char* dest,unsigned long long l) __pure__; /* 1 byte for each 7 bits; upper bit = more bytes coming */ ++size_t fmt_utf8(char* dest,uint32_t n) __PURE; /* can store 0-0x7fffffff */ ++size_t fmt_asn1derlength(char* dest,unsigned long long l) __PURE; /* 0-0x7f: 1 byte, above that 1+bytes_needed bytes */ ++size_t fmt_asn1dertag(char* dest,unsigned long long l) __PURE; /* 1 byte for each 7 bits; upper bit = more bytes coming */ + + /* Google Protocol Buffers, https://developers.google.com/protocol-buffers/docs/encoding */ +-size_t fmt_varint(char* dest,unsigned long long l) __pure__; /* protocol buffers encoding; like asn1dertag but little endian */ +-size_t fmt_pb_tag(char* dest,size_t fieldno,unsigned char type) __pure__; /* protocol buffer tag */ +-size_t fmt_pb_type0_int(char* dest,unsigned long long l) __pure__; /* protocol buffers encoding: type 0 bool/enum/int32/uint32/int64/uint64 */ +-size_t fmt_pb_type0_sint(char* dest,signed long long l) __pure__;/* protocol buffers encoding: type 0 sint32/sint64 */ +-size_t fmt_pb_type1_double(char* dest,double d) __pure__; /* protocol buffers encoding: double (64-bit little endian blob) */ +-size_t fmt_pb_type1_fixed64(char* dest,uint64_t l) __pure__; /* protocol buffers encoding: 64-bit little endian blob */ ++size_t fmt_varint(char* dest,unsigned long long l) __PURE; /* protocol buffers encoding; like asn1dertag but little endian */ ++size_t fmt_pb_tag(char* dest,size_t fieldno,unsigned char type) __PURE; /* protocol buffer tag */ ++size_t fmt_pb_type0_int(char* dest,unsigned long long l) __PURE; /* protocol buffers encoding: type 0 bool/enum/int32/uint32/int64/uint64 */ ++size_t fmt_pb_type0_sint(char* dest,signed long long l) __PURE;/* protocol buffers encoding: type 0 sint32/sint64 */ ++size_t fmt_pb_type1_double(char* dest,double d) __PURE; /* protocol buffers encoding: double (64-bit little endian blob) */ ++size_t fmt_pb_type1_fixed64(char* dest,uint64_t l) __PURE; /* protocol buffers encoding: 64-bit little endian blob */ + + /* fmt_pb_type2_string can return 0 if (s,l) is clearly invalid */ +-size_t fmt_pb_type2_string(char* dest,const char* s,size_t l) __pure__; /* protocol buffers encoding: varint length + blob */ +-size_t fmt_pb_type5_float(char* dest,float f) __pure__; /* protocol buffers encoding: float (32-bit little endian blob) */ +-size_t fmt_pb_type5_fixed32(char* dest,uint32_t l) __pure__; /* protocol buffers encoding: 32-bit little endian blob */ +- +-size_t fmt_pb_int(char* dest,size_t fieldno,unsigned long long l) __pure__; +-size_t fmt_pb_sint(char* dest,size_t fieldno,signed long long l) __pure__; +-size_t fmt_pb_double(char* dest,size_t fieldno,double d) __pure__; +-size_t fmt_pb_float(char* dest,size_t fieldno,float f) __pure__; +-size_t fmt_pb_string(char* dest,size_t fieldno,const char* s,size_t l) __pure__; ++size_t fmt_pb_type2_string(char* dest,const char* s,size_t l) __PURE; /* protocol buffers encoding: varint length + blob */ ++size_t fmt_pb_type5_float(char* dest,float f) __PURE; /* protocol buffers encoding: float (32-bit little endian blob) */ ++size_t fmt_pb_type5_fixed32(char* dest,uint32_t l) __PURE; /* protocol buffers encoding: 32-bit little endian blob */ ++ ++size_t fmt_pb_int(char* dest,size_t fieldno,unsigned long long l) __PURE; ++size_t fmt_pb_sint(char* dest,size_t fieldno,signed long long l) __PURE; ++size_t fmt_pb_double(char* dest,size_t fieldno,double d) __PURE; ++size_t fmt_pb_float(char* dest,size_t fieldno,float f) __PURE; ++size_t fmt_pb_string(char* dest,size_t fieldno,const char* s,size_t l) __PURE; + + /* fmt_netstring can return 0 if (src,len) is clearly invalid */ +-size_t fmt_netstring(char* dest,const char* src,size_t len) __pure__; ++size_t fmt_netstring(char* dest,const char* src,size_t len) __PURE; + + /* Marshaling helper functions. + * Escape one character, no matter if it needs escaping or not. +@@ -185,27 +191,27 @@ size_t fmt_netstring(char* dest,const ch + * unicode codepoint) may be limited to 0x7f, 0xff or 0x10ffff. */ + + /* XML escaping: '&' -> '&', '<' -> '<', 'ö' -> 'ö' */ +-size_t fmt_escapecharxml(char* dest,uint32_t ch) __pure__; ++size_t fmt_escapecharxml(char* dest,uint32_t ch) __PURE; + /* HTML escaping is the same as XML escaping. */ +-size_t fmt_escapecharhtml(char* dest,uint32_t ch) __pure__; ++size_t fmt_escapecharhtml(char* dest,uint32_t ch) __PURE; + + /* JSON escaping: '\' -> '\\', '"' -> '\"', 'ö' -> '\u00f6' */ +-size_t fmt_escapecharjson(char* dest,uint32_t ch) __pure__; ++size_t fmt_escapecharjson(char* dest,uint32_t ch) __PURE; + + /* MIME quoted-printable escaping: 'ö' -> '=f6', characters > 0xff not supported */ +-size_t fmt_escapecharquotedprintable(char* dest,uint32_t ch) __pure__; ++size_t fmt_escapecharquotedprintable(char* dest,uint32_t ch) __PURE; + + /* MIME quoted-printable escaping with UTF-8: 'ö' -> '=c3=b6', characters > 0x7fffffff not supported */ +-size_t fmt_escapecharquotedprintableutf8(char* dest,uint32_t ch) __pure__; ++size_t fmt_escapecharquotedprintableutf8(char* dest,uint32_t ch) __PURE; + + /* C99 style escaping: '\' -> '\\', newline -> '\n', 0xc2 -> '\302' */ +-size_t fmt_escapecharc(char* dest,uint32_t ch) __pure__; ++size_t fmt_escapecharc(char* dest,uint32_t ch) __PURE; + + /* internal functions, may be independently useful */ + char fmt_tohex(char c) __attribute__((__const__)); + + #define fmt_strm(b,...) fmt_strm_internal(b,__VA_ARGS__,(char*)0) +-size_t fmt_strm_internal(char* dest,...) __pure__; ++size_t fmt_strm_internal(char* dest,...) __PURE; + + #ifndef MAX_ALLOCA + #define MAX_ALLOCA 100000 +--- a/str.h ++++ b/str.h +@@ -8,8 +8,14 @@ + extern "C" { + #endif + +-#ifndef __pure__ +-#define __pure__ ++#ifndef __has_attribute ++ #define __has_attribute(x) 0 ++#endif ++ ++#if __has_attribute(pure) ++#define __PURE __attribute__ ((pure)) ++#else ++#define __PURE + #endif + + /* str_copy copies leading bytes from in to out until \0. +@@ -21,7 +27,7 @@ size_t str_copy(char *out,const char *in + * equal to, or greater than the string b[0], b[1], ..., b[m-1]=='\0'. + * If the strings are different, str_diff does not read bytes past the + * first difference. */ +-int str_diff(const char *a,const char *b) __pure__; ++int str_diff(const char *a,const char *b) __PURE; + + /* str_diffn returns negative, 0, or positive, depending on whether the + * string a[0], a[1], ..., a[n]=='\0' is lexicographically smaller than, +@@ -29,24 +35,24 @@ int str_diff(const char *a,const char *b + * If the strings are different, str_diffn does not read bytes past the + * first difference. The strings will be considered equal if the first + * limit characters match. */ +-int str_diffn(const char *a,const char *b,size_t limit) __pure__; ++int str_diffn(const char *a,const char *b,size_t limit) __PURE; + + #ifdef __dietlibc__ + #include + #define str_len(foo) strlen(foo) + #else + /* str_len returns the index of \0 in s */ +-size_t str_len(const char *s) __pure__; ++size_t str_len(const char *s) __PURE; + #endif + + /* str_chr returns the index of the first occurance of needle or \0 in haystack */ +-size_t str_chr(const char *haystack,char needle) __pure__; ++size_t str_chr(const char *haystack,char needle) __PURE; + + /* str_rchr returns the index of the last occurance of needle or \0 in haystack */ +-size_t str_rchr(const char *haystack,char needle) __pure__; ++size_t str_rchr(const char *haystack,char needle) __PURE; + + /* str_start returns 1 if the b is a prefix of a, 0 otherwise */ +-int str_start(const char *a,const char *b) __pure__; ++int str_start(const char *a,const char *b) __PURE; + + /* convenience shortcut to test for string equality */ + #define str_equal(s,t) (!str_diff((s),(t))) +--- a/stralloc.h ++++ b/stralloc.h +@@ -2,16 +2,22 @@ + #ifndef STRALLOC_H + #define STRALLOC_H + ++#ifndef __has_attribute ++ #define __has_attribute(x) 0 ++#endif ++ ++#if __has_attribute(pure) ++#define __PURE __attribute__ ((pure)) ++#else ++#define __PURE ++#endif ++ + #include + + #ifdef __cplusplus + extern "C" { + #endif + +-#ifndef __pure__ +-#define __pure__ +-#endif +- + /* stralloc is the internal data structure all functions are working on. + * s is the string. + * len is the used length of the string. +@@ -101,17 +107,17 @@ static inline int stralloc_APPEND(strall + /* stralloc_starts returns 1 if the \0-terminated string in "in", without + * the terminating \0, is a prefix of the string stored in sa. Otherwise + * it returns 0. sa must already be allocated. */ +-int stralloc_starts(stralloc* sa,const char* in) __pure__; ++int stralloc_starts(stralloc* sa,const char* in) __PURE; + + /* stralloc_diff returns negative, 0, or positive, depending on whether + * a is lexicographically smaller than, equal to, or greater than the + * string b. */ +-int stralloc_diff(const stralloc* a,const stralloc* b) __pure__; ++int stralloc_diff(const stralloc* a,const stralloc* b) __PURE; + + /* stralloc_diffs returns negative, 0, or positive, depending on whether + * a is lexicographically smaller than, equal to, or greater than the + * string b[0], b[1], ..., b[n]=='\0'. */ +-int stralloc_diffs(const stralloc* a,const char* b) __pure__; ++int stralloc_diffs(const stralloc* a,const char* b) __PURE; + + #define stralloc_equal(a,b) (!stralloc_diff((a),(b))) + #define stralloc_equals(a,b) (!stralloc_diffs((a),(b))) +--- a/scan.h ++++ b/scan.h +@@ -15,8 +15,14 @@ + extern "C" { + #endif + +-#ifndef __pure__ +-#define __pure__ ++#ifndef __has_attribute ++ #define __has_attribute(x) 0 ++#endif ++ ++#if __has_attribute(pure) ++#define __PURE __attribute__ ((pure)) ++#else ++#define __PURE + #endif + + /* This file declared functions used to decode / scan / unmarshal +@@ -84,18 +90,18 @@ size_t scan_double(const char *in, doubl + size_t scan_plusminus(const char *src,signed int *dest); + + /* return the highest integer n<=limit so that isspace(in[i]) for all 0<=i<=n */ +-size_t scan_whitenskip(const char *in,size_t limit) __pure__; ++size_t scan_whitenskip(const char *in,size_t limit) __PURE; + + /* return the highest integer n<=limit so that !isspace(in[i]) for all 0<=i<=n */ +-size_t scan_nonwhitenskip(const char *in,size_t limit) __pure__; ++size_t scan_nonwhitenskip(const char *in,size_t limit) __PURE; + + /* return the highest integer n<=limit so that in[i] is element of + * charset (ASCIIZ string) for all 0<=i<=n */ +-size_t scan_charsetnskip(const char *in,const char *charset,size_t limit) __pure__; ++size_t scan_charsetnskip(const char *in,const char *charset,size_t limit) __PURE; + + /* return the highest integer n<=limit so that in[i] is not element of + * charset (ASCIIZ string) for all 0<=i<=n */ +-size_t scan_noncharsetnskip(const char *in,const char *charset,size_t limit) __pure__; ++size_t scan_noncharsetnskip(const char *in,const char *charset,size_t limit) __PURE; + + /* try to parse ASCII GMT date; does not understand time zones. */ + /* example dates: +@@ -103,17 +109,17 @@ size_t scan_noncharsetnskip(const char * + * "Sunday, 06-Nov-94 08:49:37 GMT" + * "Sun Nov 6 08:49:37 1994" + */ +-size_t scan_httpdate(const char *in,time_t *t) __pure__; ++size_t scan_httpdate(const char *in,time_t *t) __PURE; + + /* try to parse ASCII ISO-8601 date; does not understand time zones. */ + /* example date: "2014-05-27T19:22:16Z" */ +-size_t scan_iso8601(const char* in,struct timespec* t) __pure__; ++size_t scan_iso8601(const char* in,struct timespec* t) __PURE; + + /* some variable length encodings for integers */ +-size_t scan_utf8(const char* in,size_t len,uint32_t* n) __pure__; +-size_t scan_utf8_sem(const char* in,size_t len,uint32_t* n) __pure__; +-size_t scan_asn1derlength(const char* in,size_t len,unsigned long long* n) __pure__; +-size_t scan_asn1dertag(const char* in,size_t len,unsigned long long* n) __pure__; ++size_t scan_utf8(const char* in,size_t len,uint32_t* n) __PURE; ++size_t scan_utf8_sem(const char* in,size_t len,uint32_t* n) __PURE; ++size_t scan_asn1derlength(const char* in,size_t len,unsigned long long* n) __PURE; ++size_t scan_asn1dertag(const char* in,size_t len,unsigned long long* n) __PURE; + + /* Google protocol buffers */ + /* A protocol buffer is a sequence of (tag,value). +@@ -121,16 +127,16 @@ size_t scan_asn1dertag(const char* in,si + * which field in your struct is being sent. Integers must have type + * 0, double type 1, strings type 2 and floats type 5. However, you + * have to check this yourself. +- */ +-size_t scan_varint(const char* in,size_t len, unsigned long long* n) __pure__; /* internal */ +-size_t scan_pb_tag(const char* in,size_t len, size_t* fieldno,unsigned char* type) __pure__; ++ */ ++size_t scan_varint(const char* in,size_t len, unsigned long long* n) __PURE; /* internal */ ++size_t scan_pb_tag(const char* in,size_t len, size_t* fieldno,unsigned char* type) __PURE; + + /* Then, depending on the field number, validate the type and call the + * corresponding of these functions to parse the value */ +-size_t scan_pb_type0_int(const char* in,size_t len,unsigned long long* l) __pure__; +-size_t scan_pb_type0_sint(const char* in,size_t len,signed long long* l) __pure__; +-size_t scan_pb_type1_double(const char* in,size_t len,double* d) __pure__; +-size_t scan_pb_type1_fixed64(const char* in,size_t len,uint64_t* b) __pure__; ++size_t scan_pb_type0_int(const char* in,size_t len,unsigned long long* l) __PURE; ++size_t scan_pb_type0_sint(const char* in,size_t len,signed long long* l) __PURE; ++size_t scan_pb_type1_double(const char* in,size_t len,double* d) __PURE; ++size_t scan_pb_type1_fixed64(const char* in,size_t len,uint64_t* b) __PURE; + /* NOTE: scan_pb_type2_stringlen only parses the length of the string, + * not the string itself. It will return the number of bytes parsed in + * the length, then set slen to the value of the length integer it just +@@ -141,9 +147,9 @@ size_t scan_pb_type1_fixed64(const char* + * parsing early without having to read and allocate memory for the rest + * (potentially gigabytes) of the data announced by one unreasonable + * string length value. */ +-size_t scan_pb_type2_stringlen(const char* in,size_t len,const char** string, size_t* slen) __pure__; +-size_t scan_pb_type5_float(const char* in,size_t len,float* f) __pure__; +-size_t scan_pb_type5_fixed32(const char* in,size_t len,uint32_t* b) __pure__; ++size_t scan_pb_type2_stringlen(const char* in,size_t len,const char** string, size_t* slen) __PURE; ++size_t scan_pb_type5_float(const char* in,size_t len,float* f) __PURE; ++size_t scan_pb_type5_fixed32(const char* in,size_t len,uint32_t* b) __PURE; + + /* parse a netstring, input buffer is in (len bytes). + * if parsing is successful: +@@ -153,7 +159,7 @@ size_t scan_pb_type5_fixed32(const char* + * return 0 + * Note: *dest will point inside the input buffer! + */ +-size_t scan_netstring(const char* in,size_t len,char** dest,size_t* slen) __pure__; ++size_t scan_netstring(const char* in,size_t len,char** dest,size_t* slen) __PURE; + + /* internal function that might be useful independently */ + /* convert from hex ASCII, return 0 to 15 for success or -1 for failure */ +--- a/scan/scan_httpdate.c ++++ b/scan/scan_httpdate.c +@@ -1,5 +1,4 @@ + #define _GNU_SOURCE +-#define __deprecated__ + #include "scan.h" + #include "byte.h" + #include "case.h" +--- a/scan/scan_iso8601.c ++++ b/scan/scan_iso8601.c +@@ -1,5 +1,4 @@ + #define _GNU_SOURCE +-#define __deprecated__ + #include "scan.h" + #include "byte.h" + #include "case.h" diff --git a/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb b/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb index d2f4df78e..ec24578b7 100644 --- a/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb +++ b/meta-openembedded/meta-networking/recipes-support/ncp/libowfat_0.32.bb @@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" SRC_URI = "https://www.fefe.de/${BPN}/${BP}.tar.xz \ file://0001-Depend-on-haveuint128.h-for-umult64.c.patch \ + file://0001-replace-__pure__-with-compiler-attribute-pure.patch \ " SRC_URI[md5sum] = "ee015ccf45cb2bc61c942642038c2bdc" SRC_URI[sha256sum] = "f4b9b3d9922dc25bc93adedf9e9ff8ddbebaf623f14c8e7a5f2301bfef7998c1" diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.1.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.1.bb deleted file mode 100644 index 6aa7b17be..000000000 --- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.1.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "A full-featured SSL VPN solution via tun device." -HOMEPAGE = "https://openvpn.net/" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=7aee596ed2deefe3e8a861e24292abba" -DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" - -inherit autotools systemd update-rc.d - -SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ - file://openvpn \ - file://openvpn@.service \ - file://openvpn-volatile.conf" - -UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads" - -SRC_URI[md5sum] = "b1c279e89d97849d5fcde31d76812f04" -SRC_URI[sha256sum] = "e9582b8e9457994bd8d50012be82c23b2f465da51460c9b2360a81da0f4e06e6" - -SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service" -SYSTEMD_AUTO_ENABLE = "disable" - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME_${PN} = "openvpn" -INITSCRIPT_PARAMS_${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." - -CFLAGS += "-fno-inline" - -# I want openvpn to be able to read password from file (hrw) -EXTRA_OECONF += "--enable-iproute2" -EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" - -# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. -EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip" - -do_install_append() { - install -d ${D}/${sysconfdir}/init.d - install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d - - install -d ${D}/${sysconfdir}/openvpn - install -d ${D}/${sysconfdir}/openvpn/sample - install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf - install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf - install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys - install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}/${systemd_unitdir}/system - install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system - install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service - install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service - - install -d ${D}/${localstatedir} - install -d ${D}/${localstatedir}/lib - install -d -m 710 ${D}/${localstatedir}/lib/openvpn - - install -d ${D}${sysconfdir}/tmpfiles.d - install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf - sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf - fi -} - -PACKAGES =+ " ${PN}-sample " - -RRECOMMENDS_${PN} = "kernel-module-tun" - -FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug" -FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \ - ${sysconfdir}/tmpfiles.d \ - " -FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \ - ${systemd_unitdir}/system/openvpn@loopback-client.service \ - ${sysconfdir}/openvpn/sample/" diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.2.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.2.bb new file mode 100644 index 000000000..f82107dbe --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.2.bb @@ -0,0 +1,73 @@ +SUMMARY = "A full-featured SSL VPN solution via tun device." +HOMEPAGE = "https://openvpn.net/" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=7aee596ed2deefe3e8a861e24292abba" +DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +inherit autotools systemd update-rc.d + +SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \ + file://openvpn \ + file://openvpn@.service \ + file://openvpn-volatile.conf" + +UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads" + +SRC_URI[md5sum] = "7643f135b49aee49df7d83c1f434dc4e" +SRC_URI[sha256sum] = "b9d295988b34e39964ac475b619c3585d667b36c350cf1adec19e5e3c843ba11" + +SYSTEMD_SERVICE_${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service" +SYSTEMD_AUTO_ENABLE = "disable" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${PN} = "openvpn" +INITSCRIPT_PARAMS_${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ." + +CFLAGS += "-fno-inline" + +# I want openvpn to be able to read password from file (hrw) +EXTRA_OECONF += "--enable-iproute2" +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" + +# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. +EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip" + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d + + install -d ${D}/${sysconfdir}/openvpn + install -d ${D}/${sysconfdir}/openvpn/sample + install -m 755 ${S}/sample/sample-config-files/loopback-server ${D}${sysconfdir}/openvpn/sample/loopback-server.conf + install -m 755 ${S}/sample/sample-config-files/loopback-client ${D}${sysconfdir}/openvpn/sample/loopback-client.conf + install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys + install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service + install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service + + install -d ${D}/${localstatedir} + install -d ${D}/${localstatedir}/lib + install -d -m 710 ${D}/${localstatedir}/lib/openvpn + + install -d ${D}${sysconfdir}/tmpfiles.d + install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf + sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf + fi +} + +PACKAGES =+ " ${PN}-sample " + +RRECOMMENDS_${PN} = "kernel-module-tun" + +FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug" +FILES_${PN} += "${systemd_unitdir}/system/openvpn@.service \ + ${sysconfdir}/tmpfiles.d \ + " +FILES_${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \ + ${systemd_unitdir}/system/openvpn@loopback-client.service \ + ${sysconfdir}/openvpn/sample/" diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.2.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.2.bb index dd50fba3d..c178b4cda 100644 --- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.2.bb +++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.2.bb @@ -24,7 +24,7 @@ EXTRA_OECONF = " \ EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" -PACKAGECONFIG ??= "curl gmp openssl sqlite3 swanctl \ +PACKAGECONFIG ?= "curl gmp openssl sqlite3 swanctl \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-charon', 'charon', d)} \ " PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni" diff --git a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch index 91508d721..af99edcb5 100644 --- a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch +++ b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy/disable-documentation.patch @@ -1,14 +1,14 @@ -From b71eb384522b5ce4629dee6e8be257fb4880fef3 Mon Sep 17 00:00:00 2001 -From: Benjamin Gaignard +From b71eb384522b5ce4629dee6e8be257fb4880fef3 Mon Sep 17 00:00:00 2001 +From: Benjamin Gaignard Date: Thu, 20 Apr 2017 14:25:18 +0200 --- - Makefile.am | 1 - - configure.ac | 9 --------- - 2 files changed, 10 deletions(-) + Makefile.am | 1 - + configure.ac | 17 ----------------- + 2 files changed, 18 deletions(-) diff --git a/Makefile.am b/Makefile.am -index e9113c2..2fe3d54 100644 +index 4a3ead6..a12cb98 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,7 +2,6 @@ SUBDIRS = \ @@ -17,24 +17,32 @@ index e9113c2..2fe3d54 100644 etc \ - docs \ m4macros \ - tests - + tests \ + scripts diff --git a/configure.ac b/configure.ac -index 48ee0b2..a1a5fa1 100644 +index 3849383..9f3a633 100644 --- a/configure.ac +++ b/configure.ac -@@ -194,10 +194,6 @@ AC_SUBST(ADDITIONAL_OBJECTS) - AC_PATH_PROG(XSLTPROC, xsltproc, no) - AM_CONDITIONAL(HAVE_XSLTPROC, test "x$XSLTPROC" != "xno") +@@ -190,18 +190,6 @@ AC_SUBST(CPPFLAGS) + AC_SUBST(LIBS) + AC_SUBST(ADDITIONAL_OBJECTS) --# Check for asciidoc --AC_PATH_PROG(A2X, a2x, no) --AM_CONDITIONAL(HAVE_A2X, test "x$A2X" != "xno") +-if test x"$manpage_support_enabled" = x"yes"; then +-AC_PATH_PROG(POD2MAN, pod2man, no) +- +-if test "x$POD2MAN" = "xno" && \ +- ! test -e docs/man5/tinyproxy.conf.5 -a -e docs/man8/tinyproxy.8 ; then +-AC_MSG_ERROR([ +- manpage generation requested, but neither pod2man +- nor pre-generated manpages found. +- Use --disable-manpage-support if you want to compile anyway.]) +-fi +-fi #manpage_support_enabled - - # checking xmllint - AC_PATH_PROG(XMLLINT, xmllint, no) - if test "x$XMLLINT" != "xno"; then -@@ -219,11 +215,6 @@ src/Makefile + AM_CONDITIONAL(HAVE_POD2MAN, test "x$POD2MAN" != "x" -a "x$POD2MAN" != "xno") + + AC_PATH_PROG(GPERF, gperf, no) +@@ -226,11 +214,6 @@ src/Makefile data/Makefile data/templates/Makefile etc/Makefile @@ -46,3 +54,6 @@ index 48ee0b2..a1a5fa1 100644 m4macros/Makefile tests/Makefile tests/scripts/Makefile +-- +2.25.1 + diff --git a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb deleted file mode 100644 index 82d67014b..000000000 --- a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.10.0.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Lightweight http(s) proxy daemon" -HOMEPAGE = "https://tinyproxy.github.io/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.gz \ - file://disable-documentation.patch \ - file://tinyproxy.service \ - file://tinyproxy.conf \ - " - -SRC_URI[md5sum] = "423047c8dc53a15e19f78e238198549c" -SRC_URI[sha256sum] = "6020955e6a0ef0ef898ad5bb17a448c47f9e4c003c464b4ae7c4dba063272055" - -UPSTREAM_CHECK_URI = "https://github.com/tinyproxy/tinyproxy/releases" - -EXTRA_OECONF += " \ - --enable-filter \ - --enable-transparent \ - --enable-reverse \ - --enable-upstream \ - --enable-xtinyproxy \ - " - -inherit autotools systemd useradd - -#User specific -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home /dev/null \ - --no-user-group --gid nogroup tinyproxy" - -SYSTEMD_PACKAGES += "${BPN}" -SYSTEMD_SERVICE_${PN} = "tinyproxy.service" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" - -do_install_append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/tinyproxy.service ${D}${systemd_system_unitdir} - fi - install -m 0644 ${WORKDIR}/tinyproxy.conf ${D}${sysconfdir}/tinyproxy.conf -} diff --git a/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.0.bb b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.0.bb new file mode 100644 index 000000000..7fb29279e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/tinyproxy/tinyproxy_1.11.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Lightweight http(s) proxy daemon" +HOMEPAGE = "https://tinyproxy.github.io/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.gz \ + file://disable-documentation.patch \ + file://tinyproxy.service \ + file://tinyproxy.conf \ + " + +SRC_URI[md5sum] = "658db5558ffb849414341b756a546a99" +SRC_URI[sha256sum] = "20f74769e40144e4d251d2977cc4c40d2d428a2bec8c1b8709cd07315454baef" + +UPSTREAM_CHECK_URI = "https://github.com/tinyproxy/tinyproxy/releases" + +EXTRA_OECONF += " \ + --enable-filter \ + --enable-transparent \ + --enable-reverse \ + --enable-upstream \ + --enable-xtinyproxy \ + " + +inherit autotools systemd useradd + +#User specific +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home /dev/null \ + --no-user-group --gid nogroup tinyproxy" + +SYSTEMD_PACKAGES += "${BPN}" +SYSTEMD_SERVICE_${PN} = "tinyproxy.service" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" + +do_install_append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/tinyproxy.service ${D}${systemd_system_unitdir} + fi + install -m 0644 ${WORKDIR}/tinyproxy.conf ${D}${sysconfdir}/tinyproxy.conf +} diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.4.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.4.bb deleted file mode 100644 index b75f41835..000000000 --- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.4.bb +++ /dev/null @@ -1,87 +0,0 @@ -DESCRIPTION = "wireshark - a popular network protocol analyzer" -HOMEPAGE = "http://www.wireshark.org" -SECTION = "net" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" - -DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares" - -DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " - -SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" - -SRC_URI += " \ - file://0001-wireshark-src-improve-reproducibility.patch \ - file://0002-flex-Remove-line-directives.patch \ - file://0003-bison-Remove-line-directives.patch \ - file://0004-lemon-Remove-line-directives.patch \ -" - -UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" - -SRC_URI[sha256sum] = "729cd11e9715c600e5ad74ca472bacf8af32c20902192d5f2b271268511d4d29" - -PE = "1" - -inherit cmake pkgconfig python3native perlnative upstream-version-is-even mime mime-xdg - -PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" - -PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" - -PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" -PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" -PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" -PACKAGECONFIG[libnl] = ",,libnl" -PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" -PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" -PACKAGECONFIG[ssl] = ",,openssl" -PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" -PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" -PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" -PACKAGECONFIG[geoip] = ",, geoip" -PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" -PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" -PACKAGECONFIG[libssh] = ",,libssh2" -PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" - -# these next two options require addional layers -PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ - -DBUILD_mmdbresolve=OFF \ - -DBUILD_randpktdump=OFF \ - -DBUILD_androiddump=OFF \ - -DBUILD_dcerpcidl2wrs=OFF \ - -DM_INCLUDE_DIR=${includedir} \ - -DM_LIBRARY=${libdir} \ - " -CFLAGS_append = " -lm" - -do_install_append_class-native() { - install -d ${D}${bindir} - for f in lemon - do - install -m 0755 ${B}/run/$f ${D}${bindir} - done -} - -do_install_append_class-target() { - for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` - do - chrpath --delete $f - done -} - -PACKAGE_BEFORE_PN += "tshark" - -FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" - -FILES_${PN} += "${datadir}*" - -RDEPENDS_tshark = "wireshark" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb new file mode 100644 index 000000000..f44032802 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb @@ -0,0 +1,87 @@ +DESCRIPTION = "wireshark - a popular network protocol analyzer" +HOMEPAGE = "http://www.wireshark.org" +SECTION = "net" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" + +DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares" + +DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native " + +SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" + +SRC_URI += " \ + file://0001-wireshark-src-improve-reproducibility.patch \ + file://0002-flex-Remove-line-directives.patch \ + file://0003-bison-Remove-line-directives.patch \ + file://0004-lemon-Remove-line-directives.patch \ +" + +UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" + +SRC_URI[sha256sum] = "de1aafd100a1e1207c850d180e97dd91ab8da0f5eb6beec545f725cdb145d333" + +PE = "1" + +inherit cmake pkgconfig python3native perlnative upstream-version-is-even mime mime-xdg + +PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" + +PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" + +PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap" +PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap" +PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi" +PACKAGECONFIG[libnl] = ",,libnl" +PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19" +PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls" +PACKAGECONFIG[ssl] = ",,openssl" +PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5" +PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua" +PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib" +PACKAGECONFIG[geoip] = ",, geoip" +PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" +PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" +PACKAGECONFIG[libssh] = ",,libssh2" +PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" + +# these next two options require addional layers +PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ + -DBUILD_mmdbresolve=OFF \ + -DBUILD_randpktdump=OFF \ + -DBUILD_androiddump=OFF \ + -DBUILD_dcerpcidl2wrs=OFF \ + -DM_INCLUDE_DIR=${includedir} \ + -DM_LIBRARY=${libdir} \ + " +CFLAGS_append = " -lm" + +do_install_append_class-native() { + install -d ${D}${bindir} + for f in lemon + do + install -m 0755 ${B}/run/$f ${D}${bindir} + done +} + +do_install_append_class-target() { + for f in `find ${D}${libdir} ${D}${bindir} -type f -executable` + do + chrpath --delete $f + done +} + +PACKAGE_BEFORE_PN += "tshark" + +FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*" + +FILES_${PN} += "${datadir}*" + +RDEPENDS_tshark = "wireshark" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb deleted file mode 100644 index 1c5a912f2..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "ncurses IRC client" -DESCRIPTION = "Irssi is an ncurses IRC client" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8" - -DEPENDS = "glib-2.0 ncurses openssl" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz" -SRC_URI[md5sum] = "8547f89e014e23e1bbbb665bcf7e2f70" -SRC_URI[sha256sum] = "6727060c918568ba2ff4295ad736128dba0b995d7b20491bca11f593bd857578" - -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" - -inherit autotools pkgconfig - -EXTRA_OECONF += "--with-textui \ - --with-proxy \ - --with-bot \ - --with-perl=no \ - --enable-true-color" - -FILES_${PN}-staticdev += "${libdir}/${BPN}/modules/*.a" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.3.bb b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.3.bb new file mode 100644 index 000000000..c95741cd9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.3.bb @@ -0,0 +1,22 @@ +SUMMARY = "ncurses IRC client" +DESCRIPTION = "Irssi is an ncurses IRC client" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8" + +DEPENDS = "glib-2.0 ncurses openssl" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz" +SRC_URI[md5sum] = "381d3af259ad15d658be50c0a01f0c28" +SRC_URI[sha256sum] = "a647bfefed14d2221fa77b6edac594934dc672c4a560417b1abcbbc6b88d769f" + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" + +inherit autotools pkgconfig + +EXTRA_OECONF += "--with-textui \ + --with-proxy \ + --with-bot \ + --with-perl=no \ + --enable-true-color" + +FILES_${PN}-staticdev += "${libdir}/${BPN}/modules/*.a" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch new file mode 100644 index 000000000..63d617f3e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch @@ -0,0 +1,35 @@ +From 0532cddcec9c3abff1f3bc22d2fa50df03d55d17 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 5 Apr 2021 14:11:40 -0700 +Subject: [PATCH] build: Use abs_top_srcdir instead of abs_srcdir for ell sources + +this makes it build when build dir is outside of sources dir + +Upstream-Status: Submitted [https://lists.01.org/hyperkitty/list/iwd@lists.01.org/message/SYX6Z7SUQHU7UWM6ECZTTJ6SPODIS6KB/] +--- + Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/Makefile.am ++++ b/Makefile.am +@@ -625,9 +625,10 @@ unit/tls-settings.8021x: unit/cert-ca.pe + BUILT_SOURCES = $(ell_built_sources) src/builtin.h + + ell/shared: Makefile ++ $(AM_V_at)$(MKDIR_P) ell + $(AM_V_GEN)for f in $(ell_shared) ; do \ + if [ ! -f $$f ] ; then \ +- $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \ ++ $(LN_S) -t ell -f $(abs_top_srcdir)/ell/$$f ; \ + fi \ + done > $@ + +@@ -635,7 +636,7 @@ ell/internal: Makefile + $(AM_V_at)$(MKDIR_P) ell + $(AM_V_GEN)for f in $(ell_headers) $(ell_sources) ; do \ + if [ ! -f $$f ] ; then \ +- $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \ ++ $(LN_S) -t ell -f $(abs_top_srcdir)/ell/$$f ; \ + fi \ + done > $@ + diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb deleted file mode 100644 index ccdc65ac6..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Wireless daemon for Linux" -HOMEPAGE = "https://iwd.wiki.kernel.org/" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "ell" - -SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git \ - " -SRCREV = "bde3e0f6e3364e9c884b6b93a944d8138345b8e5" -S = "${WORKDIR}/git" - -inherit autotools manpages pkgconfig python3native systemd - -PACKAGECONFIG ??= " \ - client \ - monitor \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" -PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" -PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" -PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" -PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" - -EXTRA_OECONF = "--enable-external-ell" - -SYSTEMD_SERVICE_${PN} = " \ - iwd.service \ - ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ -" - -do_configure_prepend() { - install -d ${S}/build-aux -} - -do_install_append() { - # If client and monitor are disabled, bindir is empty, causing a QA error - rmdir --ignore-fail-on-non-empty ${D}/${bindir} -} - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${nonarch_libdir}/modules-load.d \ - ${systemd_unitdir}/network \ -" - -RDEPENDS_${PN} = "dbus" - -RRECOMMENDS_${PN} = "\ - kernel-module-pkcs7-message \ - kernel-module-pkcs8-key-parser \ - kernel-module-x509-key-parser \ -" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.13.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.13.bb new file mode 100644 index 000000000..19d3a509c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.13.bb @@ -0,0 +1,55 @@ +SUMMARY = "Wireless daemon for Linux" +HOMEPAGE = "https://iwd.wiki.kernel.org/" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "ell" + +SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ + file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ + " +SRC_URI[sha256sum] = "b005f7ed0f0a96a2c6181c44560fc868533a18e7034bd4cb43ea0d40c21b4e7a" + +inherit autotools manpages pkgconfig python3native systemd + +PACKAGECONFIG ??= " \ + client \ + monitor \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" +PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" +PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" +PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" + +EXTRA_OECONF = "--enable-external-ell" + +SYSTEMD_SERVICE_${PN} = " \ + iwd.service \ + ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ +" + +do_configure_prepend() { + install -d ${S}/build-aux +} + +do_install_append() { + # If client and monitor are disabled, bindir is empty, causing a QA error + rmdir --ignore-fail-on-non-empty ${D}/${bindir} +} + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${nonarch_libdir}/modules-load.d \ + ${systemd_unitdir}/network \ +" + +RDEPENDS_${PN} = "dbus" + +RRECOMMENDS_${PN} = "\ + kernel-module-pkcs7-message \ + kernel-module-pkcs8-key-parser \ + kernel-module-x509-key-parser \ +" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.1.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.1.6.bb deleted file mode 100644 index 6a3eb917f..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.1.6.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Canonical libwebsockets.org websocket library" -HOMEPAGE = "https://libwebsockets.org/" -LICENSE = "MIT & Zlib & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8c47b078124308a4e1354e8d59f606b7" - -DEPENDS = "zlib" - -S = "${WORKDIR}/git" -SRCREV = "736f0739ed8c75db0e29c7678b5a9194e957c347" -SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.1-stable" - -UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -inherit cmake pkgconfig - -PACKAGECONFIG ?= "libuv client server http2 ssl" -PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON," -PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF," -PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF," -PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent" -PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev" -PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" -PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," -PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl" -PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," - -EXTRA_OECMAKE += " \ - -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ -" - -PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev" - -FILES_${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*" -FILES_${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so" -FILES_${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so" -FILES_${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so" - -RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}" -RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}" -RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}" - -RDEPENDS_${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.2.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.2.0.bb new file mode 100644 index 000000000..89c98fec0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.2.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "Canonical libwebsockets.org websocket library" +HOMEPAGE = "https://libwebsockets.org/" +LICENSE = "MIT & Zlib & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c47b078124308a4e1354e8d59f606b7" + +DEPENDS = "zlib" + +S = "${WORKDIR}/git" +SRCREV = "1367c11e1ee44d9e19daa50e1d015365bae17354" +SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.2-stable" + +UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +inherit cmake pkgconfig + +PACKAGECONFIG ?= "libuv client server http2 ssl" +PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON," +PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF," +PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF," +PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent" +PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev" +PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" +PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," +PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl" +PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," + +EXTRA_OECMAKE += " \ + -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ +" + +PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev" + +FILES_${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*" +FILES_${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so" +FILES_${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so" +FILES_${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so" + +RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}" +RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}" +RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}" + +RDEPENDS_${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index 59908e2c0..eb095a237 100644 --- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -921,7 +921,7 @@ RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl" RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch = "gperftools" RDEPENDS_packagegroup-meta-oe-support_remove_riscv64 = "gperftools uim" RDEPENDS_packagegroup-meta-oe-support_remove_riscv32 = "gperftools uim" -RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi" +RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi tbb" RDEPENDS_packagegroup-meta-oe-support_remove_powerpc64le = "ssiapi" RDEPENDS_packagegroup-meta-oe-test ="\ diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.8.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.8.bb deleted file mode 100644 index d006d83aa..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.8.bb +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright (C) 2015 Igor Santos -# Released under the MIT license (see COPYING.MIT for the terms) - -SUMMARY = "Exuberant Ctags" -DESCRIPTION = "Exuberant Ctags is a multilanguage reimplementation of the \ - Unix ctags utility. Ctags generates an index of source code \ - definitions which is used by numerous editors and utilities \ - to instantly locate the definitions." - -HOMEPAGE = "http://ctags.sourceforge.net/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" - -inherit autotools-brokensep - -SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BP}.tar.gz" - -SRC_URI[md5sum] = "c00f82ecdcc357434731913e5b48630d" -SRC_URI[sha256sum] = "0e44b45dcabe969e0bbbb11e30c246f81abe5d32012db37395eb57d66e9e99c7" - -do_install() { - install -Dm 755 ${B}/ctags ${D}${bindir}/ctags - install -Dm 644 ${B}/ctags.1 ${D}${mandir}/man1/ctags.1 -} diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210502.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210502.0.bb new file mode 100644 index 000000000..aca0502db --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210502.0.bb @@ -0,0 +1,25 @@ +# Copyright (C) 2015 Igor Santos +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Universal Ctags" +DESCRIPTION = "Universal Ctags is a multilanguage reimplementation of the \ + Unix ctags utility. Ctags generates an index of source code \ + definitions which is used by numerous editors and utilities \ + to instantly locate the definitions." + +HOMEPAGE = "https://ctags.io/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +inherit autotools-brokensep pkgconfig manpages + +DEPENDS += "libxml2 jansson libyaml python3-docutils-native" +SRCREV = "6df08b82d4845d1b9420d9268f24d5db16ee4480" +SRC_URI = "git://github.com/universal-ctags/ctags" + +S = "${WORKDIR}/git" + +#do_install() { +# install -Dm 755 ${B}/ctags ${D}${bindir}/ctags +#} diff --git a/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.123.bb b/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.123.bb deleted file mode 100644 index bb4345687..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.123.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Install a Debian system into a subdirectory" -HOMEPAGE = "https://wiki.debian.org/Debootstrap" -SECTION = "devel" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608" - -SRC_URI = "\ - http://http.debian.net/debian/pool/main/d/debootstrap/debootstrap_${PV}.tar.gz \ - file://0001-support-to-override-usr-sbin-and-usr-share.patch \ - file://0002-support-to-override-usr-bin-arch-test.patch \ -" - -SRC_URI[md5sum] = "b959c7ac01839e9b96a733d27b19e59e" -SRC_URI[sha256sum] = "5e5a8147ecdd6be0eea5ac4d6ed8192cc653e93f744dd3306c9b1cc51d6ca328" - -S = "${WORKDIR}/debootstrap" - -fakeroot do_install() { - oe_runmake 'DESTDIR=${D}' install - chown -R root:root ${D}${datadir}/debootstrap -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.124.bb b/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.124.bb new file mode 100644 index 000000000..300c98f91 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.124.bb @@ -0,0 +1,27 @@ +SUMMARY = "Install a Debian system into a subdirectory" +HOMEPAGE = "https://wiki.debian.org/Debootstrap" +SECTION = "devel" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608" + +SRC_URI = "\ + http://http.debian.net/debian/pool/main/d/debootstrap/debootstrap_${PV}.tar.gz \ + file://0001-support-to-override-usr-sbin-and-usr-share.patch \ + file://0002-support-to-override-usr-bin-arch-test.patch \ +" + +SRC_URI[md5sum] = "8a5e97f60236c3a63f715c056a5f0e29" +SRC_URI[sha256sum] = "7700e9864b29f166b26c54153ed8c275b46f4b9a60468bb607e019a64c16cd8f" + +S = "${WORKDIR}/debootstrap" + +DEPENDS = " \ + virtual/fakeroot-native \ +" + +fakeroot do_install() { + oe_runmake 'DESTDIR=${D}' install + chown -R root:root ${D}${datadir}/debootstrap +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch index 4dd121f48..d6e439ba2 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch @@ -1,4 +1,4 @@ -From c2aff16cc196a61f4ab1cdae4a91c7926123c239 Mon Sep 17 00:00:00 2001 +From 7d94bfe53beeb2d25eb5f2ff6b1d509df7e6ab80 Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova Date: Thu, 27 Apr 2017 14:25:42 +0200 Subject: [PATCH] Disable running gyp on shared deps @@ -8,18 +8,15 @@ Subject: [PATCH] Disable running gyp on shared deps 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 0947300f24..6c98691984 100644 +index 93d63110..79caaec2 100644 --- a/Makefile +++ b/Makefile -@@ -141,7 +141,7 @@ test-code-cache: with-code-cache - echo "'test-code-cache' target is a noop" +@@ -138,7 +138,7 @@ with-code-cache test-code-cache: + $(warning '$@' target is a noop) out/Makefile: config.gypi common.gypi node.gyp \ -- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \ -+ deps/http_parser/http_parser.gyp \ +- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ ++ deps/llhttp/llhttp.gyp \ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make --- -2.20.1 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch deleted file mode 100644 index a23f1c243..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch +++ /dev/null @@ -1,53 +0,0 @@ -From be8d3cd6eab4b8f9849133060abb1aba4400276b Mon Sep 17 00:00:00 2001 -From: Amy Huang -Date: Thu, 23 Apr 2020 11:25:53 -0700 -Subject: [PATCH] Remove use of register r7 because llvm now issues an error - when "r7" is used (starting in commit d85b3877) - -Bug: chromium:1073270 -Change-Id: I7ec8112f170b98d2edaf92bc9341e738f8de07a3 -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163435 -Reviewed-by: Nico Weber -Reviewed-by: Ross McIlroy -Commit-Queue: Nico Weber -Cr-Commit-Position: refs/heads/master@{#67371} -Signed-off-by: Khem Raj ---- -Upstream-Status: Backport [https://chromium.googlesource.com/v8/v8/+/00604cd2806b5d26bef592dd19989a234bd07a4b%5E%21/] - deps/v8/src/codegen/arm/cpu-arm.cc | 13 ------------- - 1 file changed, 13 deletions(-) - -diff --git a/deps/v8/src/codegen/arm/cpu-arm.cc b/deps/v8/src/codegen/arm/cpu-arm.cc -index 868f360..654d68f 100644 ---- a/deps/v8/src/codegen/arm/cpu-arm.cc -+++ b/deps/v8/src/codegen/arm/cpu-arm.cc -@@ -30,18 +30,6 @@ V8_NOINLINE void CpuFeatures::FlushICache(void* start, size_t size) { - register uint32_t end asm("r1") = beg + size; - register uint32_t flg asm("r2") = 0; - --#ifdef __clang__ -- // This variant of the asm avoids a constant pool entry, which can be -- // problematic when LTO'ing. It is also slightly shorter. -- register uint32_t scno asm("r7") = __ARM_NR_cacheflush; -- -- asm volatile("svc 0\n" -- : -- : "r"(beg), "r"(end), "r"(flg), "r"(scno) -- : "memory"); --#else -- // Use a different variant of the asm with GCC because some versions doesn't -- // support r7 as an asm input. - asm volatile( - // This assembly works for both ARM and Thumb targets. - -@@ -59,7 +47,6 @@ V8_NOINLINE void CpuFeatures::FlushICache(void* start, size_t size) { - : "r"(beg), "r"(end), "r"(flg), [scno] "i"(__ARM_NR_cacheflush) - : "memory"); - #endif --#endif - #endif // !USE_SIMULATOR - } - --- -2.29.2 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch index b5142dc9c..c6fc2dcd7 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch @@ -8,64 +8,55 @@ Subject: [PATCH] Using native binaries tools/v8_gypfiles/v8.gyp | 11 ++++------- 2 files changed, 6 insertions(+), 9 deletions(-) -diff --git a/node.gyp b/node.gyp -index 8f4dc518..d9389190 100644 --- a/node.gyp +++ b/node.gyp -@@ -446,7 +446,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc', +@@ -487,6 +487,7 @@ + 'action_name': 'run_mkcodecache', + 'process_outputs_as_sources': 1, + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(mkcodecache_exec)', ], - 'action': [ -- '<@(_inputs)', -+ 'mkcodecache', - '<@(_outputs)', + 'outputs': [ +@@ -512,6 +513,7 @@ + 'action_name': 'node_mksnapshot', + 'process_outputs_as_sources': 1, + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(node_mksnapshot_exec)', ], - }, -@@ -471,7 +471,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc', - ], - 'action': [ -- '<@(_inputs)', -+ 'node_mksnapshot', - '<@(_outputs)', - ], - }, -diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp -index a506a67d..c91f7dde 100644 + 'outputs': [ --- a/tools/v8_gypfiles/v8.gyp +++ b/tools/v8_gypfiles/v8.gyp -@@ -140,7 +140,8 @@ - '<@(torque_outputs)', - ], - 'action': [ -- '<@(_inputs)', -+ 'torque', -+ '<@(torque_files)', - '-o', '<(torque_output_root)/torque-generated', - '-v8-root', '<(V8_ROOT)' +@@ -220,6 +220,7 @@ + { + 'action_name': 'run_torque_action', + 'inputs': [ # Order matters. ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', + '<@(torque_files)', ], -@@ -247,9 +248,7 @@ - '<(generate_bytecode_builtins_list_output)', +@@ -351,6 +352,7 @@ + { + 'action_name': 'generate_bytecode_builtins_list_action', + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)', ], - 'action': [ -- 'python', -- '<(V8_ROOT)/tools/run.py', -- '<@(_inputs)', -+ 'bytecode_builtins_list_generator', - '<@(_outputs)', + 'outputs': [ +@@ -533,6 +535,7 @@ + ], + }, + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(mksnapshot_exec)', ], - }, -@@ -1396,9 +1395,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc', + 'outputs': [ +@@ -1448,6 +1451,7 @@ + { + 'action_name': 'run_gen-regexp-special-case_action', + 'inputs': [ ++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh', + '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)', ], - 'action': [ -- 'python', -- '<(V8_ROOT)/tools/run.py', -- '<@(_inputs)', -+ 'gen-regexp-special-case', - '<@(_outputs)', - ], - }, --- -2.20.1 - + 'outputs': [ diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch index 92386fa77..622392099 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch @@ -1,28 +1,31 @@ -From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001 +From 5b22fac923d1ca3e9fefb97f5a171124a88f5e22 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 3/3] Install both binaries and use libdir. +Subject: [PATCH] Install both binaries and use libdir. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit This allows us to build with a shared library for other users while still providing the normal executable. -Signed-off-by: Elliott Sales de Andrade - -Stolen from [1] - -[1] https://src.fedoraproject.org/rpms/nodejs/raw/master/f/0003-Install-both-binaries-and-use-libdir.patch +Taken from - https://src.fedoraproject.org/rpms/nodejs/raw/rawhide/f/0002-Install-both-binaries-and-use-libdir.patch Upstream-Status: Pending +Signed-off-by: Elliott Sales de Andrade Signed-off-by: Andreas Müller +Signed-off-by: Khem Raj --- configure.py | 7 +++++++ - tools/install.py | 31 ++++++++++++++----------------- - 2 files changed, 21 insertions(+), 17 deletions(-) + tools/install.py | 21 +++++++++------------ + 2 files changed, 16 insertions(+), 12 deletions(-) +diff --git a/configure.py b/configure.py +index e6f7e4db..6cf5c45d 100755 --- a/configure.py +++ b/configure.py -@@ -602,6 +602,12 @@ parser.add_option('--shared', +@@ -626,6 +626,12 @@ parser.add_option('--shared', help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)') @@ -35,7 +38,7 @@ Signed-off-by: Andreas Müller parser.add_option('--without-v8-platform', action='store_true', dest='without_v8_platform', -@@ -1168,6 +1174,7 @@ def configure_node(o): +@@ -1202,6 +1208,7 @@ def configure_node(o): o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) o['variables']['node_shared'] = b(options.shared) @@ -43,9 +46,11 @@ Signed-off-by: Andreas Müller node_module_version = getmoduleversion.get_version() if options.dest_os == 'android': +diff --git a/tools/install.py b/tools/install.py +index 729b416f..9bfc6234 100755 --- a/tools/install.py +++ b/tools/install.py -@@ -121,26 +121,23 @@ def subdir_files(path, dest, action): +@@ -121,22 +121,19 @@ def subdir_files(path, dest, action): def files(action): is_windows = sys.platform == 'win32' @@ -64,16 +69,8 @@ Signed-off-by: Andreas Müller - output_file += '.dll' - else: - output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix') -- # GYP will output to lib.target except on OS X, this is hardcoded -- # in its source - see the _InstallableTargetInstallPath function. -- if sys.platform != 'darwin': -- output_prefix += 'lib.target/' + output_bin = 'node' + output_lib = 'libnode.' + variables.get('shlib_suffix') -+ # GYP will output to lib.target except on OS X, this is hardcoded -+ # in its source - see the _InstallableTargetInstallPath function. -+ if sys.platform != 'darwin': -+ output_libprefix += 'lib.target/' - if 'false' == variables.get('node_shared'): - action([output_prefix + output_file], 'bin/' + output_file) diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch new file mode 100644 index 000000000..cdf6bc8e2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch @@ -0,0 +1,21 @@ +Link mksnapshot with libatomic on x86 + +Clang-12 on x86 emits atomic builtins + +Fixes +| module-compiler.cc:(.text._ZN2v88internal4wasm12_GLOBAL__N_123ExecuteCompilationUnitsERKSt10shared_ptrINS2_22BackgroundCompileTokenEEPNS0_8CountersEiNS2_19CompileBaselineOnlyE+0x558): un +defined reference to `__atomic_load' + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +--- a/tools/v8_gypfiles/v8.gyp ++++ b/tools/v8_gypfiles/v8.gyp +@@ -1336,6 +1336,7 @@ + { + 'target_name': 'mksnapshot', + 'type': 'executable', ++ 'libraries': [ '-latomic' ], + 'dependencies': [ + 'v8_base_without_compiler', + 'v8_compiler_for_mksnapshot', diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-less-memory.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-less-memory.patch new file mode 100644 index 000000000..56e93c50c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/mips-less-memory.patch @@ -0,0 +1,32 @@ +Description: mksnapshot uses too much memory on 32-bit mipsel +Author: Jérémy Lal +Last-Update: 2020-06-03 +Forwarded: https://bugs.chromium.org/p/v8/issues/detail?id=10586 + +This ensures that we reserve 500M instead of 2G range for codegen +ensures that qemu-mips can allocate such large ranges + +Signed-off-by: Khem Raj + +--- a/deps/v8/src/common/globals.h ++++ b/deps/v8/src/common/globals.h +@@ -224,7 +224,7 @@ constexpr size_t kMinimumCodeRangeSize = + constexpr size_t kMinExpectedOSPageSize = 64 * KB; // OS page on PPC Linux + #elif V8_TARGET_ARCH_MIPS + constexpr bool kPlatformRequiresCodeRange = false; +-constexpr size_t kMaximalCodeRangeSize = 2048LL * MB; ++constexpr size_t kMaximalCodeRangeSize = 512 * MB; + constexpr size_t kMinimumCodeRangeSize = 0 * MB; + constexpr size_t kMinExpectedOSPageSize = 4 * KB; // OS page. + #else +--- a/deps/v8/src/codegen/mips/constants-mips.h ++++ b/deps/v8/src/codegen/mips/constants-mips.h +@@ -140,7 +140,7 @@ const uint32_t kLeastSignificantByteInIn + namespace v8 { + namespace internal { + +-constexpr size_t kMaxPCRelativeCodeRangeInMB = 4096; ++constexpr size_t kMaxPCRelativeCodeRangeInMB = 1024; + + // ----------------------------------------------------------------------------- + // Registers and FPURegisters. diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/v8-call-new-ListFormatter-createInstance.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/v8-call-new-ListFormatter-createInstance.patch new file mode 100644 index 000000000..806360084 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/v8-call-new-ListFormatter-createInstance.patch @@ -0,0 +1,93 @@ +From 035c305ce7761f51328b45f1bd83e26aef267c9d Mon Sep 17 00:00:00 2001 +From: Frank Tang +Date: Thu, 15 Oct 2020 22:44:27 -0700 +Subject: [PATCH] [Intl] call new ListFormatter::createInstance + +The one we currently using is now marked as internal and to be removed +for 68. Migrating to the style which already avaiable in ICU 67-1. + +Upstream-Status: Backport +Bug: v8:11031 +Change-Id: I668382a2e1b8602ddca02bf231c5008a6c92bf2d +Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477751 +Reviewed-by: Jakob Kummerow +Commit-Queue: Frank Tang +Cr-Commit-Position: refs/heads/master@{#70638} +--- + deps/v8/src/objects/js-list-format.cc | 55 ++++++++++++----------------------- + 1 file changed, 18 insertions(+), 37 deletions(-) + +--- a/deps/v8/src/objects/js-list-format.cc ++++ b/deps/v8/src/objects/js-list-format.cc +@@ -29,46 +29,27 @@ namespace v8 { + namespace internal { + + namespace { +-const char* kStandard = "standard"; +-const char* kOr = "or"; +-const char* kUnit = "unit"; +-const char* kStandardShort = "standard-short"; +-const char* kOrShort = "or-short"; +-const char* kUnitShort = "unit-short"; +-const char* kStandardNarrow = "standard-narrow"; +-const char* kOrNarrow = "or-narrow"; +-const char* kUnitNarrow = "unit-narrow"; + +-const char* GetIcuStyleString(JSListFormat::Style style, +- JSListFormat::Type type) { ++UListFormatterWidth GetIcuWidth(JSListFormat::Style style) { ++ switch (style) { ++ case JSListFormat::Style::LONG: ++ return ULISTFMT_WIDTH_WIDE; ++ case JSListFormat::Style::SHORT: ++ return ULISTFMT_WIDTH_SHORT; ++ case JSListFormat::Style::NARROW: ++ return ULISTFMT_WIDTH_NARROW; ++ } ++ UNREACHABLE(); ++} ++ ++UListFormatterType GetIcuType(JSListFormat::Type type) { + switch (type) { + case JSListFormat::Type::CONJUNCTION: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kStandard; +- case JSListFormat::Style::SHORT: +- return kStandardShort; +- case JSListFormat::Style::NARROW: +- return kStandardNarrow; +- } ++ return ULISTFMT_TYPE_AND; + case JSListFormat::Type::DISJUNCTION: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kOr; +- case JSListFormat::Style::SHORT: +- return kOrShort; +- case JSListFormat::Style::NARROW: +- return kOrNarrow; +- } ++ return ULISTFMT_TYPE_OR; + case JSListFormat::Type::UNIT: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kUnit; +- case JSListFormat::Style::SHORT: +- return kUnitShort; +- case JSListFormat::Style::NARROW: +- return kUnitNarrow; +- } ++ return ULISTFMT_TYPE_UNITS; + } + UNREACHABLE(); + } +@@ -143,7 +124,7 @@ MaybeHandle JSListFormat:: + icu::Locale icu_locale = r.icu_locale; + UErrorCode status = U_ZERO_ERROR; + icu::ListFormatter* formatter = icu::ListFormatter::createInstance( +- icu_locale, GetIcuStyleString(style_enum, type_enum), status); ++ icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status); + if (U_FAILURE(status) || formatter == nullptr) { + delete formatter; + THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError), diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb deleted file mode 100644 index 9b86bf337..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.21.0.bb +++ /dev/null @@ -1,161 +0,0 @@ -DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" -HOMEPAGE = "http://nodejs.org" -LICENSE = "MIT & BSD & Artistic-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8c66ff8861d9f96076a7cb61e3d75f54" - -DEPENDS = "openssl" -DEPENDS_append_class-target = " nodejs-native" - -inherit pkgconfig python3native - -COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" -COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" -COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" - -COMPATIBLE_HOST_riscv64 = "null" -COMPATIBLE_HOST_riscv32 = "null" - -SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ - file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ - file://0003-Install-both-binaries-and-use-libdir.patch \ - file://0004-v8-don-t-override-ARM-CFLAGS.patch \ - file://big-endian.patch \ - file://mips-warnings.patch \ - file://0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch \ - " -SRC_URI_append_class-target = " \ - file://0002-Using-native-binaries.patch \ - " -SRC_URI[sha256sum] = "052f37ace6f569b513b5a1154b2a45d3c4d8b07d7d7c807b79f1566db61e979d" - -S = "${WORKDIR}/node-v${PV}" - -# v8 errors out if you have set CCACHE -CCACHE = "" - -def map_nodejs_arch(a, d): - import re - - if re.match('i.86$', a): return 'ia32' - elif re.match('x86_64$', a): return 'x64' - elif re.match('aarch64$', a): return 'arm64' - elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64' - elif re.match('powerpc$', a): return 'ppc' - return a - -ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ - bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ - '--with-arm-fpu=vfp', d), d), d)}" -GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " -ARCHFLAGS ?= "" - -PACKAGECONFIG ??= "ares brotli icu zlib" - -PACKAGECONFIG[ares] = "--shared-cares,,c-ares" -PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" -PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" -PACKAGECONFIG[libuv] = "--shared-libuv,,libuv" -PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2" -PACKAGECONFIG[shared] = "--shared" -PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" - -# We don't want to cross-compile during target compile, -# and we need to use the right flags during host compile, -# too. -EXTRA_OEMAKE = "\ - CC.host='${CC}' \ - CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \ - CXX.host='${CXX}' \ - CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \ - LDFLAGS.host='${LDFLAGS}' \ - AR.host='${AR}' \ - \ - builddir_name=./ \ -" - -python do_unpack() { - import shutil - - bb.build.exec_func('base_do_unpack', d) - - shutil.rmtree(d.getVar('S') + '/deps/openssl', True) - if 'ares' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/cares', True) - if 'brotli' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/brotli', True) - if 'libuv' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/uv', True) - if 'nghttp2' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/nghttp2', True) - if 'zlib' in d.getVar('PACKAGECONFIG'): - shutil.rmtree(d.getVar('S') + '/deps/zlib', True) -} - -# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi -do_configure () { - export LD="${CXX}" - GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES - # $TARGET_ARCH settings don't match --dest-cpu settings - python3 configure.py --prefix=${prefix} --cross-compiling --without-snapshot --shared-openssl \ - --without-dtrace \ - --without-etw \ - --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ - --dest-os=linux \ - --libdir=${D}${libdir} \ - ${ARCHFLAGS} \ - ${PACKAGECONFIG_CONFARGS} -} - -do_compile () { - export LD="${CXX}" - oe_runmake BUILDTYPE=Release -} - -do_install () { - oe_runmake install DESTDIR=${D} - - # wasn't updated since 2009 and is the only thing requiring python2 in runtime - # ERROR: nodejs-12.14.1-r0 do_package_qa: QA Issue: /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples contained in package nodejs-npm requires /usr/bin/python, but no providers found in RDEPENDS_nodejs-npm? [file-rdeps] - rm -f ${D}${exec_prefix}/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples -} - -do_install_append_class-native() { - # use node from PATH instead of absolute path to sysroot - # node-v0.10.25/tools/install.py is using: - # shebang = os.path.join(node_prefix, 'bin/node') - # update_shebang(link_path, shebang) - # and node_prefix can be very long path to bindir in native sysroot and - # when it exceeds 128 character shebang limit it's stripped to incorrect path - # and npm fails to execute like in this case with 133 characters show in log.do_install: - # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node - # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js - # use sed on npm-cli.js because otherwise symlink is replaced with normal file and - # npm-cli.js continues to use old shebang - sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js - - # Install the native binaries to provide it within sysroot for the target compilation - install -d ${D}${bindir} - install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque - install -m 0755 ${S}/out/Release/bytecode_builtins_list_generator ${D}${bindir}/bytecode_builtins_list_generator - if ${@bb.utils.contains('PACKAGECONFIG','icu','true','false',d)}; then - install -m 0755 ${S}/out/Release/gen-regexp-special-case ${D}${bindir}/gen-regexp-special-case - fi - install -m 0755 ${S}/out/Release/mkcodecache ${D}${bindir}/mkcodecache - install -m 0755 ${S}/out/Release/node_mksnapshot ${D}${bindir}/node_mksnapshot -} - -do_install_append_class-target() { - sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js -} - -PACKAGES =+ "${PN}-npm" -FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" -RDEPENDS_${PN}-npm = "bash python3-core python3-shell python3-datetime \ - python3-misc python3-multiprocessing" - -PACKAGES =+ "${PN}-systemtap" -FILES_${PN}-systemtap = "${datadir}/systemtap" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_14.16.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_14.16.1.bb new file mode 100644 index 000000000..48bf2f4a8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_14.16.1.bb @@ -0,0 +1,197 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT & BSD & Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=85bf260d8b6de1588f57abc5dc66587c" + +DEPENDS = "openssl" +DEPENDS_append_class-target = " qemu-native" + +inherit pkgconfig python3native qemu + +COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" +COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" +COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" + +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" + +SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ + file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ + file://0003-Install-both-binaries-and-use-libdir.patch \ + file://0004-v8-don-t-override-ARM-CFLAGS.patch \ + file://big-endian.patch \ + file://mips-warnings.patch \ + file://v8-call-new-ListFormatter-createInstance.patch \ + file://mips-less-memory.patch \ + " +SRC_URI_append_class-target = " \ + file://0002-Using-native-binaries.patch \ + " +SRC_URI_append_toolchain-clang_x86 = " \ + file://libatomic.patch \ + " +SRC_URI[sha256sum] = "e44adbbed6756c2c1a01258383e9f00df30c147b36e438f6369b5ef1069abac3" + +S = "${WORKDIR}/node-v${PV}" + +# v8 errors out if you have set CCACHE +CCACHE = "" + +def map_nodejs_arch(a, d): + import re + + if re.match('i.86$', a): return 'ia32' + elif re.match('x86_64$', a): return 'x64' + elif re.match('aarch64$', a): return 'arm64' + elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64' + elif re.match('powerpc$', a): return 'ppc' + return a + +ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ + '--with-arm-fpu=vfp', d), d), d)}" +GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " +ARCHFLAGS ?= "" + +PACKAGECONFIG ??= "ares brotli icu zlib" + +PACKAGECONFIG[ares] = "--shared-cares,,c-ares" +PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" +PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" +PACKAGECONFIG[libuv] = "--shared-libuv,,libuv" +PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2" +PACKAGECONFIG[shared] = "--shared" +PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" + +# We don't want to cross-compile during target compile, +# and we need to use the right flags during host compile, +# too. +EXTRA_OEMAKE = "\ + CC.host='${CC}' \ + CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \ + CXX.host='${CXX}' \ + CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \ + LDFLAGS.host='${LDFLAGS}' \ + AR.host='${AR}' \ + \ + builddir_name=./ \ +" + +python do_unpack() { + import shutil + + bb.build.exec_func('base_do_unpack', d) + + shutil.rmtree(d.getVar('S') + '/deps/openssl', True) + if 'ares' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/cares', True) + if 'brotli' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/brotli', True) + if 'libuv' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/uv', True) + if 'nghttp2' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/nghttp2', True) + if 'zlib' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/zlib', True) +} + +# V8's JIT infrastructure requires binaries such as mksnapshot and +# mkpeephole to be run in the host during the build. However, these +# binaries must have the same bit-width as the target (e.g. a x86_64 +# host targeting ARMv6 needs to produce a 32-bit binary). Instead of +# depending on a third Yocto toolchain, we just build those binaries +# for the target and run them on the host with QEMU. +python do_create_v8_qemu_wrapper () { + """Creates a small wrapper that invokes QEMU to run some target V8 binaries + on the host.""" + qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'), + d.expand('${STAGING_DIR_HOST}${base_libdir}')] + qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST', True), + qemu_libdirs) + wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh') + with open(wrapper_path, 'w') as wrapper_file: + wrapper_file.write("""#!/bin/sh + +# This file has been generated automatically. +# It invokes QEMU to run binaries built for the target in the host during the +# build process. + +%s "$@" +""" % qemu_cmd) + os.chmod(wrapper_path, 0o755) +} + +do_create_v8_qemu_wrapper[dirs] = "${B}" +addtask create_v8_qemu_wrapper after do_configure before do_compile + +LDFLAGS_append_x86 = " -latomic" + +# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi +do_configure () { + export LD="${CXX}" + GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES + # $TARGET_ARCH settings don't match --dest-cpu settings + python3 configure.py --prefix=${prefix} --cross-compiling --shared-openssl \ + --without-dtrace \ + --without-etw \ + --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ + --dest-os=linux \ + --libdir=${D}${libdir} \ + ${ARCHFLAGS} \ + ${PACKAGECONFIG_CONFARGS} +} + +do_compile () { + export LD="${CXX}" + install -Dm 0755 ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh + oe_runmake BUILDTYPE=Release +} + +do_install () { + oe_runmake install DESTDIR=${D} + + # wasn't updated since 2009 and is the only thing requiring python2 in runtime + # ERROR: nodejs-12.14.1-r0 do_package_qa: QA Issue: /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples contained in package nodejs-npm requires /usr/bin/python, but no providers found in RDEPENDS_nodejs-npm? [file-rdeps] + rm -f ${D}${exec_prefix}/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples +} + +do_install_append_class-native() { + # use node from PATH instead of absolute path to sysroot + # node-v0.10.25/tools/install.py is using: + # shebang = os.path.join(node_prefix, 'bin/node') + # update_shebang(link_path, shebang) + # and node_prefix can be very long path to bindir in native sysroot and + # when it exceeds 128 character shebang limit it's stripped to incorrect path + # and npm fails to execute like in this case with 133 characters show in log.do_install: + # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node + # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js + # use sed on npm-cli.js because otherwise symlink is replaced with normal file and + # npm-cli.js continues to use old shebang + sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js + + # Install the native binaries to provide it within sysroot for the target compilation + install -d ${D}${bindir} + install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque + install -m 0755 ${S}/out/Release/bytecode_builtins_list_generator ${D}${bindir}/bytecode_builtins_list_generator + if ${@bb.utils.contains('PACKAGECONFIG','icu','true','false',d)}; then + install -m 0755 ${S}/out/Release/gen-regexp-special-case ${D}${bindir}/gen-regexp-special-case + fi + install -m 0755 ${S}/out/Release/mkcodecache ${D}${bindir}/mkcodecache + install -m 0755 ${S}/out/Release/node_mksnapshot ${D}${bindir}/node_mksnapshot +} + +do_install_append_class-target() { + sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js +} + +PACKAGES =+ "${PN}-npm" +FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" +RDEPENDS_${PN}-npm = "bash python3-core python3-shell python3-datetime \ + python3-misc python3-multiprocessing" + +PACKAGES =+ "${PN}-systemtap" +FILES_${PN}-systemtap = "${datadir}/systemtap" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2020-7069.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2020-7069.patch deleted file mode 100644 index 0cf4d5ed6..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2020-7069.patch +++ /dev/null @@ -1,158 +0,0 @@ -Subject: Fix bug #79601 (Wrong ciphertext/tag in AES-CCM encryption - for a 12 bytes IV) - ---- - ext/openssl/openssl.c | 10 ++++----- - ext/openssl/tests/cipher_tests.inc | 21 +++++++++++++++++ - ext/openssl/tests/openssl_decrypt_ccm.phpt | 22 +++++++++++------- - ext/openssl/tests/openssl_encrypt_ccm.phpt | 26 ++++++++++++++-------- - 4 files changed, 57 insertions(+), 22 deletions(-) - -diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c -index 04cb9b0f..fdad2c3b 100644 ---- a/ext/openssl/openssl.c -+++ b/ext/openssl/openssl.c -@@ -6521,11 +6521,6 @@ static int php_openssl_validate_iv(char **piv, size_t *piv_len, size_t iv_requir - { - char *iv_new; - -- /* Best case scenario, user behaved */ -- if (*piv_len == iv_required_len) { -- return SUCCESS; -- } -- - if (mode->is_aead) { - if (EVP_CIPHER_CTX_ctrl(cipher_ctx, mode->aead_ivlen_flag, *piv_len, NULL) != 1) { - php_error_docref(NULL, E_WARNING, "Setting of IV length for AEAD mode failed"); -@@ -6534,6 +6529,11 @@ static int php_openssl_validate_iv(char **piv, size_t *piv_len, size_t iv_requir - return SUCCESS; - } - -+ /* Best case scenario, user behaved */ -+ if (*piv_len == iv_required_len) { -+ return SUCCESS; -+ } -+ - iv_new = ecalloc(1, iv_required_len + 1); - - if (*piv_len == 0) { -diff --git a/ext/openssl/tests/cipher_tests.inc b/ext/openssl/tests/cipher_tests.inc -index b1e46b41..779bfa85 100644 ---- a/ext/openssl/tests/cipher_tests.inc -+++ b/ext/openssl/tests/cipher_tests.inc -@@ -1,5 +1,26 @@ - array( -+ array( -+ 'key' => '404142434445464748494a4b4c4d4e4f', -+ 'iv' => '1011121314151617', -+ 'aad' => '000102030405060708090a0b0c0d0e0f', -+ 'tag' => '1fc64fbfaccd', -+ 'pt' => '202122232425262728292a2b2c2d2e2f', -+ 'ct' => 'd2a1f0e051ea5f62081a7792073d593d', -+ ), -+ array( -+ 'key' => '404142434445464748494a4b4c4d4e4f', -+ 'iv' => '101112131415161718191a1b', -+ 'aad' => '000102030405060708090a0b0c0d0e0f' . -+ '10111213', -+ 'tag' => '484392fbc1b09951', -+ 'pt' => '202122232425262728292a2b2c2d2e2f' . -+ '3031323334353637', -+ 'ct' => 'e3b201a9f5b71a7a9b1ceaeccd97e70b' . -+ '6176aad9a4428aa5', -+ ), -+ ), - 'aes-256-ccm' => array( - array( - 'key' => '1bde3251d41a8b5ea013c195ae128b21' . -diff --git a/ext/openssl/tests/openssl_decrypt_ccm.phpt b/ext/openssl/tests/openssl_decrypt_ccm.phpt -index a5f01b87..08ef5bb7 100644 ---- a/ext/openssl/tests/openssl_decrypt_ccm.phpt -+++ b/ext/openssl/tests/openssl_decrypt_ccm.phpt -@@ -10,14 +10,16 @@ if (!in_array('aes-256-ccm', openssl_get_cipher_methods())) - --FILE-- - $test) { -- echo "TEST $idx\n"; -- $pt = openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA, -- $test['iv'], $test['tag'], $test['aad']); -- var_dump($test['pt'] === $pt); -+foreach ($methods as $method) { -+ $tests = openssl_get_cipher_tests($method); -+ foreach ($tests as $idx => $test) { -+ echo "$method - TEST $idx\n"; -+ $pt = openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA, -+ $test['iv'], $test['tag'], $test['aad']); -+ var_dump($test['pt'] === $pt); -+ } - } - - // no IV -@@ -32,7 +34,11 @@ var_dump(openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA, - - ?> - --EXPECTF-- --TEST 0 -+aes-128-ccm - TEST 0 -+bool(true) -+aes-128-ccm - TEST 1 -+bool(true) -+aes-256-ccm - TEST 0 - bool(true) - - Warning: openssl_decrypt(): Setting of IV length for AEAD mode failed in %s on line %d -diff --git a/ext/openssl/tests/openssl_encrypt_ccm.phpt b/ext/openssl/tests/openssl_encrypt_ccm.phpt -index fb5dbbc8..8c4c41f8 100644 ---- a/ext/openssl/tests/openssl_encrypt_ccm.phpt -+++ b/ext/openssl/tests/openssl_encrypt_ccm.phpt -@@ -10,15 +10,17 @@ if (!in_array('aes-256-ccm', openssl_get_cipher_methods())) - --FILE-- - $test) { -- echo "TEST $idx\n"; -- $ct = openssl_encrypt($test['pt'], $method, $test['key'], OPENSSL_RAW_DATA, -- $test['iv'], $tag, $test['aad'], strlen($test['tag'])); -- var_dump($test['ct'] === $ct); -- var_dump($test['tag'] === $tag); -+foreach ($methods as $method) { -+ $tests = openssl_get_cipher_tests($method); -+ foreach ($tests as $idx => $test) { -+ echo "$method - TEST $idx\n"; -+ $ct = openssl_encrypt($test['pt'], $method, $test['key'], OPENSSL_RAW_DATA, -+ $test['iv'], $tag, $test['aad'], strlen($test['tag'])); -+ var_dump($test['ct'] === $ct); -+ var_dump($test['tag'] === $tag); -+ } - } - - // Empty IV error -@@ -32,7 +34,13 @@ var_dump(strlen($tag)); - var_dump(openssl_encrypt('data', $method, 'password', 0, str_repeat('x', 16), $tag, '', 1024)); - ?> - --EXPECTF-- --TEST 0 -+aes-128-ccm - TEST 0 -+bool(true) -+bool(true) -+aes-128-ccm - TEST 1 -+bool(true) -+bool(true) -+aes-256-ccm - TEST 0 - bool(true) - bool(true) - --- -2.25.1 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2020-7070.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2020-7070.patch deleted file mode 100644 index e5b527f98..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2020-7070.patch +++ /dev/null @@ -1,24 +0,0 @@ -Subject: Patch fix-urldecode for HTTP related Bug #79699 - ---- - main/php_variables.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/main/php_variables.c b/main/php_variables.c -index 1a40c2a1..cbdc7cf1 100644 ---- a/main/php_variables.c -+++ b/main/php_variables.c -@@ -514,7 +514,9 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data) - } - - val = estrndup(val, val_len); -- php_url_decode(var, strlen(var)); -+ if (arg != PARSE_COOKIE) { -+ php_url_decode(var, strlen(var)); -+ } - if (sapi_module.input_filter(arg, var, &val, val_len, &new_val_len)) { - php_register_variable_safe(var, val, new_val_len, &array); - } --- -2.25.1 - diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.16.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.16.bb new file mode 100644 index 000000000..821d9cd04 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.16.bb @@ -0,0 +1,270 @@ +SUMMARY = "A server-side, HTML-embedded scripting language" +HOMEPAGE = "http://www.php.net" +SECTION = "console/network" + +LICENSE = "PHP-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=99532e0f6620bc9bca34f12fadaee33c" + +BBCLASSEXTEND = "native" +DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native" +DEPENDS_class-native = "zlib-native libxml2-native" + +PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}" + +SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ + file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ + file://debian-php-fixheader.patch \ + file://0001-configure.ac-don-t-include-build-libtool.m4.patch \ + file://0001-php.m4-don-t-unset-cache-variables.patch \ + " + +SRC_URI_append_class-target = " \ + file://iconv.patch \ + file://imap-fix-autofoo.patch \ + file://php_exec_native.patch \ + file://php-fpm.conf \ + file://php-fpm-apache.conf \ + file://70_mod_php${PHP_MAJOR_VERSION}.conf \ + file://php-fpm.service \ + file://pear-makefile.patch \ + file://phar-makefile.patch \ + file://0001-opcache-config.m4-enable-opcache.patch \ + file://xfail_two_bug_tests.patch \ + " + +S = "${WORKDIR}/php-${PV}" +SRC_URI[sha256sum] = "85710f007cfd0fae94e13a02a3a036f4e81ef43693260cae8a2e1ca93659ce3e" + +inherit autotools pkgconfig python3native gettext + +# phpize is not scanned for absolute paths by default (but php-config is). +# +SSTATE_SCAN_FILES += "phpize" +SSTATE_SCAN_FILES += "build-defs.h" + +PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" + +# Common EXTRA_OECONF +COMMON_EXTRA_OECONF = "--enable-sockets \ + --enable-pcntl \ + --enable-shared \ + --disable-rpath \ + --with-pic \ + --libdir=${PHP_LIBDIR} \ +" +EXTRA_OECONF = "--enable-mbstring \ + --enable-fpm \ + --with-libdir=${baselib} \ + --with-gettext=${STAGING_LIBDIR}/.. \ + --with-zlib=${STAGING_LIBDIR}/.. \ + --with-iconv=${STAGING_LIBDIR}/.. \ + --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ + --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \ + ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ + ${COMMON_EXTRA_OECONF} \ +" + +EXTRA_OECONF_append_riscv64 = " --with-pcre-jit=no" +EXTRA_OECONF_append_riscv32 = " --with-pcre-jit=no" + +CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes" + +EXTRA_OECONF_class-native = " \ + --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ + --without-iconv \ + ${COMMON_EXTRA_OECONF} \ +" + +PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ +" +PACKAGECONFIG_class-native = "" + +PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip" + +PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ + --with-pdo-mysql=mysqlnd \ + ,--without-mysqli --without-pdo-mysql \ + ,mysql5" + +PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ + --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ + ,--without-sqlite3 --without-pdo-sqlite \ + ,sqlite3" +PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql" +PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2" +PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2" +PACKAGECONFIG[pam] = ",,libpam" +PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \ + --with-imap-ssl=${STAGING_DIR_HOST} \ + ,--without-imap --without-imap-ssl \ + ,uw-imap" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache" +PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" +PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" +PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma" +PACKAGECONFIG[mbstring] = "--enable-mbstring,," + +export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" +export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" +CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" + +# Adding these flags enables dynamic library support, which is disabled by +# default when cross compiling +# See https://bugs.php.net/bug.php?id=60109 +CFLAGS += " -DHAVE_LIBDL " +LDFLAGS += " -ldl " + +EXTRA_OEMAKE = "INSTALL_ROOT=${D}" + +acpaths = "" + +do_configure_prepend () { + rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 + find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!' +} + +do_configure_append() { + # No, libtool, we really don't want rpath set... + sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool + sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool +} + +do_install_append_class-native() { + rm -rf ${D}/${PHP_LIBDIR}/php/.registry + rm -rf ${D}/${PHP_LIBDIR}/php/.channels + rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]* +} + +do_install_prepend() { + cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \ + ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4 +} + +do_install_prepend_class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + # Install dummy config file so apxs doesn't fail + install -d ${D}${sysconfdir}/apache2 + printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf + fi +} + +# fixme +do_install_append_class-target() { + install -d ${D}${sysconfdir}/ + rm -rf ${D}/.registry + rm -rf ${D}/.channels + rm -rf ${D}/.[a-z]* + rm -rf ${D}/var + rm -f ${D}/${sysconfdir}/php-fpm.conf.default + install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf + install -d ${D}/${sysconfdir}/apache2/conf.d + install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf + install -d ${D}${sysconfdir}/init.d + sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm + sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm + install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm + install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ + ${D}${systemd_unitdir}/system/php-fpm.service + fi + + if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/apache2/modules.d + install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} + install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d + sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf + cat ${S}/php.ini-production | \ + sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ + > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini + rm -f ${D}${sysconfdir}/apache2/httpd.conf* + fi +} + +SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" + +php_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + + sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize + sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config +} + +MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" + +PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-phpdbg ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}" + +RDEPENDS_${PN} += "libgcc" +RDEPENDS_${PN}-pear = "${PN}" +RDEPENDS_${PN}-phar = "${PN}-cli" +RDEPENDS_${PN}-cli = "${PN}" +RDEPENDS_${PN}-modphp = "${PN} apache2" +RDEPENDS_${PN}-opcache = "${PN}" + +ALLOW_EMPTY_${PN} = "1" + +INITSCRIPT_PACKAGES = "${PN}-fpm" +inherit update-rc.d + +FILES_${PN}-dbg =+ "${bindir}/.debug \ + ${libexecdir}/apache2/modules/.debug" +FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc" +FILES_${PN}-cli = "${bindir}/php" +FILES_${PN}-phpdbg = "${bindir}/phpdbg" +FILES_${PN}-phar = "${bindir}/phar*" +FILES_${PN}-cgi = "${bindir}/php-cgi" +FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default" +FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" +CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" +INITSCRIPT_NAME_${PN}-fpm = "php-fpm" +INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60" +FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \ + ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \ + ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \ + ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \ + ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \ + ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \ + ${PHP_LIBDIR}/php/data/PEAR \ + ${sysconfdir}/pear.conf" +FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ + ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ + ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ + ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" +FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a" +FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}" +FILES_${PN} = "${PHP_LIBDIR}/php" +FILES_${PN} += "${bindir} ${libexecdir}/apache2" + +SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server" +FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" + +MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}" +RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" +RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}" + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/php \ + PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ +} + + +# Fails to build with thumb-1 (qemuarm) +# | {standard input}: Assembler messages: +# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3' +# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31' +# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3' +# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31' +# | make: *** [ext/standard/math.lo] Error 1 +ARM_INSTRUCTION_SET = "arm" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb deleted file mode 100644 index e19d5dd21..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.4.9.bb +++ /dev/null @@ -1,273 +0,0 @@ -SUMMARY = "A server-side, HTML-embedded scripting language" -HOMEPAGE = "http://www.php.net" -SECTION = "console/network" - -LICENSE = "PHP-3.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7e571b888d585b31f9ef5edcc647fa30" - -BBCLASSEXTEND = "native" -DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native" -DEPENDS_class-native = "zlib-native libxml2-native" - -PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}" - -SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \ - file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \ - file://debian-php-fixheader.patch \ - file://0001-configure.ac-don-t-include-build-libtool.m4.patch \ - file://0001-php.m4-don-t-unset-cache-variables.patch \ - " - -SRC_URI_append_class-target = " \ - file://iconv.patch \ - file://imap-fix-autofoo.patch \ - file://php_exec_native.patch \ - file://php-fpm.conf \ - file://php-fpm-apache.conf \ - file://70_mod_php${PHP_MAJOR_VERSION}.conf \ - file://php-fpm.service \ - file://pear-makefile.patch \ - file://phar-makefile.patch \ - file://0001-opcache-config.m4-enable-opcache.patch \ - file://xfail_two_bug_tests.patch \ - file://CVE-2020-7070.patch \ - file://CVE-2020-7069.patch \ - " - -S = "${WORKDIR}/php-${PV}" -SRC_URI[md5sum] = "e68a66c54b080d108831f6dc2e1e403d" -SRC_URI[sha256sum] = "2e270958a4216480da7886743438ccc92b6acf32ea96fefda88d07e0a5095deb" - -inherit autotools pkgconfig python3native gettext - -# phpize is not scanned for absolute paths by default (but php-config is). -# -SSTATE_SCAN_FILES += "phpize" -SSTATE_SCAN_FILES += "build-defs.h" - -PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}" - -# Common EXTRA_OECONF -COMMON_EXTRA_OECONF = "--enable-sockets \ - --enable-pcntl \ - --enable-shared \ - --disable-rpath \ - --with-pic \ - --libdir=${PHP_LIBDIR} \ -" -EXTRA_OECONF = "--enable-mbstring \ - --enable-fpm \ - --with-libdir=${baselib} \ - --with-gettext=${STAGING_LIBDIR}/.. \ - --with-zlib=${STAGING_LIBDIR}/.. \ - --with-iconv=${STAGING_LIBDIR}/.. \ - --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \ - --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \ - ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \ - ${COMMON_EXTRA_OECONF} \ -" - -EXTRA_OECONF_append_riscv64 = " --with-pcre-jit=no" -EXTRA_OECONF_append_riscv32 = " --with-pcre-jit=no" - -CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes" - -EXTRA_OECONF_class-native = " \ - --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ - --without-iconv \ - ${COMMON_EXTRA_OECONF} \ -" - -PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \ -" -PACKAGECONFIG_class-native = "" - -PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip" - -PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \ - --with-pdo-mysql=mysqlnd \ - ,--without-mysqli --without-pdo-mysql \ - ,mysql5" - -PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \ - --with-pdo-sqlite=${STAGING_LIBDIR}/.. \ - ,--without-sqlite3 --without-pdo-sqlite \ - ,sqlite3" -PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql" -PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2" -PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2" -PACKAGECONFIG[pam] = ",,libpam" -PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \ - --with-imap-ssl=${STAGING_DIR_HOST} \ - ,--without-imap --without-imap-ssl \ - ,uw-imap" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache" -PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" -PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind" -PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma" -PACKAGECONFIG[mbstring] = "--enable-mbstring,," - -export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}" -export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php" -CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2" - -# Adding these flags enables dynamic library support, which is disabled by -# default when cross compiling -# See https://bugs.php.net/bug.php?id=60109 -CFLAGS += " -DHAVE_LIBDL " -LDFLAGS += " -ldl " - -EXTRA_OEMAKE = "INSTALL_ROOT=${D}" - -acpaths = "" - -do_configure_prepend () { - rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4 - find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!' -} - -do_configure_append() { - # No, libtool, we really don't want rpath set... - sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool - sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool -} - -do_install_append_class-native() { - rm -rf ${D}/${PHP_LIBDIR}/php/.registry - rm -rf ${D}/${PHP_LIBDIR}/php/.channels - rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]* -} - -do_install_prepend() { - cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \ - ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4 -} - -do_install_prepend_class-target() { - if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then - # Install dummy config file so apxs doesn't fail - install -d ${D}${sysconfdir}/apache2 - printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf - fi -} - -# fixme -do_install_append_class-target() { - install -d ${D}${sysconfdir}/ - rm -rf ${D}/.registry - rm -rf ${D}/.channels - rm -rf ${D}/.[a-z]* - rm -rf ${D}/var - rm -f ${D}/${sysconfdir}/php-fpm.conf.default - install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf - install -d ${D}/${sysconfdir}/apache2/conf.d - install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf - install -d ${D}${sysconfdir}/init.d - sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm - sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm - install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm - install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_unitdir}/system/ - sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@LOCALSTATEDIR@,${localstatedir},g' \ - ${D}${systemd_unitdir}/system/php-fpm.service - fi - - if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/apache2/modules.d - install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} - install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d - sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf - cat ${S}/php.ini-production | \ - sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \ - > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini - rm -f ${D}${sysconfdir}/apache2/httpd.conf* - fi -} - -SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess" - -php_sysroot_preprocess () { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ - - sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize - sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config -} - -MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}" - -PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-phpdbg ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}" - -RDEPENDS_${PN} += "libgcc" -RDEPENDS_${PN}-pear = "${PN}" -RDEPENDS_${PN}-phar = "${PN}-cli" -RDEPENDS_${PN}-cli = "${PN}" -RDEPENDS_${PN}-modphp = "${PN} apache2" -RDEPENDS_${PN}-opcache = "${PN}" - -ALLOW_EMPTY_${PN} = "1" - -INITSCRIPT_PACKAGES = "${PN}-fpm" -inherit update-rc.d - -FILES_${PN}-dbg =+ "${bindir}/.debug \ - ${libexecdir}/apache2/modules/.debug" -FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc" -FILES_${PN}-cli = "${bindir}/php" -FILES_${PN}-phpdbg = "${bindir}/phpdbg" -FILES_${PN}-phar = "${bindir}/phar*" -FILES_${PN}-cgi = "${bindir}/php-cgi" -FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default" -FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf" -CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf" -INITSCRIPT_NAME_${PN}-fpm = "php-fpm" -INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60" -FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \ - ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \ - ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \ - ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \ - ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \ - ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \ - ${PHP_LIBDIR}/php/data/PEAR \ - ${sysconfdir}/pear.conf" -FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \ - ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \ - ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \ - ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test" -FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a" -FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}" -FILES_${PN} = "${PHP_LIBDIR}/php" -FILES_${PN} += "${bindir} ${libexecdir}/apache2" - -SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server" -FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}" - -MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}" -RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" -RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" -RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}" - -do_install_append_class-native() { - create_wrapper ${D}${bindir}/php \ - PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ -} - - -# Fails to build with thumb-1 (qemuarm) -# | {standard input}: Assembler messages: -# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3' -# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31' -# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3' -# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31' -# | make: *** [ext/standard/math.lo] Error 1 -ARM_INSTRUCTION_SET = "arm" diff --git a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb index b564e1260..34fca8189 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb @@ -28,6 +28,8 @@ SRC_URI[sha256sum] = "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30 S = "${WORKDIR}/${BPN}${PV}/unix" +PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${BPN}${PV}" + # Short version format: "8.6" VER = "${@os.path.splitext(d.getVar('PV'))[0]}" diff --git a/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.41.bb b/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.41.bb deleted file mode 100644 index 037822781..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.41.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Bitwise terminal calculator" -DESCRIPTION = "Bitwise is multi base interactive calculator \ -supporting dynamic base conversion and bit manipulation.\ -It's a handy tool for low level hackers, \ -kernel developers and device drivers developers." - -HOMEPAGE = "https://github.com/mellowcandle/bitwise" -SECTION = "console/utils" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -SRC_URI = "https://github.com/mellowcandle/bitwise/releases/download/v${PV}/bitwise-v${PV}.tar.gz \ - file://0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch \ - " -SRC_URI[sha256sum] = "33ce934fb99dadf7652224152cc135a0abf6a211adde53d96e9be7067567749c" - -UPSTREAM_CHECK_URI = "https://github.com/mellowcandle/bitwise/releases" - -S = "${WORKDIR}/${BPN}-v${PV}" - -DEPENDS = "ncurses readline" - -inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.42.bb b/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.42.bb new file mode 100644 index 000000000..04d4ca6e4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/bitwise/bitwise_0.42.bb @@ -0,0 +1,24 @@ +SUMMARY = "Bitwise terminal calculator" +DESCRIPTION = "Bitwise is multi base interactive calculator \ +supporting dynamic base conversion and bit manipulation.\ +It's a handy tool for low level hackers, \ +kernel developers and device drivers developers." + +HOMEPAGE = "https://github.com/mellowcandle/bitwise" +SECTION = "console/utils" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI = "https://github.com/mellowcandle/bitwise/releases/download/v${PV}/bitwise-v${PV}.tar.gz \ + file://0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch \ + " +SRC_URI[sha256sum] = "d3d43cef47bf8f49e85f7ed381c3eaf1df921ca51805e0962f1a97a517e1d1d2" + +UPSTREAM_CHECK_URI = "https://github.com/mellowcandle/bitwise/releases" + +S = "${WORKDIR}/${BPN}-v${PV}" + +DEPENDS = "ncurses readline" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.1.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.1.bb deleted file mode 100644 index c382ad87f..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.1.bb +++ /dev/null @@ -1,189 +0,0 @@ -SUMMARY = "Versioned Operating System Repository." -DESCRIPTION = "libostree is both a shared library and suite of command line \ -tools that combines a \"git-like\" model for committing and downloading \ -bootable filesystem trees, along with a layer for deploying them and managing \ -the bootloader configuration." -HOMEPAGE = "https://ostree.readthedocs.io" -LICENSE = "LGPLv2.1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -DEPENDS = " \ - glib-2.0 \ - e2fsprogs \ - libcap \ - zlib \ - xz \ - bison-native \ -" - -# The Yocto mirror has an old export of ostree: -# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz -PREMIRRORS = "" - -SRC_URI = " \ - gitsm://github.com/ostreedev/ostree \ - file://run-ptest \ -" -SRCREV = "e9e4b9112083228b8c385ad26924b6c4623f4179" - -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+)" - -S = "${WORKDIR}/git" - -inherit autotools bash-completion gobject-introspection gtk-doc manpages pkgconfig ptest-gnome systemd - -# Package configuration - match ostree defaults, but without rofiles-fuse -# otherwise we introduce a dependendency on meta-filesystems -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \ - glib \ - gpgme \ - soup \ -" - -# We include soup because ostree can't (currently) be built without -# soup or curl - https://github.com/ostreedev/ostree/issues/1897 -PACKAGECONFIG_class-native ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ - builtin-grub2-mkconfig \ - gpgme \ - soup \ -" - -PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi" -PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig" -PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl" -PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut" -PACKAGECONFIG[glib] = "--with-crypto=glib" -PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs" -PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls" -PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme" -PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive" -PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux" -PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio" -PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2" -PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl" -PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse" -PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux" -PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack" -PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4" -PACKAGECONFIG[static] = "" -PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd" -PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline" - -EXTRA_OECONF = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \ -" - -# Makefile-libostree.am overrides this to avoid a build problem with clang, -# but that fix breaks cross compilation and we don't need it -EXTRA_OEMAKE = " \ - INTROSPECTION_SCANNER_ENV= \ -" - -EXTRA_OECONF_class-native = " \ - --enable-wrpseudo-compat \ - --disable-otmpfile \ -" - -# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the -# do_configure stage so we do depend on it -SYSROOT_DIR = "${STAGING_DIR_TARGET}" -SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}" -do_configure[vardeps] += "SYSROOT_DIR" - -do_configure_prepend() { - # this reflects what autogen.sh does, but the OE wrappers for autoreconf - # allow it to work without the other gyrations which exist there - cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc - cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc -} - -do_install_append_class-native() { - create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator" -} - -PACKAGE_BEFORE_PN = " \ - ${PN}-dracut \ - ${PN}-grub \ - ${PN}-mkinitcpio \ - ${PN}-switchroot \ - ${PN}-trivial-httpd \ -" - -FILES_${PN} += " \ - ${nonarch_libdir}/${BPN} \ - ${nonarch_libdir}/tmpfiles.d \ - ${systemd_unitdir}/system \ - ${systemd_unitdir}/system-generators \ -" -FILES_${PN}-dracut = " \ - ${sysconfdir}/dracut.conf.d \ - ${libdir}/dracut \ -" -FILES_${PN}-grub = " \ - ${sysconfdir}/grub.d \ - ${libexecdir}/libostree/grub2-15_ostree \ -" -FILES_${PN}-mkinitcpio = " \ - ${sysconfdir}/ostree-mkinitcpio.conf \ - ${libdir}/initcpio \ -" -FILES_${PN}-switchroot = " \ - ${nonarch_libdir}/${BPN}/ostree-prepare-root \ - ${systemd_unitdir}/system/ostree-prepare-root.service \ -" -FILES_${PN}-trivial-httpd = " \ - ${libexecdir}/libostree/ostree-trivial-httpd \ -" - -RDEPENDS_${PN} = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \ -" -RDEPENDS_${PN}-dracut = "bash" -RDEPENDS_${PN}-mkinitcpio = "bash" -RDEPENDS_${PN}_class-target = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \ - ${PN}-switchroot \ -" - -# -# Note that to get ptest to pass you also need: -# -# xattr in DISTRO_FEATURES -# static ostree-prepare-root (PACKAGECONFIG_append_pn-ostree = " static") -# meta-python in your layers -# overlayfs in your kernel (KERNEL_EXTRA_FEATURES += "features/overlayfs/overlayfs.scc") -# busybox built statically -# /var/tmp as a real filesystem (not a tmpfs) -# Sufficient disk space (IMAGE_ROOTFS_SIZE = "524288") and RAM (QB_MEM = "-m 1024") -# -RDEPENDS_${PN}-ptest += " \ - attr \ - bash \ - coreutils \ - cpio \ - diffutils \ - findutils \ - grep \ - python3-core \ - python3-multiprocessing \ - strace \ - tar \ - util-linux \ - xz \ - ${PN}-trivial-httpd \ - ${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'python3-pyyaml', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \ -" -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils glibc-localedata-en-us" - -RRECOMMENDS_${PN} += "kernel-module-overlay" - -SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path" -SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.2.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.2.bb new file mode 100644 index 000000000..62467b01d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.2.bb @@ -0,0 +1,189 @@ +SUMMARY = "Versioned Operating System Repository." +DESCRIPTION = "libostree is both a shared library and suite of command line \ +tools that combines a \"git-like\" model for committing and downloading \ +bootable filesystem trees, along with a layer for deploying them and managing \ +the bootloader configuration." +HOMEPAGE = "https://ostree.readthedocs.io" +LICENSE = "LGPLv2.1" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +DEPENDS = " \ + glib-2.0 \ + e2fsprogs \ + libcap \ + zlib \ + xz \ + bison-native \ +" + +# The Yocto mirror has an old export of ostree: +# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz +PREMIRRORS = "" + +SRC_URI = " \ + gitsm://github.com/ostreedev/ostree \ + file://run-ptest \ +" +SRCREV = "6a72674ec621a2282043c3a083fe1e45cd6a8761" + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+)" + +S = "${WORKDIR}/git" + +inherit autotools bash-completion gobject-introspection gtk-doc manpages pkgconfig ptest-gnome systemd + +# Package configuration - match ostree defaults, but without rofiles-fuse +# otherwise we introduce a dependendency on meta-filesystems +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \ + glib \ + gpgme \ + soup \ +" + +# We include soup because ostree can't (currently) be built without +# soup or curl - https://github.com/ostreedev/ostree/issues/1897 +PACKAGECONFIG_class-native ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \ + builtin-grub2-mkconfig \ + gpgme \ + soup \ +" + +PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi" +PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig" +PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl" +PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut" +PACKAGECONFIG[glib] = "--with-crypto=glib" +PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs" +PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls" +PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme" +PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive" +PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux" +PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio" +PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2" +PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl" +PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse" +PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux" +PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack" +PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4" +PACKAGECONFIG[static] = "" +PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd" +PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline" + +EXTRA_OECONF = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \ +" + +# Makefile-libostree.am overrides this to avoid a build problem with clang, +# but that fix breaks cross compilation and we don't need it +EXTRA_OEMAKE = " \ + INTROSPECTION_SCANNER_ENV= \ +" + +EXTRA_OECONF_class-native = " \ + --enable-wrpseudo-compat \ + --disable-otmpfile \ +" + +# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the +# do_configure stage so we do depend on it +SYSROOT_DIR = "${STAGING_DIR_TARGET}" +SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}" +do_configure[vardeps] += "SYSROOT_DIR" + +do_configure_prepend() { + # this reflects what autogen.sh does, but the OE wrappers for autoreconf + # allow it to work without the other gyrations which exist there + cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc + cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc +} + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator" +} + +PACKAGE_BEFORE_PN = " \ + ${PN}-dracut \ + ${PN}-grub \ + ${PN}-mkinitcpio \ + ${PN}-switchroot \ + ${PN}-trivial-httpd \ +" + +FILES_${PN} += " \ + ${nonarch_libdir}/${BPN} \ + ${nonarch_libdir}/tmpfiles.d \ + ${systemd_unitdir}/system \ + ${systemd_unitdir}/system-generators \ +" +FILES_${PN}-dracut = " \ + ${sysconfdir}/dracut.conf.d \ + ${libdir}/dracut \ +" +FILES_${PN}-grub = " \ + ${sysconfdir}/grub.d \ + ${libexecdir}/libostree/grub2-15_ostree \ +" +FILES_${PN}-mkinitcpio = " \ + ${sysconfdir}/ostree-mkinitcpio.conf \ + ${libdir}/initcpio \ +" +FILES_${PN}-switchroot = " \ + ${nonarch_libdir}/${BPN}/ostree-prepare-root \ + ${systemd_unitdir}/system/ostree-prepare-root.service \ +" +FILES_${PN}-trivial-httpd = " \ + ${libexecdir}/libostree/ostree-trivial-httpd \ +" + +RDEPENDS_${PN} = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \ +" +RDEPENDS_${PN}-dracut = "bash" +RDEPENDS_${PN}-mkinitcpio = "bash" +RDEPENDS_${PN}_class-target = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \ + ${PN}-switchroot \ +" + +# +# Note that to get ptest to pass you also need: +# +# xattr in DISTRO_FEATURES +# static ostree-prepare-root (PACKAGECONFIG_append_pn-ostree = " static") +# meta-python in your layers +# overlayfs in your kernel (KERNEL_EXTRA_FEATURES += "features/overlayfs/overlayfs.scc") +# busybox built statically +# /var/tmp as a real filesystem (not a tmpfs) +# Sufficient disk space (IMAGE_ROOTFS_SIZE = "524288") and RAM (QB_MEM = "-m 1024") +# +RDEPENDS_${PN}-ptest += " \ + attr \ + bash \ + coreutils \ + cpio \ + diffutils \ + findutils \ + grep \ + python3-core \ + python3-multiprocessing \ + strace \ + tar \ + util-linux \ + xz \ + ${PN}-trivial-httpd \ + python3-pyyaml \ + ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \ +" +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils glibc-localedata-en-us" + +RRECOMMENDS_${PN} += "kernel-module-overlay" + +SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path" +SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.1.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.1.bb deleted file mode 100644 index 89990df3d..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.1.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Redis key-value store" -DESCRIPTION = "Redis is an open source, advanced key-value store." -HOMEPAGE = "http://redis.io" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2" -DEPENDS = "readline lua ncurses" - -SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ - file://redis.conf \ - file://init-redis-server \ - file://redis.service \ - file://hiredis-use-default-CC-if-it-is-set.patch \ - file://lua-update-Makefile-to-use-environment-build-setting.patch \ - file://oe-use-libc-malloc.patch \ - file://0001-src-Do-not-reset-FINAL_LIBS.patch \ - file://GNU_SOURCE.patch \ - file://0006-Define-correct-gregs-for-RISCV32.patch \ - " -SRC_URI[sha256sum] = "cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520" - -inherit autotools-brokensep update-rc.d systemd useradd - -FINAL_LIBS_x86_toolchain-clang = "-latomic" -FINAL_LIBS_riscv32_toolchain-clang = "-latomic" -FINAL_LIBS_mips = "-latomic" -FINAL_LIBS_arm = "-latomic" -FINAL_LIBS_powerpc = "-latomic" - -export FINAL_LIBS - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" -GROUPADD_PARAM_${PN} = "--system redis" - -REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" - -do_compile_prepend() { - (cd deps && oe_runmake hiredis lua linenoise) -} - -do_install() { - export PREFIX=${D}/${prefix} - oe_runmake install - install -d ${D}/${sysconfdir}/redis - install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server - install -d ${D}/var/lib/redis/ - chown redis.redis ${D}/var/lib/redis/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service - - if [ "${REDIS_ON_SYSTEMD}" = true ]; then - sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf - fi -} - -CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" - -INITSCRIPT_NAME = "redis-server" -INITSCRIPT_PARAMS = "defaults 87" - -SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.2.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.2.bb new file mode 100644 index 000000000..65b525709 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.2.bb @@ -0,0 +1,66 @@ +SUMMARY = "Redis key-value store" +DESCRIPTION = "Redis is an open source, advanced key-value store." +HOMEPAGE = "http://redis.io" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2" +DEPENDS = "readline lua ncurses" + +SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ + file://redis.conf \ + file://init-redis-server \ + file://redis.service \ + file://hiredis-use-default-CC-if-it-is-set.patch \ + file://lua-update-Makefile-to-use-environment-build-setting.patch \ + file://oe-use-libc-malloc.patch \ + file://0001-src-Do-not-reset-FINAL_LIBS.patch \ + file://GNU_SOURCE.patch \ + file://0006-Define-correct-gregs-for-RISCV32.patch \ + " +SRC_URI[sha256sum] = "7a260bb74860f1b88c3d5942bf8ba60ca59f121c6dce42d3017bed6add0b9535" + +inherit autotools-brokensep update-rc.d systemd useradd + +FINAL_LIBS_x86_toolchain-clang = "-latomic" +FINAL_LIBS_riscv32_toolchain-clang = "-latomic" +FINAL_LIBS_mips = "-latomic" +FINAL_LIBS_arm = "-latomic" +FINAL_LIBS_powerpc = "-latomic" + +export FINAL_LIBS + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" +GROUPADD_PARAM_${PN} = "--system redis" + +REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" + +do_compile_prepend() { + (cd deps && oe_runmake hiredis lua linenoise) +} + +do_install() { + export PREFIX=${D}/${prefix} + oe_runmake install + install -d ${D}/${sysconfdir}/redis + install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server + install -d ${D}/var/lib/redis/ + chown redis.redis ${D}/var/lib/redis/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service + + if [ "${REDIS_ON_SYSTEMD}" = true ]; then + sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf + fi +} + +CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" + +INITSCRIPT_NAME = "redis-server" +INITSCRIPT_PARAMS = "defaults 87" + +SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb deleted file mode 100644 index 921124024..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb +++ /dev/null @@ -1,205 +0,0 @@ -SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd" -DESCRIPTION = "\ -Rsyslog is an enhanced syslogd supporting, among others, MySQL,\ - PostgreSQL, failover log destinations, syslog/tcp, fine grain\ - output format control, high precision timestamps, queued operations\ - and the ability to filter on any message part. It is quite\ - compatible to stock sysklogd and can be used as a drop-in replacement.\ - Its advanced features make it suitable for enterprise-class,\ - encryption protected syslog relay chains while at the same time being\ - very easy to setup for the novice user." - -DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging" -HOMEPAGE = "http://www.rsyslog.com/" -LICENSE = "GPLv3 & LGPLv3 & Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \ - file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \ - file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\ -" - -SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \ - file://initscript \ - file://rsyslog.conf \ - file://rsyslog.logrotate \ - file://rsyslog.service \ - file://use-pkgconfig-to-check-libgcrypt.patch \ - file://run-ptest \ - file://0001-tests-disable-the-check-for-inotify.patch \ -" - -SRC_URI_append_libc-musl = " \ - file://0001-Include-sys-time-h.patch \ -" - -SRC_URI[md5sum] = "1f6150dfd2ef38db37c2165e98d2f2b1" -SRC_URI[sha256sum] = "94ee0d0312c2edea737665594cbe4a9475e4e3b593e12b5b8ae3a743ac9c72a7" - -UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" - -inherit autotools pkgconfig systemd update-rc.d ptest - -EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes" -EXTRA_OECONF += "--enable-imfile-tests" -EXTRA_OECONF_remove_mipsarch = "ap_cv_atomic_builtins=yes" -EXTRA_OECONF_remove_powerpc = "ap_cv_atomic_builtins=yes" -EXTRA_OECONF_remove_riscv32 = "ap_cv_atomic_builtins=yes" - -# first line is default yes in configure -PACKAGECONFIG ??= " \ - rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \ - fmhttp imdiag gnutls imfile \ - ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \ -" - -# default yes in configure -PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp," -PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,," -PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,," -PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl," -PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,," -PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,," -PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,," -PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," -PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt," -PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,," - -# default no in configure -PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," -PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,," -PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,," -PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp," -PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," -PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal," -PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse," -PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," -PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," -PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," -PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," -PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind," -PACKAGECONFIG[imhttp] = "--enable-imhttp,--disable-imhttp,civetweb," - - -TESTDIR = "tests" -do_compile_ptest() { - echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - # install the tests - cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} - cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} - - # give permissions to all users - # some tests need to write to this directory as user 'daemon' - chmod 777 -R ${D}${PTEST_PATH}/tests - - # do NOT need to rebuild Makefile itself - sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - # do NOT need to rebuild $(check_PROGRAMS) - sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # fix the srcdir, top_srcdir - sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - # fix the abs_top_builddir - sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # install test-driver - install -m 644 ${S}/test-driver ${D}${PTEST_PATH} - - # install necessary links - install -d ${D}${PTEST_PATH}/tools - ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd - - install -d ${D}${PTEST_PATH}/runtime - install -d ${D}${PTEST_PATH}/runtime/.libs - ( - cd ${D}/${libdir}/rsyslog - allso="*.so" - for i in $allso; do - ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i - done - ) - - # fix the module load path with runtime/.libs - find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \ - sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g' - # fix the python3 path for tests/set-envar - sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/tests/set-envvars -} - -do_install_append() { - install -d "${D}${sysconfdir}/init.d" - install -d "${D}${sysconfdir}/logrotate.d" - install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog - install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf - install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog - sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog - - if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then - install -d 0755 ${D}${sysconfdir}/rsyslog.d - echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf - fi - if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then - install -d 0755 ${D}${sysconfdir}/rsyslog.d - echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf - fi - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 644 ${WORKDIR}/rsyslog.service ${D}${systemd_system_unitdir} - sed -i -e "s,@sbindir@,${sbindir},g" ${D}${systemd_system_unitdir}/rsyslog.service - fi -} - -FILES_${PN} += "${bindir}" - -INITSCRIPT_NAME = "syslog" -INITSCRIPT_PARAMS = "defaults" - -CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf" - -RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${BPN}.service" - -RDEPENDS_${PN} += "logrotate" - -# for rsyslog-ptest -VALGRIND = "valgrind" - -# valgrind supports armv7 and above -VALGRIND_armv4 = '' -VALGRIND_armv5 = '' -VALGRIND_armv6 = '' - -# X32 isn't supported by valgrind at this time -VALGRIND_linux-gnux32 = '' -VALGRIND_linux-muslx32 = '' - -# Disable for some MIPS variants -VALGRIND_mipsarchr6 = '' -VALGRIND_linux-gnun32 = '' - -# Disable for powerpc64 with musl -VALGRIND_libc-musl_powerpc64 = '' -VALGRIND_libc-musl_powerpc64le = '' - -# RISC-V support for valgrind is not there yet -VALGRIND_riscv64 = "" -VALGRIND_riscv32 = "" - -# util-linux: logger needs the -d option -RDEPENDS_${PN}-ptest += "\ - make diffutils gzip bash gawk coreutils procps \ - libgcc python3-core python3-io python3-json \ - curl util-linux shadow \ - " - -RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2104.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2104.0.bb new file mode 100644 index 000000000..3f1ec91ab --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2104.0.bb @@ -0,0 +1,205 @@ +SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd" +DESCRIPTION = "\ +Rsyslog is an enhanced syslogd supporting, among others, MySQL,\ + PostgreSQL, failover log destinations, syslog/tcp, fine grain\ + output format control, high precision timestamps, queued operations\ + and the ability to filter on any message part. It is quite\ + compatible to stock sysklogd and can be used as a drop-in replacement.\ + Its advanced features make it suitable for enterprise-class,\ + encryption protected syslog relay chains while at the same time being\ + very easy to setup for the novice user." + +DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging" +HOMEPAGE = "http://www.rsyslog.com/" +LICENSE = "GPLv3 & LGPLv3 & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \ + file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \ + file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\ +" + +SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \ + file://initscript \ + file://rsyslog.conf \ + file://rsyslog.logrotate \ + file://rsyslog.service \ + file://use-pkgconfig-to-check-libgcrypt.patch \ + file://run-ptest \ + file://0001-tests-disable-the-check-for-inotify.patch \ +" + +SRC_URI_append_libc-musl = " \ + file://0001-Include-sys-time-h.patch \ +" + +SRC_URI[md5sum] = "a0213c989bce297944901e1a85286b8b" +SRC_URI[sha256sum] = "710981c3c34f88d5d1fb55ecfc042aecad8af69414b2b1602b304f4dedbf9f43" + +UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)" + +inherit autotools pkgconfig systemd update-rc.d ptest + +EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes" +EXTRA_OECONF += "--enable-imfile-tests" +EXTRA_OECONF_remove_mipsarch = "ap_cv_atomic_builtins=yes" +EXTRA_OECONF_remove_powerpc = "ap_cv_atomic_builtins=yes" +EXTRA_OECONF_remove_riscv32 = "ap_cv_atomic_builtins=yes" + +# first line is default yes in configure +PACKAGECONFIG ??= " \ + rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \ + fmhttp imdiag gnutls imfile \ + ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \ +" + +# default yes in configure +PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp," +PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,," +PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,," +PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl," +PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,," +PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,," +PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,," +PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux," +PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt," +PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,," + +# default no in configure +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," +PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,," +PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,," +PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp," +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls," +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd," +PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal," +PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse," +PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," +PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," +PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," +PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," +PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind," +PACKAGECONFIG[imhttp] = "--enable-imhttp,--disable-imhttp,civetweb," + + +TESTDIR = "tests" +do_compile_ptest() { + echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + # install the tests + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + + # give permissions to all users + # some tests need to write to this directory as user 'daemon' + chmod 777 -R ${D}${PTEST_PATH}/tests + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + # do NOT need to rebuild $(check_PROGRAMS) + sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # fix the srcdir, top_srcdir + sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + # fix the abs_top_builddir + sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # install test-driver + install -m 644 ${S}/test-driver ${D}${PTEST_PATH} + + # install necessary links + install -d ${D}${PTEST_PATH}/tools + ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd + + install -d ${D}${PTEST_PATH}/runtime + install -d ${D}${PTEST_PATH}/runtime/.libs + ( + cd ${D}/${libdir}/rsyslog + allso="*.so" + for i in $allso; do + ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i + done + ) + + # fix the module load path with runtime/.libs + find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \ + sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g' + # fix the python3 path for tests/set-envar + sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/tests/set-envvars +} + +do_install_append() { + install -d "${D}${sysconfdir}/init.d" + install -d "${D}${sysconfdir}/logrotate.d" + install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog + install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf + install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog + sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog + + if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then + install -d 0755 ${D}${sysconfdir}/rsyslog.d + echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf + fi + if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then + install -d 0755 ${D}${sysconfdir}/rsyslog.d + echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf + fi + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 644 ${WORKDIR}/rsyslog.service ${D}${systemd_system_unitdir} + sed -i -e "s,@sbindir@,${sbindir},g" ${D}${systemd_system_unitdir}/rsyslog.service + fi +} + +FILES_${PN} += "${bindir}" + +INITSCRIPT_NAME = "syslog" +INITSCRIPT_PARAMS = "defaults" + +CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf" + +RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${BPN}.service" + +RDEPENDS_${PN} += "logrotate" + +# for rsyslog-ptest +VALGRIND = "valgrind" + +# valgrind supports armv7 and above +VALGRIND_armv4 = '' +VALGRIND_armv5 = '' +VALGRIND_armv6 = '' + +# X32 isn't supported by valgrind at this time +VALGRIND_linux-gnux32 = '' +VALGRIND_linux-muslx32 = '' + +# Disable for some MIPS variants +VALGRIND_mipsarchr6 = '' +VALGRIND_linux-gnun32 = '' + +# Disable for powerpc64 with musl +VALGRIND_libc-musl_powerpc64 = '' +VALGRIND_libc-musl_powerpc64le = '' + +# RISC-V support for valgrind is not there yet +VALGRIND_riscv64 = "" +VALGRIND_riscv32 = "" + +# util-linux: logger needs the -d option +RDEPENDS_${PN}-ptest += "\ + make diffutils gzip bash gawk coreutils procps \ + libgcc python3-core python3-io python3-json \ + curl util-linux shadow \ + " + +RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init index ccc3aafe3..28082f7ff 100755 --- a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init @@ -24,3 +24,8 @@ modprobe -q zram || true zramctl -a ${ZRAM_ALGORITHM} -s ${memzram}KB $device mkswap -L "zram-swap" $device + +devname="${device##*/}" +if [ ! -z ${ZRAM_SIZE_LIMIT+x} ]; then + echo ${ZRAM_SIZE_LIMIT} > /sys/block/$devname/mem_limit +fi diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch index 4e875ba82..5a42e67d0 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch @@ -1,29 +1,30 @@ -From c3460d63f0b6cd50b9a64265f420f0439e12a1d5 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Tue, 25 Apr 2017 01:36:44 -0400 -Subject: [PATCH 2/4] do not build tests sub directory +From 076d0e12a7be6cd2108e4ca0dcde1cb658918fa5 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 19 Apr 2021 23:02:45 -0700 +Subject: [PATCH] do not build tests sub directory -Upstream-Status: Inappropriate [oe specific] +Upstream-Status: Inappropriate [OE Specific] -Signed-off-by: Hongxu Jia +Signed-off-by: Hongxu Jia +Signed-off-by: Chen Qi --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 94ec2ef..fb72a00 100644 +index 7bf99441..bda80598 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -300,9 +300,6 @@ if(BUILD_VIEWER) +@@ -304,9 +304,6 @@ if(BUILD_VIEWER) add_subdirectory(media) endif() -add_subdirectory(tests) - - - include(cmake/BuildPackages.cmake) + add_subdirectory(release) # uninstall -- -2.7.4 +2.30.2 diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch index 97b0a388a..5f14665b8 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch @@ -1,44 +1,34 @@ -From 9563b69640227da2220ee0c39077afb736cc96d1 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Thu, 20 Jul 2017 17:12:17 +0800 -Subject: [PATCH 4/4] tigervnc: add fPIC option to COMPILE_FLAGS +From 7f8acd59bb2e54f9be25a98dd71534700a9e355a Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 19 Apr 2021 23:14:28 -0700 +Subject: [PATCH] tigervnc: add fPIC option to COMPILE_FLAGS -The static libraries in Xregion/network/rdr/rfb were linked by shared +The static libraries in network/rdr/rfb were linked by shared library libvnc.so, so we should add fPIC option to COMPILE_FLAGS to fix relocation issue. Upstream-Status: Pending Signed-off-by: Hongxu Jia +Signed-off-by: Chen Qi --- - common/Xregion/CMakeLists.txt | 1 + common/network/CMakeLists.txt | 1 + common/rdr/CMakeLists.txt | 1 + common/rfb/CMakeLists.txt | 1 + - 4 files changed, 4 insertions(+) + 3 files changed, 3 insertions(+) -diff --git a/common/Xregion/CMakeLists.txt b/common/Xregion/CMakeLists.txt -index 40ca97e..9411328 100644 ---- a/common/Xregion/CMakeLists.txt -+++ b/common/Xregion/CMakeLists.txt -@@ -3,4 +3,5 @@ add_library(Xregion STATIC - - if(UNIX) - libtool_create_control_file(Xregion) -+ set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC) - endif() diff --git a/common/network/CMakeLists.txt b/common/network/CMakeLists.txt -index b624c8e..6c06ec9 100644 +index d00ca452..e84e0290 100644 --- a/common/network/CMakeLists.txt +++ b/common/network/CMakeLists.txt -@@ -9,4 +9,5 @@ endif() +@@ -16,4 +16,5 @@ endif() if(UNIX) libtool_create_control_file(network) + set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC) endif() diff --git a/common/rdr/CMakeLists.txt b/common/rdr/CMakeLists.txt -index 989ba2f..20f6489 100644 +index 989ba2f4..20f6489d 100644 --- a/common/rdr/CMakeLists.txt +++ b/common/rdr/CMakeLists.txt @@ -27,4 +27,5 @@ target_link_libraries(rdr ${RDR_LIBRARIES}) @@ -48,15 +38,15 @@ index 989ba2f..20f6489 100644 + set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC) endif() diff --git a/common/rfb/CMakeLists.txt b/common/rfb/CMakeLists.txt -index 5047e5e..88838ab 100644 +index fc5a37bf..7f5ce131 100644 --- a/common/rfb/CMakeLists.txt +++ b/common/rfb/CMakeLists.txt -@@ -98,4 +98,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES}) +@@ -99,4 +99,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES}) if(UNIX) libtool_create_control_file(rfb) + set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC) endif() -- -2.7.4 +2.30.2 diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb deleted file mode 100644 index f97c2b2d6..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb +++ /dev/null @@ -1,130 +0,0 @@ -DESCRIPTION = "TigerVNC remote display system" -HOMEPAGE = "http://www.tigervnc.com/" -LICENSE = "GPLv2+" -SECTION = "x11/utils" -DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk" -RDEPENDS_${PN} = "coreutils hicolor-icon-theme perl" - -LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" - -S = "${WORKDIR}/git" - -inherit features_check -REQUIRED_DISTRO_FEATURES = "x11" - -inherit autotools cmake -B = "${S}" - -SRCREV = "4739493b635372bd40a34640a719f79fa90e4dba" - -SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.10-branch \ - file://0002-do-not-build-tests-sub-directory.patch \ - file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ - file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ -" - -# Keep sync with xorg-server in oe-core -XORG_PN ?= "xorg-server" -XORG_PV ?= "1.20.6" -SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg" -XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}" -SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b" -SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1" - -# It is the directory containing the Xorg source for the -# machine on which you are building TigerVNC. -XSERVER_SOURCE_DIR="${S}/unix/xserver" - -do_patch[postfuncs] += "do_patch_xserver" -do_patch_xserver () { - for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do - install -d ${XSERVER_SOURCE_DIR}/$subdir - done - - for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do - install -d ${XSERVER_SOURCE_DIR}/$subdir - done - - sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \ - hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \ - hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in" - for i in ${sources}; do - install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i; - done - - cd ${XORG_S} - find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \ - xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -) - - cd ${XSERVER_SOURCE_DIR} - xserverpatch="${S}/unix/xserver120.patch" - echo "Apply $xserverpatch" - patch -p1 -b --suffix .vnc < $xserverpatch -} - -EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ - --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ - --disable-static --disable-xinerama \ - --with-xkb-output=${localstatedir}/lib/xkb \ - --disable-glx --disable-dri --disable-dri2 \ - --disable-config-hal \ - --disable-config-udev \ - --without-dtrace \ - --disable-unit-tests \ - --disable-devel-docs \ - --disable-selective-werror \ - --disable-xshmfence \ - --disable-config-udev \ - --disable-dri3 \ - --disable-libunwind \ - --without-xmlto \ - --enable-systemd-logind=no \ - --disable-xinerama \ - --disable-xwayland \ -" - -do_configure_append () { - olddir=`pwd` - cd ${XSERVER_SOURCE_DIR} - - rm -rf aclocal-copy/ - rm -f aclocal.m4 - - export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy" - mkdir -p ${ACLOCALDIR}/ - if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then - cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/ - fi - if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then - cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/ - fi - ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed." - chmod +x ./configure - ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} - cd $olddir -} - -do_compile_append () { - olddir=`pwd` - cd ${XSERVER_SOURCE_DIR} - - oe_runmake - - cd $olddir -} - -do_install_append() { - olddir=`pwd` - cd ${XSERVER_SOURCE_DIR}/hw/vnc - - oe_runmake 'DESTDIR=${D}' install - - cd $olddir -} - -FILES_${PN} += " \ - ${libdir}/xorg/modules/extensions \ - ${datadir}/icons \ -" - -FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb new file mode 100644 index 000000000..c45fc028f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb @@ -0,0 +1,133 @@ +DESCRIPTION = "TigerVNC remote display system" +HOMEPAGE = "http://www.tigervnc.com/" +LICENSE = "GPLv2+" +SECTION = "x11/utils" +DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk libpam" +RDEPENDS_${PN} = "coreutils hicolor-icon-theme perl bash" + +LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3" + +S = "${WORKDIR}/git" + +inherit features_check +REQUIRED_DISTRO_FEATURES = "x11 pam" + +inherit autotools cmake +B = "${S}" + +SRCREV = "540bfc3278e396321124d4b18a798ac2bc18b6ca" + +SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.11-branch \ + file://0002-do-not-build-tests-sub-directory.patch \ + file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ + file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ +" + +# Keep sync with xorg-server in oe-core +XORG_PN ?= "xorg-server" +XORG_PV ?= "1.20.6" +SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg" +XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}" +SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b" +SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1" + +# It is the directory containing the Xorg source for the +# machine on which you are building TigerVNC. +XSERVER_SOURCE_DIR="${S}/unix/xserver" + +do_patch[postfuncs] += "do_patch_xserver" +do_patch_xserver () { + for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do + install -d ${XSERVER_SOURCE_DIR}/$subdir + done + + for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do + install -d ${XSERVER_SOURCE_DIR}/$subdir + done + + sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \ + hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \ + hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in" + for i in ${sources}; do + install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i; + done + + cd ${XORG_S} + find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \ + xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -) + + cd ${XSERVER_SOURCE_DIR} + xserverpatch="${S}/unix/xserver120.patch" + echo "Apply $xserverpatch" + patch -p1 -b --suffix .vnc < $xserverpatch +} + +EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ + --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ + --disable-static --disable-xinerama \ + --with-xkb-output=${localstatedir}/lib/xkb \ + --disable-glx --disable-dri --disable-dri2 \ + --disable-config-hal \ + --disable-config-udev \ + --without-dtrace \ + --disable-unit-tests \ + --disable-devel-docs \ + --disable-selective-werror \ + --disable-xshmfence \ + --disable-config-udev \ + --disable-dri3 \ + --disable-libunwind \ + --without-xmlto \ + --enable-systemd-logind=no \ + --disable-xinerama \ + --disable-xwayland \ +" + +EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}" + +do_configure_append () { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR} + + rm -rf aclocal-copy/ + rm -f aclocal.m4 + + export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy" + mkdir -p ${ACLOCALDIR}/ + if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then + cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/ + fi + if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then + cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/ + fi + ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed." + chmod +x ./configure + ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF} + cd $olddir +} + +do_compile_append () { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR} + + oe_runmake + + cd $olddir +} + +do_install_append() { + olddir=`pwd` + cd ${XSERVER_SOURCE_DIR}/hw/vnc + + oe_runmake 'DESTDIR=${D}' install + + cd $olddir +} + +FILES_${PN} += " \ + ${libdir}/xorg/modules/extensions \ + ${datadir}/icons \ + ${systemd_unitdir} \ +" + +FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug" diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.22.bb b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.22.bb index 5d3508857..326818eef 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.22.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.22.bb @@ -23,9 +23,10 @@ UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases" inherit autotools pkgconfig -PACKAGECONFIG ??= "debounce dejitter iir linear median pthres skip lowpass invert variance input touchkit waveshare" +PACKAGECONFIG ??= "debounce dejitter evthres iir linear median pthres skip lowpass invert variance input touchkit waveshare" PACKAGECONFIG[debounce] = "--enable-debounce,--disable-debounce" PACKAGECONFIG[dejitter] = "--enable-dejitter,--disable-dejitter" +PACKAGECONFIG[evthres] = "--enable-evthres,--disable-evthres" PACKAGECONFIG[iir] = "--enable-iir,--disable-iir" PACKAGECONFIG[linear] = "--enable-linear,--disable-linear" PACKAGECONFIG[median] = "--enable-median,--disable-median" @@ -49,6 +50,7 @@ PACKAGECONFIG[arctic2] = "--enable-arctic2,--disable-arctic2" PACKAGECONFIG[dmc_dus3000] = "--enable-dmc_dus3000,--disable-dmc_dus3000" PACKAGECONFIG[cy8mrln-palmpre] = "--enable-cy8mrln-palmpre,--disable-cy8mrln-palmpre" PACKAGECONFIG[galax] = "--enable-galax,--disable-galax" +PACKAGECONFIG[one-wire-ts-input] = "--enable-one-wire-ts-input,--disable-one-wire-ts-input" PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" do_install_prepend() { diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch deleted file mode 100644 index 4f3c7554c..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f9906a3a1b7f1ade7a6c4e1a8aa67cb3a5e663a9 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 3 Mar 2021 11:33:15 -0800 -Subject: [PATCH] Do not error on uninitialized warnings - -code in verifier.cc violates C/C++ aliasing rules so code should be -perhaps changed to use a union - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - external/amber/src/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/external/amber/src/CMakeLists.txt b/external/amber/src/CMakeLists.txt -index 80a0df7..4323c81 100644 ---- a/external/amber/src/CMakeLists.txt -+++ b/external/amber/src/CMakeLists.txt -@@ -133,6 +133,7 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - -Werror - -Wextra - -Wno-unknown-pragmas -+ -Wno-error=uninitialized - -Wpedantic - -pedantic-errors) - elseif(MSVC) --- -2.30.1 diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch new file mode 100644 index 000000000..746497d04 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Include-limits-header-for-numeric_limits.patch @@ -0,0 +1,88 @@ +From aec0be857ed3faef8802c7fd61f3d7798a565108 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 29 Apr 2021 16:03:42 -0700 +Subject: [PATCH] Include header for numeric_limits + +Fixes +vulkancts/framework/vulkan/vkRayTracingUtil.hpp:116:32: error: 'numeric_limits' is not a member of 'std' + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + framework/vulkan/vkRayTracingUtil.hpp | 1 + + modules/vulkan/api/vktApiBufferTests.cpp | 1 + + modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp | 2 ++ + 3 files changed, 4 insertions(+) + +--- a/framework/vulkan/vkRayTracingUtil.hpp ++++ b/framework/vulkan/vkRayTracingUtil.hpp +@@ -33,6 +33,7 @@ + #include "tcuVector.hpp" + #include "tcuVectorType.hpp" + ++#include + #include + + namespace vk +--- a/modules/vulkan/api/vktApiBufferTests.cpp ++++ b/modules/vulkan/api/vktApiBufferTests.cpp +@@ -35,6 +35,7 @@ + #include "tcuPlatform.hpp" + + #include ++#include + + namespace vkt + { +--- a/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp ++++ b/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp +@@ -28,6 +28,8 @@ + #include "vktSpvAsmComputeShaderCase.hpp" + #include "vktSpvAsmGraphicsShaderTestUtil.hpp" + ++#include ++ + namespace vkt + { + namespace SpirVAssembly +--- a/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp ++++ b/modules/vulkan/memory/vktMemoryDeviceMemoryReportTests.cpp +@@ -40,6 +40,7 @@ + + #include "deSharedPtr.hpp" + ++#include + #include + #include + +--- a/modules/vulkan/draw/vktDrawDepthClampTests.cpp ++++ b/modules/vulkan/draw/vktDrawDepthClampTests.cpp +@@ -38,6 +38,7 @@ + #include "vkQueryUtil.hpp" + #include "tcuTextureUtil.hpp" + ++#include + #include + + namespace vkt +--- a/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp ++++ b/modules/vulkan/wsi/vktWsiFullScreenExclusiveTests.cpp +@@ -39,6 +39,8 @@ + #include "tcuPlatform.hpp" + #include "tcuCommandLine.hpp" + ++#include ++ + #if ( DE_OS == DE_OS_WIN32 ) + #define NOMINMAX + #define WIN32_LEAN_AND_MEAN +--- a/modules/vulkan/synchronization/vktSynchronizationUtil.cpp ++++ b/modules/vulkan/synchronization/vktSynchronizationUtil.cpp +@@ -21,6 +21,7 @@ + * \brief Synchronization tests utilities + *//*--------------------------------------------------------------------*/ + ++#include + #include "vktSynchronizationUtil.hpp" + #include "vkTypeUtil.hpp" + #include "vkCmdUtil.hpp" diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch new file mode 100644 index 000000000..6c87cad0a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch @@ -0,0 +1,73 @@ +From 9cd614dd5481a4fdf552effac4820f51a10092c7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mika=20V=C3=A4in=C3=B6l=C3=A4?= + <33728696+mvainola@users.noreply.github.com> +Date: Wed, 7 Apr 2021 13:12:17 +0300 +Subject: [PATCH] Workaround for GCC 11 uninit variable warnings (#946) + +Building Amber with GCC 11.0.1 produces some uninitialized variable +warnings. This commit works around them by replacing +reinterpret_cast with memcpy when type punning unsigned integers to +floats. + +Upstream-Status: Backport [https://github.com/google/amber/commit/aa69a0ac23ea7f68dd32bbef210546a5d84c1734] +--- + src/float16_helper.cc | 22 ++++++++++++++++------ + 1 file changed, 16 insertions(+), 6 deletions(-) + +diff --git a/src/float16_helper.cc b/src/float16_helper.cc +index 617bd72..5cb35e7 100644 +--- a/src/float16_helper.cc ++++ b/src/float16_helper.cc +@@ -15,6 +15,7 @@ + #include "src/float16_helper.h" + + #include ++#include + + // Float10 + // | 9 8 7 6 5 | 4 3 2 1 0 | +@@ -75,8 +76,11 @@ float HexFloat16ToFloat(const uint8_t* value) { + } + + uint32_t hex = sign | exponent | mantissa; +- float* hex_float = reinterpret_cast(&hex); +- return *hex_float; ++ float hex_float; ++ static_assert((sizeof(uint32_t) == sizeof(float)), ++ "sizeof(uint32_t) != sizeof(float)"); ++ memcpy(&hex_float, &hex, sizeof(float)); ++ return hex_float; + } + + // Convert float |value| whose size is 11 bits to 32 bits float +@@ -89,8 +93,11 @@ float HexFloat11ToFloat(const uint8_t* value) { + uint32_t mantissa = (static_cast(value[0]) & 0x3f) << 17U; + + uint32_t hex = exponent | mantissa; +- float* hex_float = reinterpret_cast(&hex); +- return *hex_float; ++ float hex_float; ++ static_assert((sizeof(uint32_t) == sizeof(float)), ++ "sizeof(uint32_t) != sizeof(float)"); ++ memcpy(&hex_float, &hex, sizeof(float)); ++ return hex_float; + } + + // Convert float |value| whose size is 10 bits to 32 bits float +@@ -103,8 +110,11 @@ float HexFloat10ToFloat(const uint8_t* value) { + uint32_t mantissa = (static_cast(value[0]) & 0x1f) << 18U; + + uint32_t hex = exponent | mantissa; +- float* hex_float = reinterpret_cast(&hex); +- return *hex_float; ++ float hex_float; ++ static_assert((sizeof(uint32_t) == sizeof(float)), ++ "sizeof(uint32_t) != sizeof(float)"); ++ memcpy(&hex_float, &hex, sizeof(float)); ++ return hex_float; + } + + } // namespace +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch index b4573b38b..ea7659c69 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch @@ -1,7 +1,5 @@ -Index: git/external/glslang/src/glslang/Include/PoolAlloc.h -=================================================================== ---- git.orig/external/glslang/src/glslang/Include/PoolAlloc.h -+++ git/external/glslang/src/glslang/Include/PoolAlloc.h +--- a/external/glslang/src/glslang/Include/PoolAlloc.h ++++ b/external/glslang/src/glslang/Include/PoolAlloc.h @@ -240,8 +240,9 @@ protected: int numCalls; // just an interesting statistic diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch index 4116ae7d1..99cb87b30 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch @@ -1,19 +1,15 @@ -Index: git/framework/delibs/dethread/CMakeLists.txt -=================================================================== ---- git.orig/framework/delibs/dethread/CMakeLists.txt -+++ git/framework/delibs/dethread/CMakeLists.txt -@@ -39,6 +39,7 @@ include_directories( - - if (DE_OS_IS_UNIX) - add_definitions(-D_GNU_SOURCE) +--- a/framework/delibs/dethread/CMakeLists.txt ++++ b/framework/delibs/dethread/CMakeLists.txt +@@ -42,6 +42,7 @@ if (DE_OS_IS_UNIX) + add_definitions(-D__BSD_VISIBLE) + add_definitions(-D_XOPEN_SOURCE=600) + endif () + add_definitions(-D_XOPEN_SOURCE=600) - set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread) - endif () + add_definitions(-D_GNU_SOURCE) -Index: git/framework/qphelper/CMakeLists.txt -=================================================================== ---- git.orig/framework/qphelper/CMakeLists.txt -+++ git/framework/qphelper/CMakeLists.txt + set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread) +--- a/framework/qphelper/CMakeLists.txt ++++ b/framework/qphelper/CMakeLists.txt @@ -28,6 +28,7 @@ set(QPHELPER_LIBS if (DE_OS_IS_UNIX OR DE_OS_IS_QNX) # For vsnprintf() diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc index e64a935dd..d0f0e2342 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc @@ -22,6 +22,10 @@ REQUIRED_DISTRO_FEATURES += "opengl" DEPENDS += "libpng zlib virtual/libgles2 virtual/egl" +SRC_URI += "file://0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch;patchdir=external/amber/src \ + file://0001-Include-limits-header-for-numeric_limits.patch;patchdir=external/vulkancts \ +" + SRC_URI_append_libc-musl = "\ file://fix-musl.patch \ " diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb deleted file mode 100644 index 184547aa7..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "OpenGL CTS" - -require khronos-cts.inc -# opengl-es-cts-3.2.6.1 -SRCREV_vk-gl-cts = "7e023f81b4fff54b558882fe739d7c959d0a02a8" -SRCREV_amber = "d26ee22dd7faab1845a531d410f7ec1db407402a" -SRCREV_glslang = "c538b5d796fb24dd418fdd650c7f76e56bcc3dd8" -SRCREV_spirv-headers = "e4322e3be589e1ddd44afb20ea842a977c1319b8" -SRCREV_spirv-tools = "1eb89172a82b436d8037e8a8c29c80f7e1f7df74" -SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" - -SRC_URI += "file://0001-Do-not-error-on-uninitialized-warnings.patch" - -S = "${WORKDIR}/git" - -do_install() { - install -d ${D}/${CTSDIR} - cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR} - - install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR} - install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR} - - rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles - rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles - rm -r ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles -} - -SECURITY_CFLAGS_riscv64 = "${SECURITY_NOPIE_CFLAGS}" -LTO = "" - diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb new file mode 100644 index 000000000..a67992ee9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.7.0.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "OpenGL CTS" + +require khronos-cts.inc +# opengl-es-cts-3.2.7.0 +SRCREV_vk-gl-cts = "7cba7113c40f2ff03573c8c2c90661b2249e04fa" +SRCREV_amber = "4d0115cccfcb3b73d20b6513b1c40748e6403c50" +SRCREV_glslang = "ffccefddfd9a02ec0c0b6dd04ef5e1042279c97f" +SRCREV_spirv-headers = "104ecc356c1bea4476320faca64440cd1df655a3" +SRCREV_spirv-tools = "cd590fa3341284cd6d1ee82366155786cfd44c96" +SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}/${CTSDIR} + cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR} + + install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR} + install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR} + + rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles + rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles + rm -r ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles +} + +SECURITY_CFLAGS_riscv64 = "${SECURITY_NOPIE_CFLAGS}" +LTO = "" + diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb deleted file mode 100644 index f07b12dec..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "Vulkan CTS" - -require khronos-cts.inc -# vulkan-cts-1.2.3.2 -SRCREV_vk-gl-cts = "5cd2240b60825fbbf6bd9ddda6af176ee3100c70" -SRCREV_amber = "a40bef4dba98d2d80b48e5a940d8574fbfceb197" -SRCREV_glslang = "b5f003d7a3ece37db45578a8a3140b370036fc64" -SRCREV_spirv-headers = "f8bf11a0253a32375c32cad92c841237b96696c0" -SRCREV_spirv-tools = "d2b486219495594f2e5d0e8d457fc234a3460b3b" -SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" - -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = "vulkan" -inherit features_check - -DEPENDS += " vulkan-loader" - -do_install() { - install -d ${D}/${CTSDIR} - cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ - rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles - rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles -} diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb new file mode 100644 index 000000000..f816c1bd1 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.6.0.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Vulkan CTS" + +require khronos-cts.inc +# vulkan-cts-1.2.6.0 +SRCREV_vk-gl-cts = "2cab49df5ad25a2d0061152367a21c6da83ed097" +SRCREV_amber = "dabae26164714abf951c6815a2b4513260f7c6a4" +SRCREV_glslang = "5c4f421121c4d24aad23a507e630dc5dc6c92c7c" +SRCREV_spirv-headers = "faa570afbc91ac73d594d787486bcf8f2df1ace0" +SRCREV_spirv-tools = "f11f7434815838bbad349124767b258ce7df41f0" +SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" +inherit features_check + +DEPENDS += " vulkan-loader" + +do_install() { + install -d ${D}/${CTSDIR} + cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/ + rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles + rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles +} diff --git a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb deleted file mode 100644 index d5288c7b7..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb +++ /dev/null @@ -1,53 +0,0 @@ -DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \ -server for multi-processor machines. It is a new implementation of the \ -JACK server core features that aims in removing some limitations of \ -the JACK1 design. The activation system has been changed for a data \ -flow model and lock-free programming techniques for graph access have \ -been used to have a more dynamic and robust system." -SECTION = "libs/multimedia" - -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \ - file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \ -" - -DEPENDS = "libsamplerate0 libsndfile1 readline" - -SRC_URI = "git://github.com/jackaudio/jack2.git \ - file://0001-example-clients-Use-c-compiler-for-jack_simdtests.patch \ - " -SRCREV = "9e23888b8def6527774889cf4ef6348fb78c7154" - -S = "${WORKDIR}/git" - -inherit waf pkgconfig - -PACKAGECONFIG ??= "alsa" -PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib" -# --dbus only stops building jackd -> add --classic -PACKAGECONFIG[dbus] = "--dbus --classic,,dbus" -PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus" - -# portaudio is for windows builds only -EXTRA_OECONF = "--portaudio=no" - -do_install_append() { - if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then - rm -f ${D}${bindir}/jack_control - fi -} - -PACKAGES =+ "libjack jack-server jack-utils" - -RDEPENDS_jack-dev_remove = "${PN} (= ${EXTENDPKGV})" - -FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so" -FILES_jack-server = " \ - ${datadir}/dbus-1/services \ - ${bindir}/jackdbus \ - ${bindir}/jackd \ -" -FILES_jack-utils = "${bindir}/*" - -FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.18.bb b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.18.bb new file mode 100644 index 000000000..038e9ce11 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.18.bb @@ -0,0 +1,53 @@ +DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \ +server for multi-processor machines. It is a new implementation of the \ +JACK server core features that aims in removing some limitations of \ +the JACK1 design. The activation system has been changed for a data \ +flow model and lock-free programming techniques for graph access have \ +been used to have a more dynamic and robust system." +SECTION = "libs/multimedia" + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \ + file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \ +" + +DEPENDS = "libsamplerate0 libsndfile1 readline" + +SRC_URI = "git://github.com/jackaudio/jack2.git \ + file://0001-example-clients-Use-c-compiler-for-jack_simdtests.patch \ + " +SRCREV = "5041ab0fe7fb719efa5122386d355397289a91f0" + +S = "${WORKDIR}/git" + +inherit waf pkgconfig + +PACKAGECONFIG ??= "alsa" +PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib" +# --dbus only stops building jackd -> add --classic +PACKAGECONFIG[dbus] = "--dbus --classic,,dbus" +PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus" + +# portaudio is for windows builds only +EXTRA_OECONF = "--portaudio=no" + +do_install_append() { + if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then + rm -f ${D}${bindir}/jack_control + fi +} + +PACKAGES =+ "libjack jack-server jack-utils" + +RDEPENDS_jack-dev_remove = "${PN} (= ${EXTENDPKGV})" + +FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so" +FILES_jack-server = " \ + ${datadir}/dbus-1/services \ + ${bindir}/jackdbus \ + ${bindir}/jackd \ +" +FILES_jack-utils = "${bindir}/*" + +FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb deleted file mode 100644 index 65f5b6adf..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "DVD access multimeda library" -SECTION = "libs/multimedia" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" - -SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" -SRC_URI[md5sum] = "09c7423568fb679279fd2a2bc6b10b6e" -SRC_URI[sha256sum] = "3e357309a17c5be3731385b9eabda6b7e3fa010f46022a06f104553bf8e21796" - -inherit autotools lib_package binconfig pkgconfig - -CONFIGUREOPTS_remove = "--disable-silent-rules" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.2.bb b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.2.bb new file mode 100644 index 000000000..ed7443dfd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.2.bb @@ -0,0 +1,12 @@ +SUMMARY = "DVD access multimeda library" +SECTION = "libs/multimedia" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" + +SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" +SRC_URI[md5sum] = "034581479968405ed415c34a50d00224" +SRC_URI[sha256sum] = "cc190f553758ced7571859e301f802cb4821f164d02bfacfd320c14a4e0da763" + +inherit autotools lib_package binconfig pkgconfig + +CONFIGUREOPTS_remove = "--disable-silent-rules" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0008-configure.ac-autodetect-availability-of-systemd.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0008-configure.ac-autodetect-availability-of-systemd.patch new file mode 100644 index 000000000..5aec3c574 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0008-configure.ac-autodetect-availability-of-systemd.patch @@ -0,0 +1,47 @@ +From 3f61e353424fb9ea3dce742022b94dfd7ea1ed9f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ulrich=20=C3=96lmann?= +Date: Thu, 4 Mar 2021 14:23:39 +0100 +Subject: [PATCH] configure.ac: autodetect availability of systemd +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Import systemd's official suggestion [1] how this should be handled in packages +using autoconf. A side effect of this is the removal of the hardcoded fallback +path "/lib/systemd/system" which leaks build host information when cross +compiling v4l-utils and therefore defeats reproducible builds. + +[1] https://www.freedesktop.org/software/systemd/man/daemon.html#Installing%20systemd%20Service%20Files + +Upstream-Status: Backport [https://git.linuxtv.org/v4l-utils.git/commit/?id=3f61e353424fb9ea3dce742022b94dfd7ea1ed9f] + +Signed-off-by: Ulrich Ölmann +Signed-off-by: Sean Young +--- + configure.ac | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 727730c5ccf4..8470116df4b1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -388,7 +388,15 @@ AC_ARG_WITH(udevdir, + AC_ARG_WITH(systemdsystemunitdir, + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [set systemd system unit directory]), + [], +- [with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd || echo /lib/systemd/system`]) ++ [with_systemdsystemunitdir=auto]) ++AS_IF([test "x$with_systemdsystemunitdir" = "xyes" -o "x$with_systemdsystemunitdir" = "xauto"], ++ [def_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) ++ AS_IF([test "x$def_systemdsystemunitdir" = "x"], ++ [AS_IF([test "x$with_systemdsystemunitdir" = "xyes"], ++ [AC_MSG_ERROR([systemd support requested but pkg-config unable to query systemd package])]) ++ with_systemdsystemunitdir=no], ++ [with_systemdsystemunitdir="$def_systemdsystemunitdir"])]) ++AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$with_systemdsystemunitdir" != "xno"]) + + # Generic check: works with most distributions + def_gconv_dir=`for i in /lib64 /usr/lib64 /usr/local/lib64 /lib /usr/lib /usr/local/lib; do if @<:@ -d \$i/gconv @:>@; then echo \$i/gconv; break; fi; done` +-- +2.29.2 + diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0009-keytable-restrict-installation-of-50-rc_keymap.conf.patch b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0009-keytable-restrict-installation-of-50-rc_keymap.conf.patch new file mode 100644 index 000000000..63a695f8f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0009-keytable-restrict-installation-of-50-rc_keymap.conf.patch @@ -0,0 +1,40 @@ +From 01f2c6c58e6f4441df7df8e27eb7919f1f01e310 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ulrich=20=C3=96lmann?= +Date: Thu, 4 Mar 2021 14:23:40 +0100 +Subject: [PATCH] keytable: restrict installation of 50-rc_keymap.conf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It is only needed if BPF is effectively used and the package is compiled for a +systemd based target. + +Upstream-Status: Backport [https://git.linuxtv.org/v4l-utils.git/commit/?id=01f2c6c58e6f4441df7df8e27eb7919f1f01e310] + +Signed-off-by: Ulrich Ölmann +Signed-off-by: Sean Young +--- + utils/keytable/Makefile.am | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/utils/keytable/Makefile.am b/utils/keytable/Makefile.am +index c5eb414acf2f..eee61f0e0551 100644 +--- a/utils/keytable/Makefile.am ++++ b/utils/keytable/Makefile.am +@@ -3,9 +3,13 @@ man_MANS = ir-keytable.1 rc_keymap.5 + sysconf_DATA = rc_maps.cfg + keytablesystem_DATA = $(srcdir)/rc_keymaps/* + udevrules_DATA = 70-infrared.rules ++if WITH_BPF ++if HAVE_SYSTEMD + if HAVE_UDEVDSYSCALLFILTER + systemdsystemunit_DATA = 50-rc_keymap.conf + endif ++endif ++endif + + ir_keytable_SOURCES = keytable.c parse.h ir-encode.c ir-encode.h toml.c toml.h keymap.c keymap.h + +-- +2.29.2 + diff --git a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb index 3e92d49b4..2261feb56 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb @@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ PROVIDES = "libv4l media-ctl" DEPENDS = "jpeg \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" DEPENDS_append_libc-musl = " argp-standalone" DEPENDS_append_class-target = " udev" LDFLAGS_append = " -pthread" @@ -21,13 +22,14 @@ SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \ file://export-mediactl-headers.patch \ file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \ file://0007-Do-not-use-getsubopt.patch \ + file://0008-configure.ac-autodetect-availability-of-systemd.patch \ + file://0009-keytable-restrict-installation-of-50-rc_keymap.conf.patch \ " SRC_URI[md5sum] = "46f9e2c0b2fdccd009da2f7e1aa87894" SRC_URI[sha256sum] = "956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7" EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev \ - --disable-v4l2-compliance-32 --disable-v4l2-ctl-32 \ - --with-systemdsystemunitdir=${systemd_system_unitdir}" + --disable-v4l2-compliance-32 --disable-v4l2-ctl-32" VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps" @@ -37,8 +39,7 @@ RPROVIDES_${PN}-dbg += "libv4l-dbg" FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*" -FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules \ - ${systemd_system_unitdir}/systemd-udevd.service.d/50-rc_keymap.conf" +FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules" RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}" FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*" diff --git a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb deleted file mode 100644 index fab626c61..000000000 --- a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb +++ /dev/null @@ -1,44 +0,0 @@ -DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \ - The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \ - It includes all features of 4.4BSD C shell, plus a command-line editor, \ - programmable word completion, spelling correction and more." - -HOMEPAGE = "http://www.tcsh.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://Copyright;md5=575cf2715c3bf894e1f79aec1d4eaaf5" -SECTION = "base" -DEPENDS = "ncurses virtual/crypt gettext-native" -SRC_URI = " \ - https://astron.com/pub/${BPN}/${BP}.tar.gz \ - file://0001-Enable-system-malloc-on-all-linux.patch \ - file://0002-Add-debian-csh-scripts.patch \ -" -SRC_URI[md5sum] = "c9387b7c8cf958956e75b1fa4e59b612" -SRC_URI[sha256sum] = "be2cfd653d2a0c7f506d2dd14c12324ba749bd484037be6df44a3973f52262b7" - -EXTRA_OEMAKE += "CC_FOR_GETHOST='${BUILD_CC}'" -inherit autotools - -do_compile_prepend() { - oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' gethost -} - -do_install_append () { - oe_runmake install.man DESTDIR=${D} - - install -d ${D}${base_bindir} - ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh - ln -s /usr/bin/tcsh ${D}${base_bindir}/csh - install -d ${D}${sysconfdir}/csh/login.d - install -m 0644 ${S}/csh.cshrc ${S}/csh.login ${S}/csh.logout ${S}/complete.tcsh ${D}${sysconfdir} - install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el -} - -FILES_${PN} += "${datadir}/emacs/site-lisp/csh-mode.el" - - -pkg_postinst_${PN} () { -#!/bin/sh -e -echo /usr/bin/tcsh >> $D/etc/shells -echo /usr/bin/csh >> $D/etc/shells -} diff --git a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb new file mode 100644 index 000000000..f74f582e3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb @@ -0,0 +1,44 @@ +DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \ + The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \ + It includes all features of 4.4BSD C shell, plus a command-line editor, \ + programmable word completion, spelling correction and more." + +HOMEPAGE = "http://www.tcsh.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://Copyright;md5=575cf2715c3bf894e1f79aec1d4eaaf5" +SECTION = "base" +DEPENDS = "ncurses virtual/crypt gettext-native" +SRC_URI = " \ + https://astron.com/pub/${BPN}/${BP}.tar.gz \ + file://0001-Enable-system-malloc-on-all-linux.patch \ + file://0002-Add-debian-csh-scripts.patch \ +" +SRC_URI[md5sum] = "fa2b347fa9ae866eb036e6e4bb85fe1a" +SRC_URI[sha256sum] = "eb16356243218c32f39e07258d72bf8b21e62ce94bb0e8a95e318b151397e231" + +EXTRA_OEMAKE += "CC_FOR_GETHOST='${BUILD_CC}'" +inherit autotools + +do_compile_prepend() { + oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' gethost +} + +do_install_append () { + oe_runmake install.man DESTDIR=${D} + + install -d ${D}${base_bindir} + ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh + ln -s /usr/bin/tcsh ${D}${base_bindir}/csh + install -d ${D}${sysconfdir}/csh/login.d + install -m 0644 ${S}/csh.cshrc ${S}/csh.login ${S}/csh.logout ${S}/complete.tcsh ${D}${sysconfdir} + install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el +} + +FILES_${PN} += "${datadir}/emacs/site-lisp/csh-mode.el" + + +pkg_postinst_${PN} () { +#!/bin/sh -e +echo /usr/bin/tcsh >> $D/etc/shells +echo /usr/bin/csh >> $D/etc/shells +} diff --git a/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb b/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb index 3aab65bf5..aa372b70a 100644 --- a/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb +++ b/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb @@ -38,7 +38,7 @@ EXTRA_OEMAKE = "-e MAKEFLAGS=" ALTERNATIVE_${PN} = "sh" ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}" -ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_PRIORITY = "90" export AUTOHEADER = "true" diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb index e3157ec42..01629f416 100644 --- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb @@ -4,8 +4,9 @@ HOMEPAGE = "https://www.gnu.org/software/emacs/" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" -SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz" - +SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz \ + file://emacs-glibc-2.34.patch \ + " SRC_URI_append_class-target = " file://usemake-docfile-native.patch" SRC_URI[sha256sum] = "b4a7cc4e78e63f378624e0919215b910af5bb2a0afc819fad298272e9f40c1b9" diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/files/emacs-glibc-2.34.patch b/meta-openembedded/meta-oe/recipes-support/emacs/files/emacs-glibc-2.34.patch new file mode 100644 index 000000000..6d764aa26 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/emacs/files/emacs-glibc-2.34.patch @@ -0,0 +1,40 @@ +From f97e07ea807cc6d38774a3888a15091b20645ac6 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 9 Mar 2021 11:22:59 -0800 +Subject: [PATCH] Port alternate signal stack to upcoming glibc 2.34 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* src/sysdep.c (sigsegv_stack): Increase size to 64 KiB and align +it to max_align_t. This copies from Gnulib’s c-stack.c, and works +around a portability bug in draft glibc 2.34, which no longer +defines SIGSTKSZ when _GNU_SOURCE is defined. +--- + src/sysdep.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/sysdep.c b/src/sysdep.c +index 941b4e2fa2..24d8832b2f 100644 +--- a/src/sysdep.c ++++ b/src/sysdep.c +@@ -1785,7 +1785,15 @@ handle_arith_signal (int sig) + + /* Alternate stack used by SIGSEGV handler below. */ + +-static unsigned char sigsegv_stack[SIGSTKSZ]; ++/* Storage for the alternate signal stack. ++ 64 KiB is not too large for Emacs, and is large enough ++ for all known platforms. Smaller sizes may run into trouble. ++ For example, libsigsegv 2.6 through 2.8 have a bug where some ++ architectures use more than the Linux default of an 8 KiB alternate ++ stack when deciding if a fault was caused by stack overflow. */ ++static max_align_t sigsegv_stack[(64 * 1024 ++ + sizeof (max_align_t) - 1) ++ / sizeof (max_align_t)]; + + + /* Return true if SIGINFO indicates a stack overflow. */ +-- +2.29.2 + diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch new file mode 100644 index 000000000..faf349b0b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch @@ -0,0 +1,170 @@ +From 4ae9904a10f61ed60f4d4ee02eb1994a95664d7b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 22 Apr 2021 22:48:59 -0700 +Subject: [PATCH] replace uint32 with uint32_t and uint16 with uint16_6 + +uint16 and uint32 are now deprecated in libtiff and suggestion is to use +standard C99 types + +Upstream-Status: Submitted [https://github.com/libgd/libgd/pull/694] +Signed-off-by: Khem Raj +--- + src/gd_tiff.c | 52 +++++++++++++++++++++++++-------------------------- + 1 file changed, 26 insertions(+), 26 deletions(-) + +diff --git a/src/gd_tiff.c b/src/gd_tiff.c +index b22ee6c..699d719 100644 +--- a/src/gd_tiff.c ++++ b/src/gd_tiff.c +@@ -237,10 +237,10 @@ void tiffWriter(gdImagePtr image, gdIOCtx *out, int bitDepth) + int transparentColorR = -1; + int transparentColorG = -1; + int transparentColorB = -1; +- uint16 extraSamples[1]; +- uint16 *colorMapRed = NULL; +- uint16 *colorMapGreen = NULL; +- uint16 *colorMapBlue = NULL; ++ uint16_t extraSamples[1]; ++ uint16_t *colorMapRed = NULL; ++ uint16_t *colorMapGreen = NULL; ++ uint16_t *colorMapBlue = NULL; + + tiff_handle *th; + +@@ -292,18 +292,18 @@ void tiffWriter(gdImagePtr image, gdIOCtx *out, int bitDepth) + + /* build the color map for 8 bit images */ + if(bitDepth != 24) { +- colorMapRed = (uint16 *) gdMalloc(3 * (1 << bitsPerSample)); ++ colorMapRed = (uint16_t *) gdMalloc(3 * (1 << bitsPerSample)); + if (!colorMapRed) { + gdFree(th); + return; + } +- colorMapGreen = (uint16 *) gdMalloc(3 * (1 << bitsPerSample)); ++ colorMapGreen = (uint16_t *) gdMalloc(3 * (1 << bitsPerSample)); + if (!colorMapGreen) { + gdFree(colorMapRed); + gdFree(th); + return; + } +- colorMapBlue = (uint16 *) gdMalloc(3 * (1 << bitsPerSample)); ++ colorMapBlue = (uint16_t *) gdMalloc(3 * (1 << bitsPerSample)); + if (!colorMapBlue) { + gdFree(colorMapRed); + gdFree(colorMapGreen); +@@ -448,7 +448,7 @@ BGD_DECLARE(void) gdImageTiffCtx(gdImagePtr image, gdIOCtx *out) + /* Check if we are really in 8bit mode */ + static int checkColorMap(n, r, g, b) + int n; +-uint16 *r, *g, *b; ++uint16_t *r, *g, *b; + { + while (n-- > 0) + if (*r++ >= 256 || *g++ >= 256 || *b++ >= 256) +@@ -460,8 +460,8 @@ uint16 *r, *g, *b; + /* Read and convert a TIFF colormap */ + static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometric) + { +- uint16 *redcmap, *greencmap, *bluecmap; +- uint16 bps; ++ uint16_t *redcmap, *greencmap, *bluecmap; ++ uint16_t bps; + int i; + + if (is_bw) { +@@ -473,7 +473,7 @@ static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometri + gdImageColorAllocate(im, 255,255,255); + } + } else { +- uint16 min_sample_val, max_sample_val; ++ uint16_t min_sample_val, max_sample_val; + + if (!TIFFGetField(tif, TIFFTAG_MINSAMPLEVALUE, &min_sample_val)) { + min_sample_val = 0; +@@ -515,7 +515,7 @@ static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometri + + static void readTiffBw (const unsigned char *src, + gdImagePtr im, +- uint16 photometric, ++ uint16_t photometric, + int startx, + int starty, + int width, +@@ -547,7 +547,7 @@ static void readTiffBw (const unsigned char *src, + + static void readTiff8bit (const unsigned char *src, + gdImagePtr im, +- uint16 photometric, ++ uint16_t photometric, + int startx, + int starty, + int width, +@@ -634,10 +634,10 @@ static void readTiff8bit (const unsigned char *src, + } + } + +-static int createFromTiffTiles(TIFF *tif, gdImagePtr im, uint16 bps, uint16 photometric, ++static int createFromTiffTiles(TIFF *tif, gdImagePtr im, uint16_t bps, uint16_t photometric, + char has_alpha, char is_bw, int extra) + { +- uint16 planar; ++ uint16_t planar; + int im_width, im_height; + int tile_width, tile_height; + int x, y, height, width; +@@ -682,11 +682,11 @@ end: + return success; + } + +-static int createFromTiffLines(TIFF *tif, gdImagePtr im, uint16 bps, uint16 photometric, ++static int createFromTiffLines(TIFF *tif, gdImagePtr im, uint16_t bps, uint16_t photometric, + char has_alpha, char is_bw, int extra) + { +- uint16 planar; +- uint32 im_height, im_width, y; ++ uint16_t planar; ++ uint32_t im_height, im_width, y; + + unsigned char *buffer; + int success = GD_SUCCESS; +@@ -761,11 +761,11 @@ static int createFromTiffRgba(TIFF * tif, gdImagePtr im) + int color; + int width = im->sx; + int height = im->sy; +- uint32 *buffer; +- uint32 rgba; ++ uint32_t *buffer; ++ uint32_t rgba; + int success; + +- buffer = (uint32 *) gdCalloc(sizeof(uint32), width * height); ++ buffer = (uint32_t *) gdCalloc(sizeof(uint32_t), width * height); + if (!buffer) { + return GD_FAILURE; + } +@@ -810,11 +810,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffCtx(gdIOCtx *infile) + TIFF *tif; + tiff_handle *th; + +- uint16 bps, spp, photometric; +- uint16 orientation; ++ uint16_t bps, spp, photometric; ++ uint16_t orientation; + int width, height; +- uint16 extra, *extra_types; +- uint16 planar; ++ uint16_t extra, *extra_types; ++ uint16_t planar; + char has_alpha, is_bw, is_gray; + char force_rgba = FALSE; + char save_transparent; +@@ -867,7 +867,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffCtx(gdIOCtx *infile) + } + + if (!TIFFGetField (tif, TIFFTAG_PHOTOMETRIC, &photometric)) { +- uint16 compression; ++ uint16_t compression; + if (TIFFGetField(tif, TIFFTAG_COMPRESSION, &compression) && + (compression == COMPRESSION_CCITTFAX3 || + compression == COMPRESSION_CCITTFAX4 || diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb index 37896415e..4e95fa954 100644 --- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb @@ -14,7 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8e5bc8627b9494741c905d65238c66b7" DEPENDS = "freetype libpng jpeg zlib tiff" SRC_URI = "git://github.com/libgd/libgd.git;branch=master \ - " + file://0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch \ + " SRCREV = "2e40f55bfb460fc9d8cbcd290a0c9eb908d5af7e" diff --git a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb deleted file mode 100644 index 66c48da3b..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application" -HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/" -LICENSE = "LGPL-2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=57d09285feac8a64efa878e692b14f36" -SECTION = "net" - -DEPENDS = "file" - -SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz" -SRC_URI[md5sum] = "2a286193af88ab2ae3149748d4b46187" -SRC_URI[sha256sum] = "0ae825f8e0d7f41201fd44a0df1cf454c1cb0bc50fe9d59c26552260264c2ff8" - -inherit autotools lib_package pkgconfig gettext - -CFLAGS += "-pthread -D_REENTRANT" - -EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../" - -PACKAGECONFIG ?= "curl https" -PACKAGECONFIG_append_class-target = "\ - ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \ -" -PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,," -PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl," -PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls," - -do_compile_append() { - sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.1.bb b/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.1.bb deleted file mode 100644 index 004c93d0f..000000000 --- a/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.1.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Remote delta-compression library." -AUTHOR = "Martin Pool, Andrew Tridgell, Donovan Baarda, Adam Schubert" - -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" - -SRC_URI = "git://github.com/librsync/librsync.git" -SRCREV = "27f738650c20fef1285f11d85a34e5094a71c06f" -S = "${WORKDIR}/git" - -DEPENDS = "popt" - -inherit cmake - -PACKAGES =+ "rdiff" -FILES_rdiff = "${bindir}/rdiff" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.2.bb b/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.2.bb new file mode 100644 index 000000000..f1997136a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/librsync/librsync_2.3.2.bb @@ -0,0 +1,18 @@ +SUMMARY = "Remote delta-compression library." +AUTHOR = "Martin Pool, Andrew Tridgell, Donovan Baarda, Adam Schubert" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" + +SRC_URI = "git://github.com/librsync/librsync.git" +SRCREV = "42b636d2a65ab6914ea7cac50886da28192aaf9b" +S = "${WORKDIR}/git" + +DEPENDS = "popt" + +inherit cmake + +PACKAGES =+ "rdiff" +FILES_rdiff = "${bindir}/rdiff" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc index 6618e21f3..ccb4f7ac1 100644 --- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc @@ -21,12 +21,11 @@ SRC_URI = "git://sourceware.org/git/lvm2.git;branch=main \ SRCREV = "3e8bd8d1bd70691f09a170785836aeb4f83154e6" S = "${WORKDIR}/git" -inherit autotools-brokensep pkgconfig systemd license +inherit autotools-brokensep pkgconfig systemd LVM2_PACKAGECONFIG = "dmeventd" LVM2_PACKAGECONFIG_append_class-target = " \ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ - ${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \ " # odirect is always enabled because there currently is a bug in @@ -39,6 +38,7 @@ PACKAGECONFIG[dmeventd] = "--enable-dmeventd,--disable-dmeventd" PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct" PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline" PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" +# NOTE: Add thin-provisioning-tools only if your distro policy allows GPL-3.0 license PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools" # Unset user/group to unbreak install. @@ -55,4 +55,3 @@ EXTRA_OECONF = "--with-user= \ --with-thin-repair=${sbindir}/thin_repair \ --with-thin-restore=${sbindir}/thin_restore \ " - diff --git a/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb b/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb deleted file mode 100644 index 69e1788e9..000000000 --- a/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Helper application and MIME type associations for file types" -HOMEPAGE = "https://pagure.io/mailcap" -DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \ -mailcap file to determine how it should display non-text or multimedia \ -material. Basically, mailcap associates a particular type of file \ -with a particular program that a mail agent or other program can call \ -in order to handle the file. Mailcap should be installed to allow \ -certain programs to be able to handle non-text files. \ -\ -Also included in this package is the mime.types file which contains a \ -list of MIME types and their filename extension associations, used \ -by several applications e.g. to determine MIME types for filenames." - -SECTION = "System Environment/Base" - -LICENSE = "PD & MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=8dce08227d135cfda1f19d4c0c6689de" - -SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz" - -SRC_URI[md5sum] = "3d1a14a80bb85564c323562670f1c01f" -SRC_URI[sha256sum] = "e6f615ec2ffe705522075d960744534c443ece66acfb34fada38d567d8823639" - -inherit update-alternatives - -do_install() { - oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir} -} - -ALTERNATIVE_${PN} = "mime.types" -ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types" diff --git a/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.53.bb b/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.53.bb new file mode 100644 index 000000000..c3cd57fb6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/mailcap/mailcap_2.1.53.bb @@ -0,0 +1,31 @@ +SUMMARY = "Helper application and MIME type associations for file types" +HOMEPAGE = "https://pagure.io/mailcap" +DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \ +mailcap file to determine how it should display non-text or multimedia \ +material. Basically, mailcap associates a particular type of file \ +with a particular program that a mail agent or other program can call \ +in order to handle the file. Mailcap should be installed to allow \ +certain programs to be able to handle non-text files. \ +\ +Also included in this package is the mime.types file which contains a \ +list of MIME types and their filename extension associations, used \ +by several applications e.g. to determine MIME types for filenames." + +SECTION = "System Environment/Base" + +LICENSE = "PD & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=8dce08227d135cfda1f19d4c0c6689de" + +SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz" + +SRC_URI[md5sum] = "ee02da867389d290923cc138487176f9" +SRC_URI[sha256sum] = "5eea2ef17b304977ba3ecb87afad4319fa0440f825e4f6fba6e8fa2ffeb88785" + +inherit update-alternatives + +do_install() { + oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir} +} + +ALTERNATIVE_${PN} = "mime.types" +ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types" diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb deleted file mode 100644 index ab2c43d01..000000000 --- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.63.bb +++ /dev/null @@ -1,283 +0,0 @@ -SUMMARY = "Mozilla's SSL and TLS implementation" -DESCRIPTION = "Network Security Services (NSS) is a set of libraries \ -designed to support cross-platform development of \ -security-enabled client and server applications. \ -Applications built with NSS can support SSL v2 and v3, \ -TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \ -v3 certificates, and other security standards." -HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/" -SECTION = "libs" - -DEPENDS = "sqlite3 nspr zlib nss-native" -DEPENDS_class-native = "sqlite3-native nspr-native zlib-native" - -LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)" - -LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ - file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \ - file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132" - -VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}" - -SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \ - file://nss.pc.in \ - file://0001-nss-fix-support-cross-compiling.patch \ - file://nss-no-rpath-for-cross-compiling.patch \ - file://nss-fix-incorrect-shebang-of-perl.patch \ - file://disable-Wvarargs-with-clang.patch \ - file://pqg.c-ULL_addend.patch \ - file://blank-cert9.db \ - file://blank-key4.db \ - file://system-pkcs11.txt \ - file://nss-fix-nsinstall-build.patch \ - file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ - " -SRC_URI[sha256sum] = "182d2fef629102ae9423aabf2c192242b565cf5098e82c5a26cf70c5e4ea2221" - -UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" -UPSTREAM_CHECK_REGEX = "NSS_(?P.+)_release_notes" - -inherit siteinfo - -TD = "${S}/tentative-dist" -TDS = "${S}/tentative-dist-staging" - -# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a -# which caused -march conflicts in gcc -TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_configure_prepend_libc-musl () { - sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk -} - -do_configure_prepend_powerpc64le_toolchain-clang () { - sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk -} - -do_configure_prepend_powerpc64_toolchain-clang () { - sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk -} - -do_compile_prepend_class-native() { - export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr - export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE} -} - -do_compile_prepend_class-nativesdk() { - export LDFLAGS="" -} - -do_compile_prepend_class-native() { - # Need to set RPATH so that chrpath will do its job correctly - RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" -} - -do_compile() { - export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr - - export CROSS_COMPILE=1 - export NATIVE_CC="${BUILD_CC}" - # Additional defines needed on Centos 7 - export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" - export BUILD_OPT=1 - - # POSIX.1-2001 states that the behaviour of getcwd() when passing a null - # pointer as the buf argument, is unspecified. - export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC" - - export FREEBL_NO_DEPEND=1 - export FREEBL_LOWHASH=1 - - export LIBDIR=${libdir} - export MOZILLA_CLIENT=1 - export NS_USE_GCC=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - - ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} - - export OS_RELEASE=3.4 - export OS_TARGET=Linux - export OS_ARCH=Linux - - if [ "${TARGET_ARCH}" = "powerpc" ]; then - OS_TEST=ppc - elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then - OS_TEST=ppc64 - elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then - OS_TEST=mips - elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then - OS_TEST="aarch64" - else - OS_TEST="${TARGET_ARCH}" - fi - - if [ "${SITEINFO_BITS}" = "64" ]; then - export USE_64=1 - elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then - export USE_X32=1 - fi - - export NSS_DISABLE_GTESTS=1 - # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99420 - export NSS_ENABLE_WERROR=0 - # We can modify CC in the environment, but if we set it via an - # argument to make, nsinstall, a host program, will also build with it! - # - # nss pretty much does its own thing with CFLAGS, so we put them into CC. - # Optimization will get clobbered, but most of the stuff will survive. - # The motivation for this is to point to the correct place for debug - # source files and CFLAGS does that. Nothing uses CCC. - # - export CC="${CC} ${CFLAGS}" - make -C ./nss CCC="${CXX} -g" \ - OS_TEST=${OS_TEST} \ - RPATH="${RPATH}" \ - autobuild -} - -do_compile[vardepsexclude] += "SITEINFO_BITS" - -do_install_prepend_class-nativesdk() { - export LDFLAGS="" -} - -do_install() { - export CROSS_COMPILE=1 - export NATIVE_CC="${BUILD_CC}" - export BUILD_OPT=1 - - export FREEBL_NO_DEPEND=1 - - export LIBDIR=${libdir} - export MOZILLA_CLIENT=1 - export NS_USE_GCC=1 - export NSS_USE_SYSTEM_SQLITE=1 - export NSS_ENABLE_ECC=1 - - export OS_RELEASE=3.4 - export OS_TARGET=Linux - export OS_ARCH=Linux - - if [ "${TARGET_ARCH}" = "powerpc" ]; then - OS_TEST=ppc - elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then - OS_TEST=ppc64 - elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then - OS_TEST=mips - elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then - CPU_ARCH=aarch64 - OS_TEST="aarch64" - else - OS_TEST="${TARGET_ARCH}" - fi - if [ "${SITEINFO_BITS}" = "64" ]; then - export USE_64=1 - elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then - export USE_X32=1 - fi - - export NSS_DISABLE_GTESTS=1 - - make -C ./nss \ - CCC="${CXX}" \ - OS_TEST=${OS_TEST} \ - SOURCE_LIB_DIR="${TD}/${libdir}" \ - SOURCE_BIN_DIR="${TD}/${bindir}" \ - install - - install -d ${D}/${libdir}/ - for file in ${S}/dist/*.OBJ/lib/*.so; do - echo "Installing `basename $file`..." - cp $file ${D}/${libdir}/ - done - - for shared_lib in ${TD}/${libdir}/*.so.*; do - if [ -f $shared_lib ]; then - cp $shared_lib ${D}/${libdir} - ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe) - fi - done - for shared_lib in ${TD}/${libdir}/*.so; do - if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then - cp $shared_lib ${D}/${libdir} - fi - done - - install -d ${D}/${includedir}/nss3 - install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/* - - install -d ${D}/${bindir} - for binary in ${TD}/${bindir}/*; do - install -m 755 -t ${D}/${bindir} $binary - done -} - -do_install[vardepsexclude] += "SITEINFO_BITS" - -do_install_append() { - # Create empty .chk files for the NSS libraries at build time. They could - # be regenerated at target's boot time. - for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do - touch ${D}/${libdir}/$file - chmod 755 ${D}/${libdir}/$file - done - - install -d ${D}${libdir}/pkgconfig/ - sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc - sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc -} - -do_install_append_class-target() { - # It used to call certutil to create a blank certificate with empty password at - # build time, but the checksum of key4.db changes every time when certutil is called. - # It causes non-determinism issue, so provide databases with a blank certificate - # which are originally from output of nss in qemux86-64 build. You can get these - # databases by: - # certutil -N -d sql:/database/path/ --empty-password - install -d ${D}${sysconfdir}/pki/nssdb/ - install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db - install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db - install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt -} - -PACKAGE_WRITE_DEPS += "nss-native" - -pkg_postinst_${PN} () { - for I in $D${libdir}/lib*.chk; do - DN=`dirname $I` - BN=`basename $I .chk` - FN=$DN/$BN.so - shlibsign -i $FN - if [ $? -ne 0 ]; then - echo "shlibsign -i $FN failed" - fi - done -} - -PACKAGES =+ "${PN}-smime" -FILES_${PN}-smime = "\ - ${bindir}/smime \ -" - -FILES_${PN} = "\ - ${sysconfdir} \ - ${bindir} \ - ${libdir}/lib*.chk \ - ${libdir}/lib*.so \ - " - -FILES_${PN}-dev = "\ - ${libdir}/nss \ - ${libdir}/pkgconfig/* \ - ${includedir}/* \ - " - -RDEPENDS_${PN}-smime = "perl" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.64.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.64.bb new file mode 100644 index 000000000..1863db131 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.64.bb @@ -0,0 +1,282 @@ +SUMMARY = "Mozilla's SSL and TLS implementation" +DESCRIPTION = "Network Security Services (NSS) is a set of libraries \ +designed to support cross-platform development of \ +security-enabled client and server applications. \ +Applications built with NSS can support SSL v2 and v3, \ +TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \ +v3 certificates, and other security standards." +HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/" +SECTION = "libs" + +DEPENDS = "sqlite3 nspr zlib nss-native" +DEPENDS_class-native = "sqlite3-native nspr-native zlib-native" + +LICENSE = "(MPL-2.0 & MIT) | (MPL-2.0 & GPL-2.0+ & MIT) | (MPL-2.0 & LGPL-2.1+ & MIT)" + +LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \ + file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \ + file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132 \ + file://nss/lib/freebl/verified/Hacl_Poly1305_256.c;beginline=1;endline=22;md5=d4096c1e4421ee56e9e0f441a8161f78" + +VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}" + +SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \ + file://nss.pc.in \ + file://0001-nss-fix-support-cross-compiling.patch \ + file://nss-no-rpath-for-cross-compiling.patch \ + file://nss-fix-incorrect-shebang-of-perl.patch \ + file://disable-Wvarargs-with-clang.patch \ + file://pqg.c-ULL_addend.patch \ + file://blank-cert9.db \ + file://blank-key4.db \ + file://system-pkcs11.txt \ + file://nss-fix-nsinstall-build.patch \ + file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \ + " +SRC_URI[sha256sum] = "d3175427172e9c3a6f1ebc74452cb791590f28191c6a1a443dbc0d87c9df1126" + +UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" +UPSTREAM_CHECK_REGEX = "NSS_(?P.+)_release_notes" + +inherit siteinfo + +TD = "${S}/tentative-dist" +TDS = "${S}/tentative-dist-staging" + +# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a +# which caused -march conflicts in gcc +TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_configure_prepend_libc-musl () { + sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk +} + +do_configure_prepend_powerpc64le_toolchain-clang () { + sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk +} + +do_configure_prepend_powerpc64_toolchain-clang () { + sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk +} + +do_compile_prepend_class-native() { + export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr + export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE} +} + +do_compile_prepend_class-nativesdk() { + export LDFLAGS="" +} + +do_compile_prepend_class-native() { + # Need to set RPATH so that chrpath will do its job correctly + RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}" +} + +do_compile() { + export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr + + export CROSS_COMPILE=1 + export NATIVE_CC="${BUILD_CC}" + # Additional defines needed on Centos 7 + export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux" + export BUILD_OPT=1 + + # POSIX.1-2001 states that the behaviour of getcwd() when passing a null + # pointer as the buf argument, is unspecified. + export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC" + + export FREEBL_NO_DEPEND=1 + export FREEBL_LOWHASH=1 + + export LIBDIR=${libdir} + export MOZILLA_CLIENT=1 + export NS_USE_GCC=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSS_ENABLE_ECC=1 + + ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} + + export OS_RELEASE=3.4 + export OS_TARGET=Linux + export OS_ARCH=Linux + + if [ "${TARGET_ARCH}" = "powerpc" ]; then + OS_TEST=ppc + elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then + OS_TEST=ppc64 + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then + OS_TEST=mips + elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then + OS_TEST="aarch64" + else + OS_TEST="${TARGET_ARCH}" + fi + + if [ "${SITEINFO_BITS}" = "64" ]; then + export USE_64=1 + elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then + export USE_X32=1 + fi + + export NSS_DISABLE_GTESTS=1 + # We can modify CC in the environment, but if we set it via an + # argument to make, nsinstall, a host program, will also build with it! + # + # nss pretty much does its own thing with CFLAGS, so we put them into CC. + # Optimization will get clobbered, but most of the stuff will survive. + # The motivation for this is to point to the correct place for debug + # source files and CFLAGS does that. Nothing uses CCC. + # + export CC="${CC} ${CFLAGS}" + make -C ./nss CCC="${CXX} -g" \ + OS_TEST=${OS_TEST} \ + RPATH="${RPATH}" \ + autobuild +} + +do_compile[vardepsexclude] += "SITEINFO_BITS" + +do_install_prepend_class-nativesdk() { + export LDFLAGS="" +} + +do_install() { + export CROSS_COMPILE=1 + export NATIVE_CC="${BUILD_CC}" + export BUILD_OPT=1 + + export FREEBL_NO_DEPEND=1 + + export LIBDIR=${libdir} + export MOZILLA_CLIENT=1 + export NS_USE_GCC=1 + export NSS_USE_SYSTEM_SQLITE=1 + export NSS_ENABLE_ECC=1 + + export OS_RELEASE=3.4 + export OS_TARGET=Linux + export OS_ARCH=Linux + + if [ "${TARGET_ARCH}" = "powerpc" ]; then + OS_TEST=ppc + elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then + OS_TEST=ppc64 + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then + OS_TEST=mips + elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then + CPU_ARCH=aarch64 + OS_TEST="aarch64" + else + OS_TEST="${TARGET_ARCH}" + fi + if [ "${SITEINFO_BITS}" = "64" ]; then + export USE_64=1 + elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then + export USE_X32=1 + fi + + export NSS_DISABLE_GTESTS=1 + + make -C ./nss \ + CCC="${CXX}" \ + OS_TEST=${OS_TEST} \ + SOURCE_LIB_DIR="${TD}/${libdir}" \ + SOURCE_BIN_DIR="${TD}/${bindir}" \ + install + + install -d ${D}/${libdir}/ + for file in ${S}/dist/*.OBJ/lib/*.so; do + echo "Installing `basename $file`..." + cp $file ${D}/${libdir}/ + done + + for shared_lib in ${TD}/${libdir}/*.so.*; do + if [ -f $shared_lib ]; then + cp $shared_lib ${D}/${libdir} + ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe) + fi + done + for shared_lib in ${TD}/${libdir}/*.so; do + if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then + cp $shared_lib ${D}/${libdir} + fi + done + + install -d ${D}/${includedir}/nss3 + install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/* + + install -d ${D}/${bindir} + for binary in ${TD}/${bindir}/*; do + install -m 755 -t ${D}/${bindir} $binary + done +} + +do_install[vardepsexclude] += "SITEINFO_BITS" + +do_install_append() { + # Create empty .chk files for the NSS libraries at build time. They could + # be regenerated at target's boot time. + for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do + touch ${D}/${libdir}/$file + chmod 755 ${D}/${libdir}/$file + done + + install -d ${D}${libdir}/pkgconfig/ + sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc + sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc +} + +do_install_append_class-target() { + # It used to call certutil to create a blank certificate with empty password at + # build time, but the checksum of key4.db changes every time when certutil is called. + # It causes non-determinism issue, so provide databases with a blank certificate + # which are originally from output of nss in qemux86-64 build. You can get these + # databases by: + # certutil -N -d sql:/database/path/ --empty-password + install -d ${D}${sysconfdir}/pki/nssdb/ + install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db + install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db + install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt +} + +PACKAGE_WRITE_DEPS += "nss-native" + +pkg_postinst_${PN} () { + for I in $D${libdir}/lib*.chk; do + DN=`dirname $I` + BN=`basename $I .chk` + FN=$DN/$BN.so + shlibsign -i $FN + if [ $? -ne 0 ]; then + echo "shlibsign -i $FN failed" + fi + done +} + +PACKAGES =+ "${PN}-smime" +FILES_${PN}-smime = "\ + ${bindir}/smime \ +" + +FILES_${PN} = "\ + ${sysconfdir} \ + ${bindir} \ + ${libdir}/lib*.chk \ + ${libdir}/lib*.so \ + " + +FILES_${PN}-dev = "\ + ${libdir}/nss \ + ${libdir}/pkgconfig/* \ + ${includedir}/* \ + " + +RDEPENDS_${PN}-smime = "perl" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb b/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb index 50d9f5235..701f65c29 100644 --- a/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb +++ b/meta-openembedded/meta-oe/recipes-support/onig/onig_6.9.4.bb @@ -31,3 +31,5 @@ do_install_ptest() { mkdir -p ${D}${PTEST_PATH}/tests install -m 0755 -t ${D}${PTEST_PATH}/tests/ ${B}/test/.libs/* } + +PROVIDES += "oniguruma" diff --git a/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.11.bb b/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.11.bb deleted file mode 100644 index 7fc87db2b..000000000 --- a/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.11.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "fetch and change SCSI mode pages" -DESCRIPTION = "The sdparm utility accesses and optionally modifies \ -SCSI devices' mode page and inquiry data." -HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html" -SECTION = "console/utils" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \ - file://lib/BSD_LICENSE;md5=12cde17a04c30dece2752f36b7192c64" -DEPENDS="sg3-utils" -SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \ - file://make-sysroot-work.patch \ - " -MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc" - -UPSTREAM_CHECK_REGEX = "sdparm-(?P\d+(\.\d+)+)\.tgz" - -PACKAGES =+ "${PN}-scripts" -RDEPENDS_${PN}-scripts += "bash ${PN}" - -SRC_URI[md5sum] = "cd998d1c12a4ec11652d0af580f06b4d" -SRC_URI[sha256sum] = "432fdbfe90f0c51640291faf7602489b0ae56dfb96d0c02ed02308792adc7fb0" - -inherit autotools - -# Put the bash scripts to ${PN}-scripts -FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp" diff --git a/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.12.bb b/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.12.bb new file mode 100644 index 000000000..d0a4a0467 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/sdparm/sdparm_1.12.bb @@ -0,0 +1,26 @@ +SUMMARY = "fetch and change SCSI mode pages" +DESCRIPTION = "The sdparm utility accesses and optionally modifies \ +SCSI devices' mode page and inquiry data." +HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html" +SECTION = "console/utils" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \ + file://lib/BSD_LICENSE;md5=12cde17a04c30dece2752f36b7192c64" +DEPENDS="sg3-utils" +SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \ + file://make-sysroot-work.patch \ + " +MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc" + +UPSTREAM_CHECK_REGEX = "sdparm-(?P\d+(\.\d+)+)\.tgz" + +PACKAGES =+ "${PN}-scripts" +RDEPENDS_${PN}-scripts += "bash ${PN}" + +SRC_URI[md5sum] = "2902fd29e6834fd62c16bb5d1ac53c7e" +SRC_URI[sha256sum] = "e7f84247069da9a0c293963948d8aba8e5897a13e35e5476c8258acb7ca3a124" + +inherit autotools + +# Put the bash scripts to ${PN}-scripts +FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp" diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch deleted file mode 100644 index b5bfcd025..000000000 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch +++ /dev/null @@ -1,74 +0,0 @@ -Subject: [PATCH] syslog-ng: fix segment fault during service start on arm64 - -service start failed since segment fault on arch arm64, -syslog-ng have a submodule ivykis, from ivykis V0.42, -it use pthread_atfork, but for arm64, this symbol is -not included by libpthread, so cause segment fault. - -refer systemd, replace pthread_atfork with __register_atfork -to fix this problem. - -I have create an issue, and this proposal to upstream. -https://github.com/buytenh/ivykis/issues/15 - -Upstream-Status: Pending - -Signed-off-by: Changqing Li - -Update for 3.24.1. -Signed-off-by: Zheng Ruoqin ---- - lib/ivykis/src/pthr.h | 23 ++++++++++++----------- - 1 file changed, 12 insertions(+), 11 deletions(-) - -diff --git a/lib/ivykis/src/pthr.h b/lib/ivykis/src/pthr.h -index 29e4be7..5d29096 100644 ---- a/lib/ivykis/src/pthr.h -+++ b/lib/ivykis/src/pthr.h -@@ -24,6 +24,16 @@ - #include - #include - -+#ifdef __GLIBC__ -+/* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc -+ * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against -+ * libpthread, as it is part of glibc anyway. */ -+extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle); -+extern void* __dso_handle __attribute__ ((__weak__)); -+#else -+#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child) -+#endif -+ - #ifdef HAVE_PRAGMA_WEAK - #pragma weak pthread_create - #endif -@@ -36,16 +46,7 @@ static inline int pthreads_available(void) - - #ifdef HAVE_PRAGMA_WEAK - --/* -- * On Linux, pthread_atfork() is defined in libc_nonshared.a (for -- * glibc >= 2.28) or libpthread_nonshared.a (for glibc <= 2.27), and -- * we want to avoid "#pragma weak" for that symbol because that causes -- * it to be undefined even if you link lib*_nonshared.a in explicitly. -- */ --#if !defined(HAVE_LIBC_NONSHARED) && !defined(HAVE_LIBPTHREAD_NONSHARED) --#pragma weak pthread_atfork --#endif -- -+#pragma weak __register_atfork - #pragma weak pthread_create - #pragma weak pthread_detach - #pragma weak pthread_getspecific -@@ -73,7 +74,7 @@ static inline int - pthr_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)) - { - if (pthreads_available()) -- return pthread_atfork(prepare, parent, child); -+ return __register_atfork(prepare, parent, child, __dso_handle); - - return ENOSYS; - } --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0002-scl-fix-wrong-ownership-during-installation.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0002-scl-fix-wrong-ownership-during-installation.patch new file mode 100644 index 000000000..b2683350b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0002-scl-fix-wrong-ownership-during-installation.patch @@ -0,0 +1,30 @@ +From 7a8c458b7acf4732af74317f8a535077eb451b1e Mon Sep 17 00:00:00 2001 +From: Ming Liu +Date: Thu, 17 Jul 2014 05:37:08 -0400 +Subject: [PATCH] scl: fix wrong ownership during installation + +The ownership of build user is preserved for some target files, fixed it by +adding --no-same-owner option to tar when extracting files. + +Signed-off-by: Ming Liu + +Upstream-Status: Backport [9045908] + +Signed-off-by: Yi Fan Yu +--- + scl/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scl/Makefile.am b/scl/Makefile.am +index 940a467..3c19e50 100644 +--- a/scl/Makefile.am ++++ b/scl/Makefile.am +@@ -51,7 +51,7 @@ scl-install-data-local: + fi; \ + done + $(mkinstalldirs) $(DESTDIR)/$(scldir) +- (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf -) ++ (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf - --no-same-owner) + chmod -R u+rwX $(DESTDIR)/$(scldir) + + scl-uninstall-local: diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0005-.py-s-python-python3-exclude-tests.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0005-.py-s-python-python3-exclude-tests.patch new file mode 100644 index 000000000..a8be7d81d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/0005-.py-s-python-python3-exclude-tests.patch @@ -0,0 +1,53 @@ +From b64fcc414316592968f181c85447cfd01d1e461e Mon Sep 17 00:00:00 2001 +From: Yi Fan Yu +Date: Thu, 15 Apr 2021 13:48:19 -0400 +Subject: [PATCH] *.py: s/python/python3/ (exclude tests) + +As stated by https://github.com/syslog-ng/syslog-ng/pull/3603 +python2 is EOL. + +Fix all shebangs calling python instead of python3 +except the tests. + +(correcting lib/merge-grammar.py) +Signed-off-by: Joe Slater +(adding the rest) +Upstream-Status: Submitted [https://github.com/syslog-ng/syslog-ng/pull/3647] + +Signed-off-by: Yi Fan Yu +--- + contrib/scripts/config-graph-json-to-dot.py | 2 +- + lib/merge-grammar.py | 2 +- + modules/python/pylib/setup.py | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/contrib/scripts/config-graph-json-to-dot.py b/contrib/scripts/config-graph-json-to-dot.py +index 4955c81..0351a9a 100755 +--- a/contrib/scripts/config-graph-json-to-dot.py ++++ b/contrib/scripts/config-graph-json-to-dot.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + import json, sys + + j = None +diff --git a/lib/merge-grammar.py b/lib/merge-grammar.py +index 7313ff5..459712d 100755 +--- a/lib/merge-grammar.py ++++ b/lib/merge-grammar.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + ############################################################################# + # Copyright (c) 2010-2017 Balabit + # +diff --git a/modules/python/pylib/setup.py b/modules/python/pylib/setup.py +index 23bb5cc..a2fa05e 100755 +--- a/modules/python/pylib/setup.py ++++ b/modules/python/pylib/setup.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + ############################################################################# + # Copyright (c) 2015-2016 Balabit + # diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch deleted file mode 100644 index 4f8a3d077..000000000 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch +++ /dev/null @@ -1,47 +0,0 @@ -configure.ac: add option --enable-thread-tls to manage thread ssl support - -Add option --enable-thread-tls to manage the including of thread -local storage, so we could explicitly disable it. - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia ---- - configure.ac | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -Index: syslog-ng-3.15.1/configure.ac -=================================================================== ---- syslog-ng-3.15.1.orig/configure.ac -+++ syslog-ng-3.15.1/configure.ac -@@ -190,6 +190,9 @@ AC_ARG_ENABLE(gprof, - AC_ARG_ENABLE(memtrace, - [ --enable-memtrace Enable alternative leak debugging code.]) - -+AC_ARG_ENABLE(thread-tls, -+ [ --enable-thread-tls Enable Thread Local Storage support.],,enable_thread_tls="no") -+ - AC_ARG_ENABLE(dynamic-linking, - [ --enable-dynamic-linking Link everything dynamically.],,enable_dynamic_linking="auto") - -@@ -591,12 +594,14 @@ dnl *************************************************************************** - dnl Is the __thread keyword available? - dnl *************************************************************************** - --AC_LINK_IFELSE([AC_LANG_PROGRAM( --[[#include --__thread int a; --]], --[a=0;])], --[ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Thread Local Storage is supported by the system")]) -+if test "x$enable_thread_tls" != "xno"; then -+ AC_LINK_IFELSE([AC_LANG_PROGRAM( -+ [[#include -+ __thread int a; -+ ]], -+ [a=0;])], -+ [ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Thread Local Storage is supported by the system")]) -+fi - - dnl *************************************************************************** - dnl How to do static linking? diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch deleted file mode 100644 index 4ad0afa95..000000000 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch +++ /dev/null @@ -1,65 +0,0 @@ -Subject: [PATCH] add libnet enable option - -Upstream-Status: Pending - -This would avoid a implicit auto-detecting result. - -Signed-off-by: Ming Liu -Signed-off-by: Jackie Huang - -Update for 3.24.1. -Signed-off-by: Zheng Ruoqin ---- - configure.ac | 28 ++++++++++++++++------------ - 1 file changed, 16 insertions(+), 12 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 00eb566..e7d5ac1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -143,6 +143,9 @@ AC_CONFIG_HEADERS(config.h) - dnl *************************************************************************** - dnl Arguments - -+AC_ARG_ENABLE(libnet, -+ [ --enable-libnet Enable libnet support.],, enable_libnet="no") -+ - AC_ARG_WITH(libnet, - [ --with-libnet=path use path to libnet-config script], - , -@@ -1047,19 +1050,20 @@ dnl *************************************************************************** - dnl libnet headers/libraries - dnl *************************************************************************** - AC_MSG_CHECKING(for LIBNET) --if test "x$with_libnet" = "x"; then -- LIBNET_CONFIG="`which libnet-config`" --else -- LIBNET_CONFIG="$with_libnet/libnet-config" --fi -+if test "x$enable_libnet" = xyes; then -+ if test "x$with_libnet" = "x"; then -+ LIBNET_CONFIG="`which libnet-config`" -+ else -+ LIBNET_CONFIG="$with_libnet/libnet-config" -+ fi - --if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then -- LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`" -- LIBNET_LIBS="`$LIBNET_CONFIG --libs`" -- AC_MSG_RESULT(yes) --dnl libnet-config does not provide the _DEFAULT_SOURCE define, that can cause warning during build --dnl as upstream libnet-config does uses _DEFAULT_SOURCE this is just a fix till -- LIBNET_CFLAGS="$LIBNET_CFLAGS -D_DEFAULT_SOURCE" -+ if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then -+ LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`" -+ LIBNET_LIBS="`$LIBNET_CONFIG --libs`" -+ AC_MSG_RESULT(yes) -+ else -+ AC_MSG_ERROR([Could not find libnet, and libnet support was explicitly enabled.]) -+ fi - - else - LIBNET_LIBS= --- -2.7.4 - diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch deleted file mode 100644 index 54ecce57e..000000000 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch +++ /dev/null @@ -1,25 +0,0 @@ -syslog-ng: fix wrong ownership issue - -Upstream-Status: Pending - -The ownership of build user is preserved for some target files, fixed it by -adding --no-same-owner option to tar when extracting files. - -Signed-off-by: Ming Liu ---- - scl/Makefile.am | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -Index: syslog-ng-3.8.1/scl/Makefile.am -=================================================================== ---- syslog-ng-3.8.1.orig/scl/Makefile.am -+++ syslog-ng-3.8.1/scl/Makefile.am -@@ -27,7 +27,7 @@ scl-install-data-local: - fi; \ - done - $(mkinstalldirs) $(DESTDIR)/$(scldir) -- (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf -) -+ (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf - --no-same-owner) - chmod -R u+rwX $(DESTDIR)/$(scldir) - - scl-uninstall-local: diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/shebang.patch b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/shebang.patch deleted file mode 100644 index 35d967753..000000000 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/shebang.patch +++ /dev/null @@ -1,18 +0,0 @@ -syslog-ng: change shebang to use python3 - -Correct shebang for python3. This is far from the only python file with an out of date shebang, -but it is the only one that winds up on a target. - -Upstream-Status: Pending - -Signed-off-by: Joe Slater - - ---- a/lib/merge-grammar.py -+++ b/lib/merge-grammar.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - ############################################################################# - # Copyright (c) 2010-2017 Balabit - # diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd index 6a8627672..b63f46ddc 100644 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd +++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd @@ -1,4 +1,4 @@ -@version: 3.24 +@version: 3.31 # # Syslog-ng configuration file, compatible with default Debian syslogd # installation. Originally written by anonymous (I can't find his name) diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit index 32b98610d..07cd3b086 100644 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit +++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit @@ -1,4 +1,4 @@ -@version: 3.24 +@version: 3.31 # # Syslog-ng configuration file, compatible with default Debian syslogd # installation. Originally written by anonymous (I can't find his name) diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc deleted file mode 100644 index 818cad5bc..000000000 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc +++ /dev/null @@ -1,143 +0,0 @@ -SUMMARY = "Alternative system logger daemon" -DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \ -but with new functionality for the new generation. The original syslogd \ -allows messages only to be sorted based on priority/facility pairs; \ -syslog-ng adds the possibility to filter based on message contents using \ -regular expressions. The new configuration scheme is intuitive and powerful. \ -Forwarding logs over TCP and remembering all forwarding hops makes it \ -ideal for firewalled environments. \ -" -HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system" - -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=24c0c5cb2c83d9f2ab725481e4df5240" - -# util-linux added to get libuuid -DEPENDS = "libpcre flex glib-2.0 openssl util-linux bison-native" - -# We expect the recipe to add anything specific for that version to these defaults. -# -SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \ - file://syslog-ng.conf.systemd \ - file://syslog-ng.conf.sysvinit \ - file://initscript \ - file://volatiles.03_syslog-ng \ - file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \ -" - -UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases" - -inherit autotools gettext systemd pkgconfig update-rc.d multilib_header - -EXTRA_OECONF = " \ - --enable-dynamic-linking \ - --disable-sub-streams \ - --disable-pacct \ - --localstatedir=${localstatedir}/lib/${BPN} \ - --sysconfdir=${sysconfdir}/${BPN} \ - --with-module-dir=${libdir}/${BPN} \ - --with-sysroot=${STAGING_DIR_HOST} \ - --without-mongoc --disable-mongodb \ - --with-librabbitmq-client=no \ - --disable-python \ - --disable-java --disable-java-modules \ - --with-pidfile-dir=${localstatedir}/run/${BPN} \ - ${CONFIG_TLS} \ -" - -CONFIG_TLS = "--enable-thread-tls" -CONFIG_TLS_arm = "${@oe.utils.conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \ -" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," -PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd," -PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap," -PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi," -PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet," -PACKAGECONFIG[http] = "--enable-http,--disable-http,curl," -PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp," -PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c," -PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers," -PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip," -PACKAGECONFIG[native] = "--enable-native,--disable-native,," - -do_configure_prepend() { - olddir=$(pwd) - cd ${AUTOTOOLS_SCRIPT_PATH} - - ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} -I ${S}/m4 ${ACLOCALEXTRAPATH} || die "extra autoreconf execution failed." - - cd $olddir -} - -do_install_append() { - install -d ${D}${sysconfdir}/${BPN} - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog - - install -d ${D}${sysconfdir}/default/volatiles/ - install -m 644 ${WORKDIR}/volatiles.03_syslog-ng ${D}${sysconfdir}/default/volatiles/03_syslog-ng - install -d ${D}${sysconfdir}/tmpfiles.d/ - install -m 644 ${WORKDIR}/syslog-ng-tmp.conf ${D}${sysconfdir}/tmpfiles.d/syslog-ng.conf - - install -d ${D}${localstatedir}/lib/${BPN} - # Remove /var/run as it is created on startup - rm -rf ${D}${localstatedir}/run - - # support for systemd - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -m 644 ${WORKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf - - install -d ${D}${systemd_unitdir}/system/ - install -m 644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service - install -m 644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default - - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default - sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default - sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default - - install -d ${D}${systemd_unitdir}/system/multi-user.target.wants - ln -sf ../${BPN}@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/${BPN}@default.service - else - install -m 644 ${WORKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf - fi - - oe_multilib_header syslog-ng/syslog-ng-config.h -} - -FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools ${systemd_unitdir}/system/multi-user.target.wants/*" -RDEPENDS_${PN} += "gawk ${@bb.utils.contains('PACKAGECONFIG','json','${PN}-jconf','',d)}" - -FILES_${PN}-jconf += " \ -${datadir}/${BPN}/include/scl/cim \ -${datadir}/${BPN}/include/scl/elasticsearch \ -${datadir}/${BPN}/include/scl/ewmm \ -${datadir}/${BPN}/include/scl/graylog2 \ -${datadir}/${BPN}/include/scl/loggly \ -${datadir}/${BPN}/include/scl/logmatic \ -" - -# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error -PACKAGES =+ "${PN}-jconf ${PN}-libs ${PN}-libs-dev" -RPROVIDES_${PN}-dbg += "${PN}-libs-dbg" -FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*" -FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la" -FILES_${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a" -FILES_${PN} += "${systemd_unitdir}/system/*.service" -INSANE_SKIP_${PN}-libs = "dev-so" -RDEPENDS_${PN} += "${PN}-libs" - -CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" - -RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog" -RCONFLICTS_${PN}-libs = "busybox-syslog sysklogd rsyslog" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${BPN}@.service" - -INITSCRIPT_NAME = "syslog" -INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ." diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb deleted file mode 100644 index 10bf00fdc..000000000 --- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb +++ /dev/null @@ -1,15 +0,0 @@ -require syslog-ng.inc - -# We only want to add stuff we need to the defaults provided in syslog-ng.inc. -# -SRC_URI += " \ - file://fix-config-libnet.patch \ - file://fix-invalid-ownership.patch \ - file://syslog-ng.service-the-syslog-ng-service.patch \ - file://0001-syslog-ng-fix-segment-fault-during-service-start.patch \ - file://shebang.patch \ - file://syslog-ng-tmp.conf \ - " - -SRC_URI[md5sum] = "ef9de066793f7358af7312b964ac0450" -SRC_URI[sha256sum] = "d4d0a0357b452be96b69d6f741129275530d8f0451e35adc408ad5635059fa3d" diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.31.2.bb b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.31.2.bb new file mode 100644 index 000000000..ce1c41e35 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.31.2.bb @@ -0,0 +1,143 @@ +SUMMARY = "Alternative system logger daemon" +DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \ +but with new functionality for the new generation. The original syslogd \ +allows messages only to be sorted based on priority/facility pairs; \ +syslog-ng adds the possibility to filter based on message contents using \ +regular expressions. The new configuration scheme is intuitive and powerful. \ +Forwarding logs over TCP and remembering all forwarding hops makes it \ +ideal for firewalled environments. \ +" +HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system" + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=189c3826d32deaf83ad8d0d538a10023" + +# util-linux added to get libuuid +DEPENDS = "libpcre flex glib-2.0 openssl util-linux bison-native" + +SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \ + file://syslog-ng.conf.systemd \ + file://syslog-ng.conf.sysvinit \ + file://initscript \ + file://volatiles.03_syslog-ng \ + file://syslog-ng-tmp.conf \ + file://syslog-ng.service-the-syslog-ng-service.patch \ + file://0002-scl-fix-wrong-ownership-during-installation.patch \ + file://0005-.py-s-python-python3-exclude-tests.patch \ +" + +SRC_URI[md5sum] = "69ef4dc5628d5e603e9e4a1b937592f8" +SRC_URI[sha256sum] = "2eeb8e0dbbcb556fdd4e50bc9f29bc8c66c9b153026f87caa7567bd3139c186a" + +UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases" + +inherit autotools gettext systemd pkgconfig update-rc.d multilib_header + +EXTRA_OECONF = " \ + --enable-dynamic-linking \ + --disable-sub-streams \ + --disable-pacct \ + --localstatedir=${localstatedir}/lib/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-module-dir=${libdir}/${BPN} \ + --with-sysroot=${STAGING_DIR_HOST} \ + --without-mongoc --disable-mongodb \ + --with-librabbitmq-client=no \ + --disable-python \ + --disable-java --disable-java-modules \ + --with-pidfile-dir=${localstatedir}/run/${BPN} \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \ +" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd," +PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap," +PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi," +PACKAGECONFIG[spoof-source] = "--enable-spoof-source --with-libnet=${STAGING_BINDIR_CROSS},--disable-spoof-source,libnet," +PACKAGECONFIG[http] = "--enable-http,--disable-http,curl," +PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp," +PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c," +PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers," +PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip," +PACKAGECONFIG[native] = "--enable-native,--disable-native,," + +do_configure_prepend() { + olddir=$(pwd) + cd ${AUTOTOOLS_SCRIPT_PATH} + + ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} -I ${S}/m4 ${ACLOCALEXTRAPATH} || die "extra autoreconf execution failed." + + cd $olddir +} + +do_install_append() { + install -d ${D}${sysconfdir}/${BPN} + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog + + install -d ${D}${sysconfdir}/default/volatiles/ + install -m 644 ${WORKDIR}/volatiles.03_syslog-ng ${D}${sysconfdir}/default/volatiles/03_syslog-ng + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 644 ${WORKDIR}/syslog-ng-tmp.conf ${D}${sysconfdir}/tmpfiles.d/syslog-ng.conf + + install -d ${D}${localstatedir}/lib/${BPN} + # Remove /var/run as it is created on startup + rm -rf ${D}${localstatedir}/run + + # support for systemd + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -m 644 ${WORKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf + + install -d ${D}${systemd_unitdir}/system/ + install -m 644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service + install -m 644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default + + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default + sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default + sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default + + install -d ${D}${systemd_unitdir}/system/multi-user.target.wants + ln -sf ../${BPN}@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/${BPN}@default.service + else + install -m 644 ${WORKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf + fi + + oe_multilib_header syslog-ng/syslog-ng-config.h +} + +FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools ${systemd_unitdir}/system/multi-user.target.wants/*" +RDEPENDS_${PN} += "gawk ${@bb.utils.contains('PACKAGECONFIG','json','${PN}-jconf','',d)}" + +FILES_${PN}-jconf += " \ +${datadir}/${BPN}/include/scl/cim \ +${datadir}/${BPN}/include/scl/elasticsearch \ +${datadir}/${BPN}/include/scl/ewmm \ +${datadir}/${BPN}/include/scl/graylog2 \ +${datadir}/${BPN}/include/scl/loggly \ +${datadir}/${BPN}/include/scl/logmatic \ +" + +# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error +PACKAGES =+ "${PN}-jconf ${PN}-libs ${PN}-libs-dev" +RPROVIDES_${PN}-dbg += "${PN}-libs-dbg" +FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*" +FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la" +FILES_${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a" +FILES_${PN} += "${systemd_unitdir}/system/*.service" +INSANE_SKIP_${PN}-libs = "dev-so" +RDEPENDS_${PN} += "${PN}-libs" + +CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" + +RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog" +RCONFLICTS_${PN}-libs = "busybox-syslog sysklogd rsyslog" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${BPN}@.service" + +INITSCRIPT_NAME = "syslog" +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ." diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb index b05a59dc7..771ddd49b 100644 --- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb @@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327" DEPENDS_append_libc-musl = " libucontext" +PE = "1" + BRANCH = "onetbb_2021" SRCREV = "2dba2072869a189b9fdab3ffa431d3ea49059a19" SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ @@ -43,3 +45,6 @@ LDFLAGS_append_mips = " -latomic" LDFLAGS_append_mipsel = " -latomic" LDFLAGS_append_libc-musl = " -lucontext" + +# The latest version of oneTBB does not support PPC +COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*" diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.10.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.10.patch deleted file mode 100644 index a6b0a0454..000000000 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.10.patch +++ /dev/null @@ -1,23 +0,0 @@ -Origin: https://www.mail-archive.com/pld-cvs-commit@lists.pld-linux.org/msg461494.html -From 80bfab5ec8575703ef26b442a3af2d030793ebde Mon Sep 17 00:00:00 2001 -From: =?utf8?q?Jan=20R=C4=99korajski?= -Date: Thu, 24 Dec 2020 23:03:55 +0100 -Subject: [PATCH] - DECLCALLBACK generates incorrect code on ix86, remove it - ---- - kernel-5.10.patch | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kernel-5.10.patch b/kernel-5.10.patch -index b28d6e0..729235d 100644 ---- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -+++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -@@ -536,7 +536,7 @@ typedef const LNXAPPLYPGRANGE *PCLNXAPPLYPGRANGE; - * @param uAddr The address to apply the new protection to. - * @param pvUser The opaque user data. - */ --static DECLCALLBACK(int) rtR0MemObjLinuxApplyPageRange(pte_t *pPte, unsigned long uAddr, void *pvUser) -+static int rtR0MemObjLinuxApplyPageRange(pte_t *pPte, unsigned long uAddr, void *pvUser) - { - PCLNXAPPLYPGRANGE pArgs = (PCLNXAPPLYPGRANGE)pvUser; - PRTR0MEMOBJLNX pMemLnx = pArgs->pMemLnx; diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb deleted file mode 100644 index 1def1a311..000000000 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb +++ /dev/null @@ -1,84 +0,0 @@ -SUMMARY = "VirtualBox Linux Guest Drivers" -SECTION = "core" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660" - -DEPENDS = "virtual/kernel" - -inherit module kernel-module-split - -COMPATIBLE_MACHINE = "(qemux86|qemux86-64)" - -VBOX_NAME = "VirtualBox-${PV}" - -SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ - file://Makefile.utils \ - file://kernel-5.10.patch \ - file://add__divmoddi4.patch \ -" -SRC_URI[md5sum] = "c61001386eb3822ab8f06d688a82e84b" -SRC_URI[sha256sum] = "108d42b9b391b7a332a33df1662cf7b0e9d9a80f3079d16288d8b9487f427d40" - -S ?= "${WORKDIR}/vbox_module" -S_task-patch = "${WORKDIR}/${VBOX_NAME}" - -export BUILD_TARGET_ARCH="${ARCH}" -export BUILD_TARGET_ARCH_x86-64="amd64" - -EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1" - -# otherwise 5.2.22 builds just vboxguest -MAKE_TARGETS = "all" - -addtask export_sources after do_patch before do_configure - -do_export_sources() { - mkdir -p "${S}" - ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz - tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz - - # add a mount utility to use shared folder from VBox Addition Source Code - mkdir -p "${S}/utils" - install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils - install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils - install ${S}/../Makefile.utils ${S}/utils/Makefile - -} - -do_configure_prepend() { - # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop. - # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in /build, or the variable KERN_VER must be set. Stop. - mkdir -p ${WORKDIR}/${KERNEL_VERSION} - ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build -} - -# compile and install mount utility -do_compile() { - oe_runmake all - oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils - if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then - echo "ERROR: One of vbox*.ko modules wasn't built" - exit 1 - fi -} - -module_do_install() { - MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc - install -d $MODULE_DIR - install -m 644 vboxguest.ko $MODULE_DIR - install -m 644 vboxsf.ko $MODULE_DIR - install -m 644 vboxvideo.ko $MODULE_DIR -} - -do_install_append() { - install -d ${D}${base_sbindir} - install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} -} - -PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" -RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" - -FILES_${PN} = "${base_sbindir}" - -# autoload if installed -KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.20.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.20.bb new file mode 100644 index 000000000..9df2e3960 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.20.bb @@ -0,0 +1,83 @@ +SUMMARY = "VirtualBox Linux Guest Drivers" +SECTION = "core" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660" + +DEPENDS = "virtual/kernel" + +inherit module kernel-module-split + +COMPATIBLE_MACHINE = "(qemux86|qemux86-64)" + +VBOX_NAME = "VirtualBox-${PV}" + +SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ + file://Makefile.utils \ + file://add__divmoddi4.patch \ +" +SRC_URI[md5sum] = "f2fe05e72c37d40afb36b9fb3aa38b78" +SRC_URI[sha256sum] = "e690c91974a2e7a5aca2c0939ad514382f9a2136797a5e0b96aab778e42bc8a7" + +S ?= "${WORKDIR}/vbox_module" +S_task-patch = "${WORKDIR}/${VBOX_NAME}" + +export BUILD_TARGET_ARCH="${ARCH}" +export BUILD_TARGET_ARCH_x86-64="amd64" + +EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1" + +# otherwise 5.2.22 builds just vboxguest +MAKE_TARGETS = "all" + +addtask export_sources after do_patch before do_configure + +do_export_sources() { + mkdir -p "${S}" + ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz + tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz + + # add a mount utility to use shared folder from VBox Addition Source Code + mkdir -p "${S}/utils" + install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils + install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils + install ${S}/../Makefile.utils ${S}/utils/Makefile + +} + +do_configure_prepend() { + # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop. + # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in /build, or the variable KERN_VER must be set. Stop. + mkdir -p ${WORKDIR}/${KERNEL_VERSION} + ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build +} + +# compile and install mount utility +do_compile() { + oe_runmake all + oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils + if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then + echo "ERROR: One of vbox*.ko modules wasn't built" + exit 1 + fi +} + +module_do_install() { + MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc + install -d $MODULE_DIR + install -m 644 vboxguest.ko $MODULE_DIR + install -m 644 vboxsf.ko $MODULE_DIR + install -m 644 vboxvideo.ko $MODULE_DIR +} + +do_install_append() { + install -d ${D}${base_sbindir} + install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} +} + +PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" +RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" + +FILES_${PN} = "${base_sbindir}" + +# autoload if installed +KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.0.bb deleted file mode 100644 index 4a936b49a..000000000 --- a/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "HTTP/2 framing layer for Python" -HOMEPAGE = "https://github.com/python-hyper/hyperframe" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=5bf1c68e73fbaec2b1687b7e71514393" - -SRC_URI[md5sum] = "30136a712e092b1a45ae3cad3ae93131" -SRC_URI[sha256sum] = "742d2a4bc3152a340a49d59f32e33ec420aa8e7054c1444ef5c7efff255842f1" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.1.bb b/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.1.bb new file mode 100644 index 000000000..2d46e9611 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-connectivity/python-hyperframe/python3-hyperframe_6.0.1.bb @@ -0,0 +1,9 @@ +DESCRIPTION = "HTTP/2 framing layer for Python" +HOMEPAGE = "https://github.com/python-hyper/hyperframe" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5bf1c68e73fbaec2b1687b7e71514393" + +SRC_URI[sha256sum] = "ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc deleted file mode 100644 index 797a0354b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto.inc +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "A Python crypto and SSL toolkit" -HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e" - -FILESEXTRAPATHS_prepend := "${THISDIR}/python-m2crypto:" - -SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \ - file://cross-compile-platform.patch \ - file://m2crypto-0.26.4-gcc_macros.patch \ - " -SRC_URI[md5sum] = "7fce3cbf85eb84a669682892b935746b" -SRC_URI[sha256sum] = "a1b2751cdadc6afac3df8a5799676b7b7c67a6ad144bb62d38563062e7cd3fc6" - -PYPI_PACKAGE = "M2Crypto" -inherit pypi siteinfo - -DEPENDS += "openssl swig-native" -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-smtpd \ - ${PYTHON_PN}-xmlrpc \ -" - -DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}" -DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}" - -SWIG_FEATURES_x86 = "-D__i386__" -SWIG_FEATURES_x32 = "-D__ILP32__" -SWIG_FEATURES ?= "-D__${HOST_ARCH}__" -export SWIG_FEATURES - -# Get around a problem with swig, but only if the -# multilib header file exists. -# -do_configure_prepend() { - ${CPP} -dM - < /dev/null | grep -v '__\(STDC\|REGISTER_PREFIX\|GNUC\|STDC_HOSTED\)__' \ - | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > ${S}/SWIG/gcc_macros.h - - if [ "${SITEINFO_BITS}" = "64" ];then - bit="64" - else - bit="32" - fi - - if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then - for i in SWIG/_ec.i SWIG/_evp.i; do - sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "${S}/$i" - done - elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then - for i in SWIG/_ec.i SWIG/_evp.i; do - sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "${S}/$i" - done - fi -} - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch deleted file mode 100644 index b339d93f7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch +++ /dev/null @@ -1,35 +0,0 @@ -From dfb83a41aaeae326e9b6f02b233af375bc7b8815 Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Fri, 29 Mar 2013 15:17:17 +0100 -Subject: [PATCH] setup.py: link in sysroot, not in host directories - -Signed-off-by: Koen Kooi - -Upstream-status: Unknown ---- - setup.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: M2Crypto-0.30.1/setup.py -=================================================================== ---- M2Crypto-0.30.1.orig/setup.py -+++ M2Crypto-0.30.1/setup.py -@@ -130,6 +130,7 @@ class _M2CryptoBuildExt(build_ext.build_ - self.set_undefined_options('build', ('bundledlls', 'bundledlls')) - - self.libraries = ['ssl', 'crypto'] -+ self.openssl = os.environ.get( "STAGING_DIR" ) - if sys.platform == 'win32': - self.libraries = ['ssleay32', 'libeay32'] - if self.openssl and openssl_version(self.openssl, 0x10100000, True): -@@ -150,8 +151,8 @@ class _M2CryptoBuildExt(build_ext.build_ - - if self.openssl is not None: - log.debug('self.openssl = %s', self.openssl) -- openssl_library_dir = os.path.join(self.openssl, 'lib') -- openssl_include_dir = os.path.join(self.openssl, 'include') -+ openssl_library_dir = os.environ.get( "STAGING_LIBDIR" ) -+ openssl_include_dir = os.environ.get( "STAGING_INCDIR" ) - - self.library_dirs.append(openssl_library_dir) - self.include_dirs.append(openssl_include_dir) diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch deleted file mode 100644 index 4b64f4613..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/cross-compile-platform.patch +++ /dev/null @@ -1,33 +0,0 @@ -Do not compute platform, this does not work in cross compile environment -since it pokes at the system for getting architecture values - -Upstream-Status: Inappropriate -Signed-off-by: Khem Raj - -Index: M2Crypto-0.30.1/setup.py -=================================================================== ---- M2Crypto-0.30.1.orig/setup.py -+++ M2Crypto-0.30.1/setup.py -@@ -160,22 +160,6 @@ class _M2CryptoBuildExt(build_ext.build_ - log.debug('self.include_dirs = %s', self.include_dirs) - log.debug('self.library_dirs = %s', self.library_dirs) - -- if platform.system() == "Linux": -- # For RedHat-based distros, the '-D__{arch}__' option for -- # Swig needs to be normalized, particularly on i386. -- mach = platform.machine().lower() -- if mach in ('i386', 'i486', 'i586', 'i686'): -- arch = '__i386__' -- elif mach in ('ppc64', 'powerpc64', 'ppc64le', 'ppc64el'): -- arch = '__powerpc64__' -- elif mach in ('ppc', 'powerpc'): -- arch = '__powerpc__' -- else: -- arch = '__%s__' % mach -- self.swig_opts.append('-D%s' % arch) -- if mach in ('ppc64le', 'ppc64el'): -- self.swig_opts.append('-D_CALL_ELF=2') -- - self.swig_opts.extend(['-I%s' % i for i in self.include_dirs]) - - # Some Linux distributor has added the following line in diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch deleted file mode 100644 index 7f6dd29f8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python-m2crypto/m2crypto-0.26.4-gcc_macros.patch +++ /dev/null @@ -1,35 +0,0 @@ -Imported from Fedora - -Index: M2Crypto-0.30.1/SWIG/_m2crypto.i -=================================================================== ---- M2Crypto-0.30.1.orig/SWIG/_m2crypto.i -+++ M2Crypto-0.30.1/SWIG/_m2crypto.i -@@ -8,6 +8,11 @@ - * - */ - -+%import "gcc_macros.h" -+ -+%ignore WCHAR_MAX; -+%ignore WCHAR_MIN; -+ - %module(threads=1) m2crypto - /* We really don't need threadblock (PyGILState_Ensure() etc.) anywhere. - Disable threadallow as well, only enable it for operations likely to -@@ -15,11 +20,6 @@ - %nothreadblock; - %nothreadallow; - --#if SWIG_VERSION >= 0x030000 --#define __WCHAR_MAX__ __WCHAR_MAX --#define __WCHAR_MIN__ __WCHAR_MIN --#endif -- - %{ - #ifdef _WIN32 - #define _WINSOCKAPI_ -@@ -95,4 +95,3 @@ static PyObject *x509_store_verify_cb_fu - %constant int encrypt = 1; - %constant int decrypt = 0; - #endif -- diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_1.12.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_1.12.2.bb deleted file mode 100644 index a08f882ab..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_1.12.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Argcomplete provides easy, extensible command line tab completion of arguments for your Python script." -HOMEPAGE = "https://github.com/kislyuk/argcomplete" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93" - -SRC_URI[sha256sum] = "de0e1282330940d52ea92a80fea2e4b9e0da1932aaa570f84d268939d1897b04" - -PYPI_PACKAGE = "argcomplete" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-core \ -" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_1.12.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_1.12.3.bb new file mode 100644 index 000000000..7fdf9e019 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argcomplete_1.12.3.bb @@ -0,0 +1,18 @@ +SUMMARY = "Argcomplete provides easy, extensible command line tab completion of arguments for your Python script." +HOMEPAGE = "https://github.com/kislyuk/argcomplete" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93" + +SRC_URI[sha256sum] = "2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445" + +PYPI_PACKAGE = "argcomplete" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-io \ +" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.10.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.10.1.bb deleted file mode 100644 index 38e26623f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.10.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Arpeggio is a recursive descent parser with memoization based on PEG grammars (aka Packrat parser)" -HOMEPAGE = "https://pypi.org/project/Arpeggio/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=33b8d1ba459a2fa4d801acfd1d1b7ceb" - -SRC_URI[sha256sum] = "920d12cc762edb2eb56daae64a14c93e43dc181b481c88fc79314c0df6ee639e" - -PYPI_PACKAGE = "Arpeggio" -inherit pypi setuptools3 - -# setup.py of Arpeggio needs this. -DEPENDS += "\ - ${PYTHON_PN}-pytest-runner-native \ - ${PYTHON_PN}-wheel-native \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.10.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.10.2.bb new file mode 100644 index 000000000..468e6d5fd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-arpeggio_1.10.2.bb @@ -0,0 +1,17 @@ +SUMMARY = "Arpeggio is a recursive descent parser with memoization based on PEG grammars (aka Packrat parser)" +HOMEPAGE = "https://pypi.org/project/Arpeggio/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=33b8d1ba459a2fa4d801acfd1d1b7ceb" + +SRC_URI[sha256sum] = "bfe349f252f82f82d84cb886f1d5081d1a31451e6045275e9f90b65d0daa06f1" + +PYPI_PACKAGE = "Arpeggio" +inherit pypi setuptools3 + +# setup.py of Arpeggio needs this. +DEPENDS += "\ + ${PYTHON_PN}-pytest-runner-native \ + ${PYTHON_PN}-wheel-native \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.3.bb deleted file mode 100644 index f1d9c66af..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.3.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "An abstract syntax tree for Python with inference support." -HOMEPAGE = "https://pypi.python.org/pypi/astroid" -SECTION = "devel/python" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI[sha256sum] = "ad63b8552c70939568966811a088ef0bc880f99a24a00834abd0e3681b514f91" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-pytest-runner-native" - -PACKAGES =+ "${PN}-tests" - -FILES_${PN}-tests += " \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ -" - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-lazy-object-proxy \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-wrapt \ - ${PYTHON_PN}-setuptools \ -" - -RDEPENDS_${PN}-tests_class-target += "\ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.6.bb new file mode 100644 index 000000000..62c54a46b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.6.bb @@ -0,0 +1,32 @@ +SUMMARY = "An abstract syntax tree for Python with inference support." +HOMEPAGE = "https://pypi.python.org/pypi/astroid" +SECTION = "devel/python" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1" + +SRC_URI[sha256sum] = "8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + +PACKAGES =+ "${PN}-tests" + +FILES_${PN}-tests += " \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ +" + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-lazy-object-proxy \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-wrapt \ + ${PYTHON_PN}-setuptools \ +" + +RDEPENDS_${PN}-tests_class-target += "\ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.4.bb deleted file mode 100644 index c2149336f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.4.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "The asttokens module annotates Python abstract syntax trees (ASTs)" -HOMEPAGE = "https://github.com/gristlabs/asttokens" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" - -PYPI_PACKAGE = "asttokens" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "a42e57e28f2ac1c85ed9b1f84109401427e5c63c04f61d15b8842b027eec5128" - -DEPENDS += "\ - python3-setuptools-scm-native \ - python3-wheel-native \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.5.bb new file mode 100644 index 000000000..429a56bae --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.0.5.bb @@ -0,0 +1,17 @@ +SUMMARY = "The asttokens module annotates Python abstract syntax trees (ASTs)" +HOMEPAGE = "https://github.com/gristlabs/asttokens" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +PYPI_PACKAGE = "asttokens" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "9a54c114f02c7a9480d56550932546a3f1fe71d8a02f1bc7ccd0ee3ee35cf4d5" + +DEPENDS += "\ + python3-setuptools-scm-native \ + python3-wheel-native \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.9.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.9.2.bb deleted file mode 100644 index 0716e8e1d..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_1.9.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" -HOMEPAGE = "https://github.com/ilanschnell/bitarray" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" - -SRC_URI[sha256sum] = "d7a49d21ae04c5af195023b140800186ebf208e3a4fc5b21a1389531cb7a7170" - -inherit setuptools3 pypi - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.0.1.bb new file mode 100644 index 000000000..a91e246d4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.0.1.bb @@ -0,0 +1,10 @@ +SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" +HOMEPAGE = "https://github.com/ilanschnell/bitarray" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" + +SRC_URI[sha256sum] = "ec3a4f6d711a79ed23aea9541638d3353dc3f083f293a13180b14b482e3e19ef" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.2.1.bb deleted file mode 100644 index 616e88045..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.2.1.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Extensible memoizing collections and decorators" -HOMEPAGE = "https://github.com/tkem/cachetools" -DESCRIPTION = "This module provides various memoizing \ -collections and decorators, including variants of the \ -Python 3 Standard Library @lru_cache function decorator." -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2d1e1bf0ccb26126a230c51f997ce362" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-math \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -SRC_URI[sha256sum] = "f469e29e7aa4cff64d8de4aad95ce76de8ea1125a16c68e0d93f65c3c3dc92e9" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.2.2.bb new file mode 100644 index 000000000..43049dafe --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cachetools_4.2.2.bb @@ -0,0 +1,32 @@ +SUMMARY = "Extensible memoizing collections and decorators" +HOMEPAGE = "https://github.com/tkem/cachetools" +DESCRIPTION = "This module provides various memoizing \ +collections and decorators, including variants of the \ +Python 3 Standard Library @lru_cache function decorator." +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=439a07e400525964c3c82684146e46eb" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-math \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +SRC_URI[sha256sum] = "61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.3.1.bb deleted file mode 100644 index 79a7ac1bf..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.3.1.bb +++ /dev/null @@ -1,65 +0,0 @@ -SUMMARY = "Provides cryptographic recipes and primitives to python developers" -HOMEPAGE = "https://cryptography.io/" -SECTION = "devel/python" -LICENSE = "Apache-2.0 | BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba" - -LDSHARED += "-pthread" - -SRC_URI[sha256sum] = "7e177e4bea2de937a584b13645cab32f25e3d96fc0bc4a4cf99c27dc77682be6" - -SRC_URI += " \ - file://run-ptest \ - file://h-test.patch \ -" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-cffi-native \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-six \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ -" - -RDEPENDS_${PN}_class-target += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-threading \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PN} \ - ${PYTHON_PN}-cryptography-vectors \ - ${PYTHON_PN}-iso8601 \ - ${PYTHON_PN}-pretend \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-pytz \ -" - -inherit ptest - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ - install -d ${D}${PTEST_PATH}/tests/hazmat - cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ -} - -FILES_${PN}-dbg += " \ - ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb new file mode 100644 index 000000000..0a36ffe1b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb @@ -0,0 +1,65 @@ +SUMMARY = "Provides cryptographic recipes and primitives to python developers" +HOMEPAGE = "https://cryptography.io/" +SECTION = "devel/python" +LICENSE = "Apache-2.0 | BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba" + +LDSHARED += "-pthread" + +SRC_URI[sha256sum] = "5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed" + +SRC_URI += " \ + file://run-ptest \ + file://h-test.patch \ +" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-cffi-native \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-six \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ +" + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-threading \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PN} \ + ${PYTHON_PN}-cryptography-vectors \ + ${PYTHON_PN}-iso8601 \ + ${PYTHON_PN}-pretend \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-pytz \ +" + +inherit ptest + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + install -d ${D}${PTEST_PATH}/tests/hazmat + cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ +} + +FILES_${PN}-dbg += " \ + ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.16.bb deleted file mode 100644 index 0715abbd4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.16.bb +++ /dev/null @@ -1,9 +0,0 @@ -require python-django.inc -inherit setuptools3 - -SRC_URI[md5sum] = "93faf5bbd54a19ea49f4932a813b9758" -SRC_URI[sha256sum] = "62cf45e5ee425c52e411c0742e641a6588b7e8af0d2c274a27940931b2786594" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-sqlparse \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.20.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.20.bb new file mode 100644 index 000000000..905d022a4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.20.bb @@ -0,0 +1,9 @@ +require python-django.inc +inherit setuptools3 + +SRC_URI[md5sum] = "947060d96ccc0a05e8049d839e541b25" +SRC_URI[sha256sum] = "2569f9dc5f8e458a5e988b03d6b7a02bda59b006d6782f4ea0fd590ed7336a64" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-sqlparse \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.17.bb deleted file mode 100644 index 8605e93b5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-docutils_0.17.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "Docutils is a modular system for processing documentation into useful formats" -HOMEPAGE = "https://pypi.org/project/docutils/" -SECTION = "devel/python" -LICENSE = "BSD-2-Clause & GPL-2.0 & Python-2.0" -LIC_FILES_CHKSUM = "file://COPYING.txt;md5=836a1950177996968a49ff477a4a61c4" - -SRC_URI[sha256sum] = "e2ffeea817964356ba4470efba7c2f42b6b0de0b04e66378507e3e2504bbff4c" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.0.1.bb deleted file mode 100644 index cfff150cc..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.0.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "et_xmlfile is a low memory library for creating large XML files" -DESCRIPTION = "It is based upon the xmlfile module from lxml with the aim of allowing code \ -to be developed that will work with both libraries. It was developed initially for \ -the openpyxl project but is now a standalone module." - -HOMEPAGE = "https://bitbucket.org/openpyxl/et_xmlfile/src/default/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=b3d89cae66f26c3a0799be8a96f3178b" - -SRC_URI[md5sum] = "f47940fd9d556375420b2e276476cfaf" -SRC_URI[sha256sum] = "614d9722d572f6246302c4491846d2c393c199cfa4edc9af593437691683335b" - -RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell" - -inherit setuptools3 -PYPI_PACKAGE ?= "et_xmlfile" -PYPI_SRC_URI ?= "https://files.pythonhosted.org/packages/source/e/et_xmlfile/et_xmlfile-1.0.1.tar.gz" -SECTION = "devel/python" -SRC_URI += "${PYPI_SRC_URI}" -S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.1.0.bb new file mode 100644 index 000000000..182a81d69 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-et-xmlfile_1.1.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "et_xmlfile is a low memory library for creating large XML files" +DESCRIPTION = "It is based upon the xmlfile module from lxml with the aim of allowing code \ +to be developed that will work with both libraries. It was developed initially for \ +the openpyxl project but is now a standalone module." + +HOMEPAGE = "https://foss.heptapod.net/openpyxl/et_xmlfile" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +SRC_URI[sha256sum] = "8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c" + +RDEPENDS_${PN} += "${PYTHON_PN}-compression ${PYTHON_PN}-io ${PYTHON_PN}-pprint ${PYTHON_PN}-shell" + +inherit setuptools3 pypi + +PYPI_PACKAGE = "et_xmlfile" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.1.bb deleted file mode 100644 index d8141c8e8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "a little task queue for python" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" - -PYPI_PACKAGE = "huey" - -SRC_URI[sha256sum] = "de9b6d0fd59794378fe05813d302be68038044ef3b68274b84ca8d285e20f803" - -inherit pypi setuptools3 - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.2.bb new file mode 100644 index 000000000..4ef80c4a8 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-huey_2.3.2.bb @@ -0,0 +1,11 @@ +SUMMARY = "a little task queue for python" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5cac039fcc82f01141cc170b48f315d4" + +PYPI_PACKAGE = "huey" + +SRC_URI[sha256sum] = "7176acb113850824490da5a31f328cc48a2002a59bfb396efbab8ecbd3573910" + +inherit pypi setuptools3 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu/0001-Fix-host-contamination-of-include-files.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu/0001-Fix-host-contamination-of-include-files.patch new file mode 100644 index 000000000..c45217a88 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu/0001-Fix-host-contamination-of-include-files.patch @@ -0,0 +1,40 @@ +From 8abf79f77d9151d6786da3c8e868117822bce6d4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 16 Apr 2021 10:48:36 -0700 +Subject: [PATCH] Fix host contamination of include files + +python3-icu-2.5-r0 do_package_qa: QA Issue: python3-icu: The compile log indicates that host include and/or library paths were used. + +Also, don't use icu-config + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Armin Kuster +Signed-off-by: Khem Raj +--- + setup.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index e647db4..abed399 100644 +--- a/setup.py ++++ b/setup.py +@@ -81,7 +81,7 @@ Building PyICU %s for ICU %s (max ICU major version supported: %s) + + CONFIGURE_WITH_ICU_CONFIG = { + 'darwin': True, +- 'linux': True, ++ 'linux': False, + 'freebsd': False, # not tested + 'win32': False, # no icu-config + 'sunos5': False, # not tested +@@ -267,7 +267,6 @@ setup(name="PyICU", + ext_modules=[Extension('_icu', + [filename for filename in sorted(os.listdir(os.curdir)) + if filename.endswith('.cpp')], +- include_dirs=_includes, + extra_compile_args=_cflags, + extra_link_args=_lflags, + libraries=_libraries)], +-- +2.31.1 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu/fix_host_include.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu/fix_host_include.patch deleted file mode 100644 index 1b6e89043..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu/fix_host_include.patch +++ /dev/null @@ -1,30 +0,0 @@ -Fixed host contamination of include files - -python3-icu-2.5-r0 do_package_qa: QA Issue: python3-icu: The compile log indicates that host include and/or library paths were used. - -Also, don't use icu-config - -Upstream-Status: [inappropriate] OE specific -Signed-off-by: Armin Kuster - -Index: PyICU-2.5/setup.py -=================================================================== ---- PyICU-2.5.orig/setup.py -+++ PyICU-2.5/setup.py -@@ -81,7 +81,7 @@ Building PyICU %s for ICU %s (max ICU ma - - CONFIGURE_WITH_ICU_CONFIG = { - 'darwin': True, -- 'linux': True, -+ 'linux': False, - 'freebsd': False, # not tested - 'win32': False, # no icu-config - 'sunos5': False, # not tested -@@ -274,7 +274,6 @@ setup(name="PyICU", - ext_modules=[Extension('_icu', - [filename for filename in sorted(os.listdir(os.curdir)) - if filename.endswith('.cpp')], -- include_dirs=_includes, - extra_compile_args=_cflags, - extra_link_args=_lflags, - libraries=_libraries)], diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.6.bb deleted file mode 100644 index 58f5e563b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.6.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Python extension wrapping the ICU C++ API" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c7c4bfd81a21e3b6368bdcced992bf59" - -DEPENDS += "pkgconfig icu" - -PYPI_PACKAGE = "PyICU" -SRC_URI[sha256sum] = "a9a5bf6833360f8f69e9375b91c1a7dd6e0c9157a42aee5bb7d6891804d96371" - -SRC_URI += "file://fix_host_include.patch" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb new file mode 100644 index 000000000..4c064c3d4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-icu_2.7.2.bb @@ -0,0 +1,13 @@ +SUMMARY = "Python extension wrapping the ICU C++ API" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://setup.py;beginline=244;endline=252;md5=3e00c41c6d04310707992b93307a224f" + +DEPENDS += "pkgconfig icu" + +PYPI_PACKAGE = "PyICU" +SRC_URI[sha256sum] = "1382869b22d91cc99274f9b525fa7d9199b44d9007ff0036a09747839a01e9dc" + +SRC_URI += "file://0001-Fix-host-contamination-of-include-files.patch" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.%.bbappend b/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.%.bbappend deleted file mode 100644 index 9fe358427..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.%.bbappend +++ /dev/null @@ -1,13 +0,0 @@ -# Main recipe was moved to oe-core, but with ptest disabled -inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-toml \ - ${PYTHON_PN}-unixadmin \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-Allow-verify_cb_-to-be-called-with-ok-True.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-Allow-verify_cb_-to-be-called-with-ok-True.patch new file mode 100644 index 000000000..3c836635a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-Allow-verify_cb_-to-be-called-with-ok-True.patch @@ -0,0 +1,47 @@ +From 73fbd1e646f6bbf202d4418bae80eb9941fbf552 Mon Sep 17 00:00:00 2001 +From: Casey Deccio +Date: Fri, 8 Jan 2021 12:43:09 -0700 +Subject: [PATCH] Allow verify_cb_* to be called with ok=True + +With https://github.com/openssl/openssl/commit/2e06150e3928daa06d5ff70c32bffad8088ebe58 +OpenSSL allowed verificaton to continue on UNABLE_TO_VERIFY_LEAF_SIGNATURE +--- + tests/test_ssl.py | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/tests/test_ssl.py b/tests/test_ssl.py +index 92b6942..7a3271a 100644 +--- a/tests/test_ssl.py ++++ b/tests/test_ssl.py +@@ -59,8 +59,13 @@ def allocate_srv_port(): + + + def verify_cb_new_function(ok, store): +- assert not ok + err = store.get_error() ++ # If err is X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE, then instead of ++ # aborting, this callback is called to retrieve additional error ++ # information. In this case, ok might not be False. ++ # See https://github.com/openssl/openssl/commit/2e06150e3928daa06d5ff70c32bffad8088ebe58 ++ if err != m2.X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: ++ assert not ok + assert err in [m2.X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT, + m2.X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, + m2.X509_V_ERR_CERT_UNTRUSTED, +@@ -618,7 +623,12 @@ class MiscSSLClientTestCase(BaseSSLClientTestCase): + + def verify_cb_old(self, ctx_ptr, x509_ptr, err, depth, ok): + try: +- self.assertFalse(ok) ++ # If err is X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE, then instead of ++ # aborting, this callback is called to retrieve additional error ++ # information. In this case, ok might not be False. ++ # See https://github.com/openssl/openssl/commit/2e06150e3928daa06d5ff70c32bffad8088ebe58 ++ if err != m2.X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: ++ self.assertFalse(ok) + self.assertIn(err, + [m2.X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT, + m2.X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, +-- +2.29.2 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch new file mode 100644 index 000000000..2313a324a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch @@ -0,0 +1,29 @@ +From d06eaa88a5f491827733f32027c46de3557fbd05 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= +Date: Fri, 19 Feb 2021 15:53:02 +0100 +Subject: [PATCH] Use of RSA_SSLV23_PADDING has been deprecated. + +Fixes #293. +--- + tests/test_rsa.py | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/tests/test_rsa.py b/tests/test_rsa.py +index 3de5016..7299785 100644 +--- a/tests/test_rsa.py ++++ b/tests/test_rsa.py +@@ -124,11 +124,6 @@ class RSATestCase(unittest.TestCase): + ptxt = priv.private_decrypt(ctxt, p) + self.assertEqual(ptxt, self.data) + +- # sslv23_padding +- ctxt = priv.public_encrypt(self.data, RSA.sslv23_padding) +- res = priv.private_decrypt(ctxt, RSA.sslv23_padding) +- self.assertEqual(res, self.data) +- + # no_padding + with six.assertRaisesRegex(self, RSA.RSAError, 'data too small'): + priv.public_encrypt(self.data, RSA.no_padding) +-- +2.29.2 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch new file mode 100644 index 000000000..f4c74384f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch @@ -0,0 +1,33 @@ +From dfb83a41aaeae326e9b6f02b233af375bc7b8815 Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Fri, 29 Mar 2013 15:17:17 +0100 +Subject: [PATCH] setup.py: link in sysroot, not in host directories + +Signed-off-by: Koen Kooi + +Upstream-status: Unknown +--- + setup.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/setup.py ++++ b/setup.py +@@ -135,6 +135,7 @@ class _M2CryptoBuildExt(build_ext.build_ + self.set_undefined_options('build', ('bundledlls', 'bundledlls')) + + self.libraries = ['ssl', 'crypto'] ++ self.openssl = os.environ.get( "STAGING_DIR" ) + if sys.platform == 'win32': + self.libraries = ['ssleay32', 'libeay32'] + if self.openssl and openssl_version(self.openssl, +@@ -159,8 +160,8 @@ class _M2CryptoBuildExt(build_ext.build_ + + if self.openssl is not None: + log.debug('self.openssl = %s', self.openssl) +- openssl_library_dir = os.path.join(self.openssl, 'lib') +- openssl_include_dir = os.path.join(self.openssl, 'include') ++ openssl_library_dir = os.environ.get( "STAGING_LIBDIR" ) ++ openssl_include_dir = os.environ.get( "STAGING_INCDIR" ) + + self.library_dirs.append(openssl_library_dir) + self.include_dirs.append(openssl_include_dir) diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/cross-compile-platform.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/cross-compile-platform.patch new file mode 100644 index 000000000..f039ae866 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto/cross-compile-platform.patch @@ -0,0 +1,31 @@ +Do not compute platform, this does not work in cross compile environment +since it pokes at the system for getting architecture values + +Upstream-Status: Inappropriate +Signed-off-by: Khem Raj + +--- a/setup.py ++++ b/setup.py +@@ -169,22 +169,6 @@ class _M2CryptoBuildExt(build_ext.build_ + log.debug('self.include_dirs = %s', self.include_dirs) + log.debug('self.library_dirs = %s', self.library_dirs) + +- if platform.system() == "Linux": +- # For RedHat-based distros, the '-D__{arch}__' option for +- # Swig needs to be normalized, particularly on i386. +- mach = platform.machine().lower() +- if mach in ('i386', 'i486', 'i586', 'i686'): +- arch = '__i386__' +- elif mach in ('ppc64', 'powerpc64', 'ppc64le', 'ppc64el'): +- arch = '__powerpc64__' +- elif mach in ('ppc', 'powerpc'): +- arch = '__powerpc__' +- else: +- arch = '__%s__' % mach +- self.swig_opts.append('-D%s' % arch) +- if mach in ('ppc64le', 'ppc64el'): +- self.swig_opts.append('-D_CALL_ELF=2') +- + self.swig_opts.extend(['-I%s' % i for i in self.include_dirs]) + + # Some Linux distributor has added the following line in diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.30.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.30.1.bb deleted file mode 100644 index 4d63d4bd3..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.30.1.bb +++ /dev/null @@ -1,2 +0,0 @@ -inherit setuptools3 -require python-m2crypto.inc diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb new file mode 100644 index 000000000..896d9d2cc --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb @@ -0,0 +1,63 @@ +SUMMARY = "A Python crypto and SSL toolkit" +HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e" + +FILESEXTRAPATHS_prepend := "${THISDIR}/python-m2crypto:" + +SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \ + file://cross-compile-platform.patch \ + file://0001-Allow-verify_cb_-to-be-called-with-ok-True.patch \ + file://0001-Use-of-RSA_SSLV23_PADDING-has-been-deprecated.patch \ + " +SRC_URI[sha256sum] = "e4e42f068b78ccbf113e5d0a72ae5f480f6c3ace4940b91e4fff5598cfff6fb3" + +PYPI_PACKAGE = "M2Crypto" +inherit pypi siteinfo setuptools3 + +DEPENDS += "openssl swig-native" +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-smtpd \ + ${PYTHON_PN}-xmlrpc \ +" + +DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}" +DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}" + +SWIG_FEATURES_x86 = "-D__i386__" +SWIG_FEATURES_x32 = "-D__ILP32__" +SWIG_FEATURES ?= "-D__${HOST_ARCH}__" +export SWIG_FEATURES + +# Get around a problem with swig, but only if the +# multilib header file exists. +# +do_configure_prepend() { + ${CPP} -dM - < /dev/null | grep -v '__\(STDC\|REGISTER_PREFIX\|GNUC\|STDC_HOSTED\)__' \ + | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > ${S}/SWIG/gcc_macros.h + + if [ "${SITEINFO_BITS}" = "64" ];then + bit="64" + else + bit="32" + fi + + if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then + for i in SWIG/_ec.i SWIG/_evp.i; do + sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "${S}/$i" + done + elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then + for i in SWIG/_ec.i SWIG/_evp.i; do + sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "${S}/$i" + done + fi +} + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.%.bbappend b/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.%.bbappend deleted file mode 100644 index abfda6065..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.%.bbappend +++ /dev/null @@ -1,12 +0,0 @@ -# Main recipe was moved to oe-core, but with ptest disabled -inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -f ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.5.bb deleted file mode 100644 index 0fa107c33..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.5.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Python data structure and operations for intervals" -HOMEPAGE = "https://github.com/AlexandreDecan/portion" -SECTION = "devel/python" - -LICENSE = "LGPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05f1e16a8e59ce3e9a979e881816c2ab" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "ed62fd1450336026f55c7d40b92b7159efd81d1420c778dd1b592bb634b14b4c" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.6.bb new file mode 100644 index 000000000..a1076f9f0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-portion_2.1.6.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "Python data structure and operations for intervals" +HOMEPAGE = "https://github.com/AlexandreDecan/portion" +SECTION = "devel/python" + +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05f1e16a8e59ce3e9a979e881816c2ab" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "725b65da806fb79df05c0b6383b01631c510f371d9bc0ece93a996b4260ba085" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.141.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.141.1.bb deleted file mode 100644 index df6f1c762..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.141.1.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Python API for MISP" -HOMEPAGE = "https://github.com/MISP/PyMISP" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" - -SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main" -SRCREV = "62cd5173f087e88834e88472060181b681b0b4d2" -S = "${WORKDIR}/git" - -inherit setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-jsonschema \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-six \ -" - -# Fixes: python3-pymisp requires /bin/bash, but no -# providers found in RDEPENDS_python3-pymisp? [file-rdep] -RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.142.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.142.bb new file mode 100644 index 000000000..a644978e4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.142.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Python API for MISP" +HOMEPAGE = "https://github.com/MISP/PyMISP" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" + +SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main" +SRCREV = "357096f24c4f8d7dac87dfe0b9edad4f924f27a3" +S = "${WORKDIR}/git" + +inherit setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-jsonschema \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-six \ +" + +# Fixes: python3-pymisp requires /bin/bash, but no +# providers found in RDEPENDS_python3-pymisp? [file-rdep] +RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.42.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.42.bb deleted file mode 100644 index 25defabc5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.42.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "A SoCo fork with fixes for Home Assistant " -HOMEPAGE = "https://pypi.org/project/pysonos/" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=07b0e2ca9ac77cd65cd4edf2e13367ea" - -SRC_URI[sha256sum] = "20b45fa1779a01325e67822d243e1a3f7657d8b515308d84c1eb3c805cc3bdb5" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-ifaddr \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-xmltodict \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.43.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.43.bb new file mode 100644 index 000000000..dbb6a8d8f --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.43.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "A SoCo fork with fixes for Home Assistant " +HOMEPAGE = "https://pypi.org/project/pysonos/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=07b0e2ca9ac77cd65cd4edf2e13367ea" + +SRC_URI[sha256sum] = "47be2b37defc856f15d7e7a419cfb939e9822750efe968db192156ebeba31684" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-ifaddr \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-xmltodict \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.14.0.bb deleted file mode 100644 index 1e94c25f7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.14.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" - -SRC_URI[md5sum] = "b63593bc08f445f6e3f14c34128a68ed" -SRC_URI[sha256sum] = "9882c0c6b24429449f5f969a5158b528f39bde47dc32e85b9f0403965017e700" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-pytest \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.15.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.15.1.bb new file mode 100644 index 000000000..1aa606b78 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.15.1.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" + +SRC_URI[sha256sum] = "2564ceb9612bbd560d19ca4b41347b54e7835c2f792c504f698e05395ed63f6f" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-pytest \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12117.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12117.bb deleted file mode 100644 index 5d9dde9d2..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12117.bb +++ /dev/null @@ -1,8 +0,0 @@ -SUMMARY = "This module provides ctypes-based bindings for the native libvlc API of the VLC video player." -HOMEPAGE = "wiki.videolan.org/PythonBinding" -LICENSE = "LGPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI[sha256sum] = "dd512f8438c1bba032fe9d22a7f8f98423a537992141ce2d1b28e29aff30381d" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12118.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12118.bb new file mode 100644 index 000000000..3e799cf62 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.12118.bb @@ -0,0 +1,8 @@ +SUMMARY = "This module provides ctypes-based bindings for the native libvlc API of the VLC video player." +HOMEPAGE = "wiki.videolan.org/PythonBinding" +LICENSE = "LGPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI[sha256sum] = "566f2f7c303f6800851cacc016df1c6eeec094ad63e0a49d87db9d698094f1fb" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.4.1.bb deleted file mode 100644 index c3025fdc6..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.4.1.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Python support for YAML" -DEPENDS += "libyaml ${PYTHON_PN}-cython-native" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=6d8242660a8371add5fe547adf083079" - -PYPI_PACKAGE = "PyYAML" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-netclient \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.11.bb new file mode 100644 index 000000000..ca61ab6ff --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.11.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ +application developers the full power and flexibility of SQL" +HOMEPAGE = "http://www.sqlalchemy.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3359ed561ac16aaa25b6c6eff84df595" + +SRC_URI[sha256sum] = "4ad4044eb86fbcbdff2106e44f479fbdac703d77860b3e19988c8a8786e73061" + +PYPI_PACKAGE = "SQLAlchemy" +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-threading \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.7.bb deleted file mode 100644 index 883b2660b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.7.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ -application developers the full power and flexibility of SQL" -HOMEPAGE = "http://www.sqlalchemy.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3359ed561ac16aaa25b6c6eff84df595" - -SRC_URI[sha256sum] = "84115f97d88c8ccf26db81b7997c5f5de9ae360e0785ef859d0987794495f0a9" - -PYPI_PACKAGE = "SQLAlchemy" -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-threading \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.1.bb deleted file mode 100644 index 0ff4b35d9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Supervisor: A Process Control System" -DESCRIPTION = "\ -Supervisor is a client/server system that allows its users \ -to monitorand control a number of processes on UNIX-like \ -operating systems." -HOMEPAGE = "https://github.com/Supervisor/supervisor" -LICENSE = "BSD-4-Clause" -LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=5b4e3a2172bba4c47cded5885e7e507e" - -SRC_URI[sha256sum] = "c479c875853e9c013d1fa73e529fd2165ff1ecaecc7e82810ba57e7362ae984d" - -PYPI_PACKAGE = "supervisor" -inherit pypi systemd setuptools3 -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-meld3 \ -" - -SRC_URI += "file://supervisord.conf \ - file://supervisor.service \ - " -SYSTEMD_SERVICE_${PN} = "supervisor.service" - -do_install_append() { - install -d ${D}${sysconfdir}/supervisor - install -d ${D}${systemd_system_unitdir} - - install -m 0644 ${WORKDIR}/supervisord.conf ${D}${sysconfdir}/supervisor - install -m 0644 ${WORKDIR}/supervisor.service ${D}${systemd_system_unitdir} -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.2.bb new file mode 100644 index 000000000..6944ecb97 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-supervisor_4.2.2.bb @@ -0,0 +1,29 @@ +SUMMARY = "Supervisor: A Process Control System" +DESCRIPTION = "\ +Supervisor is a client/server system that allows its users \ +to monitorand control a number of processes on UNIX-like \ +operating systems." +HOMEPAGE = "https://github.com/Supervisor/supervisor" +LICENSE = "BSD-4-Clause" +LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=5b4e3a2172bba4c47cded5885e7e507e" + +SRC_URI[sha256sum] = "5b2b8882ec8a3c3733cce6965cc098b6d80b417f21229ab90b18fe551d619f90" + +PYPI_PACKAGE = "supervisor" +inherit pypi systemd setuptools3 +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-meld3 \ +" + +SRC_URI += "file://supervisord.conf \ + file://supervisor.service \ + " +SYSTEMD_SERVICE_${PN} = "supervisor.service" + +do_install_append() { + install -d ${D}${sysconfdir}/supervisor + install -d ${D}${systemd_system_unitdir} + + install -m 0644 ${WORKDIR}/supervisord.conf ${D}${sysconfdir}/supervisor + install -m 0644 ${WORKDIR}/supervisor.service ${D}${systemd_system_unitdir} +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.2.bb deleted file mode 100644 index c5387dc35..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.2.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Filesystem events monitoring" -DEPENDS = "${PYTHON_PN}-argh" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI[sha256sum] = "532fedd993e75554671faa36cd04c580ced3fae084254a779afbbd8aaf00566b" - -inherit pypi setuptools3 - -RDEPENDS_${PN} = " \ - ${PYTHON_PN}-argh \ - ${PYTHON_PN}-pathtools3 \ - ${PYTHON_PN}-pyyaml \ - ${PYTHON_PN}-requests \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.3.bb new file mode 100644 index 000000000..748657019 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.3.bb @@ -0,0 +1,18 @@ +SUMMARY = "Filesystem events monitoring" +DEPENDS = "${PYTHON_PN}-argh" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[sha256sum] = "4288d3a984324db492e57aa169666238a2578f0af5a081685526608fb9f6bd61" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = " \ + ${PYTHON_PN}-argh \ + ${PYTHON_PN}-pathtools3 \ + ${PYTHON_PN}-pyyaml \ + ${PYTHON_PN}-requests \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.3.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.3.8.bb deleted file mode 100644 index e89221e5c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.3.8.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Python 2 and 3 compatibility library" -HOMEPAGE = "https://xlsxwriter.readthedocs.io" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e95e368cd6cb090815046688e92d11e" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "XlsxWriter" - -SRC_URI[sha256sum] = "2b7e22b1268c2ed85d73e5629097c9a63357f2429667ada9863cd05ff8ee33aa" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.0.bb new file mode 100644 index 000000000..b5e15f14c --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Python 2 and 3 compatibility library" +HOMEPAGE = "https://xlsxwriter.readthedocs.io" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e95e368cd6cb090815046688e92d11e" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "XlsxWriter" + +SRC_URI[sha256sum] = "82be5a58c09bdc2ff8afc25acc815c465275239ddfc56d6e7b2a7e6c5d2e213b" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_2.0.0.bb deleted file mode 100644 index c5add103c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_2.0.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "xxhash is a Python binding for the xxHash library by Yann Collet." -SECTION = "devel/python" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5a8d76283514a1b7e6a414aba38629b5" - -SRC_URI[md5sum] = "010fda0427b621e5fe6930ad42511d88" -SRC_URI[sha256sum] = "58ca818554c1476fa1456f6cd4b87002e2294f09baf0f81e5a2a4968e62c423c" - -SRC_URI += " \ - file://run-ptest \ -" - -inherit pypi setuptools3 ptest - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_2.0.2.bb new file mode 100644 index 000000000..965e8107d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_2.0.2.bb @@ -0,0 +1,21 @@ +SUMMARY = "xxhash is a Python binding for the xxHash library by Yann Collet." +SECTION = "devel/python" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3a9dab7f159514231249aa3e108ab26b" + +SRC_URI[sha256sum] = "b7bead8cf6210eadf9cecf356e17af794f57c0939a3d420a00d87ea652f87b49" + +SRC_URI += " \ + file://run-ptest \ +" + +inherit pypi setuptools3 ptest + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.3.0.bb deleted file mode 100644 index 5da5a88b9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.3.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Interface definitions for Zope products" -LICENSE = "ZPL-2.1" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46" - -PYPI_PACKAGE = "zope.interface" - -inherit pypi setuptools3 -SRC_URI[sha256sum] = "b18a855f8504743e0a2d8b75d008c7720d44e4c76687e13f959e35d9a13eb397" - -PACKAGES =. "${PN}-test " - -RPROVIDES_${PN} += "zope-interfaces" - -RDEPENDS_${PN}_class-target += "${PYTHON_PN}-datetime" -RDEPENDS_${PN}-test += "python3-unittest python3-doctest" - -FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" -FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" -FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" -FILES_${PN}-test += " \ - ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ - ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.4.0.bb new file mode 100644 index 000000000..305e42a61 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zopeinterface_5.4.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Interface definitions for Zope products" +LICENSE = "ZPL-2.1" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46" + +PYPI_PACKAGE = "zope.interface" + +inherit pypi setuptools3 +SRC_URI[sha256sum] = "5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e" + +PACKAGES =. "${PN}-test " + +RPROVIDES_${PN} += "zope-interfaces" + +RDEPENDS_${PN}_class-target += "${PYTHON_PN}-datetime" +RDEPENDS_${PN}-test += "python3-unittest python3-doctest" + +FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" +FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" +FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" +FILES_${PN}-test += " \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ +" diff --git a/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb b/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb index 2fa5bc4a9..ec3334d8f 100644 --- a/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb +++ b/meta-openembedded/meta-webserver/recipes-core/packagesgroups/packagegroup-meta-webserver.bb @@ -26,7 +26,6 @@ RDEPENDS_packagegroup-meta-webserver-http = "\ monkey \ nginx \ nginx \ - nostromo \ sthttpd \ " diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.46.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.46.bb index 197cb83e6..e84f7eaa2 100644 --- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.46.bb +++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.46.bb @@ -115,7 +115,7 @@ do_install_append_class-target() { sed -i -e 's,${STAGING_DIR_TARGET},,g' \ -e 's,${DEBUG_PREFIX_MAP},,g' \ - -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ + -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-ffile-prefix-map[^ ]*,,g' \ -e 's,${HOSTTOOLS_DIR}/,,g' \ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk @@ -123,7 +123,7 @@ do_install_append_class-target() { sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ -e 's,${DEBUG_PREFIX_MAP},,g' \ -e 's,${RECIPE_SYSROOT},,g' \ - -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ + -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \ -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice diff --git a/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.11.bb b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.11.bb deleted file mode 100644 index 89910841f..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.11.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Lightweight secure web server" -HOMEPAGE = "http://www.hiawatha-webserver.org" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "libxml2 libxslt virtual/crypt" - -SECTION = "net" - -SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \ - file://hiawatha-init \ - file://hiawatha.service " - -SRC_URI[md5sum] = "6dcec72e94facbdc69b103006fa5819f" -SRC_URI[sha256sum] = "79d85d165d68dd7043bbd337f5bc7dd10d8632d68ba61d0e557f84bd687c9727" - -INITSCRIPT_NAME = "hiawatha" -INITSCRIPT_PARAMS = "defaults 70" - -SYSTEMD_SERVICE_${PN} = "hiawatha.service" - -inherit cmake update-rc.d systemd - -EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \ - -DENABLE_CACHE=OFF \ - -DENABLE_DEBUG=OFF \ - -DENABLE_TLS=OFF \ - -DENABLE_TOOLKIT=OFF \ - -DENABLE_CHROOT=OFF \ - -DENABLE_XSLT=ON \ - -DENABLE_TOMAHAWK=OFF \ - -DCMAKE_INSTALL_MANDIR=${mandir} \ - -DCMAKE_INSTALL_BINDIR=${bindir} \ - -DCMAKE_INSTALL_SBINDIR=${sbindir} \ - -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \ - -DCMAKE_INSTALL_LIBDIR=${libdir} \ - -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir}" - -do_install_append() { - # Copy over init script and sed in the correct sbin path - sed -i 's,sed_sbin_path,${sbindir},' ${WORKDIR}/hiawatha-init - mkdir -p ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha - - # configure php-fcgi to have a working configuration - # by default if php is installed - echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf - - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -d ${D}/${systemd_unitdir}/system - install -m 644 ${WORKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system - fi - - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" "${D}${localstatedir}/run" -} - -CONFFILES_${PN} = " \ - ${sysconfdir}/hiawatha/cgi-wrapper.conf \ - ${sysconfdir}/hiawatha/hiawatha.conf \ - ${sysconfdir}/hiawatha/index.xslt \ - ${sysconfdir}/hiawatha/mimetype.conf \ - ${sysconfdir}/hiawatha/php-fcgi.conf \ -" - -FILES_${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.12.bb b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.12.bb new file mode 100644 index 000000000..9729fd4a8 --- /dev/null +++ b/meta-openembedded/meta-webserver/recipes-httpd/hiawatha/hiawatha_10.12.bb @@ -0,0 +1,64 @@ +SUMMARY = "Lightweight secure web server" +HOMEPAGE = "http://www.hiawatha-webserver.org" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" +DEPENDS = "libxml2 libxslt virtual/crypt" + +SECTION = "net" + +SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \ + file://hiawatha-init \ + file://hiawatha.service " + +SRC_URI[md5sum] = "d9e282be06ed456207726b7ac0df9d48" +SRC_URI[sha256sum] = "61bf41146c51244769984135529fcffd0f6cb92be18dc12d460effc42f19f50d" + +INITSCRIPT_NAME = "hiawatha" +INITSCRIPT_PARAMS = "defaults 70" + +SYSTEMD_SERVICE_${PN} = "hiawatha.service" + +inherit cmake update-rc.d systemd + +EXTRA_OECMAKE = " -DENABLE_IPV6=OFF \ + -DENABLE_CACHE=OFF \ + -DENABLE_DEBUG=OFF \ + -DENABLE_TLS=OFF \ + -DENABLE_TOOLKIT=OFF \ + -DENABLE_CHROOT=OFF \ + -DENABLE_XSLT=ON \ + -DENABLE_TOMAHAWK=OFF \ + -DCMAKE_INSTALL_MANDIR=${mandir} \ + -DCMAKE_INSTALL_BINDIR=${bindir} \ + -DCMAKE_INSTALL_SBINDIR=${sbindir} \ + -DCMAKE_INSTALL_SYSCONFDIR=${sysconfdir} \ + -DCMAKE_INSTALL_LIBDIR=${libdir} \ + -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=${localstatedir}" + +do_install_append() { + # Copy over init script and sed in the correct sbin path + sed -i 's,sed_sbin_path,${sbindir},' ${WORKDIR}/hiawatha-init + mkdir -p ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/hiawatha-init ${D}${sysconfdir}/init.d/hiawatha + + # configure php-fcgi to have a working configuration + # by default if php is installed + echo "Server = ${bindir}/php-cgi ; 2 ; 127.0.0.1:2005 ; nobody:nobody ; ${sysconfdir}/php/hiawatha-php5/php.ini" >> ${D}${sysconfdir}/hiawatha/php-fcgi.conf + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}/${systemd_unitdir}/system + install -m 644 ${WORKDIR}/hiawatha.service ${D}/${systemd_unitdir}/system + fi + + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" "${D}${localstatedir}/run" +} + +CONFFILES_${PN} = " \ + ${sysconfdir}/hiawatha/cgi-wrapper.conf \ + ${sysconfdir}/hiawatha/hiawatha.conf \ + ${sysconfdir}/hiawatha/index.xslt \ + ${sysconfdir}/hiawatha/mimetype.conf \ + ${sysconfdir}/hiawatha/php-fcgi.conf \ +" + +FILES_${PN}-dev = "${libdir}/hiawatha/*${SOLIBSDEV}" diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch deleted file mode 100644 index 8cd468235..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/0001-GNUmakefile-add-possibility-to-override-variables.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 7fa0d31ec5c0be9dca84a03851b2d44f61527ec8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Eric=20B=C3=A9nard?= -Date: Sun, 4 Dec 2011 16:01:04 +0100 -Subject: [PATCH] GNUmakefile: add possibility to override variables -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -this is useful for cross compilation - -Signed-off-by: Eric Bénard ---- -Upstream-Status: Inappropriate [embedded specific] - src/libbsd/GNUmakefile | 10 +++++----- - src/libmy/GNUmakefile | 26 +++++++++++++------------- - src/nhttpd/GNUmakefile | 12 ++++++------ - src/tools/GNUmakefile | 8 ++++---- - 4 files changed, 28 insertions(+), 28 deletions(-) - -diff --git a/src/libbsd/GNUmakefile b/src/libbsd/GNUmakefile -index e2d01a3..b034bc6 100644 ---- a/src/libbsd/GNUmakefile -+++ b/src/libbsd/GNUmakefile -@@ -1,12 +1,12 @@ --CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c -+CFLAGS := -O2 -pipe -Wall -Werror -Wstrict-prototypes -c - - libbsd.a: strlcpy.o strlcat.o -- ar -r libbsd.a strlcpy.o strlcat.o -- ranlib libbsd.a -+ $(AR) -r libbsd.a strlcpy.o strlcat.o -+ $(RANLIB) libbsd.a - - strlcpy.o: strlcpy.c -- cc ${CCFLAGS} strlcpy.c -+ $(CC) $(CFLAGS) strlcpy.c - strlcat.o: strlcat.c -- cc ${CCFLAGS} strlcat.c -+ $(CC) $(CFLAGS) strlcat.c - clean: - rm -f libbsd.a *.o -diff --git a/src/libmy/GNUmakefile b/src/libmy/GNUmakefile -index ce90dd9..891ffea 100644 ---- a/src/libmy/GNUmakefile -+++ b/src/libmy/GNUmakefile -@@ -1,30 +1,30 @@ --CCFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -c -+CFLAGS := -O2 -Wall -Werror -Wstrict-prototypes -c - - libmy.a: strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o -- ar -r libmy.a strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o -- ranlib libmy.a -+ $(AR) -r libmy.a strcutl.o strcutw.o strcuts.o strcuti.o strcutf.o flog.o flogd.o fparse.o strlower.o strb64d.o -+ $(RANLIB) libmy.a - - strcutl.o: strcutl.c -- cc ${CCFLAGS} strcutl.c -+ $(CC) $(CFLAGS) strcutl.c - strcutw.o: strcutw.c -- cc ${CCFLAGS} strcutw.c -+ $(CC) $(CFLAGS) strcutw.c - strcuts.o: strcuts.c -- cc ${CCFLAGS} strcuts.c -+ $(CC) $(CFLAGS) strcuts.c - strcuti.o: strcuti.c -- cc ${CCFLAGS} strcuti.c -+ $(CC) $(CFLAGS) strcuti.c - strcutf.o: strcutf.c -- cc ${CCFLAGS} strcutf.c -+ $(CC) $(CFLAGS) strcutf.c - strlower.o: strlower.c -- cc ${CCFLAGS} strlower.c -+ $(CC) $(CFLAGS) strlower.c - strb64d.o: strb64d.c -- cc ${CCFLAGS} strb64d.c -+ $(CC) $(CFLAGS) strb64d.c - - flog.o: flog.c -- cc ${CCFLAGS} flog.c -+ $(CC) $(CFLAGS) flog.c - flogd.o: flogd.c -- cc ${CCFLAGS} flogd.c -+ $(CC) $(CFLAGS) flogd.c - fparse.o: fparse.c -- cc ${CCFLAGS} fparse.c -+ $(CC) $(CFLAGS) fparse.c - - clean: - rm -f libmy.a *.o -diff --git a/src/nhttpd/GNUmakefile b/src/nhttpd/GNUmakefile -index f6d12de..9524911 100644 ---- a/src/nhttpd/GNUmakefile -+++ b/src/nhttpd/GNUmakefile -@@ -1,20 +1,20 @@ - # $nostromo: GNUmakefile,v 1.6 2016/04/12 19:02:06 hacki Exp $ - --CCFLAGS = -O2 -pipe -Wall -Wstrict-prototypes -c -+CFLAGS := -O2 -pipe -Wall -Wstrict-prototypes -c - - nhttpd: main.o http.o sys.o -- cc -L../libmy -L../libbsd -o nhttpd main.o http.o sys.o -lmy -lbsd -lssl -lcrypt -- strip nhttpd -+ $(CC) -L../libmy -L../libbsd -o nhttpd main.o http.o sys.o -lmy -lbsd -lssl -lcrypt -+# $(STRIP) nhttpd - nroff -Tascii -c -mandoc nhttpd.8 > nhttpd.cat8 - - main.o: main.c -- cc ${CCFLAGS} main.c -+ $(CC) $(CFLAGS) main.c - - http.o: http.c -- cc ${CCFLAGS} http.c -+ $(CC) $(CFLAGS) http.c - - sys.o: sys.c -- cc ${CCFLAGS} sys.c -+ $(CC) $(CFLAGS) sys.c - - clean: - rm -f nhttpd nhttpd.cat8 *.o -diff --git a/src/tools/GNUmakefile b/src/tools/GNUmakefile -index 15bea61..663ddb5 100644 ---- a/src/tools/GNUmakefile -+++ b/src/tools/GNUmakefile -@@ -1,13 +1,13 @@ - # $nostromo: GNUmakefile,v 1.3 2016/04/12 19:02:58 hacki Exp $ - --CCFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes -c -+CFLAGS = -O2 -pipe -Wall -Werror -Wstrict-prototypes - - crypt: crypt.o -- cc -L../libbsd -o crypt crypt.o -lcrypt -lbsd -- strip crypt -+ $(CC) $(CFLAGS) -L../libbsd -o crypt crypt.o -lcrypt -lbsd -+# $(STRIP) crypt - - crypt.o: crypt.c -- cc ${CCFLAGS} crypt.c -+ $(CC) $(CFLAGS) -c crypt.c - - clean: - rm -f crypt *.o --- -1.7.6.4 - diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf deleted file mode 100644 index 6674bb696..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nhttpd.conf +++ /dev/null @@ -1,55 +0,0 @@ -# MAIN [MANDATORY] - -servername localhost -#servername www.nazgul.ch:8080 -serverlisten * -#serverlisten 81.221.21.250 127.0.0.1 ::1 -serveradmin webmaster@localhost -serverroot /var/nostromo -servermimes /var/nostromo/conf/mimes -docroot /var/nostromo/htdocs -docindex index.html - -# LOGS [OPTIONAL] - -logpid /var/run/nostromo/nhttpd.pid -#logaccess /var/log/nostromo/access_log - -# SETUID [RECOMMENDED] - -user www-data - -# BASIC AUTHENTICATION [OPTIONAL] - -#htaccess .htaccess -#htpasswd /var/nostromo/conf/.htpasswd -#htpasswd +bsdauth -#htpasswd +bsdauthnossl - -# SSL [OPTIONAL] - -#sslport 443 -#sslcert /etc/ssl/server.crt -#sslcertkey /etc/ssl/server.key - -# CUSTOM RESPONSES [OPTIONAL] -# -# The custom responses are searched in the corresponding document root. - -#custom_401 custom_401.html -#custom_403 custom_403.html -#custom_404 custom_404.html - -# ALIASES [OPTIONAL] - -/icons /var/nostromo/icons - -# VIRTUAL HOSTS [OPTIONAL] - -#www.rahel.ch /var/nostromo/htdocs/www.rahel.ch -#www.rahel.ch:8080 /var/nostromo/htdocs/www.rahel.ch - -# HOMEDIRS [OPTIONAL] - -#homedirs /home -#homedirs_public public_www diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nostromo b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nostromo deleted file mode 100644 index 8a2886882..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/nostromo +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh - -PATH=/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=nhttpd -NAME=nhttpd -DESC="Nostromo Web Server" -OPTS="-c /etc/nhttpd.conf" - -case "$1" in - start) - echo -n "Starting $DESC: " - start-stop-daemon --start -x "$DAEMON" -- $OPTS - echo "$NAME." - ;; - stop) - echo -n "Stopping $DESC: " - start-stop-daemon --stop -x "$DAEMON" - echo "$NAME." - ;; - restart|force-reload) - echo -n "Restarting $DESC: " - start-stop-daemon --stop -x "$DAEMON" - sleep 1 - start-stop-daemon --start -x "$DAEMON" -- $OPTS - echo "$NAME." - ;; - *) - N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|restart|force-reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf deleted file mode 100644 index b7a9f4886..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/tmpfiles.conf +++ /dev/null @@ -1 +0,0 @@ -d /run/nostromo - www-data www-data - diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/volatiles b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/volatiles deleted file mode 100644 index 40924960c..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/files/volatiles +++ /dev/null @@ -1,2 +0,0 @@ -d www-data www-data 0775 /var/run/nostromo none -d www-data www-data 0775 /var/log/nostromo none diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.9.bb b/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.9.bb deleted file mode 100644 index e726c9ac6..000000000 --- a/meta-openembedded/meta-webserver/recipes-httpd/nostromo/nostromo_1.9.9.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "A simple, fast and secure HTTP server" -HOMEPAGE = "http://www.nazgul.ch/dev_nostromo.html" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://src/nhttpd/main.c;beginline=2;endline=14;md5=0bb3711a867b9704d3bfabcf5529b64e" - -SRC_URI = "http://www.nazgul.ch/dev/${BPN}-${PV}.tar.gz \ - file://0001-GNUmakefile-add-possibility-to-override-variables.patch \ - file://nhttpd.conf \ - file://volatiles \ - file://tmpfiles.conf \ - file://nostromo \ -" - -SRC_URI[md5sum] = "a054eb8e09560082793aaad676e33bd3" -SRC_URI[sha256sum] = "1fad0a28d934835b582cedc98857e12e5adb991b14b87b52b39e6a501f4a9486" - -TARGET_CC_ARCH += "${LDFLAGS}" - -DEPENDS = "openssl groff-native base-passwd virtual/crypt" - -inherit update-rc.d - -INITSCRIPT_NAME = "nostromo" -INITSCRIPT_PARAMS = "defaults 70" - -do_compile() { - oe_runmake -} - -do_install() { - install -d ${D}/${sbindir} - install -m 0755 src/nhttpd/nhttpd ${D}/${sbindir}/nhttpd - install -m 0755 src/tools/crypt ${D}/${sbindir}/crypt - install -d ${D}/${mandir}/man8 - install -m 0444 src/nhttpd/nhttpd.8 ${D}/${mandir}/man8/nhttpd.8 - install -d ${D}${localstatedir}/nostromo/conf - install -d ${D}${localstatedir}/nostromo/htdocs/cgi-bin - install -d ${D}${localstatedir}/nostromo/icons - install -d ${D}${sysconfdir}/init.d - install -m 0644 conf/mimes ${D}${localstatedir}/nostromo/conf/mimes - install -m 0644 ${WORKDIR}/nhttpd.conf ${D}${sysconfdir} - install -m 0755 ${WORKDIR}/nostromo ${D}${sysconfdir}/init.d - install -D -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/nostromo - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -D -m 0644 ${WORKDIR}/tmpfiles.conf ${D}${sysconfdir}/tmpfiles.d/nostromo.conf - fi - install -m 0644 htdocs/index.html ${D}${localstatedir}/nostromo/htdocs/index.html - install -m 0644 htdocs/nostromo.gif ${D}${localstatedir}/nostromo/htdocs/nostromo.gif - install -m 0644 icons/dir.gif ${D}${localstatedir}/nostromo/icons/dir.gif - install -m 0644 icons/file.gif ${D}${localstatedir}/nostromo/icons/file.gif - chown -R www-data:www-data ${D}/${localstatedir}/nostromo -} - -CONFFILES_${PN} += "/var/nostromo/conf/mimes ${sysconfdir}/nhttpd.conf" - -pkg_postinst_${PN} () { - if [ -z "$D" ]; then - if [ -e /sys/fs/cgroup/systemd ]; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nostromo.conf - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update - fi - fi -} diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.16.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.16.0.bb deleted file mode 100644 index 47de8c571..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.16.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Xfce4 settings" -SECTION = "x11/wm" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "exo garcon libxi virtual/libx11 xrandr libxcursor libxklavier upower" - -inherit xfce features_check mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI += "file://0001-xsettings.xml-Set-default-themes.patch" -SRC_URI[sha256sum] = "67a1404fc754c675c6431e22a8fe0e5d79644fdfadbfe25a4523d68e1442ddc2" - -EXTRA_OECONF += "--enable-maintainer-mode --disable-debug" - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \ -" -PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify" -PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra-gtk2 sound-theme-freedesktop" - -FILES_${PN} += " \ - ${libdir}/xfce4 \ - ${datadir}/xfce4 \ -" - -RRECOMMENDS_${PN} += "adwaita-icon-theme" -RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','alsa','libcanberra-alsa','',d)}" -RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','pulseaudio','libcanberra-pulse','',d)}" -RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','xfce4-datetime-setter','',d)}" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.16.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.16.1.bb new file mode 100644 index 000000000..ccd55723a --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.16.1.bb @@ -0,0 +1,30 @@ +SUMMARY = "Xfce4 settings" +SECTION = "x11/wm" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "exo garcon libxi virtual/libx11 xrandr libxcursor libxklavier upower" + +inherit xfce features_check mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI += "file://0001-xsettings.xml-Set-default-themes.patch" +SRC_URI[sha256sum] = "bb28e1be7aa34d0edb1cfbaacc509a4267db56828b36cd6be312a202973635c6" + +EXTRA_OECONF += "--enable-maintainer-mode --disable-debug" + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \ +" +PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify" +PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra-gtk2 sound-theme-freedesktop" + +FILES_${PN} += " \ + ${libdir}/xfce4 \ + ${datadir}/xfce4 \ +" + +RRECOMMENDS_${PN} += "adwaita-icon-theme" +RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','alsa','libcanberra-alsa','',d)}" +RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','pulseaudio','libcanberra-pulse','',d)}" +RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','xfce4-datetime-setter','',d)}" -- cgit v1.2.3 From 17f71a1da5666763b52ddd443287a31109cf951e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 10 May 2021 17:06:48 -0500 Subject: watchdog: hard code application path Per OpenBMC direction, hard code the path to the application Signed-off-by: Andrew Geissler Change-Id: I7dbbc9d8c353bc760d32e9cd106551a8bfab3838 --- .../watchdog/phosphor-watchdog/phosphor-watchdog@.service | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service index 52c129025..aab1ddbee 100644 --- a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service @@ -4,5 +4,4 @@ Description=Phosphor %I watchdog [Service] Restart=no EnvironmentFile={envfiledir}/obmc/watchdog/%I -ExecStart=/usr/bin/env phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}} -SyslogIdentifier=phosphor-watchdog +ExecStart=/usr/bin/phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}} -- cgit v1.2.3 From fb9869ff2816f52029c38b093d29e5a2c565d283 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 10 May 2021 16:03:43 -0500 Subject: watchdog: pass in default timeout on service start This commit will allow other meta layers to easily override the default timeout on watchdog start. Without passing the --min_interval option there is no way currently for other layers to change this on startup. Set the default of 30000 milliseconds to match the current default defined within the phosphor-dbus-interface. Signed-off-by: Andrew Geissler Change-Id: I6a25d5dd3da5704113c3f77d6f9737e0705b3d01 --- .../recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron | 1 + .../watchdog/phosphor-watchdog/phosphor-watchdog@.service | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron index 591d6dcd7..a972a470f 100644 --- a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron @@ -1,3 +1,4 @@ DEVPATH=/xyz/openbmc_project/watchdog/host0 SERVICE=xyz.openbmc_project.Watchdog TARGET=obmc-host-timeout@0.target +TIMEOUT_IN_MSEC=30000 diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service index aab1ddbee..1f6590256 100644 --- a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service @@ -4,4 +4,4 @@ Description=Phosphor %I watchdog [Service] Restart=no EnvironmentFile={envfiledir}/obmc/watchdog/%I -ExecStart=/usr/bin/phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}} +ExecStart=/usr/bin/phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}} --min_interval=${{TIMEOUT_IN_MSEC}} -- cgit v1.2.3 From f91639730c46b5c77cefe2ee6e689042e6a2fb31 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 24 May 2021 08:35:53 -0500 Subject: meta-ibm:host-watchdog: increase timeout to 10 min The IBM host firmware team has requested an initial timeout of 10 minutes for the host watchdog. The goal is to bring this down once bringup is complete. When inband IPMI was used, there was a mechanism for the host to adjust this timeout so the BMC firmware would set the initial 30 second timeout and the host firmware would change it to 10 minutes once they started. With PLDM there is no way for the host to adjust this timeout so we need to start with the larger value. Tested: - Verified a p10bmc image had the new poweron file installed with 10 minute timeout. Signed-off-by: Andrew Geissler Change-Id: If94766d5f2d62271c4adf366631f0b31a75ef8d0 --- .../recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron | 4 ++++ meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron create mode 100644 meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend diff --git a/meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron b/meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron new file mode 100644 index 000000000..d0b6e1024 --- /dev/null +++ b/meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron @@ -0,0 +1,4 @@ +DEVPATH=/xyz/openbmc_project/watchdog/host0 +SERVICE=xyz.openbmc_project.Watchdog +TARGET=obmc-host-timeout@0.target +TIMEOUT_IN_MSEC=600000 diff --git a/meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend b/meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend new file mode 100644 index 000000000..0d9704fcc --- /dev/null +++ b/meta-ibm/recipes-phosphor/watchdog/phosphor-watchdog_%.bbappend @@ -0,0 +1,4 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +# utilize a 600s default timer config for p10bmc +SYSTEMD_ENVIRONMENT_FILE_${PN}_append_p10bmc = " obmc/watchdog/poweron" -- cgit v1.2.3 From 4e172ab60854423716c76a78e1a575f10254a84f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 26 May 2021 19:01:03 +0000 Subject: dbus-sensors: srcrev bump 13b63f8f59..9702c9d175 Zev Weiss (1): cpusensor: access inventoryIfaces by reference instead of by value Change-Id: I2a93803480fb721a27f9a004e445799b1079a96b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index ada607648..baf5bdb46 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "13b63f8f597d396db8b5bd182ac2e5814d599e2f" +SRCREV = "9702c9d1751e5b90f7c1b53c3afbbd4ab2d5e817" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From fb1c19dc9f2ca19ceb9eff84197afb038386f4e6 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 27 May 2021 04:40:57 +0000 Subject: phosphor-snmp: srcrev bump 33a34f04ba..df871e9d38 Ratan Gupta (1): MAINTAINERS: Change Ratan's email address Change-Id: Ie141a5539d0d4904b04aa060d5e3b30cc01a60d8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb index 61c581680..c6981e3ff 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb @@ -12,7 +12,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI += "git://github.com/openbmc/phosphor-snmp" -SRCREV = "33a34f04ba608276442cdaba2c02d203d09ac75b" +SRCREV = "df871e9d389f99846ed16099dd94c6dc37d17e10" DBUS_SERVICE_${PN} += "xyz.openbmc_project.Network.SNMP.service" -- cgit v1.2.3 From 65c8ba7224f2d7e58f017c8e2c383119572f72ad Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 27 May 2021 05:41:01 +0000 Subject: pldm: srcrev bump c073a20e1f..ef89c46de7 Jayashankar Padath (1): oem-ibm: Increase the hypervisor nvram size Change-Id: Ib0b6896f2c78596012bfa20139bd93c8c525ed12 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index a80b8fc0b..793c107c0 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "c073a20e1fecd42f4c930f2c4bfcbf433f318b9d" +SRCREV = "ef89c46de74a44194f351bdcfda77923a2a00761" -- cgit v1.2.3 From d1d7be56b026400af49a4eaad827d72362b89e29 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 27 May 2021 14:50:59 +0000 Subject: phosphor-logging: srcrev bump e32b7e76d1..3b8ed7f2d3 Sumit Kumar (1): PEL: Support MfgSeverity & MfgAction flags PEL reg fields Change-Id: I074f9e469e295e33d29a3a67f8d4111881826f28 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index d29e77cd1..844b572c9 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "e32b7e76d17f506477b3dfea937739785a7d3f6f" +SRCREV = "3b8ed7f2d3a93af5d27b549a934667f310412da4" S = "${WORKDIR}/git" -- cgit v1.2.3 From 0d15ff9dc846c82bb756f86061b9bd652f52f8d3 Mon Sep 17 00:00:00 2001 From: Lancelot Kao Date: Thu, 27 May 2021 15:07:18 -0500 Subject: meta-fii/meta-kudo: fixed naming in EM json 1. correct the sensor name in EM json file Signed-off-by: Lancelot Kao Change-Id: I98df21ba91820fefccf86640433ca8786a81dcf5 --- .../recipes-phosphor/configuration/entity-manager/kudo.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json b/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json index 6437e77b0..a2cb8750b 100644 --- a/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json +++ b/meta-fii/meta-kudo/recipes-phosphor/configuration/entity-manager/kudo.json @@ -2311,9 +2311,9 @@ "temp13_Name":"CPU0_RCA_VR_T", "power1_Name":"CPU0_CPU_PW", "power2_Name":"CPU0_SOC_TDP_PW", - "pout3_Name":"CPU0_DIMM_VR1_PW", - "pout4_Name":"CPU0_DIMM_VR2_PW", - "pout5_Name":"CPU0_RCA_VR_PW", + "power3_Name":"CPU0_DIMM_VR1_PW", + "power4_Name":"CPU0_DIMM_VR2_PW", + "power5_Name":"CPU0_RCA_VR_PW", "vout0_Name":"CPU0_CPU_VCORE", "vout1_Name":"CPU0_SOC_V", "vout2_Name":"CPU0_DIMM_VR1_V", -- cgit v1.2.3 From de3e2a6454cca3ec793b092349c39745bda696e7 Mon Sep 17 00:00:00 2001 From: Lancelot Kao Date: Thu, 27 May 2021 14:03:09 -0500 Subject: meta-fii/meta-kudo: remove duplicate package 1. remove the usb-network from obmc-phosphor-image.bbappend Signed-off-by: Lancelot Kao Change-Id: Iaccd431f0b712b201b213f9af44fd446a1c54b1f --- meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend index 5ec39cde8..87dc22827 100644 --- a/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend +++ b/meta-fii/meta-kudo/recipes-phosphor/image/obmc-phosphor-image.bbappend @@ -7,7 +7,6 @@ OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-ipmi-host" OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-host-postd" OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-logging" OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-sel-logger" -OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " usb-network" OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " entity-manager" OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " dbus-sensors" OBMC_IMAGE_EXTRA_INSTALL_append_kudo = " phosphor-virtual-sensor" -- cgit v1.2.3 From 1bdec86ae1635209363605444a6de361fb54ad91 Mon Sep 17 00:00:00 2001 From: Lancelot Kao Date: Mon, 24 May 2021 17:01:34 -0500 Subject: meta-fii/meta-kudo: kudo tools update update the recipes-kudo files Signed-off-by: Lancelot Kao Change-Id: I2ecf2156c0f7533d6d228967f8075cc306af6e00 --- .../meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh | 4 ++-- meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb | 1 - .../meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb | 6 +++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh index 498fe7d0a..e0697b906 100644 --- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw-ver.sh @@ -1,5 +1,5 @@ - #!/bin/bash + BMC_CPLD_VER_FILE="/run/cpld0.version" MB_CPLD_VER_FILE="/run/cpld1.version" ver='' @@ -25,4 +25,4 @@ echo "BMC CPLD version : ${ver}" echo "${ver}" > "${BMC_CPLD_VER_FILE}" fw_rev cpldm echo "MB CPLD version : ${ver}" -echo "${ver}" > "${MB_CPLD_VER_FILE}" \ No newline at end of file +echo "${ver}" > "${MB_CPLD_VER_FILE}" diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb index 8d2fb1324..2c82ac8f6 100644 --- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-scp-update.bb @@ -1,6 +1,5 @@ SUMMARY = "Phosphor OpenBMC Kudo SCP Firmware Upgrade Command" DESCRIPTION = "Phosphor OpenBMC Kudo SCP Firmware Upgrade Comman Daemon" -FILESEXTRAPATHS_prepend := "${THISDIR}/kudo-scp-update:" PR = "r1" LICENSE = "Apache-2.0" diff --git a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb index 41a345d8e..07d038024 100644 --- a/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb +++ b/meta-fii/meta-kudo/recipes-kudo/packagegroups/packagegroup-kudo-apps.bb @@ -1,4 +1,4 @@ -SUMMARY = "OpenBMC for KUDO system - Applications" +SUMMARY = "OpenBMC for kudo system - Applications" PR = "r1" inherit packagegroup @@ -17,7 +17,7 @@ RPROVIDES_${PN}-kudo-system += "virtual-obmc-system-mgmt" RPROVIDES_${PN}-kudo-fw += "virtual-obmc-flash-mgmt" RPROVIDES_${PN}-fan-mgmt += "virtual-obmc-fan-mgmt" -SUMMARY_${PN}-kudo-system = "KUDO System" +SUMMARY_${PN}-kudo-system = "kudo System" RDEPENDS_${PN}-kudo-system = " \ ipmitool \ ethtool \ @@ -34,7 +34,7 @@ RDEPENDS_${PN}-kudo-system = " \ kudo-cmd \ " -SUMMARY_${PN}-kudo-fw = "KUDO Firmware" +SUMMARY_${PN}-kudo-fw = "kudo Firmware" RDEPENDS_${PN}-kudo-fw = " \ kudo-fw \ kudo-bios-update \ -- cgit v1.2.3 From da77a74c7cfd93f3ff7640a6ea71e5f08107e55a Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Sun, 23 May 2021 19:56:59 +0930 Subject: README: Improve clarity of the opening description "can be described as" sounds a lot like Chris Austen having a chat with someone over a beer. To the extent that Yocto is a Linux distribution (which it isn't, but that's somewhat of a detail), OpenBMC is also a distribution. Change-Id: I5e72c3b357441a41c525b843bc1768d5946b645b Signed-off-by: Andrew Jeffery --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 00704295f..e30747dd2 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,13 @@ [![Build Status](https://openpower.xyz/buildStatus/icon?job=openbmc-build)](https://openpower.xyz/job/openbmc-build/) -The OpenBMC project can be described as a Linux distribution for embedded -devices that have a BMC; typically, but not limited to, things like servers, -top of rack switches or RAID appliances. The OpenBMC stack uses technologies -such as [Yocto](https://www.yoctoproject.org/), +OpenBMC is a Linux distribution for management controllers used in devices such +as servers, top of rack switches or RAID appliances. It uses +[Yocto](https://www.yoctoproject.org/), [OpenEmbedded](https://www.openembedded.org/wiki/Main_Page), [systemd](https://www.freedesktop.org/wiki/Software/systemd/), and [D-Bus](https://www.freedesktop.org/wiki/Software/dbus/) to allow easy -customization for your server platform. - +customization for your platform. ## Setting up your OpenBMC project -- cgit v1.2.3 From 388ea375dcdce92ed389be16894d663ec0b2ba0a Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Sun, 23 May 2021 20:08:51 +0930 Subject: README: Don't specify build directory in setup example Stop specifying the build directory in the example so people don't trip over the incomprehensible errors that occur when they eventually do change platform. Change-Id: Id67d74169cac69be99aca5ecb3d4eeac37dcef44 Signed-off-by: Andrew Jeffery --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e30747dd2..71bd42890 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ zaius Once you know the target (e.g. romulus), source the `setup` script as follows: ``` -. setup romulus build +. setup romulus ``` For evb-ast2500, please use the below command to specify the machine config, -- cgit v1.2.3 From 6c71070b8a34bc6a8e624a67e96a284e687fd184 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 31 May 2021 04:40:18 +0000 Subject: pfr-manager: srcrev bump 2dfaf507da..8292dc60ef Vikram Bodireddy (1): Add version support for AFM Change-Id: I3d907c39fc1affa8ec1f1e802ebf679864fe500b Signed-off-by: Andrew Geissler --- meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb index 264d661e9..75820a4a9 100644 --- a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb @@ -8,7 +8,7 @@ inherit cmake systemd SRC_URI = "git://github.com/openbmc/pfr-manager" PV = "0.1+git${SRCPV}" -SRCREV = "2dfaf507da581ed4c71d41c02976e4efafc1d634" +SRCREV = "8292dc60eff82446ec6ee23cc049d6a7f6eb1ab8" S = "${WORKDIR}/git" -- cgit v1.2.3 From ed2e070314dea9e46d5dde24ac4bd44eb5c04c3b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 27 May 2021 15:00:20 +0000 Subject: openpower-pnor-code-mgmt: srcrev bump 067876aa2a..fdc91fa011 Adriana Kobylak (1): mmc: Create a symlink for HBB to its LID file Change-Id: Ifd6927eab562c65fc9b88f301d6e20a38e9de07b Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb index 86005732b..da237d77d 100644 --- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb +++ b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb @@ -59,7 +59,7 @@ S = "${WORKDIR}/git" SRC_URI += "git://github.com/openbmc/openpower-pnor-code-mgmt" -SRCREV = "067876aa2af9629161c4f367750828aec5e0cd63" +SRCREV = "fdc91fa011c28b857220e30320fba65e69907f20" DBUS_SERVICE_${PN} += "org.open_power.Software.Host.Updater.service" -- cgit v1.2.3 From c65c52bcc65d756eaf1bd177d9e7874f0e63c3db Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 1 Jun 2021 14:00:27 +0000 Subject: openpower-vpd-parser: srcrev bump c2fe40f853..90a63b9bfd Joel Stanley (1): ibm: Fix mapping of versioned device trees Santosh Puranik (1): Do not query JSON to determine system VPD Sunny Srivastava (1): Update cache with hardware content Change-Id: I4513b97a5294e327c1b002aa85d3487b9ee808fc Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc index f3d1899a8..f6990d8ea 100644 --- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc +++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-vpd-parser" -SRCREV = "c2fe40f853191f248b0a2a4f21ed9d65b403b909" +SRCREV = "90a63b9bfd5cbab0b250fc013aad552c0fa35510" -- cgit v1.2.3 From 1ded8726640bd29996ebfcdd9aa6f3a65313390c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 27 May 2021 01:51:11 +0000 Subject: phosphor-host-ipmid: srcrev bump e76a61a2f7..61024d7df5 Snehalatha Venkatesh (1): Fix for ipmid crash with SetUserPassword Change-Id: I6bfe049a18d7a57baa8dbc2539c71a5ea67d58f8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc index 43eca1e8f..45522f3d8 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid" -SRCREV = "e76a61a2f7c19ed07e2bfe98533d82bc23692fc1" +SRCREV = "61024d7df56eb753173ded7fd2ce9cd30a5be800" -- cgit v1.2.3 From 99b7537e0ba861e43bc33a91f7af03911e2f4986 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 27 May 2021 22:10:48 +0000 Subject: sdbusplus: srcrev bump 8db46a0fb0..2bba553d03 William A. Kennington III (1): message/native_types: Constexpr fix in c++17 mode Change-Id: I1406a95d46c731f4c1cc2abd39623673d2a7475a Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc index d3989866a..05ffb2917 100644 --- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc +++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc @@ -3,4 +3,4 @@ PR = "r1" PV = "1.0+git${SRCPV}" SRC_URI += "git://github.com/openbmc/sdbusplus" -SRCREV = "8db46a0fb0984f807f7e3b5c611af1ed31b17557" +SRCREV = "2bba553d03bb32d6db9016910f5cf86a038b030c" -- cgit v1.2.3 From 7a938194ba654fd00b47f5520f068186fc431f9b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 28 May 2021 12:11:56 +0000 Subject: webui-vue: srcrev bump 71114feb9a..e516d4d9e8 Sneha Patel (1): Add dividers between table batch action buttons Change-Id: Ide12b4bb21f05266d2552bc50b7e23817de2163d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index 3ffe5024d..311c71285 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "71114feb9a800d42f6eeddfa477077a8ab8e44f6" +SRCREV = "e516d4d9e8d14a826cd98b1b8ce5f5b117597a5a" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -- cgit v1.2.3 From 30d34857632ef149ddba4e673c875956916ab721 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 1 Jun 2021 15:51:14 +0000 Subject: pldm: srcrev bump ef89c46de7..ef90100482 Christian Geddes (3): Add definition for hb_lid_ids attribute to string_attrs.json Support a list of CSVs for a file table entry path's value Add Hostboot's IPL-time lids to PLDM File Table json gokulsanker (5): libpldm : Add encode API for QueryDeviceIdentifiers cmd libpldm : Add decode API for QueryDeviceIdentifiers cmd libpldm: Added encode API for GetFirmwareParameters cmd libpldm: Add decode API for GetFirmwareParameters response libpldm: Add decode API for ComponentParameterTable entry Change-Id: Ifa582bd7c661b5f80da5a78426179cbe1d65817e Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 793c107c0..48a380a76 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "ef89c46de74a44194f351bdcfda77923a2a00761" +SRCREV = "ef90100482c982ff53194775526123f5b8d6c9af" -- cgit v1.2.3 From 305604e74cd992e5b232d43b84966c18a2105af7 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 31 May 2021 06:01:15 +0000 Subject: phosphor-networkd: srcrev bump 1bbe3d1e3b..dd88683fdc Ratan Gupta (1): MAINTAINERS: Change Ratan's email address Change-Id: I8d7aa37e06c1cc10246b5abf3ee9fe19eb363f02 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index ea8e10de1..57d6d4540 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -11,7 +11,7 @@ inherit python3native inherit systemd SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "1bbe3d1e3bce52044874294e353e80af9ee706a2" +SRCREV = "dd88683fdcab8837e190f447c83f41c0a6c941c2" DEPENDS += "systemd" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" -- cgit v1.2.3 From c43dce400883dabbd45795eb19ac583b74613597 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 28 May 2021 06:50:58 +0000 Subject: phosphor-led-sysfs: srcrev bump 429750a01d..c7d70b67fc George Liu (1): Add meson build Change-Id: Ie4da91e9d89a2e627116b2564132b561ec23e7d8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb index 0e9e58521..a7884a274 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb @@ -19,7 +19,7 @@ DBUS_SERVICE_${PN} += "xyz.openbmc_project.led.controller@.service" SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs" SRC_URI += "file://70-leds.rules" -SRCREV = "429750a01d4ea65f335a50d26eb1855a1c6e769e" +SRCREV = "c7d70b67fc301d43db135c59e69e6ab6f806d6c3" S = "${WORKDIR}/git" do_install_append() { -- cgit v1.2.3 From 545147690a147eb1a9629c0086594b3986195103 Mon Sep 17 00:00:00 2001 From: George Liu Date: Fri, 28 May 2021 14:53:31 +0800 Subject: ledController: build phosphor-led-sysfs with meson The intent behind this commit to build phosphor-led-sysfs with meson and remove autotools. Tested: built phosphor-led-sysfs successfully and worked. Signed-off-by: George Liu Change-Id: I6656f9959438c95e6cd0331d3f070939ffd8e192 --- meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb index a7884a274..d9adcfc08 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb @@ -6,10 +6,9 @@ PV = "1.0+git${SRCPV}" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" -inherit autotools pkgconfig +inherit meson pkgconfig inherit obmc-phosphor-dbus-service -DEPENDS += "autoconf-archive-native" DEPENDS += "sdbusplus" DEPENDS += "systemd" DEPENDS += "phosphor-dbus-interfaces" -- cgit v1.2.3 From 72fac66a1292dac4fddb00e17f4cf3194fcad833 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 1 Jun 2021 20:41:20 +0000 Subject: phosphor-power: srcrev bump d9c8be577d..aacc2aafa5 Matt Spinler (1): regulators: Support a string or vector for VPD Change-Id: I6cf337d3605d07e830f65507dafcf5e84b63f677 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index 43790f0df..5a613e5ef 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "d9c8be577d0479b12a7eb5ffe624b5f22605e4e0" +SRCREV = "aacc2aafa5b599ca9719dcc174b966c976568ab1" -- cgit v1.2.3 From c4dbaacd1d59d99ff7313152a8ffb738ab6036fc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 1 Jun 2021 21:51:13 +0000 Subject: phosphor-hwmon: srcrev bump e32ce16bb6..9c4053455f William A. Kennington III (1): build: test: Fix invalid variable Change-Id: I9b597c8587a4739e1382103093f1125dff71f166 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb index 0d163c164..7d88cc6d9 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb @@ -43,7 +43,7 @@ RDEPENDS_max31785-msl = "${VIRTUAL-RUNTIME_base-utils} i2c-tools bash" SRC_URI += "git://github.com/openbmc/phosphor-hwmon" -SRCREV = "e32ce16bb6cc527b2e46b6e90ef7ac47404da173" +SRCREV = "9c4053455f479c85221712f790187076669e0d59" S = "${WORKDIR}/git" -- cgit v1.2.3 From 5093725d06fc45a8191f10851b396ba49a9d087b Mon Sep 17 00:00:00 2001 From: George Hung Date: Mon, 31 May 2021 18:00:00 +0800 Subject: meta-quanta: gbs: update p12v_fan input/output current threshold Since the VR may report negative current to BMC with light loading, fine tune p12v_fan input/output current lower threshold to -1 Signed-off-by: George Hung Change-Id: I90c133d8ca5b9e399337fbe82472e5ed78e457a6 --- .../phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8c000/vrm@5d.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8c000/vrm@5d.conf b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8c000/vrm@5d.conf index 427cdabe0..3627aecac 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8c000/vrm@5d.conf +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8c000/vrm@5d.conf @@ -22,9 +22,9 @@ PWRONMON_in2 = "ON" LABEL_curr1 = "p12v_fan_in" CRITHI_curr1 = "30000" -CRITLO_curr1 = "0" +CRITLO_curr1 = "-1000" WARNHI_curr1 = "30000" -WARNLO_curr1 = "0" +WARNLO_curr1 = "-1000" MINVALUE_curr1 = "0" MAXVALUE_curr1 = "35" # READ_Iin is direct value*0.5 @@ -33,9 +33,9 @@ PWRONMON_curr1 = "ON" LABEL_curr2 = "p12v_fan_out" CRITHI_curr2 = "100000" -CRITLO_curr2 = "0" +CRITLO_curr2 = "-1000" WARNHI_curr2 = "100000" -WARNLO_curr2 = "0" +WARNLO_curr2 = "-1000" MINVALUE_curr2 = "0" MAXVALUE_curr2 = "150" PWRONMON_curr2 = "ON" -- cgit v1.2.3 From bf4dba0352f623056182349d8c031b7c1ac926ef Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 1 Jun 2021 20:41:03 +0000 Subject: phosphor-logging: srcrev bump 3b8ed7f2d3..808e29ff64 Ben Tyner (1): PEL: Updates to attention handler TI registry entry Jayanth Othayoth (4): PEL: ComponentID for Processor errors PEL: Add error message registry entry for SBE chipop failure PEL: Add error message registry entry for SBE chipop timeout PEL: Add error message registry entry for SBE invalid state Change-Id: I63f3c3c6ac0509d86d3a96ba584cd3aa7c2a569b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 844b572c9..e99573abe 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "3b8ed7f2d3a93af5d27b549a934667f310412da4" +SRCREV = "808e29ff64d98feda09fc4a5286d6f1b7da025c8" S = "${WORKDIR}/git" -- cgit v1.2.3 From 79eb2b53eef0c129985fba23d194e59e8fdb7441 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 2 Jun 2021 00:21:20 +0000 Subject: phosphor-led-sysfs: srcrev bump c7d70b67fc..5ee5f3b716 George Liu (1): Remove autotools support Change-Id: I9d407d73bb8ebd710f18bde42914224aeb536c0e Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb index d9adcfc08..ce81cb4f4 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb @@ -18,7 +18,7 @@ DBUS_SERVICE_${PN} += "xyz.openbmc_project.led.controller@.service" SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs" SRC_URI += "file://70-leds.rules" -SRCREV = "c7d70b67fc301d43db135c59e69e6ab6f806d6c3" +SRCREV = "5ee5f3b7162cb5d8e6780a9571e0b0ca3daf7c6e" S = "${WORKDIR}/git" do_install_append() { -- cgit v1.2.3 From bb9160afb99eaf8646a963195d2d9b7b3ecd8e81 Mon Sep 17 00:00:00 2001 From: George Liu Date: Thu, 27 May 2021 19:42:33 +0800 Subject: fp5280g2: network: Enable First Boot Set MAC Feature The intent behind this commit is to enable First Boot Set MAC Feature for Network Service and remove first-boot-set-mac. Because the `sync-mac` of the Network Service can set the MAC address at runtime(if the Inventory Objects are Added at Runtime). Tested: Built fp5280g2 successfully and saw eth0 & eth1 worked. Signed-off-by: George Liu Change-Id: I99967f84c64cbcac34adf95cf6a5084f8b1a185d --- .../recipes-phosphor/network/first-boot-set-mac_%.bbappend | 1 - .../recipes-phosphor/network/phosphor-network/config.json | 4 ++++ .../recipes-phosphor/network/phosphor-network_%.bbappend | 12 ++++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) delete mode 100644 meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend create mode 100644 meta-inspur/meta-fp5280g2/recipes-phosphor/network/phosphor-network/config.json create mode 100644 meta-inspur/meta-fp5280g2/recipes-phosphor/network/phosphor-network_%.bbappend diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend deleted file mode 100644 index 934b328c7..000000000 --- a/meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -SYSTEMD_SERVICE_${PN} += " first-boot-set-mac@eth0.service first-boot-set-mac@eth1.service" diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/network/phosphor-network/config.json b/meta-inspur/meta-fp5280g2/recipes-phosphor/network/phosphor-network/config.json new file mode 100644 index 000000000..1df4eda7d --- /dev/null +++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/network/phosphor-network/config.json @@ -0,0 +1,4 @@ +{ + "eth0":"eth0", + "eth1":"eth1" +} diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/network/phosphor-network_%.bbappend new file mode 100644 index 000000000..e8ac0e29c --- /dev/null +++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/network/phosphor-network_%.bbappend @@ -0,0 +1,12 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +PACKAGECONFIG_append = " sync-mac" + +SRC_URI += "file://config.json" + +FILES_${PN} += "${datadir}/network" + +do_install_append() { + install -d ${D}${datadir}/network + install -m 0644 ${WORKDIR}/config.json ${D}${datadir}/network/ +} -- cgit v1.2.3 From 77a1904b1833cd3b70b0dfd68671745eaacc9b19 Mon Sep 17 00:00:00 2001 From: George Liu Date: Fri, 28 May 2021 16:12:04 +0800 Subject: image_type_phosphor: fix signatures generation - We will hit a problem intermittently when we build image-bmc: We have 2 tasks running in parallel, the `do_generate_static` and `do_generate_static_alltar`. Both specify to use the same work directory, and both call to generate the signature files: do_generate_static_tar[dirs] = " ${S}/static" do_generate_static_alltar[dirs] = "${S}/static" Depending on timing, one task can remove the `image-full` file from the directory and the other task won't find it, and cause built failed. Error message: image-full: No such file or directory. - Resolves openbmc/openbmc#3797 Tested: built obmc-phopshor-image successfully. Temporarily solve openbmc/issues/3797 Signed-off-by: George Liu Change-Id: I7147f6c8db4f3a2a0c0c9bd54ac384ee8882b233 --- meta-phosphor/classes/image_types_phosphor.bbclass | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass index 1ec8706cb..c347fdba3 100644 --- a/meta-phosphor/classes/image_types_phosphor.bbclass +++ b/meta-phosphor/classes/image_types_phosphor.bbclass @@ -338,7 +338,6 @@ make_signatures() { cat $sort_signature_files > image-full openssl dgst -sha256 -sign ${SIGNING_KEY} -out image-full.sig image-full signature_files="${signature_files} image-full.sig" - rm -rf image-full fi } -- cgit v1.2.3 From 114b26a4908737530b7721ca377729d9d710ef7d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 3 Jun 2021 11:11:28 +0000 Subject: pldm: srcrev bump ef90100482..12c8a661ac Manojkiran Eda (2): Set Memory Module entity type for DIMM's pldmtool : Add new entity types & statesets Sridevi Ramesh (1): Document README for pldmtool. Change-Id: I1124d6cf711d2439d8f508bdc515805af5717b09 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 48a380a76..7b01b0741 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "ef90100482c982ff53194775526123f5b8d6c9af" +SRCREV = "12c8a661ac43a985a5166772c644d2d255ef42f2" -- cgit v1.2.3 From 97f5a1f75813d1978959f659ac6ae9ef7f86ed17 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 2 Jun 2021 06:30:31 +0000 Subject: bios-settings-mgr: srcrev bump c0f926d6cb..96e72ec579 Ayushi Smriti (1): oob bios config ChangePassword Action support Change-Id: I75f67496b3b37d0f8aa4030e8283219df9850269 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb b/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb index 3f641f056..d250f3e7b 100644 --- a/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb @@ -13,7 +13,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=bcd9ada3a943f58551867d72893cc9ab" SRC_URI = "git://github.com/openbmc/bios-settings-mgr" -SRCREV = "c0f926d6cbf9636a42f4bc3d33b9602e4633c478" +SRCREV = "96e72ec579ea3c19ddbde4151d9f26d988c47fa6" inherit meson pkgconfig systemd -- cgit v1.2.3 From 091d644bb58289c383e68310e1126155890d7799 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 2 Jun 2021 18:00:40 +0000 Subject: phosphor-fan-presence: srcrev bump 3efec61c8f..cceffdd91c Matt Spinler (2): sensor-monitor: Threshold events only when on sensor:monitor: Use a single PowerState object Matthew Barth (1): monitor: Tie fan FRU functional state with `set_func_on_present` Change-Id: I450845c010b3127210d77080d2ffb5ed7465945d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 7899ef1b1..53182e582 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "3efec61c8f0ba530a24ad46e6c10d8827fbf9219" +SRCREV = "cceffdd91cf3cc0c651b5c44424fb3377cded964" -- cgit v1.2.3 From 0c2d9d5e3526cafaa739eb3f6c58c531d6a538e8 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 2 Jun 2021 21:00:22 +0000 Subject: openpower-hw-diags: srcrev bump 5c5db65a37..6bc43c9b89 Ben Tyner (1): Attn: Fix attn handler crash when cfam read fails Change-Id: I24019bd57fba2ebf4bafbe72da52a6eb2551d6c2 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index 6202c3621..a31a584b9 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -16,7 +16,7 @@ inherit meson systemd S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/openpower-hw-diags" -SRCREV = "5c5db65a37d953cb9393f257aab90a0a209d4861" +SRCREV = "6bc43c9b896724c27317ac50a88e5ddaa2882484" SYSTEMD_SERVICE_${PN} = "attn_handler.service" -- cgit v1.2.3 From adce1eba51b4abac05e7156a5fdb32b3488d047c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 3 Jun 2021 18:20:56 +0000 Subject: bmcweb: srcrev bump 2ebb968328..7e860f1550 Abhishek Patel (2): Adjust parameter name of FirmwareInventoryId Update Redfish.md with new schemas and properties Chris Cain (1): Update clone and compile instructions Ed Tanous (1): Revert "dbus_rest: return error response with not found when bad dbus request" John Edward Broadbent (1): Remove Redfish Node class Tim Lee (1): dbus_rest: return error response with not found when bad dbus request Change-Id: Id7e378968d9dd7414266b1547f2a9d80ae85319b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index fcd0639b9..8cbc31265 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "2ebb9683287cf6b1a2f2cc3c077bd99aceefa8dd" +SRCREV = "7e860f1550c8686eec42f7a75bc5f2ef51e756ad" S = "${WORKDIR}/git" -- cgit v1.2.3 From ec1b3dc09812a58ed391c775ed14afdd3ded92ec Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 2 Jun 2021 21:30:58 +0000 Subject: phosphor-logging: srcrev bump 808e29ff64..b41fa54bc0 William A. Kennington III (1): test: openpower-pels: Fix unscoped use of DoAll Change-Id: Ia11cd41158ada415caa3d78eae03bb4c5afc2237 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index e99573abe..982c07192 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "808e29ff64d98feda09fc4a5286d6f1b7da025c8" +SRCREV = "b41fa54bc07601ac80cf721a3bb2a1275348dbed" S = "${WORKDIR}/git" -- cgit v1.2.3 From 35ee1306a98f92b4bb88b2a118db7c88f5cb3870 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 2 Jun 2021 22:11:31 +0000 Subject: phosphor-networkd: srcrev bump dd88683fdc..fc3aff9165 William A. Kennington III (1): build: test: Fix missing variable Change-Id: Ia3f4f191dd55d156c7dd558c8a8e4bb8ae47f871 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index 57d6d4540..e1bcb6832 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -11,7 +11,7 @@ inherit python3native inherit systemd SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "dd88683fdcab8837e190f447c83f41c0a6c941c2" +SRCREV = "fc3aff916522a36e39c97f41967b868eaa91f573" DEPENDS += "systemd" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" -- cgit v1.2.3 From 8625c491e383fc47eb93b8f98ca0f169b5c155e9 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 3 Jun 2021 15:41:09 +0000 Subject: dbus-sensors: srcrev bump 9702c9d175..2f20c5ab30 Andrew Jeffery (16): NVMeSensor: Fix -Wreorder warnings nvmesensor: Link against liblibmctp NVMeSensor: Drop libmctp include from header NVMeSensor: Mark internal functions static NVMeSensor: Split out NVMeContext NVMeContext: Improve encapsulation of state NVMeContext: Split out NVMeMCTPContext NVMeSensorMain: Fix clang-tidy bugprone-narrowing-conversion issue NVMeSensorMain: Fix clang-tidy performance-faster-string-find issue NVMeSensorMain: Fix clang-tidy readability-else-after-return issue Suppress clang-tidy warning for C++20 meson: Upgrade to C++20 meson: Note why libi2c is discovered by find_library() meson: Add sdbusplus as a dependency of static libraries meson: Add sdbusplus as a subproject meson: Add googletest as a subproject Change-Id: I26295b4c371f1ff0e958106825c93a98c89030db Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index baf5bdb46..3db34d2f9 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "9702c9d1751e5b90f7c1b53c3afbbd4ab2d5e817" +SRCREV = "2f20c5ab30fcceb401be7a22b39a497eb7026670" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 78c28a4e34610b7d087471341a131d8a7d05bc1e Mon Sep 17 00:00:00 2001 From: George Liu Date: Thu, 3 Jun 2021 16:57:11 +0800 Subject: fp5280g2: hwmon: Add total_power configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The intent behind this commit is to add the configuration of total_power, after power on, read the sensor value of total_power from occ-hwmon and successfully read it through D-Bus. Tested: ~# mapper get-service /xyz/openbmc_project/sensors/power/total_power xyz.openbmc_project.Hwmon-b7759d36485edc452dd4ab56fcddbc713138c18574d600852a5ebf252410dd34.Hwmon1 ~# busctl introspect xyz.openbmc_project.Hwmon-b7759d36485edc452dd4ab56fcddbc713138c18574d600852a5ebf252410dd34.Hwmon1 /xyz/openbmc_project/sensors/power/total_power NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Sensor.Value interface - - - .MaxValue property d inf emits-change writable .MinValue property d -inf emits-change writable .Unit property s "xyz.openbmc_project.Sensor.Value.Unit.… emits-change writable .Value property d 122 emits-change writable xyz.openbmc_project.State.Decorator.OperationalStatus interface - - - .Functional Signed-off-by: George Liu Change-Id: Iba09b549b0b0661ece8404d6d0ab307db8335779 --- .../fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi-master/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf b/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi-master/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf index b629dfc4c..e6cec3b93 100644 --- a/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi-master/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf +++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi-master/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf @@ -67,3 +67,4 @@ LABEL_power2 = "hdd" LABEL_power3 = "gpu_01" LABEL_power4 = "gpu_23" LABEL_power5 = "standby" +LABEL_power16 = "total_power" -- cgit v1.2.3 From c1989599dfeaef5166c22fe1cae085a2966a8e2e Mon Sep 17 00:00:00 2001 From: George Hung Date: Wed, 2 Jun 2021 10:53:27 +0800 Subject: meta-quanta: gbs: fix bios update script minior issue - check the FIU node for different kernel version - replace sh by bash for the script Signed-off-by: George Hung Change-Id: I20f72f2979f75cb6d22a9870c48619a507891005 --- .../recipes-gbs/gbs-bios-update/files/bios-update.sh | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-bios-update/files/bios-update.sh b/meta-quanta/meta-gbs/recipes-gbs/gbs-bios-update/files/bios-update.sh index 3a215fa50..36dfa452c 100644 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-bios-update/files/bios-update.sh +++ b/meta-quanta/meta-gbs/recipes-gbs/gbs-bios-update/files/bios-update.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Copyright 2020 Google LLC # Copyright 2020 Quanta Computer Inc. # @@ -20,11 +20,23 @@ SPI_SW_SELECT=169 # Kernel control string for bind/unbind -KERNEL_FIU_ID="c0000000.fiu" +KERNEL_FIU_ID="c0000000.spi" # Kernel sysfs path for bind/unbind KERNEL_SYSFS_FIU="/sys/bus/platform/drivers/NPCM-FIU" +# the node of FIU is spi for kernel 5.10, but +# for less than or equal kernel 5.4, the node +# is fiu +for fname in $(find ${KERNEL_SYSFS_FIU} -type l) +do + if [ "${fname##*\.}" == "fiu" ] + then + KERNEL_FIU_ID="c0000000.fiu" + break + fi +done + IMAGE_FILE="/tmp/image-bios" # Taken from /run/initramfs/update -- cgit v1.2.3 From 382191051d848fbf4b3b75b6e569212a374cabba Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Fri, 4 Jun 2021 21:10:37 +0930 Subject: linux-aspeed: Move to v5.10.42 stable release This includes security and bug fixes from the 5.10.40 through to 5.10.42 stable releases. This stable release inclues a fix for the VUART on AST2600: Andrew Jeffery (1): serial: 8250: Add UART_BUG_TXRACE workaround for Aspeed VUART Change-Id: I8249b9564e2839e6ff9b19fbc247700d3f44699f Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index a3a24b613..5bfc62845 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" -LINUX_VERSION ?= "5.10.39" +LINUX_VERSION ?= "5.10.42" -SRCREV="12165f912d1906426670cb9fde2244568a024c28" +SRCREV="7590e064c6a69cbb12535a84414c6a04840ae82e" require linux-aspeed.inc -- cgit v1.2.3 From efe03c30b16cdcf1d6b7047f3f668b6e297e596e Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 29 May 2021 14:55:41 -0700 Subject: phosphor-logging: Disable building tests We don't yet support ptest so we shouldn't be building all of the test cases. Change-Id: If567127f9990819e191de4d03aa9fba7ea889bd0 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 982c07192..9911eb0af 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -68,6 +68,7 @@ PACKAGECONFIG[openpower-pels] = " \ " EXTRA_OEMESON = " \ + -Dtests=disabled \ -Dyamldir=${STAGING_DIR_TARGET}${yaml_dir} \ -Dcallout_yaml=${STAGING_DIR_NATIVE}${callouts_datadir}/callouts.yaml \ " -- cgit v1.2.3 From cd01a3bb733a47cd26cb03413a96fb5ec5e14bdd Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 29 May 2021 15:03:49 -0700 Subject: phosphor-hwmon: Disable building tests We don't yet support turning on ptest so we are wasting cycles building them. Change-Id: Ica6d2f7f6b99900889c1ff8b69073677c1f65f81 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb index 7d88cc6d9..d81b1d7d0 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb @@ -28,6 +28,8 @@ DEPENDS += " \ cli11 \ " +EXTRA_OEMESON += "-Dtests=disabled" + FILES_${PN} += "${base_libdir}/systemd/system/xyz.openbmc_project.Hwmon@.service" RDEPENDS_${PN} += "\ bash \ -- cgit v1.2.3 From 69222b510638c5c0c768bfcdfde126205ab55e2d Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 26 May 2021 13:48:42 -0500 Subject: meta-facebook: prep for host-less machines Create config files that split "nohost" and "withost" variants of facebook machines. Signed-off-by: Patrick Williams Change-Id: I23460d8da076d02ebb6e5105b80244ca8a5681a4 --- meta-facebook/conf/machine/include/facebook-compute.inc | 2 +- meta-facebook/conf/machine/include/facebook-nohost.inc | 3 +++ meta-facebook/conf/machine/include/facebook-withhost.inc | 15 +++++++++++++++ meta-facebook/conf/machine/include/facebook.inc | 7 ------- 4 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 meta-facebook/conf/machine/include/facebook-nohost.inc create mode 100644 meta-facebook/conf/machine/include/facebook-withhost.inc diff --git a/meta-facebook/conf/machine/include/facebook-compute.inc b/meta-facebook/conf/machine/include/facebook-compute.inc index 66b0f756b..7d61f81e1 100644 --- a/meta-facebook/conf/machine/include/facebook-compute.inc +++ b/meta-facebook/conf/machine/include/facebook-compute.inc @@ -1,3 +1,3 @@ -require conf/machine/include/facebook.inc +require conf/machine/include/facebook-withhost.inc OVERRIDES .= ":fb-compute" diff --git a/meta-facebook/conf/machine/include/facebook-nohost.inc b/meta-facebook/conf/machine/include/facebook-nohost.inc new file mode 100644 index 000000000..e9af8e94d --- /dev/null +++ b/meta-facebook/conf/machine/include/facebook-nohost.inc @@ -0,0 +1,3 @@ +require conf/machine/include/facebook.inc + +OVERRIDES .= ":fb-nohost" diff --git a/meta-facebook/conf/machine/include/facebook-withhost.inc b/meta-facebook/conf/machine/include/facebook-withhost.inc new file mode 100644 index 000000000..ebe79d1a4 --- /dev/null +++ b/meta-facebook/conf/machine/include/facebook-withhost.inc @@ -0,0 +1,15 @@ +require conf/machine/include/facebook.inc + +OBMC_MACHINE_FEATURES += "\ + obmc-chassis-state-mgmt \ + obmc-host-ipmi \ + obmc-host-state-mgmt \ + obmc-phosphor-chassis-mgmt \ + " + +VIRTUAL-RUNTIME_obmc-host-state-manager ?= "x86-power-control" +VIRTUAL-RUNTIME_obmc-chassis-state-manager ?= "x86-power-control" + +PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs" + +OVERRIDES .= ":fb-withhost" diff --git a/meta-facebook/conf/machine/include/facebook.inc b/meta-facebook/conf/machine/include/facebook.inc index 9c9490bda..2993dc438 100644 --- a/meta-facebook/conf/machine/include/facebook.inc +++ b/meta-facebook/conf/machine/include/facebook.inc @@ -1,21 +1,14 @@ OBMC_MACHINE_FEATURES += "\ obmc-bmc-state-mgmt \ - obmc-chassis-state-mgmt \ - obmc-host-ipmi \ - obmc-host-state-mgmt \ - obmc-phosphor-chassis-mgmt \ obmc-phosphor-fan-mgmt \ obmc-phosphor-flash-mgmt \ " VIRTUAL-RUNTIME_skeleton_workbook = "${MACHINE}-config" -VIRTUAL-RUNTIME_obmc-host-state-manager ?= "x86-power-control" -VIRTUAL-RUNTIME_obmc-chassis-state-manager ?= "x86-power-control" PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-fb-apps" PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-fb-apps" PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-fb-apps" -PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs" PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}" PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-fb-apps" -- cgit v1.2.3 From e4f664e39061758bb6087f4e55fe76de397f01b7 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 26 May 2021 13:49:36 -0500 Subject: meta-facebook: fb-apps: change deps for nohost Further refine the dependencies in packagegroup-fb-apps to ensure some host management applications are not installed for the 'nohost' flavor. Signed-off-by: Patrick Williams Change-Id: I2a453fca817f9fa48da934927f39b2ac999056a7 --- .../recipes-fb/packagegroups/packagegroup-fb-apps.bb | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb b/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb index b2ec84b65..6b61bba5a 100644 --- a/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb +++ b/meta-facebook/recipes-fb/packagegroups/packagegroup-fb-apps.bb @@ -5,12 +5,15 @@ inherit packagegroup PROVIDES = "${PACKAGES}" PACKAGES = " \ - ${PN}-chassis \ ${PN}-extras \ ${PN}-fans \ ${PN}-flash \ ${PN}-system \ " +PACKAGES_append_fb-withhost = " \ + ${PN}-chassis \ + ${PN}-hostmgmt \ + " PROVIDES += "virtual/obmc-chassis-mgmt" PROVIDES += "virtual/obmc-fan-mgmt" @@ -40,10 +43,8 @@ RDEPENDS_${PN}-flash = " \ phosphor-software-manager \ " -SUMMARY_${PN}-system = "Facebook System" -RDEPENDS_${PN}-system = " \ - entity-manager \ - dbus-sensors \ +RDEPENDS_PN_SYSTEM_EXTRAS = "" +RDEPENDS_PN_SYSTEM_EXTRAS_fb-withhost = " \ fb-powerctrl \ phosphor-ipmi-ipmb \ fb-ipmi-oem \ @@ -52,5 +53,12 @@ RDEPENDS_${PN}-system = " \ ipmitool \ phosphor-post-code-manager \ phosphor-host-postd \ + " + +SUMMARY_${PN}-system = "Facebook System" +RDEPENDS_${PN}-system = " \ + entity-manager \ + dbus-sensors \ phosphor-virtual-sensor \ + ${RDEPENDS_PN_SYSTEM_EXTRAS} \ " -- cgit v1.2.3 From 1d1d7a618a702f1a70eee8c5f2b82c73dc6758f6 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 26 May 2021 13:50:37 -0500 Subject: meta-facebook: remove console for nohost Signed-off-by: Patrick Williams Change-Id: I629b298d659f5e593e2b04e702ccfe92867d1c1d --- meta-facebook/recipes-phosphor/images/obmc-phosphor-image.bbappend | 3 +++ .../recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend | 5 +++++ 2 files changed, 8 insertions(+) create mode 100644 meta-facebook/recipes-phosphor/images/obmc-phosphor-image.bbappend create mode 100644 meta-facebook/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend diff --git a/meta-facebook/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-facebook/recipes-phosphor/images/obmc-phosphor-image.bbappend new file mode 100644 index 000000000..ad9c87ae4 --- /dev/null +++ b/meta-facebook/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +IMAGE_FEATURES_remove_fb-nohost = "obmc-console" diff --git a/meta-facebook/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-facebook/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend new file mode 100644 index 000000000..dbcc895d4 --- /dev/null +++ b/meta-facebook/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +PACKAGES_remove_fb-nohost = "\ + ${PN}-console \ + " -- cgit v1.2.3 From 17a0c0b3346cf71cf3ae5d59ba5fc02508ebcc71 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 26 May 2021 13:50:54 -0500 Subject: meta-facebook: bletchley: create basic machine Signed-off-by: Patrick Williams Change-Id: I5801ad2ce5b7e421a62619c57787465bfa585e95 --- .../meta-bletchley/conf/bblayers.conf.sample | 35 ++++ meta-facebook/meta-bletchley/conf/conf-notes.txt | 2 + meta-facebook/meta-bletchley/conf/layer.conf | 11 + .../meta-bletchley/conf/local.conf.sample | 223 +++++++++++++++++++++ .../meta-bletchley/conf/machine/bletchley.conf | 14 ++ .../bletchley/bletchley_sensor_config.json | 0 6 files changed, 285 insertions(+) create mode 100644 meta-facebook/meta-bletchley/conf/bblayers.conf.sample create mode 100644 meta-facebook/meta-bletchley/conf/conf-notes.txt create mode 100644 meta-facebook/meta-bletchley/conf/layer.conf create mode 100644 meta-facebook/meta-bletchley/conf/local.conf.sample create mode 100644 meta-facebook/meta-bletchley/conf/machine/bletchley.conf create mode 100644 meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/bletchley/bletchley_sensor_config.json diff --git a/meta-facebook/meta-bletchley/conf/bblayers.conf.sample b/meta-facebook/meta-bletchley/conf/bblayers.conf.sample new file mode 100644 index 000000000..e02b182c7 --- /dev/null +++ b/meta-facebook/meta-bletchley/conf/bblayers.conf.sample @@ -0,0 +1,35 @@ +# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf +# changes incompatibly +LCONF_VERSION = "8" + +BBPATH = "${TOPDIR}" +BBFILES ?= "" + +BBLAYERS ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-aspeed \ + ##OEROOT##/meta-facebook \ + ##OEROOT##/meta-facebook/meta-bletchley \ + " +BBLAYERS_NON_REMOVABLE ?= " \ + ##OEROOT##/meta \ + ##OEROOT##/meta-poky \ + ##OEROOT##/meta-openembedded/meta-oe \ + ##OEROOT##/meta-openembedded/meta-networking \ + ##OEROOT##/meta-openembedded/meta-perl \ + ##OEROOT##/meta-openembedded/meta-python \ + ##OEROOT##/meta-openembedded/meta-webserver \ + ##OEROOT##/meta-security \ + ##OEROOT##/meta-phosphor \ + ##OEROOT##/meta-aspeed \ + ##OEROOT##/meta-facebook \ + ##OEROOT##/meta-facebook/meta-bletchley \ + " diff --git a/meta-facebook/meta-bletchley/conf/conf-notes.txt b/meta-facebook/meta-bletchley/conf/conf-notes.txt new file mode 100644 index 000000000..9b3c01a55 --- /dev/null +++ b/meta-facebook/meta-bletchley/conf/conf-notes.txt @@ -0,0 +1,2 @@ +Common targets are: + obmc-phosphor-image diff --git a/meta-facebook/meta-bletchley/conf/layer.conf b/meta-facebook/meta-bletchley/conf/layer.conf new file mode 100644 index 000000000..505e67c68 --- /dev/null +++ b/meta-facebook/meta-bletchley/conf/layer.conf @@ -0,0 +1,11 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "bletchley-layer" +BBFILE_PATTERN_bletchley-layer := "^${LAYERDIR}/" + +LAYERSERIES_COMPAT_bletchley-layer := "gatesgarth hardknott" diff --git a/meta-facebook/meta-bletchley/conf/local.conf.sample b/meta-facebook/meta-bletchley/conf/local.conf.sample new file mode 100644 index 000000000..bb86f3418 --- /dev/null +++ b/meta-facebook/meta-bletchley/conf/local.conf.sample @@ -0,0 +1,223 @@ +# +# This file is your local configuration file and is where all local user settings +# are placed. The comments in this file give some guide to the options a new user +# to the system might want to change but pretty much any configuration option can +# be set in this file. +# +# Lines starting with the '#' character are commented out and in some cases the +# default values are provided as comments to show people example syntax. Enabling +# the option is a question of removing the # character and making any change to the +# variable as required. + +# +# Machine Selection +# +MACHINE ??= "bletchley" + +# +# Where to place downloads +# +# During a first build the system will download many different source code tarballs +# from various upstream projects. This can take a while, particularly if your network +# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you +# can preserve this directory to speed up this part of subsequent builds. This directory +# is safe to share between multiple builds on the same machine too. +# +# The default is a downloads directory under TOPDIR which is the build directory. +# +#DL_DIR ?= "${TOPDIR}/downloads" + +# +# Where to place shared-state files +# +# BitBake has the capability to accelerate builds based on previously built output. +# This is done using "shared state" files which can be thought of as cache objects +# and this option determines where those files are placed. +# +# You can wipe out TMPDIR leaving this directory intact and the build would regenerate +# from these files if no changes were made to the configuration. If changes were made +# to the configuration, only shared state files where the state was still valid would +# be used (done using checksums). +# +# The default is a sstate-cache directory under TOPDIR. +# +#SSTATE_DIR ?= "${TOPDIR}/sstate-cache" + +# +# Where to place the build output +# +# This option specifies where the bulk of the building work should be done and +# where BitBake should place its temporary files and output. Keep in mind that +# this includes the extraction and compilation of many applications and the toolchain +# which can use Gigabytes of hard disk space. +# +# The default is a tmp directory under TOPDIR. +# +#TMPDIR = "${TOPDIR}/tmp" + +# +# Default policy config +# +# The distribution setting controls which policy settings are used as defaults. +# The default value is fine for general Yocto project use, at least initially. +# Ultimately when creating custom policy, people will likely end up subclassing +# these defaults. +# +DISTRO ?= "openbmc-phosphor" +# As an example of a subclass there is a "bleeding" edge policy configuration +# where many versions are set to the absolute latest code from the upstream +# source control systems. This is just mentioned here as an example, its not +# useful to most new users. +# DISTRO ?= "poky-bleeding" + +# +# Package Management configuration +# +# This variable lists which packaging formats to enable. Multiple package backends +# can be enabled at once and the first item listed in the variable will be used +# to generate the root filesystems. +# Options are: +# - 'package_deb' for debian style deb files +# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) +# - 'package_rpm' for rpm style packages +# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" +# We default to rpm: +PACKAGE_CLASSES ?= "package_rpm" + +# +# SDK/ADT target architecture +# +# This variable specifies the architecture to build SDK/ADT items for and means +# you can build the SDK packages for architectures other than the machine you are +# running the build on (i.e. building i686 packages on an x86_64 host). +# Supported values are i686 and x86_64 +#SDKMACHINE ?= "i686" + +SANITY_TESTED_DISTROS_append ?= " *" + +# +# Extra image configuration defaults +# +# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated +# images. Some of these options are added to certain image types automatically. The +# variable can contain the following options: +# "dbg-pkgs" - add -dbg packages for all installed packages +# (adds symbol information for debugging/profiling) +# "dev-pkgs" - add -dev packages for all installed packages +# (useful if you want to develop against libs in the image) +# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages +# (useful if you want to run the package test suites) +# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) +# "tools-debug" - add debugging tools (gdb, strace) +# "eclipse-debug" - add Eclipse remote debugging support +# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind) +# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) +# "debug-tweaks" - make an image suitable for development +# e.g. ssh root access has a blank password +# There are other application targets that can be used here too, see +# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. +# We default to enabling the debugging tweaks. +EXTRA_IMAGE_FEATURES = "debug-tweaks" + +# +# Additional image features +# +# The following is a list of additional classes to use when building images which +# enable extra features. Some available options which can be included in this variable +# are: +# - 'buildstats' collect build statistics +# - 'image-mklibs' to reduce shared library files size for an image +# - 'image-prelink' in order to prelink the filesystem image +# - 'image-swab' to perform host system intrusion detection +# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink +# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended +USER_CLASSES ?= "buildstats image-mklibs image-prelink" + +# +# Runtime testing of images +# +# The build system can test booting virtual machine images under qemu (an emulator) +# after any root filesystems are created and run tests against those images. To +# enable this uncomment this line. See classes/testimage(-auto).bbclass for +# further details. +#TEST_IMAGE = "1" +# +# Interactive shell configuration +# +# Under certain circumstances the system may need input from you and to do this it +# can launch an interactive shell. It needs to do this since the build is +# multithreaded and needs to be able to handle the case where more than one parallel +# process may require the user's attention. The default is iterate over the available +# terminal types to find one that works. +# +# Examples of the occasions this may happen are when resolving patches which cannot +# be applied, to use the devshell or the kernel menuconfig +# +# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none +# Note: currently, Konsole support only works for KDE 3.x due to the way +# newer Konsole versions behave +#OE_TERMINAL = "auto" +# By default disable interactive patch resolution (tasks will just fail instead): +PATCHRESOLVE = "noop" + +# +# Disk Space Monitoring during the build +# +# Monitor the disk space during the build. If there is less that 1GB of space or less +# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully +# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# of the build. The reason for this is that running completely out of space can corrupt +# files and damages the build in ways which may not be easily recoverable. +# It's necessary to monitor /tmp, if there is no space left the build will fail +# with very exotic errors. +BB_DISKMON_DIRS = "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" + +# +# Shared-state files from other locations +# +# As mentioned above, shared state files are prebuilt cache data objects which can +# used to accelerate build time. This variable can be used to configure the system +# to search other mirror locations for these objects before it builds the data itself. +# +# This can be a filesystem directory, or a remote url such as http or ftp. These +# would contain the sstate-cache results from previous builds (possibly from other +# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the +# cache locations to check for the shared objects. +# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH +# at the end as shown in the examples below. This will be substituted with the +# correct path within the directory structure. +#SSTATE_MIRRORS ?= "\ +#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ +#file://.* file:///some/local/dir/sstate/PATH" + + +# +# Qemu configuration +# +# By default qemu will build with a builtin VNC server where graphical output can be +# seen. The two lines below enable the SDL backend too. This assumes there is a +# libsdl library available on your build system. +#PACKAGECONFIG_append_pn-qemu-native = " sdl" +#PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" +#ASSUME_PROVIDED += "libsdl-native" + + +# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to +# track the version of this file when it was generated. This can safely be ignored if +# this doesn't mean anything to you. +CONF_VERSION = "1" + +# Set the root password to '0penBmc' +INHERIT += "extrausers" + +EXTRA_USERS_PARAMS = " \ + usermod -p '\$1\$UGMqyqdG\$FZiylVFmRRfl9Z0Ue8G7e/' root; \ + " diff --git a/meta-facebook/meta-bletchley/conf/machine/bletchley.conf b/meta-facebook/meta-bletchley/conf/machine/bletchley.conf new file mode 100644 index 000000000..2c7778dd7 --- /dev/null +++ b/meta-facebook/meta-bletchley/conf/machine/bletchley.conf @@ -0,0 +1,14 @@ +#KMACHINE = "aspeed" +#KERNEL_DEVICETREE = "${KMACHINE}-bmc-facebook-${MACHINE}.dtb" +KERNEL_DEVICETREE = "aspeed-ast2600-evb.dtb" + +UBOOT_MACHINE = "ast2600_openbmc_defconfig" +UBOOT_DEVICETREE = "ast2600a1-evb" + +require conf/machine/include/facebook-nohost.inc +require conf/machine/include/ast2600.inc +require conf/machine/include/obmc-bsp-common.inc + +SERIAL_CONSOLES = "57600;ttyS4" + +FLASH_SIZE = "131072" diff --git a/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/bletchley/bletchley_sensor_config.json b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/bletchley/bletchley_sensor_config.json new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3 From 0cbad0429927dc7ee0e7238d35e788896ca81b83 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 4 Jun 2021 14:01:18 +0000 Subject: phosphor-watchdog: srcrev bump 459b6c798e..afc369ad54 Andrew Geissler (1): watchdog: support a default interval parameter Change-Id: I11348e41c7df253ba3569dd09fec629067d187ff Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb index c6de6e004..6f1c09e57 100644 --- a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb @@ -20,7 +20,7 @@ DEPENDS += "phosphor-logging" DEPENDS += "systemd" SRC_URI += "git://github.com/openbmc/phosphor-watchdog" -SRCREV = "459b6c798effc032cf41ae77c45cd63bbaad180b" +SRCREV = "afc369ad548137a5fdb0bc69b6606e2aafa7182b" S = "${WORKDIR}/git" EXTRA_OEMESON = " \ -- cgit v1.2.3 From 601aa80433774522f037c24a68158265bf273c48 Mon Sep 17 00:00:00 2001 From: Nan Zhou Date: Fri, 4 Jun 2021 13:54:25 -0700 Subject: recipes-google: default-ca-dev: update Quanta's private CA Signed-off-by: Nan Zhou Change-Id: I7be8d5b33a9b3f5faa7338f20420b7b07049a614 --- .../default-ca-dev/certs/authority/Quanta_CA.crt | 40 +++++++++++----------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/meta-google/recipes-google/default-ca-dev/default-ca-dev/certs/authority/Quanta_CA.crt b/meta-google/recipes-google/default-ca-dev/default-ca-dev/certs/authority/Quanta_CA.crt index 77e5b2c9b..7ca921fa7 100644 --- a/meta-google/recipes-google/default-ca-dev/default-ca-dev/certs/authority/Quanta_CA.crt +++ b/meta-google/recipes-google/default-ca-dev/default-ca-dev/certs/authority/Quanta_CA.crt @@ -1,22 +1,22 @@ -----BEGIN CERTIFICATE----- -MIIDkDCCAnigAwIBAgIIRnUufKw0mL8wDQYJKoZIhvcNAQELBQAwPTELMAkGA1UE -BhMCVFcxDzANBgNVBAoTBlF1YW50YTELMAkGA1UECxMCQ0ExEDAOBgNVBAMTB09w -ZW5CTUMwHhcNMjAwMTAxMDAwMDAwWhcNMzYxMjMxMjM1OTU5WjA9MQswCQYDVQQG -EwJUVzEPMA0GA1UEChMGUXVhbnRhMQswCQYDVQQLEwJDQTEQMA4GA1UEAxMHT3Bl -bkJNQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANyBHOcnaVt4K1lt -msTmFzIBf1sI/HV7XW6VMICOOESUv/vrMxCNOzhil4J+CWpFjwkk8zGK6tiLXmMe -3/oa6qqHN0GXd7XoyBn3XRrr/L2gKipUsWlYk43Wq0TX2ugEcCWqOr0Ol4TcuD4Z -+pswkgHxqJtbfiWd1sTKpbCvjbnlN9EKir52DRZie0m8ANIbTp/KPVmY+UAU7Vz/ -QpYemolsrwupzWJbz34jC2rnNw8HFBHIMyNLJVocUkCVYy5ka0dRk+APC3VWX4C6 -1GmUd4ZQZs4LayyfQcK3Tb+PkNCf9AxBE8eId0lHpufq2Uhml1Lwrfh/1TObCwkW -ufgv6HsCAwEAAaOBkzCBkDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTpEhTE -nCIZo7dCDFtqUjMRcOI9SDAfBgNVHSMEGDAWgBTpEhTEnCIZo7dCDFtqUjMRcOI9 -SDALBgNVHQ8EBAMCAb4wHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBEG -CWCGSAGG+EIBAQQEAwIAxzANBgkqhkiG9w0BAQsFAAOCAQEAaw2to4hiADeZO/WF -UMxrKjB4mbpHOb8cn3HIBIkrE6XxpH6T9MaZh7xi7kyyiuVNGh70lh+qxBUmVf5B -OF2NSF6ffDrW86dMNV+tKlByHElUqWFcWgU1XFipcN7u0aeFkfPsqG4BwcZlBUEN -rr9GDFNNadmjnoVA3deVTu4kHTVz6vg0vJExDfBHhNBWsLzLizRIebv9jumJlHPl -I99czz3NQKVjm8z/BlWaMxpWU/bLxL2Aq/6rQ0iCoeIPJqHubG1CmGwI7k9ZQTUh -VAMKR4W7JAul+CK8oEC7TAVU2L2fk6g+eSwU12HgO+IUOXmdp3bPtGkk73wG4iOj -hN2Bow== +MIIDdDCCAlygAwIBAgIBBjANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJUVzEP +MA0GA1UEChMGUXVhbnRhMQswCQYDVQQLEwJDQTEQMA4GA1UEAxMHT3BlbkJNQzAe +Fw03MDAxMDEwMDAwMDBaFw0zNTEyMzExMjAwMDBaMD0xCzAJBgNVBAYTAlRXMQ8w +DQYDVQQKEwZRdWFudGExCzAJBgNVBAsTAkNBMRAwDgYDVQQDEwdPcGVuQk1DMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3IEc5ydpW3grWW2axOYXMgF/ +Wwj8dXtdbpUwgI44RJS/++szEI07OGKXgn4JakWPCSTzMYrq2IteYx7f+hrqqoc3 +QZd3tejIGfddGuv8vaAqKlSxaViTjdarRNfa6ARwJao6vQ6XhNy4Phn6mzCSAfGo +m1t+JZ3WxMqlsK+NueU30QqKvnYNFmJ7SbwA0htOn8o9WZj5QBTtXP9Clh6aiWyv +C6nNYlvPfiMLauc3DwcUEcgzI0slWhxSQJVjLmRrR1GT4A8LdVZfgLrUaZR3hlBm +zgtrLJ9BwrdNv4+Q0J/0DEETx4h3SUem5+rZSGaXUvCt+H/VM5sLCRa5+C/oewID +AQABo38wfTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTpEhTEnCIZo7dCDFtq +UjMRcOI9SDAfBgNVHSMEGDAWgBTpEhTEnCIZo7dCDFtqUjMRcOI9SDALBgNVHQ8E +BAMCAb4wHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEB +CwUAA4IBAQAT+DvCSEZq+nHmvFP05zFS4IN6DikccDZFyG/O06htFLo3NFYxugGI +OSDXyR3QzhVsDApIwFsNfYzK7asQMqIBdCTHLQNz8YtW4+lwr/WOijgNMK6H0MqI +sisuESpHJgg6XcvfqPkFUBT+sV9ae55QpbvPLalVDZ+JQEyxwfJYnO0AKoepWv/3 +H5cXTIpgoxD225MeLOu1F5yg3M3DQd2vPmtykgixMDR+dShxR0AFIwfy94XWTZ7K +JSp5JysdLcekJ5g2c53CYQCqKIYPhKd/VCt/pERjyAcxHnm/PnmTFRA7ft2aAY82 +QzkGV2F6gz+GGWjG8cVp3h0T/FF72UFe -----END CERTIFICATE----- + -- cgit v1.2.3 From 2b38d3f81e869fecf87c24ccdb1699ff3467d7e0 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 29 May 2021 15:11:03 -0700 Subject: phosphor-networkd: Don't build tests We don't yet use ptest so we are wasting cycles building tests. Change-Id: Iecfd2c2fb3af32127757b05fd3fd68e925d25bc7 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index e1bcb6832..35591f43a 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -36,3 +36,5 @@ FILES_${PN} += "${datadir}/dbus-1/system.d" SYSTEMD_PACKAGES = "${PN}" SYSTEMD_SERVICE_${PN} += "xyz.openbmc_project.Network.service" + +EXTRA_OEMESON += "-Dtests=disabled" -- cgit v1.2.3 From 643d97391de9a5fc658db9a8b037c752624b847c Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 29 May 2021 15:15:42 -0700 Subject: phosphor-led-manager: Disable building tests We don't want to spend cycles building tests we won't use. Change-Id: Ic7890e60e736189290caa1f528002b31f438a179 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb index cce6fdef0..3167da695 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb @@ -51,4 +51,4 @@ SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'STATES')}" # Install the override to set up a Conflicts relation SYSTEMD_OVERRIDE_${PN} += "bmc_booted.conf:obmc-led-group-start@bmc_booted.service.d/bmc_booted.conf" -EXTRA_OECONF = "YAML_PATH=${STAGING_DATADIR_NATIVE}/${PN}" +EXTRA_OEMESON += "-Dtests=disabled" -- cgit v1.2.3 From 934fd2b334e42f7a2a1937711cae790bd05f328f Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 30 May 2021 00:17:58 -0700 Subject: meta-quanta: gbs: phosphor-hwmon: Fix missing boost dependency The patch added an implicit boost dependency Change-Id: Ic990f59d46101684d4576bfbba89ea0f4c9015e1 Signed-off-by: William A. Kennington III --- meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend index 22b31cfb9..8f3f07f1e 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend @@ -3,6 +3,8 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" SRC_URI_append_gbs = " file://0002-Add-power-on-monitor-mechanism.patch \ " +DEPENDS += "boost" + GBS_NAMES = " \ i2c@82000/sbtsi@4c \ i2c@85000/i2c-switch@71/i2c@0/max31725@54 \ -- cgit v1.2.3 From f64e0fd3ecf6b27a26681e7612d370a03e999971 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 27 May 2021 18:52:38 -0700 Subject: phosphor-ipmi-kcs: Clean up dependencies This aligns the dependencies with the current meson build. Change-Id: I9dd10716623b9af2a6196443d4ec3d966094ec54 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb index b53dd8376..cd7f376d0 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-kcs_git.bb @@ -20,11 +20,11 @@ RPROVIDES_${PN} += "virtual-obmc-host-ipmi-hw" RRECOMMENDS_${PN} += "phosphor-ipmi-host" DEPENDS += " \ - systemd \ + fmt \ sdbusplus \ - boost \ - phosphor-logging \ - cli11 \ + sdeventplus \ + stdplus \ + systemd \ " S = "${WORKDIR}/git" -- cgit v1.2.3 From 088a2ba88572d2664c050dd9f1f36a986f5d6ee0 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 2 Jun 2021 13:27:47 -0700 Subject: phosphor-led-sysfs: Disable building tests We don't yet support turning on ptest so we are wasting cycles building them. Change-Id: I21ebd21b45b4b8338d22b5a74b4afc8bae3a1f39 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb index ce81cb4f4..f1a1112aa 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-sysfs_git.bb @@ -16,6 +16,8 @@ DEPENDS += "boost" DBUS_SERVICE_${PN} += "xyz.openbmc_project.led.controller@.service" +EXTRA_OEMESON += "-Dtests=disabled" + SRC_URI += "git://github.com/openbmc/phosphor-led-sysfs" SRC_URI += "file://70-leds.rules" SRCREV = "5ee5f3b7162cb5d8e6780a9571e0b0ca3daf7c6e" -- cgit v1.2.3 From 477b209b864486feff9163b61ae06eebc8d52039 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 27 May 2021 15:54:11 -0700 Subject: meta-phosphor: liberation-fonts: Make override generic Reducing the installed font set is not version specific, apply even to updated versions. Change-Id: Iddf03fb64cc43d49a4c94d480d141352a300a831 Signed-off-by: William A. Kennington III --- .../recipes-graphics/ttf-fonts/liberation-fonts_%.bbappend | 9 +++++++++ .../recipes-phosphor/video/liberation-fonts_2.00.1.bbappend | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 meta-phosphor/recipes-graphics/ttf-fonts/liberation-fonts_%.bbappend delete mode 100644 meta-phosphor/recipes-phosphor/video/liberation-fonts_2.00.1.bbappend diff --git a/meta-phosphor/recipes-graphics/ttf-fonts/liberation-fonts_%.bbappend b/meta-phosphor/recipes-graphics/ttf-fonts/liberation-fonts_%.bbappend new file mode 100644 index 000000000..5283a7841 --- /dev/null +++ b/meta-phosphor/recipes-graphics/ttf-fonts/liberation-fonts_%.bbappend @@ -0,0 +1,9 @@ + +do_install () { + install -d ${D}${datadir}/fonts/ttf/ + for i in LiberationMono-Regular.ttf; do + install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} + done + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ +} diff --git a/meta-phosphor/recipes-phosphor/video/liberation-fonts_2.00.1.bbappend b/meta-phosphor/recipes-phosphor/video/liberation-fonts_2.00.1.bbappend deleted file mode 100644 index 5283a7841..000000000 --- a/meta-phosphor/recipes-phosphor/video/liberation-fonts_2.00.1.bbappend +++ /dev/null @@ -1,9 +0,0 @@ - -do_install () { - install -d ${D}${datadir}/fonts/ttf/ - for i in LiberationMono-Regular.ttf; do - install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} - done - install -d ${D}${sysconfdir}/fonts/conf.d/ - install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ -} -- cgit v1.2.3 From ccde0206ddbb9164eb89241e134df68908febf7a Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 17:45:28 -0700 Subject: phosphor-ipmi-ethstats: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: I2145b89a6f5a50969456858addb73258053c99ea Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb index 9af52eb1b..957dd36b2 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ethstats_git.bb @@ -22,3 +22,5 @@ FILES_${PN}_append = " ${libdir}/net-ipmid/lib*${SOLIBS}" FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la" HOSTIPMI_PROVIDER_LIBRARY += "libethstatscmd.so" + +EXTRA_OECONF += "--disable-tests" -- cgit v1.2.3 From 0acca985ecd37be5b26981982e78a1866c30f63d Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 17:47:31 -0700 Subject: phosphor-ipmi-blobs: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: Icd5cc96ba269581d0e67be3c98c190399beac565 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb index 3e2710eb4..cc96a498a 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb @@ -24,3 +24,5 @@ FILES_${PN}_append = " ${libdir}/net-ipmid/lib*${SOLIBS}" FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la" HOSTIPMI_PROVIDER_LIBRARY += "libblobcmds.so" + +EXTRA_OECONF += "--disable-tests" -- cgit v1.2.3 From 46225fa09f3732b416e2f720a51ee727564d2619 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 17:50:09 -0700 Subject: phosphor-mapper: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: I39c6dac99a1c2258477ba31e31defa5549389957 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb index 01aa6b3f7..143c78cea 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb @@ -30,6 +30,8 @@ SRCREV = "2b7789c0180e9678909407df2c195dd3191dfc68" S = "${WORKDIR}/git" +EXTRA_OECONF += "--disable-tests" + python populate_packages_prepend () { mapperlibdir = d.getVar("libdir", True) do_split_packages(d, mapperlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Phosphor mapper %s library', extra_depends='', allow_links=True) -- cgit v1.2.3 From b05134bd8c1a5fcf97690bb773024a69ccff6801 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 17:51:28 -0700 Subject: phosphor-pid-control: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: I438b6599d1062b6d4f2411f6e37d7632fe9dc488 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb index 1c7eeb798..5f505d43d 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb @@ -38,6 +38,7 @@ SYSTEMD_SERVICE_${PN} = "${SERVICE_FILE}" EXTRA_OECONF = " \ SYSTEMD_TARGET="multi-user.target" \ + --disable-tests \ " FILES_${PN} = "${bindir}/swampd ${bindir}/setsensor" -- cgit v1.2.3 From 8b4768d9683293d8a2720227fe0e36cc4e67c4da Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 18:06:59 -0700 Subject: phosphor-state-manager: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: I5e6031b94f2ef3c5319e7990d06d3dde46282222 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb index 5375d7cda..ab3d5e26e 100644 --- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb @@ -57,6 +57,8 @@ DEPENDS += "cli11" RDEPENDS_${PN}-chassis += "bash" +EXTRA_OEMESON += "-Dtests=disabled" + FILES_${PN}-host = "${bindir}/phosphor-host-state-manager" DBUS_SERVICE_${PN}-host += "xyz.openbmc_project.State.Host.service" DBUS_SERVICE_${PN}-host += "phosphor-reboot-host@.service" -- cgit v1.2.3 From 626c2cf00587674f46b21a21bb40a03b7ab86236 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 18:08:38 -0700 Subject: phosphor-gpio-monitor: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: If4286da34d5d1f1b2e029f80fa3da00d36fc9dec Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb index 5220431d5..37908e0de 100644 --- a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb +++ b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb @@ -46,3 +46,5 @@ FILES_${PN}-presence += "${bindir}/phosphor-gpio-presence" SRC_URI += "git://github.com/openbmc/phosphor-gpio-monitor" SRCREV = "b08a0f691740ef21e28547a57981b1043d46d8ce" S = "${WORKDIR}/git" + +EXTRA_OEMESON += "-Dtests=disabled" -- cgit v1.2.3 From ab992941fb61bde7a4ec87b33141206c6542311b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sun, 30 May 2021 00:15:33 -0700 Subject: phosphor-logging: Fix missing python dependency The PEL feature depends on python3 at build time to link against the library, not runtime. Change-Id: Iaaf4d39828205d8750c2669e2798bff9ea16f009 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 9911eb0af..970755953 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -63,7 +63,7 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[openpower-pels] = " \ -Dopenpower-pel-extension=enabled, \ -Dopenpower-pel-extension=disabled, \ - nlohmann-json cli11 pldm, \ + nlohmann-json cli11 pldm python3, \ python3, \ " -- cgit v1.2.3 From 07b0f0f6ca9bfe4a4f28d8bf7e7c4464b514a989 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 4 Jun 2021 09:13:46 -0500 Subject: watchdog: utilize new default_interval parameter Commit fb9869ff introduced the concept of passing in a default interval timeout to the watchdog application on startup. This utilized the existing --min_interval option. This worked ok but it limited the ability of external users to reduce the interval. Give the above limitation, a new feature was added to phosphor-watchdog which allows the user to explicitly set the default interval on startup in the following commit: https://github.com/openbmc/phosphor-watchdog/commit/afc369ad548137a5fdb0bc69b6606e2aafa7182b Utilize this new parameter to set the default interval on startup. Signed-off-by: Andrew Geissler Change-Id: Ia21dc7bb9dec50f3ec044c6d1733a54bcea15298 --- .../watchdog/phosphor-watchdog/phosphor-watchdog@.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service index 1f6590256..e559d9fab 100644 --- a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service @@ -4,4 +4,4 @@ Description=Phosphor %I watchdog [Service] Restart=no EnvironmentFile={envfiledir}/obmc/watchdog/%I -ExecStart=/usr/bin/phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}} --min_interval=${{TIMEOUT_IN_MSEC}} +ExecStart=/usr/bin/phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}} --default_interval=${{TIMEOUT_IN_MSEC}} -- cgit v1.2.3 From 8764b44f33354f8b261acb1e43d3cc4ec0567b3b Mon Sep 17 00:00:00 2001 From: Konstantin Aladyshev Date: Mon, 17 May 2021 18:01:20 +0300 Subject: Clean up QEMU_TARGETS variable Build QEMU only for relevant targets to speed up compilation process. Signed-off-by: Konstantin Aladyshev Change-Id: I67c86d6c8fdd2b4969c35c98bec9d5d2342bbef6 --- meta-phosphor/conf/distro/include/phosphor-base.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc index f5feca1f7..1d8cc4a27 100644 --- a/meta-phosphor/conf/distro/include/phosphor-base.inc +++ b/meta-phosphor/conf/distro/include/phosphor-base.inc @@ -12,7 +12,7 @@ DISTROOVERRIDES .= ":openbmc-phosphor" TCLIBCAPPEND = "" -QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el nios2 ppc riscv32 riscv64 x86_64" +QEMU_TARGETS ?= "arm aarch64 i386 riscv32 riscv64 x86_64" PREMIRRORS ??= "\ bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ -- cgit v1.2.3 From c221323f2dfe9596ab3ce5baf60cd8361f95e1ac Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Sat, 5 Jun 2021 13:00:35 +0000 Subject: sdbusplus: srcrev bump 2bba553d03..a42e97a6b9 William A. Kennington III (2): sdbus++-gen-meson: Support non-source root yaml directories sdbus++-gen-meson: Don't build markdown by default Change-Id: I0f633534f219d7b45c184d07c51cae9e8b477c8c Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc index 05ffb2917..81f078e65 100644 --- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc +++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc @@ -3,4 +3,4 @@ PR = "r1" PV = "1.0+git${SRCPV}" SRC_URI += "git://github.com/openbmc/sdbusplus" -SRCREV = "2bba553d03bb32d6db9016910f5cf86a038b030c" +SRCREV = "a42e97a6b9522d66ba8844c0b45dc6adfcd55dd6" -- cgit v1.2.3 From 45c0083998242a67937bc72d179c4c17cf66b104 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 18:10:33 -0700 Subject: metrics-ipmi-blobs: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: I105ed69b3dc4b6d5f1c52c15cc6622f0f3bfbfda Signed-off-by: William A. Kennington III --- meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb index 4518f49b5..c0052cbbd 100644 --- a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb +++ b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb @@ -21,6 +21,8 @@ BLOBIPMI_PROVIDER_LIBRARY += "libmetricsblob.so" INSANE_SKIP_${PN} += "dev-so" +EXTRA_OEMESON += "-Dtests=disabled" + do_install_append() { install -d ${D}/${libdir}/blob-ipmid ln -s ../ipmid-providers/libmetricsblob.so ${D}/${libdir}/blob-ipmid/libmetricsblob.so.0 -- cgit v1.2.3 From a4cdbe62bd42c22238b14427467ab9accbfa3900 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 18:13:35 -0700 Subject: google-ipmi-sys: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: I44d51dd1655157f2cd96cd21d8e1122faa06f6a2 Signed-off-by: William A. Kennington III --- meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb index 70c4bcb39..0bcc66a58 100644 --- a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb +++ b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb @@ -30,6 +30,8 @@ HOSTIPMI_PROVIDER_LIBRARY += "libsyscmds.so" SYSTEMD_PACKAGES = "${PN}" SYSTEMD_SERVICE_${PN} = "gbmc-psu-hardreset.target" +EXTRA_OECONF += "--disable-tests" + CXXFLAGS_append_gbmc = '${@"" if not d.getVar("GBMC_NCSI_IF_NAME") else \ " -DNCSI_IPMI_CHANNEL=1 -DNCSI_IF_NAME=" + d.getVar("GBMC_NCSI_IF_NAME")}' -- cgit v1.2.3 From f6d1449f955f056cf8aff166d6c6bf6e7efa2697 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 18:18:15 -0700 Subject: phosphor-software-manager: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: Id215020d9133806f98fa2253618e708ecb70f3d9 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb index 4fa2aa457..19e5f31fa 100644 --- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb @@ -84,6 +84,8 @@ SYSTEMD_SERVICE_${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'flash_b S = "${WORKDIR}/git" +EXTRA_OEMESON = "-Dtests=disabled" + do_install_append() { install -d ${D}/usr/local } -- cgit v1.2.3 From 444a4c36c4dde17359db02f6a82f421ee40f3a7f Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Fri, 4 Jun 2021 18:32:50 -0700 Subject: phosphor-certificate-manager: Disable building tests We don't yet use ptest so we are wasting cycles building tests Change-Id: I4be55f6dd11bebf9f2556f35e8fa61d19bd953b2 Signed-off-by: William A. Kennington III --- .../recipes-phosphor/certificate/phosphor-certificate-manager_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb index 9885240c4..5a5f1d45e 100644 --- a/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb @@ -26,6 +26,8 @@ DEPENDS = " \ S = "${WORKDIR}/git" +EXTRA_OECONF += "--disable-tests" + CERT_TMPL = "phosphor-certificate-manager@.service" SYSTEMD_SERVICE_${PN} = "${CERT_TMPL}" -- cgit v1.2.3 From 25633f1351521fd26469b21ddbe339e3f874182d Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Fri, 4 Jun 2021 22:24:09 +0930 Subject: linux-aspeed: Backports of MMC, FSI, DTS These changes have been merged to mainline since v5.10 was released, including patches that are queued for v5.14. There are enhancements and bug fixes for FSI, clock phase compensation for MMC to enable HS200 mode, and device tree backports for Mt Jade and the IBM P10 systems. Andrew Jeffery (5): mmc: core: Add helper for parsing clock phase properties mmc: sdhci-of-aspeed: Expose clock phase controls mmc: sdhci-of-aspeed: Add AST2600 bus clock support mmc: sdhci-of-aspeed: Add KUnit tests for phase calculations mmc: sdhci-of-aspeed: Fix kunit-related build error Colin Ian King (1): fsi: core: Fix return of error values on failures Eddie James (3): fsi: scom: Reset the FSI2PIB engine for any error fsi: Aspeed: Reduce poll timeout ARM: dts: aspeed: Rainier 4U: Remove fan updates Jisheng Zhang (1): mmc: sdhci: replace mmc->parent with mmc_dev() for consistency Joel Stanley (4): fsi: aspeed: Emit fewer barriers in opb operations fsi: scom: Remove retries ARM: dts: aspeed: Set earlycon boot argument ARM: dts: aspeed-g5: Add SCU phandle to GFX node Quan Nguyen (3): ARM: dts: aspeed: mtjade: Enable OCP card support via NC-SI ARM: dts: aspeed: mtjade: Add PSU support ARM: dts: aspeed: mtjade: switch to 64MB flash layout Santosh Puranik (1): ARM: dts: aspeed: Everest: Fix cable card PCA chips Souptick Joarder (1): pinctrl: aspeed: Fix minor documentation error Steven Lee (6): pinctrl: pinctrl-aspeed-g6: Add sgpio pinctrl settings mmc: sdhci-of-aspeed: Configure the SDHCIs as specified by the devicetree. ARM: dts: aspeed: ast2600evb: Add sdhci node and gpio regulator for A2 evb. ARM: dts: aspeed: ast2600evb: Add phase correction for emmc controller. ARM: dts: aspeed: ast2600evb: Add dts file for A1 and A0 ARM: dts: aspeed-g6: Add pinctrl settings Troy Lee (1): ARM: dts: aspeed: Grow u-boot partition 64MiB OpenBMC flash layout Vishwanatha Subbanna (1): ARM: dts: aspeed: Everest: Add directly controlled LEDs Yangtao Li (1): fsi: aspeed: convert to devm_platform_ioremap_resource Zhen Lei (1): fsi: master-ast-cf: Remove redundant error printing in fsi_master_acf_probe() Zou Wei (1): fsi: Add missing MODULE_DEVICE_TABLE Change-Id: I236f1b3f3d96c08b1237a0d9860786ebe25566fd Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index 5bfc62845..bf8391181 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.42" -SRCREV="7590e064c6a69cbb12535a84414c6a04840ae82e" +SRCREV="a03dcbf1719162744ef9f1a73c9823f8ba3714ec" require linux-aspeed.inc -- cgit v1.2.3 From fe61aa39c9ec9f62182a36ce0b52bd3ab541740b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 29 May 2021 23:50:53 -0700 Subject: openpower-software-manager: Disable building tests We don't yet support turning on ptest so we are wasting cycles building them. Change-Id: I1820fb8299aa2fc3ff0e7820aaea1dd8ea37dc86 Signed-off-by: William A. Kennington III --- meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb index da237d77d..8cd50970c 100644 --- a/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb +++ b/meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb @@ -37,6 +37,7 @@ PACKAGECONFIG[mmc_layout] = "-Ddevice-type=mmc" PACKAGECONFIG[virtual_pnor] = "-Dvpnor=enabled, -Dvpnor=disabled" EXTRA_OEMESON += " \ + -Dtests=disabled \ -Dmsl="v2.0.10 v2.2" \ " -- cgit v1.2.3 From c28dc9150342611bec5d6659ab11f81c5501a200 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 29 May 2021 14:55:09 -0700 Subject: sdbusplus: Remove unused dependencies googletest is only directly used by tests. When ptest support is eventually enabled it can be added back for ptest environments. Change-Id: I120610391dfa25a188534dd1ff41ac2b49cdd92b Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb index 973a92f3d..208b4f3af 100644 --- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb +++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus_git.bb @@ -15,7 +15,6 @@ DEPENDS += " \ ${PYTHON_PN}-mako-native \ ${PYTHON_PN}-pyyaml-native \ boost \ - googletest \ systemd \ " -- cgit v1.2.3 From 76f91bca10fbb88a5e376f4a338baa30778f9ec8 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 27 May 2021 15:36:31 -0700 Subject: treewide: Remove obsolete image-mklibs class This is apparently not actually working anymore and is removed in the next poky update. Change-Id: Ia1c6a258d124a4a30a14fc42e8e0bba95e64faeb Signed-off-by: William A. Kennington III --- meta-alibaba/meta-thor/conf/local.conf.sample | 3 +-- meta-amd/meta-ethanolx/conf/local.conf.sample | 3 +-- meta-ampere/meta-jade/conf/local.conf.sample | 3 +-- meta-asrock/meta-e3c246d4i/conf/local.conf.sample | 2 +- meta-bytedance/meta-g220a/conf/local.conf.sample | 2 +- meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/local.conf.sample | 2 +- meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/local.conf.sample | 2 +- meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample | 2 +- meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/local.conf.sample | 2 +- meta-evb/meta-evb-raspberrypi/conf/local.conf.sample | 2 +- meta-facebook/meta-tiogapass/conf/local.conf.sample | 3 +-- meta-facebook/meta-yosemitev2/conf/local.conf.sample | 3 +-- meta-fii/meta-kudo/conf/local.conf.sample | 2 +- meta-hpe/meta-dl360poc/conf/local.conf.sample | 3 +-- meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample | 2 +- meta-ibm/conf/local.conf.sample | 2 +- meta-ibm/meta-palmetto/conf/local.conf.sample | 3 +-- meta-ibm/meta-romulus/conf/local.conf.sample | 3 +-- meta-ingrasys/meta-zaius/conf/local.conf.sample | 2 +- meta-inspur/meta-fp5280g2/conf/local.conf.sample | 2 +- meta-inspur/meta-on5263m5/conf/local.conf.sample | 3 +-- meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample | 3 +-- meta-inventec/meta-lanyang/conf/local.conf.sample | 2 +- meta-lenovo/meta-hr630/conf/local.conf.sample | 2 +- meta-lenovo/meta-hr855xg2/conf/local.conf.sample | 2 +- meta-microsoft/meta-olympus/conf/local.conf.sample | 3 +-- meta-phosphor/conf/local.conf.sample | 2 +- meta-portwell/meta-neptune/conf/local.conf.sample | 3 +-- meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample | 2 +- meta-quanta/meta-f0b/conf/local.conf.sample | 2 +- meta-quanta/meta-gbs/conf/local.conf.sample | 2 +- meta-quanta/meta-gsj/conf/local.conf.sample | 2 +- meta-quanta/meta-olympus-nuvoton/conf/local.conf.sample | 2 +- meta-quanta/meta-q71l/conf/local.conf.sample | 2 +- meta-supermicro/meta-x11spi/conf/local.conf.sample | 3 +-- meta-yadro/meta-nicole/conf/local.conf.sample | 3 +-- meta-yadro/meta-vesnin/conf/local.conf.sample | 3 +-- 37 files changed, 37 insertions(+), 52 deletions(-) diff --git a/meta-alibaba/meta-thor/conf/local.conf.sample b/meta-alibaba/meta-thor/conf/local.conf.sample index fbae84b73..d4f9771ff 100644 --- a/meta-alibaba/meta-thor/conf/local.conf.sample +++ b/meta-alibaba/meta-thor/conf/local.conf.sample @@ -116,12 +116,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images # diff --git a/meta-amd/meta-ethanolx/conf/local.conf.sample b/meta-amd/meta-ethanolx/conf/local.conf.sample index 937de74b4..34a13a566 100644 --- a/meta-amd/meta-ethanolx/conf/local.conf.sample +++ b/meta-amd/meta-ethanolx/conf/local.conf.sample @@ -148,12 +148,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-ampere/meta-jade/conf/local.conf.sample b/meta-ampere/meta-jade/conf/local.conf.sample index 200d89797..54d05d90b 100644 --- a/meta-ampere/meta-jade/conf/local.conf.sample +++ b/meta-ampere/meta-jade/conf/local.conf.sample @@ -126,12 +126,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-asrock/meta-e3c246d4i/conf/local.conf.sample b/meta-asrock/meta-e3c246d4i/conf/local.conf.sample index f4d6cb62e..1c86431f9 100644 --- a/meta-asrock/meta-e3c246d4i/conf/local.conf.sample +++ b/meta-asrock/meta-e3c246d4i/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-bytedance/meta-g220a/conf/local.conf.sample b/meta-bytedance/meta-g220a/conf/local.conf.sample index 0ebc07e45..207786200 100644 --- a/meta-bytedance/meta-g220a/conf/local.conf.sample +++ b/meta-bytedance/meta-g220a/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/local.conf.sample b/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/local.conf.sample index 0844090b0..5f8b6c59d 100644 --- a/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/local.conf.sample +++ b/meta-evb/meta-evb-aspeed/meta-evb-ast2500/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/local.conf.sample b/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/local.conf.sample index 4ede461ea..9faa92398 100644 --- a/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/local.conf.sample +++ b/meta-evb/meta-evb-aspeed/meta-evb-ast2600/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample index add76ec6f..e65be03f9 100644 --- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample +++ b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/local.conf.sample b/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/local.conf.sample index 950554c97..a261e7d64 100644 --- a/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/local.conf.sample +++ b/meta-evb/meta-evb-nuvoton/meta-evb-npcm750/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-evb/meta-evb-raspberrypi/conf/local.conf.sample b/meta-evb/meta-evb-raspberrypi/conf/local.conf.sample index f6ab6bd94..b73edee35 100644 --- a/meta-evb/meta-evb-raspberrypi/conf/local.conf.sample +++ b/meta-evb/meta-evb-raspberrypi/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-facebook/meta-tiogapass/conf/local.conf.sample b/meta-facebook/meta-tiogapass/conf/local.conf.sample index a575746c5..641963aed 100644 --- a/meta-facebook/meta-tiogapass/conf/local.conf.sample +++ b/meta-facebook/meta-tiogapass/conf/local.conf.sample @@ -126,12 +126,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-facebook/meta-yosemitev2/conf/local.conf.sample b/meta-facebook/meta-yosemitev2/conf/local.conf.sample index cbbcb84ef..297d077cc 100644 --- a/meta-facebook/meta-yosemitev2/conf/local.conf.sample +++ b/meta-facebook/meta-yosemitev2/conf/local.conf.sample @@ -126,12 +126,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-fii/meta-kudo/conf/local.conf.sample b/meta-fii/meta-kudo/conf/local.conf.sample index cc5544d95..8d07a5b5b 100644 --- a/meta-fii/meta-kudo/conf/local.conf.sample +++ b/meta-fii/meta-kudo/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-hpe/meta-dl360poc/conf/local.conf.sample b/meta-hpe/meta-dl360poc/conf/local.conf.sample index 1161dcec0..a111ba715 100644 --- a/meta-hpe/meta-dl360poc/conf/local.conf.sample +++ b/meta-hpe/meta-dl360poc/conf/local.conf.sample @@ -148,12 +148,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample b/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample index 3f5354ceb..b1776ba20 100644 --- a/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample +++ b/meta-hxt/meta-stardragon4800-rep2/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-ibm/conf/local.conf.sample b/meta-ibm/conf/local.conf.sample index 2ee8833b2..0166b9520 100644 --- a/meta-ibm/conf/local.conf.sample +++ b/meta-ibm/conf/local.conf.sample @@ -6,7 +6,7 @@ DISTRO ?= "openbmc-openpower" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-ibm/meta-palmetto/conf/local.conf.sample b/meta-ibm/meta-palmetto/conf/local.conf.sample index f26badeb1..3bdab8196 100644 --- a/meta-ibm/meta-palmetto/conf/local.conf.sample +++ b/meta-ibm/meta-palmetto/conf/local.conf.sample @@ -148,12 +148,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-ibm/meta-romulus/conf/local.conf.sample b/meta-ibm/meta-romulus/conf/local.conf.sample index ef13391bf..17233dff9 100644 --- a/meta-ibm/meta-romulus/conf/local.conf.sample +++ b/meta-ibm/meta-romulus/conf/local.conf.sample @@ -126,12 +126,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-ingrasys/meta-zaius/conf/local.conf.sample b/meta-ingrasys/meta-zaius/conf/local.conf.sample index c7ccc92b3..2d4aecd06 100644 --- a/meta-ingrasys/meta-zaius/conf/local.conf.sample +++ b/meta-ingrasys/meta-zaius/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-openpower" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-inspur/meta-fp5280g2/conf/local.conf.sample b/meta-inspur/meta-fp5280g2/conf/local.conf.sample index 189fcb3d2..33fd6fd42 100644 --- a/meta-inspur/meta-fp5280g2/conf/local.conf.sample +++ b/meta-inspur/meta-fp5280g2/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-fp5280g2" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-inspur/meta-on5263m5/conf/local.conf.sample b/meta-inspur/meta-on5263m5/conf/local.conf.sample index 003773e2f..56a7e9621 100644 --- a/meta-inspur/meta-on5263m5/conf/local.conf.sample +++ b/meta-inspur/meta-on5263m5/conf/local.conf.sample @@ -147,12 +147,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample b/meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample index a6ac9e158..89d11b682 100644 --- a/meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample +++ b/meta-intel-openbmc/meta-s2600wf/conf/local.conf.sample @@ -147,12 +147,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-inventec/meta-lanyang/conf/local.conf.sample b/meta-inventec/meta-lanyang/conf/local.conf.sample index a4a3343b3..ba34a1894 100644 --- a/meta-inventec/meta-lanyang/conf/local.conf.sample +++ b/meta-inventec/meta-lanyang/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-openpower" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-lenovo/meta-hr630/conf/local.conf.sample b/meta-lenovo/meta-hr630/conf/local.conf.sample index 3e24b3ff1..f652ced85 100644 --- a/meta-lenovo/meta-hr630/conf/local.conf.sample +++ b/meta-lenovo/meta-hr630/conf/local.conf.sample @@ -5,7 +5,7 @@ DISTRO ?= "openbmc-hr630" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-lenovo/meta-hr855xg2/conf/local.conf.sample b/meta-lenovo/meta-hr855xg2/conf/local.conf.sample index b418c09f5..b78cdc42b 100644 --- a/meta-lenovo/meta-hr855xg2/conf/local.conf.sample +++ b/meta-lenovo/meta-hr855xg2/conf/local.conf.sample @@ -6,7 +6,7 @@ DISTRO ?= "openbmc-hr855xg2" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-microsoft/meta-olympus/conf/local.conf.sample b/meta-microsoft/meta-olympus/conf/local.conf.sample index ed8fb71fc..ef46e0c03 100755 --- a/meta-microsoft/meta-olympus/conf/local.conf.sample +++ b/meta-microsoft/meta-olympus/conf/local.conf.sample @@ -148,12 +148,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-phosphor/conf/local.conf.sample b/meta-phosphor/conf/local.conf.sample index d77fc8ad7..0a6216329 100644 --- a/meta-phosphor/conf/local.conf.sample +++ b/meta-phosphor/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-portwell/meta-neptune/conf/local.conf.sample b/meta-portwell/meta-neptune/conf/local.conf.sample index 58e9cf5ca..2b051706f 100644 --- a/meta-portwell/meta-neptune/conf/local.conf.sample +++ b/meta-portwell/meta-neptune/conf/local.conf.sample @@ -126,12 +126,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample b/meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample index e054bef3a..f5fa72cc5 100644 --- a/meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample +++ b/meta-qualcomm/meta-centriq2400-rep/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-quanta/meta-f0b/conf/local.conf.sample b/meta-quanta/meta-f0b/conf/local.conf.sample index e892ef8aa..aa00f10cf 100644 --- a/meta-quanta/meta-f0b/conf/local.conf.sample +++ b/meta-quanta/meta-f0b/conf/local.conf.sample @@ -4,7 +4,7 @@ DISTRO = "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-quanta/meta-gbs/conf/local.conf.sample b/meta-quanta/meta-gbs/conf/local.conf.sample index 787ab301b..f590e64f8 100644 --- a/meta-quanta/meta-gbs/conf/local.conf.sample +++ b/meta-quanta/meta-gbs/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "gbmc" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-quanta/meta-gsj/conf/local.conf.sample b/meta-quanta/meta-gsj/conf/local.conf.sample index f4488a4c1..eacba35bc 100644 --- a/meta-quanta/meta-gsj/conf/local.conf.sample +++ b/meta-quanta/meta-gsj/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-gsj" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-quanta/meta-olympus-nuvoton/conf/local.conf.sample b/meta-quanta/meta-olympus-nuvoton/conf/local.conf.sample index 76d1a9716..0b07f63dd 100644 --- a/meta-quanta/meta-olympus-nuvoton/conf/local.conf.sample +++ b/meta-quanta/meta-olympus-nuvoton/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " *" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-quanta/meta-q71l/conf/local.conf.sample b/meta-quanta/meta-q71l/conf/local.conf.sample index 8862b5c68..5a686f4eb 100644 --- a/meta-quanta/meta-q71l/conf/local.conf.sample +++ b/meta-quanta/meta-q71l/conf/local.conf.sample @@ -3,7 +3,7 @@ DISTRO ?= "openbmc-phosphor" PACKAGE_CLASSES ?= "package_rpm" SANITY_TESTED_DISTROS_append ?= " RedHatEnterpriseWorkstation-6.*" EXTRA_IMAGE_FEATURES = "debug-tweaks" -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" PATCHRESOLVE = "noop" BB_DISKMON_DIRS = "\ STOPTASKS,${TMPDIR},1G,100K \ diff --git a/meta-supermicro/meta-x11spi/conf/local.conf.sample b/meta-supermicro/meta-x11spi/conf/local.conf.sample index 17c9945bf..3e69f267f 100644 --- a/meta-supermicro/meta-x11spi/conf/local.conf.sample +++ b/meta-supermicro/meta-x11spi/conf/local.conf.sample @@ -126,12 +126,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-yadro/meta-nicole/conf/local.conf.sample b/meta-yadro/meta-nicole/conf/local.conf.sample index ba1d82e13..d31ed4b27 100644 --- a/meta-yadro/meta-nicole/conf/local.conf.sample +++ b/meta-yadro/meta-nicole/conf/local.conf.sample @@ -126,12 +126,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images diff --git a/meta-yadro/meta-vesnin/conf/local.conf.sample b/meta-yadro/meta-vesnin/conf/local.conf.sample index 06f24dc5a..6fe59e72b 100644 --- a/meta-yadro/meta-vesnin/conf/local.conf.sample +++ b/meta-yadro/meta-vesnin/conf/local.conf.sample @@ -148,12 +148,11 @@ EXTRA_IMAGE_FEATURES = "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image # - 'image-swab' to perform host system intrusion detection # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images -- cgit v1.2.3 From 56f3fd50cbc38581fb53a68268cf531576d5c7ef Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 26 May 2021 19:24:56 -0500 Subject: meta-ibm:checkstop-monitor: remove from p10bmc p10bmc systems have their own checkstop monitor, provided by the openpower-hw-diags package. Having both installed on p10bmc systems is wasteful and has shown some intermittent issues (checkstop-monitor service core dumping when checkstops occur). Signed-off-by: Andrew Geissler Change-Id: I118b359bf551e6502086800a9081ca8856ecf4ae --- meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index a7bf5740f..5b5b50d29 100644 --- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -33,6 +33,7 @@ RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing wi RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager phosphor-post-code-manager phosphor-host-postd kexec-tools makedumpfile kdump vmcore-dmesg" RDEPENDS_${PN}-extras_remove_p10bmc = "obmc-ikvm liberation-fonts uart-render-controller" +RDEPENDS_${PN}-host-state-mgmt_remove_p10bmc = "checkstop-monitor" RDEPENDS_${PN}-extras_remove_swift = "obmc-ikvm" RDEPENDS_${PN}-extras_remove_witherspoon-tacoma = "obmc-ikvm liberation-fonts uart-render-controller phosphor-webui" RDEPENDS_${PN}-logging_append = " ${EXTRA_IBM_LOGGING_PKGS}" -- cgit v1.2.3 From a99e9b62f0adc374f48844dc94b4bb41d6a04c90 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 2 Jun 2021 12:47:56 -0700 Subject: meta-raspberrypi: subtree update:8cffbf5e85..ffc402ef5e Andrei Gherzan (1): layer.conf: Define LAYERDEPENDS Changqing Li (1): 99-com.rules: fix error invalid substitution type Khem Raj (2): linux-firmware-rpidistro: Update to 20190114-1+rpt11 bluez-firmware-rpidistro: Update to 1.2-4+rpt8 Martin Jansa (3): linux-raspberrypi: allow to change the yocto-kernel-cache branch with LINUX_RPI_KMETA_BRANCH linux-raspberrypi-dev: drop protocol=git and add LINUX_RPI_KMETA_BRANCH linux-raspberrypi-dev: use static SRCREV when not selected with PREFERRED_PROVIDER_virtual/kernel Pierre-Jean Texier (1): rpi-base: make SPLASH overridable from outside SCVready (1): rpi-config: comment updated matt-hammond-bbc (1): libva: Fix for when using `userland` sss22213 (1): recipes-bsp: Add support for Raspberry Pi HD quality camera Change-Id: I631fa1d4c12b9f91d5044712b6c2e712fcebd98b Signed-off-by: William A. Kennington III --- meta-raspberrypi/conf/layer.conf | 1 + meta-raspberrypi/conf/machine/include/rpi-base.inc | 3 ++- .../recipes-bsp/bootfiles/rpi-cmdline.bb | 2 ++ .../recipes-bsp/bootfiles/rpi-config_git.bb | 21 ++++++++++++++++----- .../recipes-core/udev/udev-rules-rpi/99-com.rules | 8 ++++---- .../recipes-graphics/libva/libva_%.bbappend | 3 +++ .../bluez-firmware-rpidistro_git.bb | 22 +++++++++++++++++++--- .../linux-firmware-rpidistro_git.bb | 4 ++-- .../recipes-kernel/linux/linux-raspberrypi-dev.bb | 14 ++++++++++---- .../recipes-kernel/linux/linux-raspberrypi_5.10.bb | 3 ++- .../recipes-kernel/linux/linux-raspberrypi_5.4.bb | 3 ++- 11 files changed, 63 insertions(+), 21 deletions(-) create mode 100644 meta-raspberrypi/recipes-graphics/libva/libva_%.bbappend diff --git a/meta-raspberrypi/conf/layer.conf b/meta-raspberrypi/conf/layer.conf index 0f081960b..2518379ae 100644 --- a/meta-raspberrypi/conf/layer.conf +++ b/meta-raspberrypi/conf/layer.conf @@ -10,6 +10,7 @@ BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PRIORITY_raspberrypi = "9" LAYERSERIES_COMPAT_raspberrypi = "hardknott honister" +LAYERDEPENDS_raspberrypi = "core" # Additional license directories. LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc index 572fe2241..a80007847 100644 --- a/meta-raspberrypi/conf/machine/include/rpi-base.inc +++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc @@ -31,6 +31,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/justboom-digi.dtbo \ overlays/i2c-rtc.dtbo \ overlays/imx219.dtbo \ + overlays/imx477.dtbo \ overlays/iqaudio-dac.dtbo \ overlays/iqaudio-dacplus.dtbo \ overlays/mcp2515-can0.dtbo \ @@ -102,7 +103,7 @@ SERIAL_CONSOLES_CHECK ??= "${SERIAL_CONSOLES}" BOOTFILES_DIR_NAME ?= "bootfiles" # Set Raspberrypi splash image -SPLASH = "psplash-raspberrypi" +SPLASH ?= "psplash-raspberrypi" def make_dtb_boot_files(d): # Generate IMAGE_BOOT_FILES entries for device tree files listed in diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb index 40a9949a1..3ebd1e61c 100644 --- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb +++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb @@ -13,6 +13,8 @@ CMDLINE_SERIAL ?= "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0, CMDLINE_CMA ?= "${@oe.utils.conditional("RASPBERRYPI_CAMERA_V2", "1", "cma=64M", "", d)}" +CMDLINE_CMA ?= "${@oe.utils.conditional("RASPBERRYPI_HD_CAMERA", "1", "cma=64M", "", d)}" + CMDLINE_PITFT ?= "${@bb.utils.contains("MACHINE_FEATURES", "pitft", "fbcon=map:10 fbcon=font:VGA8x8", "", d)}" # Add the kernel debugger over console kernel command line option if enabled diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb index de43c4b36..052206acf 100644 --- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb +++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb @@ -118,10 +118,15 @@ do_deploy() { # Video camera support if [ "${VIDEO_CAMERA}" = "1" ]; then - # TODO: It has been observed that Raspberry Pi 4B 4GB may fail to enable the camera if "start_x=1" is at the end - # of the file. The underlying cause is unknown, but it can be related with a file size limitation affecting - # this variable. Therefore, "start_x=1" has been set to replace the original occurrence in config.txt, - # which is at the middle of the file. + # It has been observed that Raspberry Pi 4B 4GB may fail to enable the + # camera if "start_x=1" is at the end of the file. Therefore, + # "start_x=1" has been set to replace the original occurrence in + # config.txt, which is at the middle of the file. + # The exact underlying cause is unknown. There are similar issues + # reported in the raspberrypi/firware repo and the conclusion reached + # was that there could be a file size limitation affecting certain + # variables. It was commented that this limitation could be 4k but + # not proved. sed -i '/#start_x=/ c\start_x=1' $CONFIG fi @@ -184,10 +189,16 @@ do_deploy() { # Choose Camera Sensor to be used, default imx219 sensor if [ "${RASPBERRYPI_CAMERA_V2}" = "1" ]; then - echo "# Enable Sony RaspberryPi Camera" >> $CONFIG + echo "# Enable Sony RaspberryPi Camera(imx219)" >> $CONFIG echo "dtoverlay=imx219" >> $CONFIG fi + # Choose Camera Sensor to be used, default imx477 sensor + #if [ "${RASPBERRYPI_HD_CAMERA}" = "1" ]; then + # echo "# Enable Sony RaspberryPi Camera(imx477)" >> $CONFIG + # echo "dtoverlay=imx477" >> $CONFIG + #fi + # Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm) if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> $CONFIG diff --git a/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules b/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules index 6bf019bd1..ddd1e1743 100644 --- a/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules +++ b/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules @@ -1,8 +1,8 @@ KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\ ALIASES=/proc/device-tree/aliases; \ - if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \ + if cmp -s $$ALIASES/uart0 $$ALIASES/serial0; then \ echo 0;\ - elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \ + elif cmp -s $$ALIASES/uart0 $$ALIASES/serial1; then \ echo 1; \ else \ exit 1; \ @@ -11,9 +11,9 @@ KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\ KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\ ALIASES=/proc/device-tree/aliases; \ - if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \ + if cmp -s $$ALIASES/uart1 $$ALIASES/serial0; then \ echo 0; \ - elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \ + elif cmp -s $$ALIASES/uart1 $$ALIASES/serial1; then \ echo 1; \ else \ exit 1; \ diff --git a/meta-raspberrypi/recipes-graphics/libva/libva_%.bbappend b/meta-raspberrypi/recipes-graphics/libva/libva_%.bbappend new file mode 100644 index 000000000..56ff4213a --- /dev/null +++ b/meta-raspberrypi/recipes-graphics/libva/libva_%.bbappend @@ -0,0 +1,3 @@ +# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where +# we explicitly delete KHR/khrplatform.h since its already coming from userland package +DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}" diff --git a/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb index 310d2f844..d28e2c126 100644 --- a/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb +++ b/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb @@ -16,7 +16,7 @@ SECTION = "kernel" # [^1]: https://github.com/RPi-Distro/bluez-firmware/issues/1 LICENSE = "Firmware-cypress-rpidistro" LIC_FILES_CHKSUM = "\ - file://LICENCE.cypress-rpidistro;md5=852f9d10cbedba1f6c439729bd0617b4 \ + file://LICENCE.cypress-rpidistro;md5=c5d12ae0b24ef7177902a8e288751a4e \ " # These are not common licenses, set NO_GENERIC_LICENSE for them @@ -24,8 +24,8 @@ LIC_FILES_CHKSUM = "\ NO_GENERIC_LICENSE[Firmware-cypress-rpidistro] = "LICENCE.cypress-rpidistro" SRC_URI = "git://github.com/RPi-Distro/bluez-firmware" -SRCREV = "96eefffcccc725425fd83be5e0704a5c32b79e54" -PV = "0.0+git${SRCPV}" +SRCREV = "e7fd166981ab4bb9a36c2d1500205a078a35714d" +PV = "1.2-4+rpt8" S = "${WORKDIR}/git" @@ -55,11 +55,15 @@ do_install() { PACKAGES = "\ ${PN}-cypress-license \ ${PN}-bcm43430a1-hcd \ + ${PN}-bcm43430b0-hcd \ ${PN}-bcm4345c0-hcd \ + ${PN}-bcm4345c5-hcd \ " LICENSE_${PN}-bcm43430a1-hcd = "Firmware-cypress-rpidistro" +LICENSE_${PN}-bcm43430b0-hcd = "Firmware-cypress-rpidistro" LICENSE_${PN}-bcm4345c0-hcd = "Firmware-cypress-rpidistro" +LICENSE_${PN}-bcm4345c5-hcd = "Firmware-cypress-rpidistro" LICENSE_${PN}-cypress-license = "Firmware-cypress-rpidistro" FILES_${PN}-cypress-license = "\ @@ -68,16 +72,28 @@ FILES_${PN}-cypress-license = "\ FILES_${PN}-bcm43430a1-hcd = "\ ${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \ " +FILES_${PN}-bcm43430b0-hcd = "\ + ${nonarch_base_libdir}/firmware/brcm/BCM43430B0.hcd \ +" FILES_${PN}-bcm4345c0-hcd = "\ ${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \ " +FILES_${PN}-bcm4345c5-hcd = "\ + ${nonarch_base_libdir}/firmware/brcm/BCM4345C5.hcd \ +" RDEPENDS_${PN}-bcm43430a1-hcd += "${PN}-cypress-license" +RDEPENDS_${PN}-bcm43430b0-hcd += "${PN}-cypress-license" RDEPENDS_${PN}-bcm4345c0-hcd += "${PN}-cypress-license" +RDEPENDS_${PN}-bcm4345c5-hcd += "${PN}-cypress-license" RCONFLICTS_${PN}-bcm43430a1-hcd = "linux-firmware-bcm43430a1-hcd" RREPLACES_${PN}-bcm43430a1-hcd = "linux-firmware-bcm43430a1-hcd" +RCONFLICTS_${PN}-bcm43430b0-hcd = "linux-firmware-bcm43430b0-hcd" +RREPLACES_${PN}-bcm43430b0-hcd = "linux-firmware-bcm43430b0-hcd" RCONFLICTS_${PN}-bcm43435c0-hcd = "linux-firmware-bcm4345c0-hcd" RREPLACES_${PN}-bcm43435c0-hcd = "linux-firmware-bcm4345c0-hcd" +RCONFLICTS_${PN}-bcm43435c5-hcd = "linux-firmware-bcm4345c5-hcd" +RREPLACES_${PN}-bcm43435c5-hcd = "linux-firmware-bcm4345c5-hcd" # Firmware files are generally not run on the CPU, so they can be # allarch despite being architecture specific diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb index 671dfa20b..a091585a5 100644 --- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb +++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb @@ -36,8 +36,8 @@ NO_GENERIC_LICENSE[WHENCE] = "WHENCE" SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree" -SRCREV = "b66ab26cebff689d0d3257f56912b9bb03c20567" -PV = "20190114-1+rpt10" +SRCREV = "83938f78ca2d5a0ffe0c223bb96d72ccc7b71ca5" +PV = "20190114-1+rpt11" S = "${WORKDIR}/git" diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb index ff8ce7993..0dfa4519f 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb @@ -7,15 +7,21 @@ python __anonymous() { LINUX_VERSION ?= "5.10.y" LINUX_RPI_BRANCH ?= "rpi-5.10.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10" -SRCREV_machine = "${AUTOREV}" -SRCREV_meta = "${AUTOREV}" +# Set default SRCREVs. Both the machine and meta SRCREVs are statically set +# to the as in 5.10 recipe, and hence prevent network access during parsing. If +# linux-yocto-dev is the preferred provider, they will be overridden to +# AUTOREV in following anonymous python routine and resolved when the +# variables are finalized. +SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-raspberrypi-dev", "${AUTOREV}", "89399e6e7e33d6260a954603ca03857df594ffd3", d)}' +SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-raspberrypi-dev", "${AUTOREV}", "a19886b00ea7d874fdd60d8e3435894bb16e6434", d)}' KMETA = "kernel-meta" SRC_URI = " \ - git://github.com/raspberrypi/linux.git;name=machine;protocol=git;branch=${LINUX_RPI_BRANCH} \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=master;destsuffix=${KMETA} \ + git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ file://powersave.cfg \ file://android-drivers.cfg \ " diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb index fa3a8fc39..fc33559c3 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb @@ -1,5 +1,6 @@ LINUX_VERSION ?= "5.10.31" LINUX_RPI_BRANCH ?= "rpi-5.10.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10" SRCREV_machine = "89399e6e7e33d6260a954603ca03857df594ffd3" SRCREV_meta = "a19886b00ea7d874fdd60d8e3435894bb16e6434" @@ -8,7 +9,7 @@ KMETA = "kernel-meta" SRC_URI = " \ git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA} \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ file://powersave.cfg \ file://android-drivers.cfg \ " diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb index ba97ed56e..343228372 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb @@ -1,5 +1,6 @@ LINUX_VERSION ?= "5.4.83" LINUX_RPI_BRANCH ?= "rpi-5.4.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-5.4" SRCREV_machine = "08ae2dd9e7dc89c20bff823a3ef045de09bfd090" SRCREV_meta = "d676bf5ff7b7071e14f44498d2482c0a596f14cd" @@ -8,7 +9,7 @@ KMETA = "kernel-meta" SRC_URI = " \ git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH} \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA} \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ file://0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch \ file://0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch \ file://powersave.cfg \ -- cgit v1.2.3 From ee32beb0333105ea120420a3556a752079ef5437 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 2 Jun 2021 12:48:35 -0700 Subject: meta-security: subtree update:baca6133f9..ab239f1497 Armin Kuster (16): build cleanup: add iam to base depend tripwire: Blacklist pkg, upstream seems abandond tpm2-pkcs11: Update to 1.6.0 clamav: update to tip. ossec-hids: add UPSTREAM_CHECK_COMMITS python3-scapy: add UPSTREAM_CHECK_COMMITS suricata: 4.1.x add UPSTREAM_CHECK_URI ibmswtpm2: update to 1661 ibmtpm2tss: update to tip packagegroup-core-security: fix typo for mips Apparmor: fix multi config build issue. aide: Add another ids packagegroup-core-security: add aide and ossec .gitlab-ci: drop clean up combine alt w base clamav: fix systemd startup packagegroup-core-security: add clamav-daemon Change-Id: Id941ea16208920cfa31bf6d42f8a01fc9765ec7c Signed-off-by: William A. Kennington III --- meta-security/.gitlab-ci.yml | 123 ++++----- meta-security/kas/kas-security-base.yml | 2 +- meta-security/kas/qemuarm64-ima.yml | 10 - meta-security/kas/qemux86-64-ima.yml | 10 - meta-security/kas/qemux86-ima.yml | 10 - .../ibmswtpm2/files/fix-wrong-cast.patch | 27 -- .../recipes-tpm2/ibmswtpm2/ibmswtpm2_1637.bb | 39 --- .../recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb | 37 +++ .../recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb | 4 +- .../recipes-tpm2/tpm2-pkcs11/files/677.patch | 295 +++++++++++++++++++++ .../recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb | 44 --- .../recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.6.0.bb | 55 ++++ .../packagegroup/packagegroup-core-security.bb | 11 +- meta-security/recipes-ids/aide/aide/aide.conf | 94 +++++++ meta-security/recipes-ids/aide/aide_0.17.3.bb | 41 +++ .../recipes-ids/ossec/ossec-hids_3.6.0.bb | 2 + .../recipes-ids/suricata/suricata_4.1.10.bb | 2 + .../recipes-ids/tripwire/tripwire_2.4.3.7.bb | 2 + meta-security/recipes-mac/AppArmor/apparmor_3.0.bb | 3 +- .../recipes-scanners/clamav/clamav_0.104.0.bb | 49 ++-- .../clamav/files/fix_systemd_socket.patch | 25 ++ .../recipes-security/scapy/python3-scapy_2.4.4.bb | 2 + 22 files changed, 655 insertions(+), 232 deletions(-) delete mode 100644 meta-security/kas/qemuarm64-ima.yml delete mode 100644 meta-security/kas/qemux86-64-ima.yml delete mode 100644 meta-security/kas/qemux86-ima.yml delete mode 100644 meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/files/fix-wrong-cast.patch delete mode 100644 meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1637.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/677.patch delete mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb create mode 100644 meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.6.0.bb create mode 100644 meta-security/recipes-ids/aide/aide/aide.conf create mode 100644 meta-security/recipes-ids/aide/aide_0.17.3.bb create mode 100644 meta-security/recipes-scanners/clamav/files/fix_systemd_socket.patch diff --git a/meta-security/.gitlab-ci.yml b/meta-security/.gitlab-ci.yml index 32110253c..206d7241b 100644 --- a/meta-security/.gitlab-ci.yml +++ b/meta-security/.gitlab-ci.yml @@ -14,19 +14,17 @@ - done - rm -fr $CI_PROJECT_DIR/build - stages: - - build + - base - parsec - multi - - alt - musl - test -.build: +.base: before_script: - *before-my-script - stage: build + stage: base after_script: - *after-my-script @@ -45,13 +43,6 @@ stages: after_script: - *after-my-script -.alt: - before_script: - - *before-my-script - stage: alt - after_script: - - *after-my-script - .musl: before_script: - *before-my-script @@ -66,100 +57,110 @@ stages: after_script: - *after-my-script - qemux86: - extends: .build + extends: .base script: - - kas build --target security-build-image kas/$CI_JOB_NAME.yml + - kas shell kas/$CI_JOB_NAME.yml -c "bitbake -k security-build-image integrity-image-minimal" - kas build --target security-build-image kas/$CI_JOB_NAME-comp.yml - kas build --target harden-image-minimal kas/$CI_JOB_NAME-harden.yml - - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml -qemux86-64: - extends: .build +qemux86-musl: + extends: .musl + needs: ['qemux86-parsec'] script: - - kas shell kas/$CI_JOB_NAME.yml -c "bitbake -k security-build-image security-tpm-image security-tpm2-image" - - kas build --target dm-verity-image-initramfs kas/$CI_JOB_NAME-dm-verify.yml - - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml + - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemuarm: - extends: .build +qemux86-parsec: + extends: .parsec + needs: ['qemux86'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemuarm64: - extends: .build +qemux86-test: + extends: .test + needs: ['qemux86'] + allow_failure: true script: - - kas shell kas/$CI_JOB_NAME.yml -c "bitbake -k security-build-image security-tpm2-image" - - kas build --target integrity-image-minimal kas/$CI_JOB_NAME-ima.yml + - kas build --target security-test-image kas/$CI_JOB_NAME.yml + - kas build -c testimage --target security-test-image kas/$CI_JOB_NAME.yml -qemuppc: - extends: .build +qemux86-64: + extends: .base + script: + - kas shell kas/$CI_JOB_NAME.yml -c "bitbake -k security-build-image security-tpm-image security-tpm2-image integrity-image-minimal" + - kas build --target dm-verity-image-initramfs kas/$CI_JOB_NAME-dm-verify.yml + - kas build --target security-build-image kas/$CI_JOB_NAME-alt.yml + +qemux86-64-parsec: + extends: .parsec + needs: ['qemux86-64'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemumips64: - extends: .build +qemux86-64-multi: + extends: .multi + needs: ['qemux86-64'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemuriscv64: - extends: .build +qemuarm: + extends: .base script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemuarm64-alt: - extends: .alt +qemuarm-parsec: + extends: .parsec + needs: ['qemuarm'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml +qemuarm64: + extends: .base + script: + - kas shell kas/$CI_JOB_NAME.yml -c "bitbake -k security-build-image security-tpm2-image integrity-image-minimal" + - kas build --target security-build-image kas/$CI_JOB_NAME-alt.yml + qemuarm64-multi: extends: .multi + needs: ['qemuarm64'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemumips64-alt: - extends: .alt +qemuarm64-musl: + extends: .musl + needs: ['qemuarm64'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemumips64-multi: - extends: .multi +qemuarm64-parsec: + extends: .parsec + needs: ['qemuarm64'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemux86-64-alt: - extends: .alt +qemuppc: + extends: .base script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemux86-64-multi: - extends: .multi +qemuppc-parsec: + extends: .parsec + needs: ['qemuppc'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemux86-musl: - extends: .musl +qemumips64: + extends: .base script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemuarm64-musl: - extends: .musl +qemumips64-multi: + extends: .multi + needs: ['qemumips64'] script: - kas build --target security-build-image kas/$CI_JOB_NAME.yml -qemux86-test: - extends: .test - allow_failure: true - script: - - kas build --target security-test-image kas/$CI_JOB_NAME.yml - - kas build -c testimage --target security-test-image kas/$CI_JOB_NAME.yml - -parsec: - extends: .parsec +qemuriscv64: + extends: .base script: - - kas build --target security-build-image kas/qemuarm-$CI_JOB_NAME.yml - - kas build --target security-build-image kas/qemuarm64-$CI_JOB_NAME.yml - - kas build --target security-build-image kas/qemux86-$CI_JOB_NAME.yml - - kas build --target security-build-image kas/qemux86-64-$CI_JOB_NAME.yml - - kas build --target security-build-image kas/qemuppc-$CI_JOB_NAME.yml + - kas build --target security-build-image kas/$CI_JOB_NAME.yml diff --git a/meta-security/kas/kas-security-base.yml b/meta-security/kas/kas-security-base.yml index 487befe1a..c6cc4fc8e 100644 --- a/meta-security/kas/kas-security-base.yml +++ b/meta-security/kas/kas-security-base.yml @@ -51,7 +51,7 @@ local_conf_header: EXTRA_IMAGE_FEATURES ?= "debug-tweaks" PACKAGE_CLASSES = "package_ipk" - DISTRO_FEATURES_append = " pam apparmor smack" + DISTRO_FEATURES_append = " pam apparmor smack ima" MACHINE_FEATURES_append = " tpm tpm2" diskmon: | diff --git a/meta-security/kas/qemuarm64-ima.yml b/meta-security/kas/qemuarm64-ima.yml deleted file mode 100644 index b4784729b..000000000 --- a/meta-security/kas/qemuarm64-ima.yml +++ /dev/null @@ -1,10 +0,0 @@ -header: - version: 8 - includes: - - kas-security-base.yml - -local_conf_header: - meta-security: | - DISTRO_FEATURES_append = " ima" - -machine: qemuarm64 diff --git a/meta-security/kas/qemux86-64-ima.yml b/meta-security/kas/qemux86-64-ima.yml deleted file mode 100644 index e64931c17..000000000 --- a/meta-security/kas/qemux86-64-ima.yml +++ /dev/null @@ -1,10 +0,0 @@ -header: - version: 8 - includes: - - kas-security-base.yml - -local_conf_header: - meta-security: | - DISTRO_FEATURES_append = " ima" - -machine: qemux86-64 diff --git a/meta-security/kas/qemux86-ima.yml b/meta-security/kas/qemux86-ima.yml deleted file mode 100644 index 6528ba620..000000000 --- a/meta-security/kas/qemux86-ima.yml +++ /dev/null @@ -1,10 +0,0 @@ -header: - version: 8 - includes: - - kas-security-base.yml - -local_conf_header: - meta-security: | - DISTRO_FEATURES_append = " ima" - -machine: qemux86 diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/files/fix-wrong-cast.patch b/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/files/fix-wrong-cast.patch deleted file mode 100644 index f2938e0e0..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/files/fix-wrong-cast.patch +++ /dev/null @@ -1,27 +0,0 @@ -Fix strict aliasing issue of gcc10 - -fixes: - -TpmFail.c: In function 'TpmLogFailure': -TpmFail.c:217:23: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] - 217 | s_failFunction = *(UINT32 *)&function; /* kgold */ - | ^~~~~~~~~~~~~~~~~~~ -cc1: all warnings being treated as errors - -Upstream-Status: Submitted - -Signed-off-by: Jens Rehsack - -Index: src/TpmFail.c -=================================================================== ---- src.orig/TpmFail.c 2020-09-10 15:43:57.085063875 +0200 -+++ src/TpmFail.c 2020-09-10 15:48:35.563302634 +0200 -@@ -214,7 +214,7 @@ - // On a 64-bit machine, this may truncate the address of the string - // of the function name where the error occurred. - #if FAIL_TRACE -- s_failFunction = *(UINT32 *)&function; /* kgold */ -+ memcpy(&s_failFunction, function, sizeof(uint32_t)); /* kgold */ - s_failLine = line; - #else - s_failFunction = 0; diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1637.bb b/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1637.bb deleted file mode 100644 index 301980dbe..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1637.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "IBM's Software TPM 2.0" -DESCRIPTION = "The software TPM 2.0 is targeted toward application development, \ -education, and virtualization. \ -\ -The intent is that an application can be developed using the software TPM. \ -The application should then run using a hardware TPM without changes. \ -Advantages of this approach: \ -* In contrast to a hardware TPM, it runs on many platforms and it's generally faster. \ -* Application software errors are easily reversed by simply removing the TPM state and starting over. \ -* Difficult crypto errors are quickly debugged by looking inside the TPM." -HOMEPAGE = "http://ibmswtpm.sourceforge.net/ibmswtpm2.html" -LICENSE = "BSD" -SECTION = "securty/tpm" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=1e023f61454ac828b4aa1bc4293f7d5f" - -DEPENDS = "openssl" - -SRC_URI = "https://sourceforge.net/projects/ibmswtpm2/files/ibmtpm${PV}.tar.gz \ - file://tune-makefile.patch \ - file://fix-wrong-cast.patch \ - " -SRC_URI[md5sum] = "43b217d87056e9155633925eb6ef749c" -SRC_URI[sha256sum] = "dd3a4c3f7724243bc9ebcd5c39bbf87b82c696d1c1241cb8e5883534f6e2e327" -SRC_URI[sha1sum] = "ab4b94079e57a86996991e8a2b749ce063e4ad3e" -SRC_URI[sha384sum] = "bbef16a934853ce78cba7ddc766aa9d7ef3cde3430a322b1be772bf3ad4bd6d413ae9c4de21bc1a4879d17dfe2aadc1d" -SRC_URI[sha512sum] = "007aa415cccf19a2bcf789c426727dc4032dcb04cc9d11eedc231d2add708c1134d3d5ee5cfbe7de68307c95fff7a30bd306fbd8d53c198a5ef348440440a6ed" - -S = "${WORKDIR}/src" - -CFLAGS += "-Wno-error=maybe-uninitialized -DALG_CAMELLIA=ALG_NO" - -do_compile () { - make CC='${CC}' -} - -do_install () { - install -d ${D}/${bindir} - install -m 0755 tpm_server ${D}/${bindir} -} diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb b/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb new file mode 100644 index 000000000..7ea40a8c0 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/ibmswtpm2/ibmswtpm2_1661.bb @@ -0,0 +1,37 @@ +SUMMARY = "IBM's Software TPM 2.0" +DESCRIPTION = "The software TPM 2.0 is targeted toward application development, \ +education, and virtualization. \ +\ +The intent is that an application can be developed using the software TPM. \ +The application should then run using a hardware TPM without changes. \ +Advantages of this approach: \ +* In contrast to a hardware TPM, it runs on many platforms and it's generally faster. \ +* Application software errors are easily reversed by simply removing the TPM state and starting over. \ +* Difficult crypto errors are quickly debugged by looking inside the TPM." +HOMEPAGE = "http://ibmswtpm.sourceforge.net/ibmswtpm2.html" +LICENSE = "BSD" +SECTION = "securty/tpm" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=1e023f61454ac828b4aa1bc4293f7d5f" + +DEPENDS = "openssl" + +SRC_URI = "https://sourceforge.net/projects/ibmswtpm2/files/ibmtpm${PV}.tar.gz \ + file://tune-makefile.patch \ + " + +SRC_URI[sha256sum] = "55145928ad2b24f34be6a0eacf9fb492e10e0ea919b8428c721fa970e85d6147" + +UPSTREAM_CHECK_REGEX = "libtpm(?P).tar.gz" + +S = "${WORKDIR}/src" + +CFLAGS += "-Wno-error=maybe-uninitialized -DALG_CAMELLIA=ALG_NO" + +do_compile () { + make CC='${CC}' +} + +do_install () { + install -d ${D}/${bindir} + install -m 0755 tpm_server ${D}/${bindir} +} diff --git a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb index 4d9b5540a..ae8974b6c 100644 --- a/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb +++ b/meta-security/meta-tpm/recipes-tpm2/ibmtpm2tss/ibmtpm2tss_1.6.0.bb @@ -17,11 +17,13 @@ DEPENDS = "openssl ibmswtpm2" inherit autotools pkgconfig -SRCREV = "3e736f712ba53c8f06e66751f60fae428fd2e20f" +SRCREV = "c4e131e34ec0ed09411aa3bc76f76129ef881573" SRC_URI = " git://git.code.sf.net/p/ibmtpm20tss/tss;nobranch=1 \ file://0001-utils-12-Makefile.am-expand-wildcards-in-prereqs.patch \ " +UPSTREAM_CHECK_COMMITS = "1" + EXTRA_OECONF = "--disable-tpm-1.2" S = "${WORKDIR}/git" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/677.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/677.patch new file mode 100644 index 000000000..5c91a5ec5 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/677.patch @@ -0,0 +1,295 @@ +From 2b74d3df9b3b6932052ace627b21ff1352aa2932 Mon Sep 17 00:00:00 2001 +From: William Roberts +Date: Wed, 5 May 2021 13:32:05 -0500 +Subject: [PATCH 1/4] test: fix build for gcc11 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes 0 size regions by ignoring them. The test code intentionally does +bad things. + +test/unit/test_twist.c: In function ‘test_twistbin_aappend_twist_null’: +test/unit/test_twist.c:327:18: error: ‘twistbin_aappend’ accessing 16 bytes in a region of size 0 [-Werror=stringop-overflow=] + 327 | actual = twistbin_aappend(expected, (binarybuffer *) 0xDEADBEEF, 0); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: William Roberts + +Upstream-Status: Pending +Fix out for merge to offical repo + +Signed-off-by: Armin Kuster + +--- + test/unit/test_twist.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/test/unit/test_twist.c b/test/unit/test_twist.c +index ec66f69f..58d4530a 100644 +--- a/test/unit/test_twist.c ++++ b/test/unit/test_twist.c +@@ -244,15 +244,23 @@ void test_twistbin_create(void **state) { + void test_twistbin_new_overflow_1(void **state) { + (void) state; + ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wpragmas" ++#pragma GCC diagnostic ignored "-Wstringop-overflow" + twist actual = twistbin_new((void *) 0xDEADBEEF, ~0); + assert_null(actual); ++#pragma GCC diagnostic pop + } + + void test_twistbin_new_overflow_2(void **state) { + (void) state; + ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wpragmas" ++#pragma GCC diagnostic ignored "-Wstringop-overflow" + twist actual = twistbin_new((void *) 0xDEADBEEF, ~0 - sizeof(void *)); + assert_null(actual); ++#pragma GCC diagnostic pop + } + + void test_twistbin_new_overflow_3(void **state) { +@@ -318,8 +326,12 @@ void test_twistbin_aappend_twist_null(void **state) { + twist actual = twistbin_aappend(expected, NULL, 42); + assert_ptr_equal((void * )actual, (void * )expected); + ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wpragmas" ++#pragma GCC diagnostic ignored "-Wstringop-overflow" + actual = twistbin_aappend(expected, (binarybuffer *) 0xDEADBEEF, 0); + assert_ptr_equal((void * )actual, (void * )expected); ++#pragma GCC diagnostic pop + + twist_free(actual); + } + +From 5bea05613e638375b73e29e5d56a9dabcfd2269d Mon Sep 17 00:00:00 2001 +From: William Roberts +Date: Wed, 5 May 2021 11:52:23 -0500 +Subject: [PATCH 2/4] utils: fix stringop-overread in str_padded_copy + +cc1: all warnings being treated as errors +| make: *** [Makefile:1953: src/lib/slot.lo] Error 1 +| make: *** Waiting for unfinished jobs.... +| In file included from src/lib/mutex.h:10, +| from src/lib/session_ctx.h:6, +| from src/lib/digest.h:13, +| from src/lib/tpm.c:28: +| In function 'str_padded_copy', +| inlined from 'tpm_get_token_info' at src/lib/tpm.c:742:5: +| src/lib/utils.h:42:5: error: 'strnlen' specified bound 32 exceeds source size 5 [-Werror=stringop-overread] +| 42 | memcpy(dst, src, strnlen((char *)(src), dst_len)); +| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +| src/lib/utils.h: In function 'tpm_get_token_info': +| src/lib/tpm.c:739:19: note: source object declared here +| 739 | unsigned char manufacturerID[sizeof(UINT32)+1] = {0}; // 4 bytes + '\0' as temp storage +| | ^~~~~~~~~~~~~~ +| cc1: all warnings being treated as errors +| make: *** [Makefile:1953: src/lib/tpm.lo] Error 1 +| WARNING: exit code 1 from a shell command. + +Fixes #676 + +Signed-off-by: William Roberts +--- + src/lib/general.c | 8 ++++---- + src/lib/general.h | 2 +- + src/lib/slot.c | 4 ++-- + src/lib/token.c | 4 ++-- + src/lib/tpm.c | 7 +++---- + src/lib/utils.h | 6 ++++-- + 6 files changed, 16 insertions(+), 15 deletions(-) + +diff --git a/src/lib/general.c b/src/lib/general.c +index 9b7327c1..eaddaf82 100644 +--- a/src/lib/general.c ++++ b/src/lib/general.c +@@ -19,8 +19,8 @@ + #define VERSION "UNKNOWN" + #endif + +-#define LIBRARY_DESCRIPTION (CK_UTF8CHAR_PTR)"TPM2.0 Cryptoki" +-#define LIBRARY_MANUFACTURER (CK_UTF8CHAR_PTR)"tpm2-software.github.io" ++static const CK_UTF8CHAR LIBRARY_DESCRIPTION[] = "TPM2.0 Cryptoki"; ++static const CK_UTF8CHAR LIBRARY_MANUFACTURER[] = "tpm2-software.github.io"; + + #define CRYPTOKI_VERSION { \ + .major = CRYPTOKI_VERSION_MAJOR, \ +@@ -78,8 +78,8 @@ CK_RV general_get_info(CK_INFO *info) { + + static CK_INFO *_info = NULL; + if (!_info) { +- str_padded_copy(_info_.manufacturerID, LIBRARY_MANUFACTURER, sizeof(_info_.manufacturerID)); +- str_padded_copy(_info_.libraryDescription, LIBRARY_DESCRIPTION, sizeof(_info_.libraryDescription)); ++ str_padded_copy(_info_.manufacturerID, LIBRARY_MANUFACTURER); ++ str_padded_copy(_info_.libraryDescription, LIBRARY_DESCRIPTION); + + parse_lib_version(&_info_.libraryVersion.major, + &_info_.libraryVersion.minor); +diff --git a/src/lib/general.h b/src/lib/general.h +index 14a18e46..356c142d 100644 +--- a/src/lib/general.h ++++ b/src/lib/general.h +@@ -10,7 +10,7 @@ + #define TPM2_TOKEN_LABEL "TPM2 PKCS#11 Token" + #define TPM2_TOKEN_MANUFACTURER "Intel" + #define TPM2_TOKEN_MODEL "TPM2 PKCS#11" +-#define TPM2_TOKEN_SERIAL_NUMBER "0000000000000000" ++static const CK_UTF8CHAR TPM2_TOKEN_SERIAL_NUMBER[] = "0000000000000000"; + #define TPM2_TOKEN_HW_VERSION { 0, 0 } + #define TPM2_TOKEN_FW_VERSION { 0, 0 } + +diff --git a/src/lib/slot.c b/src/lib/slot.c +index 548d22b5..6db5bb93 100644 +--- a/src/lib/slot.c ++++ b/src/lib/slot.c +@@ -119,8 +119,8 @@ CK_RV slot_get_info (CK_SLOT_ID slot_id, CK_SLOT_INFO *info) { + return CKR_GENERAL_ERROR; + } + +- str_padded_copy(info->manufacturerID, token_info.manufacturerID, sizeof(info->manufacturerID)); +- str_padded_copy(info->slotDescription, token_info.label, sizeof(info->slotDescription)); ++ str_padded_copy(info->manufacturerID, token_info.manufacturerID); ++ str_padded_copy(info->slotDescription, token_info.label); + + info->hardwareVersion = token_info.hardwareVersion; + info->firmwareVersion = token_info.firmwareVersion; +diff --git a/src/lib/token.c b/src/lib/token.c +index 6d7ebd27..c7211296 100644 +--- a/src/lib/token.c ++++ b/src/lib/token.c +@@ -317,8 +317,8 @@ CK_RV token_get_info (token *t, CK_TOKEN_INFO *info) { + } + + // Identification +- str_padded_copy(info->label, t->label, sizeof(info->label)); +- str_padded_copy(info->serialNumber, (unsigned char*) TPM2_TOKEN_SERIAL_NUMBER, sizeof(info->serialNumber)); ++ str_padded_copy(info->label, t->label); ++ str_padded_copy(info->serialNumber, TPM2_TOKEN_SERIAL_NUMBER); + + + // Memory: TODO not sure what memory values should go here, the platform? +diff --git a/src/lib/tpm.c b/src/lib/tpm.c +index 1639df48..7f9f052a 100644 +--- a/src/lib/tpm.c ++++ b/src/lib/tpm.c +@@ -740,15 +740,14 @@ CK_RV tpm_get_token_info (tpm_ctx *ctx, CK_TOKEN_INFO *info) { + unsigned char manufacturerID[sizeof(UINT32)+1] = {0}; // 4 bytes + '\0' as temp storage + UINT32 manufacturer = ntohl(tpmProperties[TPM2_PT_MANUFACTURER - TPM2_PT_FIXED].value); + memcpy(manufacturerID, (unsigned char*) &manufacturer, sizeof(uint32_t)); +- str_padded_copy(info->manufacturerID, manufacturerID, sizeof(info->manufacturerID)); ++ str_padded_copy(info->manufacturerID, manufacturerID); + + // Map human readable Manufacturer String, if available, + // otherwise 4 byte ID was already padded and will be used. + for (unsigned int i=0; i < ARRAY_LEN(TPM2_MANUFACTURER_MAP); i++){ + if (!strncasecmp((char *)info->manufacturerID, TPM2_MANUFACTURER_MAP[i][0], 4)) { + str_padded_copy(info->manufacturerID, +- (unsigned char *)TPM2_MANUFACTURER_MAP[i][1], +- sizeof(info->manufacturerID)); ++ (unsigned char *)TPM2_MANUFACTURER_MAP[i][1]); + } + } + +@@ -758,7 +757,7 @@ CK_RV tpm_get_token_info (tpm_ctx *ctx, CK_TOKEN_INFO *info) { + vendor[1] = ntohl(tpmProperties[TPM2_PT_VENDOR_STRING_2 - TPM2_PT_FIXED].value); + vendor[2] = ntohl(tpmProperties[TPM2_PT_VENDOR_STRING_3 - TPM2_PT_FIXED].value); + vendor[3] = ntohl(tpmProperties[TPM2_PT_VENDOR_STRING_4 - TPM2_PT_FIXED].value); +- str_padded_copy(info->model, (unsigned char*) &vendor, sizeof(info->model)); ++ str_padded_copy(info->model, (unsigned char*) &vendor); + + return CKR_OK; + } +diff --git a/src/lib/utils.h b/src/lib/utils.h +index 81c61fae..cf357464 100644 +--- a/src/lib/utils.h ++++ b/src/lib/utils.h +@@ -39,9 +39,11 @@ + + int str_to_ul(const char *val, size_t *res); + +-static inline void str_padded_copy(CK_UTF8CHAR_PTR dst, const CK_UTF8CHAR_PTR src, size_t dst_len) { ++#define str_padded_copy(dst, src) _str_padded_copy(dst, sizeof(dst), src, strnlen((const char *)src, sizeof(src))) ++static inline void _str_padded_copy(CK_UTF8CHAR_PTR dst, size_t dst_len, const CK_UTF8CHAR *src, size_t src_len) { + memset(dst, ' ', dst_len); +- memcpy(dst, src, strnlen((char *)(src), dst_len)); ++ memcpy(dst, src, src_len); ++ LOGE("BILL(%zu): %.*s\n", dst_len, dst_len, dst); + } + + twist utils_hash_pass(const twist pin, const twist salt); + +From afeae8a3846e06152fafb180077fbad4381a124d Mon Sep 17 00:00:00 2001 +From: William Roberts +Date: Wed, 5 May 2021 14:09:27 -0500 +Subject: [PATCH 3/4] general: drop unused macros + +Signed-off-by: William Roberts +--- + src/lib/general.h | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/src/lib/general.h b/src/lib/general.h +index 356c142d..b3089554 100644 +--- a/src/lib/general.h ++++ b/src/lib/general.h +@@ -7,17 +7,7 @@ + + #include "pkcs11.h" + +-#define TPM2_TOKEN_LABEL "TPM2 PKCS#11 Token" +-#define TPM2_TOKEN_MANUFACTURER "Intel" +-#define TPM2_TOKEN_MODEL "TPM2 PKCS#11" + static const CK_UTF8CHAR TPM2_TOKEN_SERIAL_NUMBER[] = "0000000000000000"; +-#define TPM2_TOKEN_HW_VERSION { 0, 0 } +-#define TPM2_TOKEN_FW_VERSION { 0, 0 } +- +-#define TPM2_SLOT_DESCRIPTION "Intel TPM2.0 Cryptoki" +-#define TPM2_SLOT_MANUFACTURER TPM2_TOKEN_MANUFACTURER +-#define TPM2_SLOT_HW_VERSION TPM2_TOKEN_HW_VERSION +-#define TPM2_SLOT_FW_VERSION TPM2_TOKEN_FW_VERSION + + CK_RV general_init(void *init_args); + CK_RV general_get_func_list(CK_FUNCTION_LIST **function_list); + +From 8b43a99c5ff604d890bdc23fd2fa5f98aa087d83 Mon Sep 17 00:00:00 2001 +From: William Roberts +Date: Wed, 5 May 2021 14:11:04 -0500 +Subject: [PATCH 4/4] token: move TPM2_TOKEN_SERIAL_NUMBER local to use + +Signed-off-by: William Roberts +--- + src/lib/general.h | 2 -- + src/lib/token.c | 2 ++ + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/lib/general.h b/src/lib/general.h +index b3089554..9afd61ec 100644 +--- a/src/lib/general.h ++++ b/src/lib/general.h +@@ -7,8 +7,6 @@ + + #include "pkcs11.h" + +-static const CK_UTF8CHAR TPM2_TOKEN_SERIAL_NUMBER[] = "0000000000000000"; +- + CK_RV general_init(void *init_args); + CK_RV general_get_func_list(CK_FUNCTION_LIST **function_list); + CK_RV general_get_info(CK_INFO *info); +diff --git a/src/lib/token.c b/src/lib/token.c +index c7211296..63a9a71b 100644 +--- a/src/lib/token.c ++++ b/src/lib/token.c +@@ -20,6 +20,8 @@ + #include "token.h" + #include "utils.h" + ++static const CK_UTF8CHAR TPM2_TOKEN_SERIAL_NUMBER[] = "0000000000000000"; ++ + void pobject_config_free(pobject_config *c) { + + if (c->is_transient) { diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb deleted file mode 100644 index d53d4fa86..000000000 --- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.5.0.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "A PKCS#11 interface for TPM2 hardware" -DESCRIPTION = "PKCS #11 is a Public-Key Cryptography Standard that defines a standard method to access cryptographic services from tokens/ devices such as hardware security modules (HSM), smart cards, etc. In this project we intend to use a TPM2 device as the cryptographic token." -SECTION = "security/tpm" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0fc19f620a102768d6dbd1e7166e78ab" - -DEPENDS = "autoconf-archive pkgconfig dstat sqlite3 openssl libtss2-dev tpm2-tools libyaml python3-setuptools-native" - -SRC_URI = "git://github.com/tpm2-software/tpm2-pkcs11.git;branch=1.X \ - file://bootstrap_fixup.patch \ - file://0001-remove-local-binary-checkes.patch" - -SRCREV = "5d583351028eebd470f50ec35db5dcf00533df31" - -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig python3native - -do_configure_prepend () { - ${S}/bootstrap -} - -do_compile_append() { - cd ${S}/tools - python3 setup.py build -} - -do_install_append() { - cd ${S}/tools - export PYTHONPATH="${D}${PYTHON_SITEPACKAGES_DIR}" - ${PYTHON_PN} setup.py install --root="${D}" --prefix="${prefix}" --install-lib="${PYTHON_SITEPACKAGES_DIR}" --optimize=1 --skip-build - - sed -i -e "s:${PYTHON}:${USRBINPATH}/env ${PYTHON_PN}:g" "${D}${bindir}"/tpm2_ptool -} - -RDEPNDS_${PN} = "tpm2-tools" - -PACKAGES =+ "${PN}-tools" -RDEPENDS_${PN}-tools += "${PYTHON_PN}-setuptools ${PYTHON_PN}-pyyaml ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1-modules" - -FILES_${PN}-tools = "\ - ${bindir}/tpm2_ptool \ - ${libdir}/${PYTHON_DIR}/* \ -" diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.6.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.6.0.bb new file mode 100644 index 000000000..63ec18d94 --- /dev/null +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.6.0.bb @@ -0,0 +1,55 @@ +SUMMARY = "A PKCS#11 interface for TPM2 hardware" +DESCRIPTION = "PKCS #11 is a Public-Key Cryptography Standard that defines a standard method to access cryptographic services from tokens/ devices such as hardware security modules (HSM), smart cards, etc. In this project we intend to use a TPM2 device as the cryptographic token." +SECTION = "security/tpm" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0fc19f620a102768d6dbd1e7166e78ab" + +DEPENDS = "autoconf-archive pkgconfig dstat sqlite3 openssl libtss2-dev tpm2-tools libyaml p11-kit python3-setuptools-native" + +SRC_URI = "git://github.com/tpm2-software/tpm2-pkcs11.git;branch=master \ + file://bootstrap_fixup.patch \ + file://0001-remove-local-binary-checkes.patch \ + file://677.patch \ + " + +SRCREV = "c2d53cc1af6b9df13c832715442853b21048c273" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig python3native + +do_configure_prepend () { + ${S}/bootstrap +} + +do_compile_append() { + cd ${S}/tools + python3 setup.py build +} + +do_install_append() { + install -d ${D}${libdir}/pkcs11 + install -d ${D}${datadir}/p11-kit + rm -f ${D}${libdir}/pkcs11/libtpm2_pkcs11.so + + cd ${S}/tools + export PYTHONPATH="${D}${PYTHON_SITEPACKAGES_DIR}" + ${PYTHON_PN} setup.py install --root="${D}" --prefix="${prefix}" --install-lib="${PYTHON_SITEPACKAGES_DIR}" --optimize=1 --skip-build + + sed -i -e "s:${PYTHON}:${USRBINPATH}/env ${PYTHON_PN}:g" "${D}${bindir}"/tpm2_ptool +} + +PACKAGES =+ "${PN}-tools" + +FILES_${PN}-tools = "\ + ${bindir}/tpm2_ptool \ + ${libdir}/${PYTHON_DIR}/* \ + " + +FILES_${PN} += "\ + ${libdir}/pkcs11/* \ + ${datadir}/p11-kit/* \ + " + +RDEPNDS_${PN} = "tpm2-tools" +RDEPENDS_${PN}-tools += "${PYTHON_PN}-setuptools ${PYTHON_PN}-pyyaml ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1-modules" diff --git a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb index a6142a8c7..d7349b080 100644 --- a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb +++ b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb @@ -51,9 +51,9 @@ RDEPENDS_packagegroup-security-scanners = "\ isic \ nikto \ checksecurity \ - ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 riscv64", "", " clamav clamav-freshclam",d)} \ + ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 riscv64", "", " clamav clamav-daemon clamav-freshclam",d)} \ " -RDEPENDS_packagegroup-security-scanners_remove_libc-musl = "clamav clamav-freshclam" +RDEPENDS_packagegroup-security-scanners_remove_libc-musl = "clamav clamav-daemon clamav-freshclam" SUMMARY_packagegroup-security-audit = "Security Audit tools " RDEPENDS_packagegroup-security-audit = " \ @@ -68,9 +68,10 @@ RDEPENDS_packagegroup-security-hardening = " \ SUMMARY_packagegroup-security-ids = "Security Intrusion Detection systems" RDEPENDS_packagegroup-security-ids = " \ - tripwire \ samhain-standalone \ ${@bb.utils.contains_any("TUNE_FEATURES", "ppc7400 riscv32 riscv64", "", " suricata",d)} \ + ossec-hids \ + aide \ " SUMMARY_packagegroup-security-mac = "Security Mandatory Access Control systems" @@ -80,8 +81,7 @@ RDEPENDS_packagegroup-security-mac = " \ ${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack", "",d)} \ " -RDEPENDS_packagegroup-security-mac_remove_mips64 = "apparmor" -RDEPENDS_packagegroup-security-mac_remove_mips64le = "apparmor" +RDEPENDS_packagegroup-security-mac_remove_mipsarch = "apparmor" RDEPENDS_packagegroup-meta-security-ptest-packages = "\ ptest-runner \ @@ -89,7 +89,6 @@ RDEPENDS_packagegroup-meta-security-ptest-packages = "\ libseccomp-ptest \ python3-scapy-ptest \ suricata-ptest \ - tripwire-ptest \ python3-fail2ban-ptest \ ${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack-ptest", "",d)} \ " diff --git a/meta-security/recipes-ids/aide/aide/aide.conf b/meta-security/recipes-ids/aide/aide/aide.conf new file mode 100644 index 000000000..2c99e0752 --- /dev/null +++ b/meta-security/recipes-ids/aide/aide/aide.conf @@ -0,0 +1,94 @@ +# Example configuration file for AIDE. + +@@define DBDIR /usr/lib/aide +@@define LOGDIR /usr/lib/aide/logs + +# The location of the database to be read. +database_in=file:@@{DBDIR}/aide.db.gz + +# The location of the database to be written. +#database_out=sql:host:port:database:login_name:passwd:table +#database_out=file:aide.db.new +database_out=file:@@{DBDIR}/aide.db.gz + +# Whether to gzip the output to database +gzip_dbout=yes + +# Default. +log_level=warning + +report_url=file:@@{LOGDIR}/aide.log +report_url=stdout +#report_url=stderr +#NOT IMPLEMENTED report_url=mailto:root@foo.com +#NOT IMPLEMENTED report_url=syslog:LOG_AUTH + +# These are the default rules. +# +#p: permissions +#i: inode: +#n: number of links +#u: user +#g: group +#s: size +#b: block count +#m: mtime +#a: atime +#c: ctime +#S: check for growing size +#acl: Access Control Lists +#selinux SELinux security context +#xattrs: Extended file attributes +#md5: md5 checksum +#sha1: sha1 checksum +#sha256: sha256 checksum +#sha512: sha512 checksum +#rmd160: rmd160 checksum +#tiger: tiger checksum + +#haval: haval checksum (MHASH only) +#gost: gost checksum (MHASH only) +#crc32: crc32 checksum (MHASH only) +#whirlpool: whirlpool checksum (MHASH only) + +FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256 + +#R: p+i+n+u+g+s+m+c+acl+selinux+xattrs+md5 +#L: p+i+n+u+g+acl+selinux+xattrs +#E: Empty group +#>: Growing logfile p+u+g+i+n+S+acl+selinux+xattrs + +# You can create custom rules like this. +# With MHASH... +# ALLXTRAHASHES = sha1+rmd160+sha256+sha512+whirlpool+tiger+haval+gost+crc32 +ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger +# Everything but access time (Ie. all changes) +EVERYTHING = R+ALLXTRAHASHES + +# Sane, with multiple hashes +# NORMAL = R+rmd160+sha256+whirlpool +NORMAL = FIPSR+sha512 + +# For directories, don't bother doing hashes +DIR = p+i+n+u+g+acl+selinux+xattrs + +# Access control only +PERMS = p+i+u+g+acl+selinux + +# Logfile are special, in that they often change +LOG = > + +# Just do sha256 and sha512 hashes +LSPP = FIPSR+sha512 + +# Some files get updated automatically, so the inode/ctime/mtime change +# but we want to know when the data inside them changes +DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256 + +# Next decide what directories/files you want in the database. + +# Check only permissions, inode, user and group for /etc, but +# cover some important files closely. +/bin NORMAL +/sbin NORMAL +/lib NORMAL diff --git a/meta-security/recipes-ids/aide/aide_0.17.3.bb b/meta-security/recipes-ids/aide/aide_0.17.3.bb new file mode 100644 index 000000000..522cd85fe --- /dev/null +++ b/meta-security/recipes-ids/aide/aide_0.17.3.bb @@ -0,0 +1,41 @@ +SUMMARY = "Advanced Intrusion Detection Environment" +HOMEPAGE = "https://aide.github.io" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +LICENSE = "GPL-2.0" + +DEPENDS = "bison-native libpcre" + +SRC_URI = "https://github.com/aide/aide/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ + file://aide.conf" + +SRC_URI[sha256sum] = "a2eb1883cafaad056fbe43ee1e8ae09fd36caa30a0bc8edfea5d47bd67c464f8" + +inherit autotools pkgconfig + +PACKAGECONFIG ??=" mhash zlib e2fsattrs \ + ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'xattr', '', d)} \ + " +PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux, libselinux" +PACKAGECONFIG[zlib] = "--with-zlib, --without-zlib, zlib, zlib " +PACKAGECONFIG[xattr] = "--with-xattr, --without-xattr, attr, attr" +PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl, libcurl" +PACKAGECONFIG[audit] = "--with-audit, --without-audit," +PACKAGECONFIG[gcrypt] = "--with-gcrypt, --without-gcrypt, libgcrypt, libgcrypt" +PACKAGECONFIG[mhash] = "--with-mhash, --without-mhash, libmhash, libmhash" +PACKAGECONFIG[e2fsattrs] = "--with-e2fsattrs, --without-e2fsattrs, e2fsprogs, e2fsprogs" + +do_install_append () { + install -d ${D}${libdir}/${PN}/logs + install -d ${D}${sysconfdir} + install ${WORKDIR}/aide.conf ${D}${sysconfdir}/ +} + +CONF_FILE = "${sysconfdir}/aide.conf" + +FILES_${PN} += "${libdir}/${PN} ${sysconfdir}/aide.conf" + +pkg_postinst_ontarget_${PN} () { + /usr/bin/aide -i +} +RDPENDS_${PN} = "bison, libpcre" diff --git a/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb b/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb index 10354a7d2..242bbdbe0 100644 --- a/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb +++ b/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb @@ -11,6 +11,8 @@ SRC_URI = "git://github.com/ossec/ossec-hids;branch=master \ SRCREV = "1303c78e2c67d7acee0508cb00c3bc63baaa27c2" +UPSTREAM_CHECK_COMMITS = "1" + inherit autotools-brokensep useradd S = "${WORKDIR}/git" diff --git a/meta-security/recipes-ids/suricata/suricata_4.1.10.bb b/meta-security/recipes-ids/suricata/suricata_4.1.10.bb index 3f7beaacf..bf088433a 100644 --- a/meta-security/recipes-ids/suricata/suricata_4.1.10.bb +++ b/meta-security/recipes-ids/suricata/suricata_4.1.10.bb @@ -12,6 +12,8 @@ SRC_URI += " \ file://run-ptest \ " +UPSTREAM_CHECK_URI = "www.openinfosecfoundation.org/download" + inherit autotools-brokensep pkgconfig python3-dir systemd ptest CFLAGS += "-D_DEFAULT_SOURCE -fcommon" diff --git a/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb b/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb index 4f50bff73..36e5d00b7 100644 --- a/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb +++ b/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb @@ -73,3 +73,5 @@ FILES_${PN}-ptest += "${PTEST_PATH}/tests " RDEPENDS_${PN} += " perl nano msmtp cronie" RDEPENDS_${PN}-ptest = " perl lib-perl perl-modules " + +PNBLACKLIST[tripwire] ?= "Upsteram project appears to be abondoned, fails to build with gcc11" diff --git a/meta-security/recipes-mac/AppArmor/apparmor_3.0.bb b/meta-security/recipes-mac/AppArmor/apparmor_3.0.bb index 015205d49..d9c3e4d83 100644 --- a/meta-security/recipes-mac/AppArmor/apparmor_3.0.bb +++ b/meta-security/recipes-mac/AppArmor/apparmor_3.0.bb @@ -177,8 +177,9 @@ SYSTEMD_AUTO_ENABLE ?= "enable" PACKAGES += "mod-${PN}" -FILES_${PN} += "/lib/apparmor/ /lib/security/ ${sysconfdir}/apparmor ${PYTHON_SITEPACKAGES_DIR}" +FILES_${PN} += "/lib/apparmor/ /lib/security/ ${sysconfdir}/apparmor ${nonarch_libdir}/${PYTHON_DIR}/site-packages" FILES_mod-${PN} = "${libdir}/apache2/modules/*" +FILES_${PN}-dbg += "/lib/security/" DEPENDS_append_libc-musl = " fts " RDEPENDS_${PN}_libc-musl += "musl-utils" diff --git a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb index 36e498dfb..ce5b0ea4d 100644 --- a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb +++ b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb @@ -8,16 +8,17 @@ DEPENDS = "glibc llvm libtool db openssl zlib curl libxml2 bison pcre2 json-c li LIC_FILES_CHKSUM = "file://COPYING.txt;beginline=2;endline=3;md5=f7029fbbc5898b273d5902896f7bbe17" -SRCREV = "5553a5e206ceae5d920368baee7d403f823bcb6f" +# May 2nd +SRCREV = "de0086aa918b79cd22570d0c05977a288b197e23" SRC_URI = "git://github.com/vrtadmin/clamav-devel;branch=dev/0.104 \ file://clamd.conf \ file://freshclam.conf \ file://volatiles.03_clamav \ file://tmpfiles.clamav \ - file://${BPN}.service \ file://headers_fixup.patch \ file://oe_cmake_fixup.patch \ + file://fix_systemd_socket.patch \ " S = "${WORKDIR}/git" @@ -28,6 +29,8 @@ BINCONFIG = "${bindir}/clamav-config" inherit cmake chrpath pkgconfig useradd systemd multilib_header multilib_script +UPSTREAM_CHECK_COMMITS = "1" + CLAMAV_UID ?= "clamav" CLAMAV_GID ?= "clamav" @@ -67,31 +70,29 @@ do_install_append () { rm ${D}/${libdir}/libmspack.so if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then - install -D -m 0644 ${WORKDIR}/clamav.service ${D}${systemd_unitdir}/system/clamav.service install -d ${D}${sysconfdir}/tmpfiles.d install -m 0644 ${WORKDIR}/tmpfiles.clamav ${D}${sysconfdir}/tmpfiles.d/clamav.conf fi oe_multilib_header clamav-types.h } -pkg_postinst_ontarget_${PN} () { - if command -v systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/clamav.conf - elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then - ${sysconfdir}/init.d/populate-volatile.sh update +pkg_postinst_${PN} () { + if [ -z "$D" ]; then + if command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/clamav.conf + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + chown -R ${CLAMAV_UID}:${CLAMAV_GID} ${localstatedir}/lib/clamav fi - mkdir -p ${localstatedir}/lib/clamav - chown -R ${CLAMAV_UID}:${CLAMAV_GID} ${localstatedir}/lib/clamav } - -PACKAGES = "${PN} ${PN}-dev ${PN}-dbg ${PN}-daemon ${PN}-doc \ - ${PN}-clamdscan ${PN}-freshclam ${PN}-libclamav ${PN}-staticdev" +PACKAGES += "${PN}-daemon ${PN}-clamdscan ${PN}-freshclam ${PN}-libclamav" FILES_${PN} = "${bindir}/clambc ${bindir}/clamscan ${bindir}/clamsubmit ${sbindir}/clamonacc \ ${bindir}/*sigtool ${mandir}/man1/clambc* ${mandir}/man1/clamscan* \ ${mandir}/man1/sigtool* ${mandir}/man1/clambsubmit* \ - ${docdir}/clamav/* ${libdir}/libmspack* " + ${docdir}/clamav/*" FILES_${PN}-clamdscan = " ${bindir}/clamdscan \ ${docdir}/clamdscan/* \ @@ -103,11 +104,11 @@ FILES_${PN}-daemon = "${bindir}/clamconf ${bindir}/clamdtop ${sbindir}/clamd \ ${mandir}/man5/clamd* ${mandir}/man8/clamd* \ ${sysconfdir}/clamd.conf* \ /usr/etc/clamd.conf* \ - ${systemd_unitdir}/system/clamav-daemon/* \ + ${systemd_system_unitdir}/clamav-daemon/* \ ${docdir}/clamav-daemon/* ${sysconfdir}/clamav-daemon \ ${sysconfdir}/logcheck/ignore.d.server/clamav-daemon \ - ${systemd_unitdir}/system/clamav-daemon.service \ - ${systemd_unitdir}/system/clamav-clamonacc.service \ + ${systemd_system_unitdir}/clamav-daemon.service \ + ${systemd_system_unitdir}/clamav-clamonacc.service \ " FILES_${PN}-freshclam = "${bindir}/freshclam \ @@ -118,7 +119,7 @@ FILES_${PN}-freshclam = "${bindir}/freshclam \ ${localstatedir}/lib/clamav \ ${docdir}/${PN}-freshclam ${mandir}/man1/freshclam.* \ ${mandir}/man5/freshclam.conf.* \ - ${systemd_unitdir}/system/clamav-freshclam.service" + ${systemd_system_unitdir}/clamav-freshclam.service" FILES_${PN}-dev = " ${bindir}/clamav-config ${libdir}/*.la \ ${libdir}/pkgconfig/*.pc \ @@ -128,7 +129,8 @@ FILES_${PN}-dev = " ${bindir}/clamav-config ${libdir}/*.la \ FILES_${PN}-staticdev = "${libdir}/*.a" FILES_${PN}-libclamav = "${libdir}/libclamav.so* ${libdir}/libclammspack.so* \ - ${libdir}/libfreshclam.so* ${docdir}/libclamav/* " + ${libdir}/libfreshclam.so* ${docdir}/libclamav/* \ + ${libdir}/libmspack* " FILES_${PN}-doc = "${mandir}/man/* \ ${datadir}/man/* \ @@ -137,12 +139,15 @@ FILES_${PN}-doc = "${mandir}/man/* \ USERADD_PACKAGES = "${PN}" GROUPADD_PARAM_${PN} = "--system ${CLAMAV_UID}" USERADD_PARAM_${PN} = "--system -g ${CLAMAV_GID} --home-dir \ - ${localstatedir}/spool/${BPN} \ - --no-create-home --shell /bin/false ${BPN}" + ${localstatedir}/lib/${BPN} \ + --no-create-home --shell /sbin/nologin ${BPN}" RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${BPN}.service" +SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-freshclam" +SYSTEMD_SERVICE_${PN}-daemon = "clamav-daemon.service" +SYSTEMD_SERVICE_${PN}-freshclam = "clamav-freshclam.service" RDEPENDS_${PN} = "openssl ncurses-libncurses libxml2 libbz2 ncurses-libtinfo curl libpcre2 clamav-freshclam clamav-libclamav" +RDEPENDS_${PN}-daemon = "clamav" diff --git a/meta-security/recipes-scanners/clamav/files/fix_systemd_socket.patch b/meta-security/recipes-scanners/clamav/files/fix_systemd_socket.patch new file mode 100644 index 000000000..3e9abe236 --- /dev/null +++ b/meta-security/recipes-scanners/clamav/files/fix_systemd_socket.patch @@ -0,0 +1,25 @@ +clamd not installing clamav-daemon.socket + +Fixes: +__main__.SystemdUnitNotFoundError: (PosixPath('../security-build-image/1.0-r0/rootfs'), 'clamav-daemon.socket') +%post(clamav-daemon-0.104.0-r0.core2_64): waitpid(3587571) rc 3587571 status 100 +warning: %post(clamav-daemon-0.104.0-r0.core2_64) scriptlet failed, exit status 1 + +Upstream-Status: Pending +Signed-off-by: Armin Kuster + +Index: git/clamd/CMakeLists.txt +=================================================================== +--- git.orig/clamd/CMakeLists.txt ++++ git/clamd/CMakeLists.txt +@@ -54,4 +54,10 @@ if(SYSTEMD_FOUND) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/clamav-daemon.service + DESTINATION ${SYSTEMD_UNIT_DIR}) ++ configure_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/clamav-daemon.socket.in ++ ${CMAKE_CURRENT_BINARY_DIR}/clamav-daemon.socket @ONLY) ++ install( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/clamav-daemon.socket ++ DESTINATION ${SYSTEMD_UNIT_DIR}) + endif() diff --git a/meta-security/recipes-security/scapy/python3-scapy_2.4.4.bb b/meta-security/recipes-security/scapy/python3-scapy_2.4.4.bb index 8d81ed15d..23ddfce64 100644 --- a/meta-security/recipes-security/scapy/python3-scapy_2.4.4.bb +++ b/meta-security/recipes-security/scapy/python3-scapy_2.4.4.bb @@ -13,6 +13,8 @@ SRC_URI = "git://github.com/secdev/scapy.git \ S = "${WORKDIR}/git" +UPSTREAM_CHECK_COMMITS = "1" + inherit setuptools3 ptest do_install_append() { -- cgit v1.2.3 From ac69b488c6ecf0e6df8321218006f23211c45e46 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 2 Jun 2021 12:28:27 -0700 Subject: poky: subtree update:2dcd1f2a21..9d1b332292 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alejandro Hernandez Samaniego (2): baremetal-helloworld: Enable RISC-V 64 port baremetal-image: Fix post process command rootfs_update_timestamp Alexander Kanavin (94): python3: add markdown/smartypants/typogrify modules gi-docgen: add a recipe and class gdk-pixbuf/pango: replace gtk-doc with gi-docgen vala: upgrade 0.50.4 -> 0.52.2 xkbcomp: upgrade 1.4.4 -> 1.4.5 stress-ng: upgrade 0.12.05 -> 0.12.06 xserver-xorg: upgrade 1.20.10 -> 1.20.11 xorgproto: upgrade 2020.1 -> 2021.3 dpkg: update 1.20.7.1 -> 1.20.9 puzzles: update to latest revision cmake: update 3.19.5 -> 3.20.1 meson: update 0.57.1 -> 0.57.2 systemd: backport a patch to avoid unnecessary rsync dependency with latest meson pulseaudio: unbreak build with latest meson libdnf: upgrade 0.58.0 -> 0.62.0 bluez5: upgrade 5.56 -> 5.58 libxkbcommon: update 1.0.3 -> 1.2.1 libgudev: update 234 -> 236 vulkan-samples: update to latest revision gnupg: upgrade 2.2.27 -> 2.3.1 virglrenderer: update 0.8.2 -> 0.9.1 webkitgtk: update 2.30.6 -> 2.32.0 acl: upgrade 2.2.53 -> 2.3.1 bind: upgrade 9.16.12 -> 9.16.13 bison: upgrade 3.7.5 -> 3.7.6 createrepo-c: upgrade 0.17.0 -> 0.17.2 cronie: upgrade 1.5.5 -> 1.5.7 dnf: upgrade 4.6.0 -> 4.7.0 e2fsprogs: upgrade 1.46.1 -> 1.46.2 gnu-efi: upgrade 3.0.12 -> 3.0.13 systemd-boot: backport a fix to address failures with new gnu-efi gobject-introspection: upgrade 1.66.1 -> 1.68.0 gtk+3: upgrade 3.24.25 -> 3.24.28 harfbuzz: upgrade 2.7.4 -> 2.8.0 less: upgrade 563 -> 581 libfm: upgrade 1.3.1 -> 1.3.2 libinput: upgrade 1.16.4 -> 1.17.1 libwpe: upgrade 1.8.0 -> 1.10.0 libxres: upgrade 1.2.0 -> 1.2.1 linux-firmware: upgrade 20210208 -> 20210315 pango: upgrade 1.48.2 -> 1.48.4 piglit: upgrade to latest revision pkgconf: upgrade 1.7.3 -> 1.7.4 python3-hypothesis: upgrade 6.2.0 -> 6.9.1 python3-importlib-metadata: upgrade 3.4.0 -> 3.10.1 python3-pytest: upgrade 6.2.2 -> 6.2.3 python3-setuptools-scm: upgrade 5.0.1 -> 6.0.1 x264: upgrade to latest revision ptest: add a test for orphaned ptests, and restore ones found by it swig: fix upstream version check liberation-fonts: fix upstream version check Revert "go: Use dl.google.com for SRC_URI" powertop: update 2.13 -> 2.14 mesa: add lmsensors PACKAGECONFIG ffmpeg: update 4.3.2 -> 4.4 qemu: use 4 cores in qemu guests avahi: disable gtk bits gdk-pixbuf: rewrite the cross-build support for tests gnome: drop upstream even condition from a few recipes expat: upgrade 2.2.10 -> 2.3.0 meson.bbclass: split python routines into a separate class gstreamer1.0-plugins-base: backport a patch to fix meson 0.58 builds meson: update 0.57.2 -> 0.58.0 qemu: backport a patch to fix meson 0.58 builds nativesdk-meson: correctly set cpu_family bitbake: fetch2/wget: when checking latest versions, consider all numerical directories mklibs: remove recipes and class local.conf: Drop support for mklibs u-boot: upgrade 2021.01 -> 2021.04 gdk-pixbuf: update a patch status systemd: update 247.6 -> 248.3 systemd-conf: do not version in lockstep with systemd gnu-config: update to latest revision mmc-utils: update to latest revision python3-smartypants: fix upstream version check at: upgrade 3.2.1 -> 3.2.2 gnomebase: trim the SRC_URI directory from the back gsettings-desktop-schemas: upgrade 3.38.0 -> 40.0 igt-gpu-tools: upgrade 1.25 -> 1.26 mesa: update 21.0.3 -> 21.1.1 vulkan-samples: update to latest revision libgpg-error: update 1.41 -> 1.42 webkitgtk: update 2.32.0 -> 2.32.1 glib-2.0: update 2.68.1 -> 2.68.2 apt: upgrade 2.2.2 -> 2.2.3 cmake: update 3.20.1 -> 3.20.2 libdnf: update 0.62.0 -> 0.63.0 harfbuzz: update 2.8.0 -> 2.8.1 curl: update 7.76.0 -> 7.76.1 systemtap: update 4.4 -> 4.5 wayland: package target binaries into -tools, not into -dev ptest: add newly discovered missing runtime dependencies across recipes images: remove sato/weston ptest images images: add ptest images based on core-image-minimal Andreas Müller (1): gstreamer1.0-plugins-good: fix build with gcc11 Andrej Valek (1): expat: upgrade 2.3.0 -> 2.4.1 Anuj Mittal (1): lsb-release: fix reproducibility failure Armin Kuster (5): bitbake: hashserv/server.py: drop unused imports bitbake: hashserver/client.py: drop unused imports poky.yaml: fedora33: add missing pkgs systemctl: Stop tracebacks use formated error messages package_manager/rpm: decode systemctl failures Bastian Krause (1): ccache: version bump 4.2.1 -> 4.3 Bruce Ashfield (18): linux-yocto/5.4: qemuppc32: reduce serial shutdown issues kern-tools: Kconfiglib: add support for bare 'modules' keyword lttng-modules: update devupstream to v2.13-rc lttng-modules: update to v2.12.6 kernel-yocto: provide debug / summary information for metadata linux-yocto/5.10: update to v5.10.35 linux-yocto/5.4: update to v5.4.117 linux-yocto/5.10: ktypes/standard: disable obsolete crypto options by default linux-yocto/5.10: update to v5.10.36 linux-yocto/5.4: update to v5.4.118 linux-yocto/5.10: update to v5.10.37 linux-yocto/5.4: update to v5.4.119 kernel-devsrc: adjust NM and OBJTOOL variables for target linux-yocto/5.10: update to v5.10.38 linux-yocto-dev: bump to v5.13+ linux-yocto/5.4: update to v5.4.120 linux-yocto/5.10: update to v5.10.41 linux-yocto/5.4: update to v5.4.123 Carlos Rafael Giani (1): ffmpeg: Add libopus packageconfig Changqing Li (2): unfs3: correct configure option pkgconfig: update SRC_URI Chen Qi (3): db: update CVE_PRODUCT rt-tests: update SRCREV xxhash: backport patch to fix special char problem Daniel McGregor (3): lib/oe/gpg_sign.py: Fix gpg verification sstate: Ignore sstate signing key bison: Make libtextstyle and libreadline optional Daniel Wagenknecht (1): kernel-dev: document KCONFIG_MODE Douglas Royds (3): Revert "icecc: Don't use icecc when INHIBIT_DEFAULT_DEPS is set" icecc: Demote "could not get ICECC_CC" warning to note icecc-create-env: Silence warning: invalid ICECC_ENV_EXEC Drew Moseley (1): manuals: fix a few incorrect option specifications. Guillaume Champagne (1): image-live.bbclass: order do_bootimg after do_rootfs Joshua Watt (1): zstd: Add patch to fix MinGW builds Kai Kang (1): grub2.inc: remove '-O2' from CFLAGS Khem Raj (17): swig: Upgrade to 4.0.2 python3-markdown: Upgrade to 3.3.4 ffmpeg: Fix build on mips npth: Check for pthread_create for including lpthread gcc: Add target gcc include search for musl config too gcc: Extend .gccrelocprefix section support to musl configs gcc: Refresh patch to fix patch fuzz musl: Fix __NR_fstatat syscall name for riscv libxfixes: Update to 6.0.0 release xorgproto: Upgrade to 2021.4 release glibc: Update to latest 2.33 branch systemd: Fix 248.3 on musl glibc: Enable memory tagging for aarch64 gcc: Update to latest on release/gcc-11 branch apt: Add missing header ovmf: Fix VLA warnings with GCC 11 libucontext: Switch to meson build system Martin Jansa (4): gcc-sanitizers: Package up static hwasan files as well webkitgtk: fix build without opengl in DISTRO_FEATURES binutils: backport DWARF-5 support for gold sstatesig.py: make it fatal error when sstate manifest isn't found Michael Halstead (3): releases: update to include 3.2.4 uninative: Upgrade to 3.2 (gcc11 support) releases: update to include 3.3.1 Michael Opdenacker (8): manuals: reduce verbosity with "worry about" expression manuals: reduce verbosity related to "the following" expression ref-manual: simplify style kernel-dev manual: simplify style dev-manual: simplify style sdk-manual: simplify style and fix formating overview-manual: simplify style and add missings references manuals: simplify style Mike Crowe (2): npm.bbclass: Allow nodedir to be overridden by NPM_NODEDIR libnotify: Make gtk+3 dependency optional Ming Liu (4): kernel-fitimage.bbclass: fix a wrong conditional check initramfs-framework:rootfs: fix wrong indentions kernel-fitimage.bbclass: drop unit addresses from bootscr sections uboot-sign/kernel-fitimage: split generate_rsa_keys task Nikolay Papenkov (1): flex: correct license information Nisha Parrakat (1): squashfs-tools: package squashfs-fs.h Peter Kjellerstedt (3): libcap: Configure Make variables correctly without a horrible hack util-linux.inc: Do not modify BPN native.bbclass: Do not remove "-native" in the middle of recipe names Petr Vorel (1): ltp: Update to 20210524 Richard Purdie (92): oeqa/qemurunner: Fix binary vs str issue oeqa/qemurunner: Improve handling of run_serial for shutdown commands ptest-packagelists: Add expat-ptest to fast ptests puzzles: Upstream changed to main branch for development grub2: Add CVE whitelist entries for issues fixed in 2.06 glibc: Document and whitelist CVE-2019-1010022-25 qemu: Exclude CVE-2017-5957 from cve-check qemu: Exclude CVE-2007-0998 from cve-check qemu: Exclude CVE-2018-18438 from cve-check jquery: Exclude CVE-2007-2379 from cve-check logrotate: Exclude CVE-2011-1548,1549,1550 from cve-check openssh: Exclude CVE-2007-2768 from cve-check ovmf: Improve reproducibility by enabling prefix mapping bind: Exclude CVE-2019-6470 from cve-check openssh: Exclude CVE-2008-3844 from cve-check unzip: Exclude CVE-2008-0888 from cve-check cpio: Exclude CVE-2010-4226 from cve-check xinetd: Exclude CVE-2013-4342 from cve-check ghostscript: Exclude CVE-2013-6629 from cve-check bluez: Exclude CVE-2020-12352 CVE-2020-24490 from cve-check tiff: Exclude CVE-2015-7313 from cve-check ovmf: Disable lto to aid reproducibility ovmf: Fix other reproducibility issues rpm: Exclude CVE-2021-20271 from cve-check coreutils: Exclude CVE-2016-2781 from cve-check librsvg: Exclude CVE-2018-1000041 from cve-check avahi: Exclude CVE-2021-26720 from cve-check qemu: Set SMP to 4 cpus for arm/x86 only qemuboot-x86: Switch to IvyBridge and q35 instead of pc qemu-x86: Add commandline options to improve boot sstate: Handle manifest 'corruption' issue lttng-ust: Upgrade 2.12.1 -> 2.12.2 qemu: Upgrade 5.2.0 -> 6.0.0 python3-markupsafe: Upgrade 1.1.1 -> 2.0.0 python3-jinja2: Upgrade 2.11.3 -> 3.0.0 ofono: upgrade 1.31 -> 1.32 libnss-mdns: upgrade 0.14.1 -> 0.15 python3-git: upgrade 3.1.14 -> 3.1.17 bind: upgrade 9.16.13 -> 9.16.15 vala: upgrade 0.52.2 -> 0.52.3 libjpeg-turbo: upgrade 2.0.6 -> 2.1.0 btrfs-tools: upgrade 5.12 -> 5.12.1 python3-hypothesis: upgrade 6.9.1 -> 6.12.0 python3-numpy: upgrade 1.20.2 -> 1.20.3 gtk+3: upgrade 3.24.28 -> 3.24.29 sudo: upgrade 1.9.6p1 -> 1.9.7 stress-ng: upgrade 0.12.06 -> 0.12.08 less: upgrade 581 -> 586 libtirpc: upgrade 1.3.1 -> 1.3.2 libinput: upgrade 1.17.1 -> 1.17.2 zstd: upgrade 1.4.9 -> 1.5.0 hdparm: upgrade 9.61 -> 9.62 libxkbcommon: upgrade 1.2.1 -> 1.3.0 spirv-tools: upgrade 2020.7 -> 2021.1 diffoscope: upgrade 172 -> 175 mpg123: upgrade 1.26.5 -> 1.27.2 sqlite3: upgrade 3.35.3 -> 3.35.5 wayland-protocols: upgrade 1.20 -> 1.21 shaderc: upgrade 2020.5 -> 2021.0 wpebackend-fdo: upgrade 1.8.3 -> 1.8.4 libxcrypt-compat: upgrade 4.4.19 -> 4.4.20 Revert "cml1.bbclass: Return sorted list of cfg files" bitbake: server/process: Handle error in heartbeat funciton in OOM case glibc: Add 8GB VM usage cap for usermode test suite cve-extra-exclusions.inc: add exclusion list for intractable CVE's rpm: Drop CVE exclusion as database fixed to handle cve-extra-exclusions: Fix typos grub: Exclude CVE-2019-14865 from cve-check cve-extra-exclusions.inc: Clean up merged CPE updates ltp: Disable problematic tests causing autobuilder hangs python3-setuptools: upgrade 56.0.0 -> 56.2.0 distro/maintainers: Fix up the ptest image entries oeqa/runtime/rpm: Drop log message counting test component linux-firmware: upgrade 20210315 -> 20210511 libxcrypt: Upgrade 4.4.20 -> 4.4.22 iproute2: upgrade 5.11.0 -> 5.12.0 libx11: upgrade 1.7.0 -> 1.7.1 python3-hypothesis: upgrade 6.12.0 -> 6.13.7 pango: upgrade 1.48.4 -> 1.48.5 python3-importlib-metadata: upgrade 4.0.1 -> 4.3.0 libmodulemd: upgrade 2.12.0 -> 2.12.1 vte: upgrade 0.64.0 -> 0.64.1 libinput: upgrade 1.17.2 -> 1.17.3 gi-docgen: upgrade 2021.5 -> 2021.6 kmod: upgrade 28 -> 29 xorgproto: upgrade 2021.4 -> 2021.4.99.1 libpcre2: upgrade 10.36 -> 10.37 libepoxy: upgrade 1.5.5 -> 1.5.8 python3-jinja2: upgrade 3.0.0 -> 3.0.1 curl: upgrade 7.76.1 -> 7.77.0 python3-setuptools: upgrade 56.2.0 -> 57.0.0 oeqa/qemurunner: Improve timeout handling Richard Weinberger (1): Add support for erofs filesystems Robert Joslyn (3): liberation-fonts: Update to 2.1.4 epiphany: Update to 40.1 btrfs-tools: Update to 5.12 Robert P. J. Day (8): sdk-manual: couple minor fixes in using.rst sdk-manual: various cleanups to intro.rst ref-manual: delete references to dead LSB compliance ref-manual: delete extraneous back quote image.bbclass: fix comment "pacackages" -> "packages" meta/lib/oe/rootfs.py: Fix typo "Restoreing" -> "Restoring" bitbake.conf: alphabetize contents of ASSUME_PROVIDED ref-manual: add links to some variables in glossary Romain Naour (1): dejagnu: needs expect at runtime Ross Burton (12): cairo: backport patch for CVE-2020-35492 libnotify: whitelist CVE-2013-7381 (specific to the NodeJS bindings) builder: whitelist CVE-2008-4178 (a different builder) libarchive: disable redundant libxml2 PACKAGECONFIG meson: update patch status cups: whitelist CVE-2021-25317 libsolv: add missing db dependency rpm: turn Berkeley DB hard dependency into PACKAGECONFIG python3: update status on upstreamed patch ref-manual: Ubuntu 20.04 is also LTS package_rpm: pass XZ_THREADS to rpm gcc: revert libstc++-gdb.py installation changes Samuli Piippo (3): gcc-cross-canadian: add symlinks for ld.bfd and ld.gold libarchive: enable zstd support cmake-native: enabled zstd support Stefan Ghinea (1): boost: fix do_fetch failure Steve Sakoman (1): expat: set CVE_PRODUCT Tony Tascioglu (3): libxml2: Reformat runtest.patch libxml2: Add bash dependency for ptests. libxml2: Update to 2.9.12 Trevor Gamblin (2): python3: upgrade 3.9.4 -> 3.9.5 bind: upgrade 9.16.15 -> 9.16.16 Ulrich Ölmann (1): local.conf.sample: fix typo Vinícius Ossanes Aquino (1): lttng-modules: backport patches to fix build against 5.12+ kernel Yann Dirson (1): linux-firmware: include all relevant files in -bcm4356 hongxu (1): gdk-pixbuf: fix nativesdk do_configure failed wangmy (21): python3-pygments: upgrade 2.8.1 -> 2.9.0 at-spi2-core: upgrade 2.40.0 -> 2.40.1 ell: upgrade 0.39 -> 0.40 kexec-tools: upgrade 2.0.21 -> 2.0.22 go: upgrade 1.16.3 -> 1.16.4 python3-attrs: upgrade 20.3.0 -> 21.2.0 python3-six: upgrade 1.15.0 -> 1.16.0 vulkan-samples: update to latest revision vulkan-headers: upgrade 1.2.170.0 -> 1.2.176.0 vulkan-tools: upgrade 1.2.170.0 -> 1.2.176.0 vulkan-loader: upgrade 1.2.170.0 -> 1.2.176.0 distcc: upgrade 3.3.5 -> 3.4 libdrm: upgrade 2.4.105 -> 2.4.106 libidn2: upgrade 2.3.0 -> 2.3.1 libtasn1: upgrade 4.16.0 -> 4.17.0 python3-libarchive-c: upgrade 2.9 -> 3.0 python3-markupsafe: upgrade 2.0.0 -> 2.0.1 python3-more-itertools: upgrade 8.7.0 -> 8.8.0 python3-pytest: upgrade 6.2.3 -> 6.2.4 logrotate: upgrade 3.18.0 -> 3.18.1 stress-ng: upgrade 0.12.08 -> 0.12.09 zhengruoqin (10): busybox: upgrade 1.33.0 -> 1.33.1 rng-tools: upgrade 6.11 -> 6.12 rpcbind: upgrade 1.2.5 -> 1.2.6 sysklogd: upgrade 2.2.2 -> 2.2.3 python3-importlib-metadata: upgrade 3.10.1 -> 4.0.1 python3-sortedcontainers: upgrade 2.3.0 -> 2.4.0 rxvt-unicode: upgrade 9.22 -> 9.26 libedit: upgrade 20210419-3.1 -> 20210522-3.1 libtest-needs-perl: upgrade 0.002006 -> 0.002009 libucontext: upgrade 0.10 -> 1.1 Change-Id: I5e5148036ac2a7918974733e5751c3392139b17e Signed-off-by: William A. Kennington III --- poky/bitbake/lib/bb/fetch2/wget.py | 2 +- poky/bitbake/lib/bb/server/process.py | 7 +- poky/bitbake/lib/hashserv/client.py | 3 - poky/bitbake/lib/hashserv/server.py | 7 - poky/documentation/README | 4 +- poky/documentation/brief-yoctoprojectqs/index.rst | 10 +- poky/documentation/bsp-guide/bsp.rst | 36 +- poky/documentation/dev-manual/common-tasks.rst | 153 ++- poky/documentation/dev-manual/qemu.rst | 10 +- poky/documentation/dev-manual/start.rst | 26 +- poky/documentation/kernel-dev/advanced.rst | 12 +- poky/documentation/kernel-dev/common.rst | 29 +- poky/documentation/kernel-dev/concepts-appx.rst | 5 +- poky/documentation/kernel-dev/faq.rst | 2 +- poky/documentation/kernel-dev/intro.rst | 6 +- poky/documentation/kernel-dev/maint-appx.rst | 4 +- poky/documentation/overview-manual/concepts.rst | 73 +- .../overview-manual/development-environment.rst | 12 +- poky/documentation/overview-manual/intro.rst | 2 +- poky/documentation/overview-manual/yp-intro.rst | 34 +- poky/documentation/poky.yaml | 13 +- poky/documentation/ref-manual/classes.rst | 18 +- .../documentation/ref-manual/devtool-reference.rst | 10 +- poky/documentation/ref-manual/faq.rst | 2 +- poky/documentation/ref-manual/features.rst | 2 +- poky/documentation/ref-manual/kickstart.rst | 2 +- poky/documentation/ref-manual/migration-2.2.rst | 2 +- poky/documentation/ref-manual/qa-checks.rst | 8 +- poky/documentation/ref-manual/release-process.rst | 4 +- poky/documentation/ref-manual/resources.rst | 12 +- poky/documentation/ref-manual/structure.rst | 22 +- .../ref-manual/system-requirements.rst | 20 +- poky/documentation/ref-manual/tasks.rst | 3 +- poky/documentation/ref-manual/variables.rst | 128 +- poky/documentation/releases.rst | 2 + .../sdk-manual/appendix-customizing.rst | 7 +- poky/documentation/sdk-manual/extensible.rst | 51 +- poky/documentation/sdk-manual/intro.rst | 50 +- poky/documentation/sdk-manual/using.rst | 13 +- poky/documentation/sphinx-static/switchers.js | 4 +- poky/documentation/toaster-manual/reference.rst | 23 +- poky/meta-poky/conf/local.conf.sample | 7 +- poky/meta-poky/conf/local.conf.sample.extended | 9 - .../baremetal-examples/baremetal-helloworld_git.bb | 5 +- poky/meta/classes/baremetal-image.bbclass | 18 +- poky/meta/classes/cml1.bbclass | 2 +- poky/meta/classes/gi-docgen.bbclass | 24 + poky/meta/classes/gnomebase.bbclass | 3 +- poky/meta/classes/icecc.bbclass | 6 +- poky/meta/classes/image-live.bbclass | 2 +- poky/meta/classes/image-mklibs.bbclass | 56 - poky/meta/classes/image.bbclass | 2 +- poky/meta/classes/image_types.bbclass | 9 + poky/meta/classes/kernel-fitimage.bbclass | 47 +- poky/meta/classes/kernel-yocto.bbclass | 17 + poky/meta/classes/meson-routines.bbclass | 51 + poky/meta/classes/meson.bbclass | 52 +- poky/meta/classes/native.bbclass | 8 +- poky/meta/classes/npm.bbclass | 6 +- poky/meta/classes/package_rpm.bbclass | 4 +- poky/meta/classes/ptest.bbclass | 11 + poky/meta/classes/qemuboot.bbclass | 4 + poky/meta/classes/sstate.bbclass | 18 +- poky/meta/classes/uboot-sign.bbclass | 29 +- poky/meta/conf/bitbake.conf | 16 +- .../conf/distro/include/cve-extra-exclusions.inc | 73 ++ poky/meta/conf/distro/include/maintainers.inc | 12 +- .../conf/distro/include/ptest-packagelists.inc | 51 +- poky/meta/conf/distro/include/tcmode-default.inc | 2 +- poky/meta/conf/distro/include/yocto-uninative.inc | 8 +- poky/meta/conf/machine/include/qemuboot-x86.inc | 11 +- poky/meta/conf/machine/qemuarm.conf | 1 + poky/meta/conf/machine/qemuarm64.conf | 1 + poky/meta/lib/oe/gpg_sign.py | 2 +- poky/meta/lib/oe/package_manager/rpm/__init__.py | 3 + poky/meta/lib/oe/rootfs.py | 2 +- poky/meta/lib/oe/sstatesig.py | 2 +- poky/meta/lib/oeqa/runtime/cases/rpm.py | 9 - poky/meta/lib/oeqa/utils/qemurunner.py | 61 +- poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.12.bb | 72 - poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb | 71 + poky/meta/recipes-bsp/grub/grub2.inc | 12 + .../u-boot/files/0001-add-valid-fdt-check.patch | 36 - .../u-boot/files/CVE-2021-27097-1.patch | 71 - .../u-boot/files/CVE-2021-27097-2.patch | 419 ------ .../u-boot/files/CVE-2021-27097-3.patch | 105 -- .../u-boot/files/CVE-2021-27097-4.patch | 73 -- .../u-boot/files/CVE-2021-27138-1.patch | 245 ---- .../u-boot/files/CVE-2021-27138-2.patch | 109 -- poky/meta/recipes-bsp/u-boot/u-boot-common.inc | 9 +- .../recipes-bsp/u-boot/u-boot-tools_2021.01.bb | 3 - .../recipes-bsp/u-boot/u-boot-tools_2021.04.bb | 3 + poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb | 6 - poky/meta/recipes-bsp/u-boot/u-boot_2021.04.bb | 6 + poky/meta/recipes-connectivity/avahi/avahi_0.8.bb | 5 +- .../0001-avoid-start-failure-with-bind-user.patch | 27 - ...lwresd-V-and-start-log-hide-build-options.patch | 35 - ...-searching-for-json-headers-searches-sysr.patch | 47 - .../recipes-connectivity/bind/bind-9.16.12/bind9 | 2 - .../bind/bind-9.16.12/conf.patch | 330 ----- .../bind/bind-9.16.12/generate-rndc-key.sh | 8 - .../init.d-add-support-for-read-only-rootfs.patch | 65 - .../make-etc-initd-bind-stop-work.patch | 42 - .../bind/bind-9.16.12/named.service | 22 - .../0001-avoid-start-failure-with-bind-user.patch | 27 + ...lwresd-V-and-start-log-hide-build-options.patch | 35 + ...-searching-for-json-headers-searches-sysr.patch | 47 + .../recipes-connectivity/bind/bind-9.16.16/bind9 | 2 + .../bind/bind-9.16.16/conf.patch | 330 +++++ .../bind/bind-9.16.16/generate-rndc-key.sh | 8 + .../init.d-add-support-for-read-only-rootfs.patch | 65 + .../make-etc-initd-bind-stop-work.patch | 42 + .../bind/bind-9.16.16/named.service | 22 + .../meta/recipes-connectivity/bind/bind_9.16.12.bb | 127 -- .../meta/recipes-connectivity/bind/bind_9.16.16.bb | 131 ++ poky/meta/recipes-connectivity/bluez5/bluez5.inc | 1 + ...efile.am-add-missing-mkdir-for-ell-shared.patch | 25 + .../recipes-connectivity/bluez5/bluez5_5.56.bb | 68 - .../recipes-connectivity/bluez5/bluez5_5.58.bb | 70 + .../iproute2/iproute2_5.11.0.bb | 11 - .../iproute2/iproute2_5.12.0.bb | 11 + .../libnss-mdns/libnss-mdns_0.14.1.bb | 39 - .../libnss-mdns/libnss-mdns_0.15.bb | 39 + poky/meta/recipes-connectivity/ofono/ofono_1.31.bb | 56 - poky/meta/recipes-connectivity/ofono/ofono_1.32.bb | 55 + .../recipes-connectivity/openssh/openssh_8.6p1.bb | 6 + ...ompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch | 58 - poky/meta/recipes-core/busybox/busybox_1.33.0.bb | 55 - poky/meta/recipes-core/busybox/busybox_1.33.1.bb | 54 + poky/meta/recipes-core/coreutils/coreutils_8.32.bb | 4 + poky/meta/recipes-core/ell/ell_0.39.bb | 24 - poky/meta/recipes-core/ell/ell_0.40.bb | 24 + .../expat/0001-Add-output-of-tests-result.patch | 83 -- poky/meta/recipes-core/expat/expat/run-ptest | 4 +- poky/meta/recipes-core/expat/expat_2.2.10.bb | 27 - poky/meta/recipes-core/expat/expat_2.4.1.bb | 28 + poky/meta/recipes-core/gettext/gettext_0.21.bb | 2 +- .../glib-2.0/glib-2.0/relocate-modules.patch | 6 +- poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb | 54 - poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb | 54 + poky/meta/recipes-core/glibc/glibc-version.inc | 2 +- ...emove-private-futex-optimization-BZ-27304.patch | 49 - ...-full-ISA-support-for-x86-64-level-marker.patch | 116 -- ...ing-Work-around-GCC-PR-98512-in-rawmemchr.patch | 58 - ...andle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch | 185 --- .../recipes-core/glibc/glibc/CVE-2021-27645.patch | 51 - .../recipes-core/glibc/glibc/check-test-wrapper | 9 + poky/meta/recipes-core/glibc/glibc_2.33.bb | 21 +- .../recipes-core/images/core-image-ptest-all.bb | 25 + .../recipes-core/images/core-image-ptest-fast.bb | 24 + .../initrdscripts/initramfs-framework/rootfs | 2 +- .../libxcrypt/files/fix_cflags_handling.patch | 17 +- .../libxcrypt/libxcrypt-compat_4.4.19.bb | 18 - .../libxcrypt/libxcrypt-compat_4.4.22.bb | 18 + poky/meta/recipes-core/libxcrypt/libxcrypt.inc | 2 +- .../recipes-core/libxcrypt/libxcrypt_4.4.19.bb | 2 - .../recipes-core/libxcrypt/libxcrypt_4.4.22.bb | 2 + ...run-the-python-tests-if-python-is-enabled.patch | 34 +- .../libxml/libxml2/CVE-2019-20388.patch | 37 - .../libxml/libxml2/CVE-2020-24977.patch | 41 - .../libxml/libxml2/CVE-2020-7595.patch | 36 - .../recipes-core/libxml/libxml2/fix-python39.patch | 94 -- .../libxml/libxml2/libxml-m4-use-pkgconfig.patch | 33 +- .../libxml/libxml2/remove-fuzz-from-ptests.patch | 43 + .../meta/recipes-core/libxml/libxml2/runtest.patch | 45 +- poky/meta/recipes-core/libxml/libxml2_2.9.10.bb | 114 -- poky/meta/recipes-core/libxml/libxml2_2.9.12.bb | 109 ++ .../0001-meson-Add-option-to-pass-cpu.patch | 49 + poky/meta/recipes-core/musl/libucontext_git.bb | 22 +- ...riscv-Rename-__NR_fstatat-__NR_newfstatat.patch | 32 + poky/meta/recipes-core/musl/musl_git.bb | 1 + .../ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch | 51 + .../recipes-core/ovmf/ovmf/debug_prefix_map.patch | 93 ++ .../meta/recipes-core/ovmf/ovmf/reproducible.patch | 165 +++ poky/meta/recipes-core/ovmf/ovmf_git.bb | 17 + .../recipes-core/systemd/systemd-boot_247.6.bb | 70 - .../recipes-core/systemd/systemd-boot_248.3.bb | 70 + poky/meta/recipes-core/systemd/systemd-conf_1.0.bb | 43 + .../recipes-core/systemd/systemd-conf_247.6.bb | 41 - .../systemd/systemd-systemctl/systemctl | 24 +- poky/meta/recipes-core/systemd/systemd.inc | 7 +- ...resolve-executable-path-if-it-is-relative.patch | 39 - ...tore-chvt-as-non-root-user-without-polkit.patch | 227 ---- ...0001-test-parse-argument-Include-signal.h.patch | 29 + .../0002-don-t-use-glibc-specific-qsort_r.patch | 29 +- ...e.h-add-__compare_fn_t-and-comparison_fn_.patch | 26 +- ...llback-parse_printf_format-implementation.patch | 46 +- ...asic-missing.h-check-for-missing-strndupa.patch | 110 +- .../systemd/0006-Include-netinet-if_ether.h.patch | 56 +- ...if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch | 17 +- .../0008-add-missing-FTW_-macros-for-musl.patch | 8 +- ...-of-__register_atfork-for-non-glibc-build.patch | 12 +- .../0010-Use-uintmax_t-for-handling-rlim_t.patch | 18 +- ....c-Disable-tests-for-missing-typedefs-in-.patch | 9 +- ...ass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch | 19 +- ...c-compatible-basename-for-non-glibc-syste.patch | 11 +- ...ble-buffering-when-writing-to-oom_score_a.patch | 12 +- ...-XSI-compliant-strerror_r-from-GNU-specif.patch | 46 +- ...rt_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch | 8 +- ...ing_type.h-add-__compar_d_fn_t-definition.patch | 8 +- ...id-redefinition-of-prctl_mm_map-structure.patch | 8 +- .../systemd/0019-Handle-missing-LOCK_EX.patch | 10 +- ...ompatible-pointer-type-struct-sockaddr_un.patch | 12 +- .../systemd/0021-test-json.c-define-M_PIl.patch | 8 +- ...22-do-not-disable-buffer-in-writing-files.patch | 116 +- .../systemd/0025-Handle-__cpu_mask-usage.patch | 8 +- .../systemd/0026-Handle-missing-gshadow.patch | 20 +- ...rigger-mount-error-with-invalid-options-o.patch | 97 -- ...yscall.h-Define-MIPS-ABI-defines-for-musl.patch | 16 +- poky/meta/recipes-core/systemd/systemd_247.6.bb | 767 ----------- poky/meta/recipes-core/systemd/systemd_248.3.bb | 771 +++++++++++ poky/meta/recipes-core/util-linux/util-linux.inc | 3 +- ...o-not-init-tables-from-dpkg-configuration.patch | 2 +- ...ys-run-dpkg-configure-a-at-the-end-of-our.patch | 2 +- .../apt/0001-aptwebserver.cc-Include-array.patch | 32 + poky/meta/recipes-devtools/apt/apt_2.2.2.bb | 134 -- poky/meta/recipes-devtools/apt/apt_2.2.3.bb | 135 ++ .../recipes-devtools/binutils/binutils-2.36.inc | 1 + .../0018-Add-DWARF-5-support-in-gold.patch | 1374 ++++++++++++++++++++ poky/meta/recipes-devtools/bison/bison_3.7.5.bb | 38 - poky/meta/recipes-devtools/bison/bison_3.7.6.bb | 53 + .../btrfs-tools/btrfs-tools_5.11.1.bb | 70 - .../btrfs-tools/btrfs-tools_5.12.1.bb | 71 + ...-allow-disabling-docs-man-page-generation.patch | 161 --- poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb | 27 - poky/meta/recipes-devtools/ccache/ccache_4.3.bb | 25 + .../recipes-devtools/cmake/cmake-native_3.19.5.bb | 53 - .../recipes-devtools/cmake/cmake-native_3.20.2.bb | 53 + poky/meta/recipes-devtools/cmake/cmake.inc | 5 +- ...ineSystem-use-oe-environment-vars-to-load.patch | 4 +- .../0002-cmake-Prevent-the-detection-of-Qt5.patch | 122 -- poky/meta/recipes-devtools/cmake/cmake_3.19.5.bb | 53 - poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb | 53 + ...-set-PYTHON_INSTALL_DIR-by-running-python.patch | 6 +- .../createrepo-c/createrepo-c_0.17.0.bb | 40 - .../createrepo-c/createrepo-c_0.17.2.bb | 40 + .../meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb | 1 + poky/meta/recipes-devtools/distcc/distcc_3.3.5.bb | 88 -- poky/meta/recipes-devtools/distcc/distcc_3.4.bb | 88 ++ .../0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch | 39 + ...cutils.py-do-not-hardcode-usr-bin-rpmkeys.patch | 37 + poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb | 91 -- poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb | 93 ++ poky/meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb | 24 - poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb | 24 + ...1-lib-ext2fs-unix_io.c-do-unlock-on-error.patch | 24 + ...unix_io.c-revert-parts-of-libext2fs-fix-p.patch | 48 + ...s-fix-missing-check-for-permission-denied.patch | 2 +- .../e2fsprogs/e2fsprogs/quiet-debugfs.patch | 6 +- .../recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb | 141 -- .../recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb | 143 ++ .../erofs-utils/erofs-utils_1.2.1.bb | 21 + poky/meta/recipes-devtools/flex/flex_2.6.4.bb | 6 +- poky/meta/recipes-devtools/gcc/gcc-11.1.inc | 9 +- .../recipes-devtools/gcc/gcc-cross-canadian.inc | 2 +- poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc | 4 +- ...tdc-Install-libstdc-gdb.py-more-robustly-.patch | 76 ++ ...Ensure-target-gcc-headers-can-be-included.patch | 64 +- ...-handle-sysroot-support-for-nativesdk-gcc.patch | 179 ++- ...shared-to-link-commandline-for-musl-targe.patch | 10 +- .../recipes-devtools/gnu-config/gnu-config_git.bb | 4 +- poky/meta/recipes-devtools/go/go-1.16.3.inc | 20 - poky/meta/recipes-devtools/go/go-1.16.4.inc | 20 + .../recipes-devtools/go/go-binary-native_1.16.3.bb | 46 - .../recipes-devtools/go/go-binary-native_1.16.4.bb | 46 + poky/meta/recipes-devtools/go/go-common.inc | 2 +- .../go/go-cross-canadian_1.16.3.bb | 2 - .../go/go-cross-canadian_1.16.4.bb | 2 + poky/meta/recipes-devtools/go/go-cross_1.16.3.bb | 2 - poky/meta/recipes-devtools/go/go-cross_1.16.4.bb | 2 + .../meta/recipes-devtools/go/go-crosssdk_1.16.3.bb | 2 - .../meta/recipes-devtools/go/go-crosssdk_1.16.4.bb | 2 + poky/meta/recipes-devtools/go/go-native_1.16.3.bb | 59 - poky/meta/recipes-devtools/go/go-native_1.16.4.bb | 59 + poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb | 3 - poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb | 3 + poky/meta/recipes-devtools/go/go_1.16.3.bb | 17 - poky/meta/recipes-devtools/go/go_1.16.4.bb | 17 + .../icecc-create-env/icecc-create-env_0.1.bb | 1 + poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb | 5 + ...ig.h-avoid-the-use-of-non-portable-__WORD.patch | 17 +- poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb | 37 - poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb | 37 + .../libedit/libedit_20210419-3.1.bb | 24 - .../libedit/libedit_20210522-3.1.bb | 24 + .../libmodulemd/libmodulemd_git.bb | 4 +- poky/meta/recipes-devtools/meson/meson.inc | 16 +- .../0001-Make-CPU-family-warnings-fatal.patch | 26 +- ...ix-issues-that-arise-when-cross-compiling.patch | 8 +- ...-Correctly-set-uid-gid-of-installed-files.patch | 28 - ...le-do-not-manipulate-the-environment-when.patch | 14 +- ...02-Support-building-allarch-recipes-again.patch | 16 +- .../meson/meson/0003-native_bindir.patch | 58 +- .../4e312c19e693a69b0650ce6c8a8903163c959996.patch | 412 ++++++ .../meson/meson/cross-prop-default.patch | 23 - .../meson/meson/gi-target-dep.patch | 2 +- poky/meta/recipes-devtools/meson/meson_0.57.1.bb | 4 - poky/meta/recipes-devtools/meson/meson_0.58.0.bb | 4 + .../meson/nativesdk-meson_0.57.1.bb | 66 - .../meson/nativesdk-meson_0.58.0.bb | 56 + .../mklibs/files/ac_init_fix.patch | 19 - ...failure-on-symbol-provided-by-application.patch | 103 -- .../mklibs/files/fix_STT_GNU_IFUNC.patch | 26 - .../mklibs/files/fix_cross_compile.patch | 81 -- ...ow-GNU-unique-symbols-as-provided-symbols.patch | 34 - .../mklibs/files/sysrooted-ldso.patch | 18 - .../mklibs/mklibs-native_0.1.44.bb | 22 - ...se-extra-braces-when-initializing-subobje.patch | 32 - poky/meta/recipes-devtools/mmc/mmc-utils_git.bb | 6 +- .../perl/libtest-needs-perl_0.002006.bb | 29 - .../perl/libtest-needs-perl_0.002009.bb | 29 + .../meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb | 67 - .../meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb | 67 + .../recipes-devtools/pkgconfig/pkgconfig_git.bb | 2 +- .../python-numpy/python3-numpy_1.20.2.bb | 58 - .../python-numpy/python3-numpy_1.20.3.bb | 58 + ...ionally-do-not-fetch-code-by-easy_install.patch | 4 +- .../python/python3-attrs_20.3.0.bb | 20 - .../python/python3-attrs_21.2.0.bb | 19 + .../recipes-devtools/python/python3-git_3.1.14.bb | 32 - .../recipes-devtools/python/python3-git_3.1.17.bb | 32 + .../python/python3-hypothesis_6.13.7.bb | 14 + .../python/python3-hypothesis_6.2.0.bb | 14 - .../python/python3-importlib-metadata_3.4.0.bb | 20 - .../python/python3-importlib-metadata_4.3.0.bb | 20 + .../python/python3-jinja2_2.11.3.bb | 48 - .../python/python3-jinja2_3.0.1.bb | 48 + .../python/python3-libarchive-c_2.9.bb | 21 - .../python/python3-libarchive-c_3.0.bb | 21 + .../python/python3-markdown_3.3.4.bb | 13 + .../python/python3-markupsafe_1.1.1.bb | 28 - .../python/python3-markupsafe_2.0.1.bb | 27 + .../python/python3-more-itertools_8.7.0.bb | 23 - .../python/python3-more-itertools_8.8.0.bb | 27 + .../python/python3-pygments_2.8.1.bb | 19 - .../python/python3-pygments_2.9.0.bb | 19 + .../python/python3-pytest_6.2.2.bb | 41 - .../python/python3-pytest_6.2.4.bb | 41 + .../python/python3-setuptools-scm_5.0.1.bb | 26 - .../python/python3-setuptools-scm_6.0.1.bb | 26 + .../python3-setuptools/reproducibility.patch | 40 + .../python/python3-setuptools_56.0.0.bb | 55 - .../python/python3-setuptools_57.0.0.bb | 56 + .../recipes-devtools/python/python3-six_1.15.0.bb | 5 - .../recipes-devtools/python/python3-six_1.16.0.bb | 4 + .../python/python3-smartypants_2.0.0.bb | 13 + .../python/python3-sortedcontainers_2.3.0.bb | 9 - .../python/python3-sortedcontainers_2.4.0.bb | 9 + .../python/python3-typogrify_2.0.7.bb | 14 + ...ix-Issue36464-parallel-build-race-problem.patch | 3 +- poky/meta/recipes-devtools/python/python3_3.9.4.bb | 384 ------ poky/meta/recipes-devtools/python/python3_3.9.5.bb | 385 ++++++ .../recipes-devtools/qemu/qemu-native_5.2.0.bb | 9 - .../recipes-devtools/qemu/qemu-native_6.0.0.bb | 9 + .../qemu/qemu-system-native_5.2.0.bb | 31 - .../qemu/qemu-system-native_6.0.0.bb | 31 + poky/meta/recipes-devtools/qemu/qemu.inc | 47 +- .../qemu/qemu/0001-Add-enable-disable-udev.patch | 10 +- ...-configure-fix-detection-of-gdbus-codegen.patch | 50 + ...001-qemu-Add-missing-wacom-HID-descriptor.patch | 6 +- ...01-qemu-Do-not-include-file-if-not-exists.patch | 10 +- ....build-use-relative-path-to-refer-to-file.patch | 15 +- ...dition-environment-space-to-boot-loader-q.patch | 12 +- .../qemu/qemu/0004-qemu-disable-Valgrind.patch | 8 +- ...ardev-connect-socket-to-a-spawned-command.patch | 32 +- .../qemu/0007-apic-fixup-fallthrough-to-PIC.patch | 8 +- ...ure-Add-pkg-config-handling-for-libgcrypt.patch | 12 +- .../qemu/qemu/CVE-2020-27821.patch | 143 -- .../qemu/qemu/CVE-2020-29443.patch | 107 -- .../qemu/qemu/CVE-2020-35517_1.patch | 153 --- .../qemu/qemu/CVE-2020-35517_2.patch | 117 -- .../qemu/qemu/CVE-2020-35517_3.patch | 303 ----- .../qemu/qemu/CVE-2021-20181.patch | 81 -- .../qemu/qemu/CVE-2021-20203.patch | 73 -- .../qemu/qemu/CVE-2021-20221.patch | 70 - .../qemu/qemu/CVE-2021-20257.patch | 55 - .../qemu/qemu/CVE-2021-20263.patch | 214 --- .../recipes-devtools/qemu/qemu/CVE-2021-3392.patch | 89 -- .../qemu/qemu/CVE-2021-3409_1.patch | 56 - .../qemu/qemu/CVE-2021-3409_2.patch | 92 -- .../qemu/qemu/CVE-2021-3409_3.patch | 109 -- .../qemu/qemu/CVE-2021-3409_4.patch | 75 -- .../qemu/qemu/CVE-2021-3409_5.patch | 56 - .../qemu/qemu/CVE-2021-3409_6.patch | 99 -- .../qemu/qemu/CVE-2021-3416_1.patch | 177 --- .../qemu/qemu/CVE-2021-3416_10.patch | 44 - .../qemu/qemu/CVE-2021-3416_2.patch | 42 - .../qemu/qemu/CVE-2021-3416_3.patch | 43 - .../qemu/qemu/CVE-2021-3416_4.patch | 43 - .../qemu/qemu/CVE-2021-3416_5.patch | 45 - .../qemu/qemu/CVE-2021-3416_6.patch | 43 - .../qemu/qemu/CVE-2021-3416_7.patch | 45 - .../qemu/qemu/CVE-2021-3416_8.patch | 44 - .../qemu/qemu/CVE-2021-3416_9.patch | 46 - poky/meta/recipes-devtools/qemu/qemu/cross.patch | 12 +- .../recipes-devtools/qemu/qemu/determinism.patch | 29 +- .../meta/recipes-devtools/qemu/qemu/mingwfix.patch | 21 - poky/meta/recipes-devtools/qemu/qemu/mmap.patch | 29 - poky/meta/recipes-devtools/qemu/qemu/mmap2.patch | 25 +- poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb | 29 - poky/meta/recipes-devtools/qemu/qemu_6.0.0.bb | 29 + poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb | 5 +- .../squashfs-tools/squashfs-tools_git.bb | 2 + poky/meta/recipes-devtools/swig/swig.inc | 2 + .../0001-Add-Node-7.x-aka-V8-5.2-support.patch | 330 ----- ...ed-code-for-constant-expressions-containi.patch | 179 --- ...lf-exe-for-swig-swiglib-on-non-Win32-plat.patch | 13 +- ...nfigure-use-pkg-config-for-pcre-detection.patch | 7 +- ...n-Fix-new-GCC8-warnings-in-generated-code.patch | 191 --- .../recipes-devtools/swig/swig/determinism.patch | 8 +- ...x-issue-reported-for-SWIG_Python_FixMetho.patch | 36 - poky/meta/recipes-devtools/swig/swig_3.0.12.bb | 13 - poky/meta/recipes-devtools/swig/swig_4.0.2.bb | 7 + poky/meta/recipes-devtools/unfs3/unfs3_git.bb | 2 +- poky/meta/recipes-devtools/vala/vala_0.50.4.bb | 5 - poky/meta/recipes-devtools/vala/vala_0.52.3.bb | 5 + .../recipes-devtools/valgrind/valgrind_3.17.0.bb | 2 +- poky/meta/recipes-extended/at/at_3.2.1.bb | 75 -- poky/meta/recipes-extended/at/at_3.2.2.bb | 76 ++ poky/meta/recipes-extended/cpio/cpio_2.13.bb | 3 + poky/meta/recipes-extended/cronie/cronie_1.5.5.bb | 84 -- poky/meta/recipes-extended/cronie/cronie_1.5.7.bb | 83 ++ poky/meta/recipes-extended/cups/cups.inc | 4 + .../ghostscript/ghostscript_9.54.0.bb | 4 + poky/meta/recipes-extended/hdparm/hdparm_9.61.bb | 43 - poky/meta/recipes-extended/hdparm/hdparm_9.62.bb | 42 + poky/meta/recipes-extended/less/less_563.bb | 42 - poky/meta/recipes-extended/less/less_586.bb | 42 + .../libarchive/libarchive_3.5.1.bb | 4 +- poky/meta/recipes-extended/libidn/libidn2_2.3.0.bb | 32 - poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb | 32 + .../recipes-extended/libsolv/libsolv_0.7.19.bb | 2 +- .../recipes-extended/libtirpc/libtirpc_1.3.1.bb | 25 - .../recipes-extended/libtirpc/libtirpc_1.3.2.bb | 25 + .../recipes-extended/logrotate/logrotate_3.18.0.bb | 92 -- .../recipes-extended/logrotate/logrotate_3.18.1.bb | 95 ++ .../lsb/lsb-release/help2man-reproducibility.patch | 27 + poky/meta/recipes-extended/lsb/lsb-release_1.4.bb | 1 + ...testsuite-generate-makefiles.sh-Avoid-inc.patch | 40 - ...akefile-Avoid-wildcard-determinism-issues.patch | 310 ----- ...wapon-swapoff-Move-common-library-to-libs.patch | 133 -- .../ltp/ltp/0007-Fix-test_proc_kill-hanging.patch | 32 - .../recipes-extended/ltp/ltp/determinism.patch | 43 - .../ltp/ltp/disable_hanging_tests.patch | 45 + poky/meta/recipes-extended/ltp/ltp/libswapon.patch | 368 ------ poky/meta/recipes-extended/ltp/ltp_20210121.bb | 147 --- poky/meta/recipes-extended/ltp/ltp_20210524.bb | 139 ++ poky/meta/recipes-extended/parted/parted_3.4.bb | 2 +- .../rpcbind_add_option_to_fix_port_number.patch | 58 +- .../meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb | 55 - .../meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb | 54 + ...erve-ownership-when-installing-example-jo.patch | 11 +- .../stress-ng/stress-ng_0.12.05.bb | 27 - .../stress-ng/stress-ng_0.12.09.bb | 27 + poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb | 59 - poky/meta/recipes-extended/sudo/sudo_1.9.7.bb | 59 + .../recipes-extended/sysklogd/sysklogd_2.2.2.bb | 56 - .../recipes-extended/sysklogd/sysklogd_2.2.3.bb | 56 + poky/meta/recipes-extended/unzip/unzip_6.0.bb | 3 + .../recipes-extended/xinetd/xinetd_2.3.15.4.bb | 3 + ...le-sort-all-wildcard-file-list-expansions.patch | 16 +- .../zstd/zstd/0001-MinGW-Build-Fixes.patch | 193 +++ poky/meta/recipes-extended/zstd/zstd_1.4.9.bb | 37 - poky/meta/recipes-extended/zstd/zstd_1.5.0.bb | 38 + .../meta/recipes-gnome/epiphany/epiphany_3.38.3.bb | 28 - poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb | 29 + ...-help-meson.build-disable-the-use-of-yelp.patch | 8 +- .../0001-Add-use_prebuilt_tools-option.patch | 171 +++ ...ple-of-decisions-around-cross-compilation.patch | 38 - ...-thumbnailer-and-pixdata-cross-compile-fa.patch | 95 -- ...-around-thumbnailer-cross-compile-failure.patch | 28 - ...humbnailer-and-tests-also-in-cross-builds.patch | 29 - .../recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb | 15 +- poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb | 22 + .../gnome/adwaita-icon-theme_3.34.3.bb | 2 +- .../gnome/adwaita-icon-theme_3.38.0.bb | 2 +- ...he-repository-directory-for-native-builds.patch | 2 +- ...-exclude-girepo_dep-if-introspection-data.patch | 25 - .../gobject-introspection_1.66.1.bb | 207 --- .../gobject-introspection_1.68.0.bb | 206 +++ .../gsettings-desktop-schemas_3.38.0.bb | 16 - .../gsettings-desktop-schemas_40.0.bb | 16 + poky/meta/recipes-gnome/gtk+/gtk+3_3.24.25.bb | 18 - poky/meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb | 18 + .../0001-gudevenumtypes-make-deterministic.patch | 44 + poky/meta/recipes-gnome/libgudev/libgudev_234.bb | 22 - poky/meta/recipes-gnome/libgudev/libgudev_236.bb | 28 + .../recipes-gnome/libnotify/libnotify_0.7.9.bb | 12 +- poky/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb | 3 + poky/meta/recipes-graphics/builder/builder_0.1.bb | 2 + .../cairo/cairo/CVE-2020-35492.patch | 60 + poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb | 1 + poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb | 60 - poky/meta/recipes-graphics/drm/libdrm_2.4.106.bb | 60 + .../recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb | 49 - .../recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb | 48 + ...ib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch | 42 - .../igt-gpu-tools/reproducibility.patch | 38 - .../igt-gpu-tools/igt-gpu-tools_git.bb | 8 +- .../images/core-image-weston-ptest-all.bb | 21 - .../images/core-image-weston-ptest-fast.bb | 20 - .../recipes-graphics/libepoxy/libepoxy_1.5.5.bb | 32 - .../recipes-graphics/libepoxy/libepoxy_1.5.8.bb | 32 + .../0002-meson.build-make-TLS-ELF-optional.patch | 18 +- poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb | 16 - poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb | 16 + poky/meta/recipes-graphics/mesa/mesa.inc | 6 +- poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb | 4 - poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb | 5 + poky/meta/recipes-graphics/pango/pango_1.48.2.bb | 55 - poky/meta/recipes-graphics/pango/pango_1.48.5.bb | 54 + poky/meta/recipes-graphics/piglit/piglit_git.bb | 2 +- ...erc_util-fix-glslang-header-file-location.patch | 12 +- .../recipes-graphics/shaderc/shaderc_2020.5.bb | 28 - .../recipes-graphics/shaderc/shaderc_2021.0.bb | 28 + .../recipes-graphics/spir/spirv-tools_2020.7.bb | 42 - .../recipes-graphics/spir/spirv-tools_2021.1.bb | 42 + .../ttf-fonts/liberation-fonts_2.00.1.bb | 45 - .../ttf-fonts/liberation-fonts_2.1.4.bb | 38 + ...Expand-libc-check-to-be-platform-OS-check.patch | 36 - .../virglrenderer/virglrenderer_0.8.2.bb | 24 - .../virglrenderer/virglrenderer_0.9.1.bb | 23 + .../vulkan/vulkan-headers_1.2.170.0.bb | 22 - .../vulkan/vulkan-headers_1.2.176.0.bb | 22 + .../vulkan/vulkan-loader_1.2.170.0.bb | 41 - .../vulkan/vulkan-loader_1.2.176.0.bb | 41 + .../recipes-graphics/vulkan/vulkan-samples_git.bb | 2 +- .../vulkan/vulkan-tools_1.2.170.0.bb | 32 - .../vulkan/vulkan-tools_1.2.176.0.bb | 32 + .../recipes-graphics/wayland/libinput_1.16.4.bb | 49 - .../recipes-graphics/wayland/libinput_1.17.3.bb | 49 + .../wayland/wayland-protocols_1.20.bb | 22 - .../wayland/wayland-protocols_1.21.bb | 21 + .../recipes-graphics/wayland/wayland_1.19.0.bb | 6 +- .../recipes-graphics/xorg-app/xkbcomp_1.4.4.bb | 18 - .../recipes-graphics/xorg-app/xkbcomp_1.4.5.bb | 18 + .../meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb | 45 - .../meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb | 45 + .../recipes-graphics/xorg-lib/libxfixes_5.0.3.bb | 23 - .../recipes-graphics/xorg-lib/libxfixes_6.0.0.bb | 20 + .../xorg-lib/libxkbcommon_1.0.3.bb | 26 - .../xorg-lib/libxkbcommon_1.3.0.bb | 26 + .../recipes-graphics/xorg-lib/libxres_1.2.0.bb | 20 - .../recipes-graphics/xorg-lib/libxres_1.2.1.bb | 19 + .../xorg-proto/xorgproto_2020.1.bb | 27 - .../xorg-proto/xorgproto_2021.4.99.1.bb | 25 + .../xorg-xserver/xserver-xorg/CVE-2021-3472.patch | 43 - .../xorg-xserver/xserver-xorg_1.20.10.bb | 34 - .../xorg-xserver/xserver-xorg_1.20.11.bb | 33 + .../kern-tools/kern-tools-native_git.bb | 2 +- .../recipes-kernel/kexec/kexec-tools_2.0.21.bb | 88 -- .../recipes-kernel/kexec/kexec-tools_2.0.22.bb | 88 ++ poky/meta/recipes-kernel/kmod/kmod.inc | 4 +- .../linux-firmware/linux-firmware_20210208.bb | 1052 --------------- .../linux-firmware/linux-firmware_20210511.bb | 1052 +++++++++++++++ poky/meta/recipes-kernel/linux/kernel-devsrc.bb | 2 + poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_5.10.bb | 6 +- .../recipes-kernel/linux/linux-yocto-rt_5.4.bb | 6 +- .../recipes-kernel/linux/linux-yocto-tiny_5.10.bb | 8 +- .../recipes-kernel/linux/linux-yocto-tiny_5.4.bb | 8 +- poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb | 24 +- poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb | 22 +- .../0001-Fix-memory-leaks-on-event-destroy.patch | 58 - ...change-missing-CONFIG_TRACEPOINTS-to-warn.patch | 37 + ...interpreter-early-exits-on-uninitialized-.patch | 159 --- ...ing-record-slab-name-for-kmem_cache_free-.patch | 91 -- ...etprobe-null-ptr-deref-on-session-destroy.patch | 41 - .../recipes-kernel/lttng/lttng-modules_2.12.5.bb | 46 - .../recipes-kernel/lttng/lttng-modules_2.12.6.bb | 42 + poky/meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb | 53 - poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb | 52 + poky/meta/recipes-kernel/perf/perf.bb | 2 +- poky/meta/recipes-kernel/powertop/powertop_2.13.bb | 32 - poky/meta/recipes-kernel/powertop/powertop_2.14.bb | 24 + ...rotect-include-and-callsite-with-same-con.patch | 44 - .../recipes-kernel/systemtap/systemtap_git.inc | 5 +- .../ffmpeg/ffmpeg/mips64_cpu_detection.patch | 32 - .../meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb | 170 --- poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb | 178 +++ .../4ef5c91697a141fea7317aff7f0f28e5a861db99.patch | 50 + .../gstreamer/gstreamer1.0-plugins-base_1.18.4.bb | 1 + ...tile-from-static-vars-to-fix-build-with-g.patch | 100 ++ .../gstreamer/gstreamer1.0-plugins-good_1.18.4.bb | 1 + poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb | 4 + .../recipes-multimedia/mpg123/mpg123_1.26.5.bb | 52 - .../recipes-multimedia/mpg123/mpg123_1.27.2.bb | 52 + ...on.build-remove-dependency-on-doxygen-bin.patch | 26 + .../pulseaudio/pulseaudio_14.2.bb | 1 + poky/meta/recipes-multimedia/x264/x264_git.bb | 2 +- poky/meta/recipes-rt/rt-tests/rt-tests.inc | 4 +- .../images/core-image-sato-ptest-fast.bb | 23 - .../images/core-image-sato-sdk-ptest.bb | 27 - ...or-format-overflow-if-the-compiler-suppor.patch | 32 - poky/meta/recipes-sato/puzzles/puzzles_git.bb | 40 +- ...bev-remove-deprecated-throw-specification.patch | 30 - .../recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb | 10 - .../recipes-sato/rxvt-unicode/rxvt-unicode_9.26.bb | 8 + poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb | 21 + poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb | 21 - .../0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch | 14 +- ...-atomics-check-to-include-1-byte-CAS-test.patch | 77 -- .../webkitgtk/0001-Fix-build-with-musl.patch | 91 -- ...e-CompletionHandler-when-USE_OPENGL_OR_ES.patch | 37 + .../webkit/webkitgtk/include_xutil.patch | 18 +- .../webkit/webkitgtk/musl-lower-stack-usage.patch | 31 +- .../webkit/webkitgtk/reduce-memory-overheads.patch | 20 +- poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb | 151 --- poky/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb | 151 +++ .../recipes-sato/webkit/wpebackend-fdo_1.8.3.bb | 20 - .../recipes-sato/webkit/wpebackend-fdo_1.8.4.bb | 20 + .../recipes-support/atk/at-spi2-core_2.40.0.bb | 39 - .../recipes-support/atk/at-spi2-core_2.40.1.bb | 39 + poky/meta/recipes-support/attr/acl_2.2.53.bb | 79 -- poky/meta/recipes-support/attr/acl_2.3.1.bb | 78 ++ poky/meta/recipes-support/boost/boost-1.76.0.inc | 2 +- poky/meta/recipes-support/curl/curl_7.76.0.bb | 90 -- poky/meta/recipes-support/curl/curl_7.77.0.bb | 90 ++ poky/meta/recipes-support/db/db_5.3.28.bb | 2 +- .../recipes-support/diffoscope/diffoscope_172.bb | 30 - .../recipes-support/diffoscope/diffoscope_175.bb | 30 + ...-config-to-find-pth-instead-of-pth-config.patch | 105 -- ...c-use-a-custom-value-for-the-location-of-.patch | 6 +- ...0002-use-pkgconfig-instead-of-npth-config.patch | 73 +- .../gnupg/0003-dirmngr-uses-libgpg-error.patch | 17 +- .../recipes-support/gnupg/gnupg/relocate.patch | 20 +- poky/meta/recipes-support/gnupg/gnupg_2.2.27.bb | 85 -- poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb | 84 ++ .../meta/recipes-support/gnutls/libtasn1_4.16.0.bb | 24 - .../meta/recipes-support/gnutls/libtasn1_4.17.0.bb | 24 + poky/meta/recipes-support/libcap/libcap_2.49.bb | 21 +- poky/meta/recipes-support/libfm/libfm_1.3.1.bb | 56 - poky/meta/recipes-support/libfm/libfm_1.3.2.bb | 55 + ...c-do-not-hardcode-gnu-libc-when-generatin.patch | 27 + .../libgpg-error/libgpg-error/fix-cross.patch | 28 + .../libgpg-error/libgpg-error/pkgconfig.patch | 129 +- .../libgpg-error/libgpg-error_1.41.bb | 41 - .../libgpg-error/libgpg-error_1.42.bb | 43 + .../meta/recipes-support/libpcre/libpcre2_10.36.bb | 52 - .../meta/recipes-support/libpcre/libpcre2_10.37.bb | 52 + poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb | 2 +- ...problem-with-regression-tests-on-recent-g.patch | 43 + poky/meta/recipes-support/npth/npth_1.6.bb | 1 + .../recipes-support/rng-tools/rng-tools_6.11.bb | 60 - .../recipes-support/rng-tools/rng-tools_6.12.bb | 60 + poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb | 12 - poky/meta/recipes-support/sqlite/sqlite3_3.35.5.bb | 12 + poky/meta/recipes-support/vte/vte_0.64.0.bb | 61 - poky/meta/recipes-support/vte/vte_0.64.1.bb | 61 + ...-escape-special-regex-characters-in-paths.patch | 55 + poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb | 4 +- poky/scripts/lib/wic/help.py | 1 + poky/scripts/lib/wic/ksparser.py | 7 +- poky/scripts/lib/wic/partition.py | 16 +- poky/scripts/lib/wic/plugins/source/rawcopy.py | 6 +- poky/scripts/runqemu | 4 +- 656 files changed, 14080 insertions(+), 18329 deletions(-) create mode 100644 poky/meta/classes/gi-docgen.bbclass delete mode 100644 poky/meta/classes/image-mklibs.bbclass create mode 100644 poky/meta/classes/meson-routines.bbclass create mode 100644 poky/meta/conf/distro/include/cve-extra-exclusions.inc delete mode 100644 poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.12.bb create mode 100644 poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb delete mode 100644 poky/meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch delete mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch delete mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch delete mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch delete mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch delete mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch delete mode 100644 poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch delete mode 100644 poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.01.bb create mode 100644 poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb delete mode 100644 poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb create mode 100644 poky/meta/recipes-bsp/u-boot/u-boot_2021.04.bb delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/bind9 delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch delete mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.12/named.service create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/bind9 create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/conf.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch create mode 100644 poky/meta/recipes-connectivity/bind/bind-9.16.16/named.service delete mode 100644 poky/meta/recipes-connectivity/bind/bind_9.16.12.bb create mode 100644 poky/meta/recipes-connectivity/bind/bind_9.16.16.bb create mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch delete mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5_5.56.bb create mode 100644 poky/meta/recipes-connectivity/bluez5/bluez5_5.58.bb delete mode 100644 poky/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb create mode 100644 poky/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb delete mode 100644 poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.14.1.bb create mode 100644 poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb delete mode 100644 poky/meta/recipes-connectivity/ofono/ofono_1.31.bb create mode 100644 poky/meta/recipes-connectivity/ofono/ofono_1.32.bb delete mode 100644 poky/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch delete mode 100644 poky/meta/recipes-core/busybox/busybox_1.33.0.bb create mode 100644 poky/meta/recipes-core/busybox/busybox_1.33.1.bb delete mode 100644 poky/meta/recipes-core/ell/ell_0.39.bb create mode 100644 poky/meta/recipes-core/ell/ell_0.40.bb delete mode 100644 poky/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch delete mode 100644 poky/meta/recipes-core/expat/expat_2.2.10.bb create mode 100644 poky/meta/recipes-core/expat/expat_2.4.1.bb delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb delete mode 100644 poky/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch delete mode 100644 poky/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch create mode 100644 poky/meta/recipes-core/images/core-image-ptest-all.bb create mode 100644 poky/meta/recipes-core/images/core-image-ptest-fast.bb delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.19.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb delete mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.19.bb create mode 100644 poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb delete mode 100644 poky/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch delete mode 100644 poky/meta/recipes-core/libxml/libxml2/CVE-2020-24977.patch delete mode 100644 poky/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch delete mode 100644 poky/meta/recipes-core/libxml/libxml2/fix-python39.patch create mode 100644 poky/meta/recipes-core/libxml/libxml2/remove-fuzz-from-ptests.patch delete mode 100644 poky/meta/recipes-core/libxml/libxml2_2.9.10.bb create mode 100644 poky/meta/recipes-core/libxml/libxml2_2.9.12.bb create mode 100644 poky/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch create mode 100644 poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch create mode 100644 poky/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch create mode 100644 poky/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch create mode 100644 poky/meta/recipes-core/ovmf/ovmf/reproducible.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd-boot_247.6.bb create mode 100644 poky/meta/recipes-core/systemd/systemd-boot_248.3.bb create mode 100644 poky/meta/recipes-core/systemd/systemd-conf_1.0.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd-conf_247.6.bb delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch create mode 100644 poky/meta/recipes-core/systemd/systemd/0001-test-parse-argument-Include-signal.h.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch delete mode 100644 poky/meta/recipes-core/systemd/systemd_247.6.bb create mode 100644 poky/meta/recipes-core/systemd/systemd_248.3.bb create mode 100644 poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch delete mode 100644 poky/meta/recipes-devtools/apt/apt_2.2.2.bb create mode 100644 poky/meta/recipes-devtools/apt/apt_2.2.3.bb create mode 100644 poky/meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch delete mode 100644 poky/meta/recipes-devtools/bison/bison_3.7.5.bb create mode 100644 poky/meta/recipes-devtools/bison/bison_3.7.6.bb delete mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb delete mode 100644 poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch delete mode 100644 poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb create mode 100644 poky/meta/recipes-devtools/ccache/ccache_4.3.bb delete mode 100644 poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb create mode 100644 poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb delete mode 100644 poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch delete mode 100644 poky/meta/recipes-devtools/cmake/cmake_3.19.5.bb create mode 100644 poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb delete mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.0.bb create mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb delete mode 100644 poky/meta/recipes-devtools/distcc/distcc_3.3.5.bb create mode 100644 poky/meta/recipes-devtools/distcc/distcc_3.4.bb create mode 100644 poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch create mode 100644 poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch delete mode 100644 poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb create mode 100644 poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb delete mode 100644 poky/meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb create mode 100644 poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb create mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch create mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch delete mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb create mode 100644 poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb create mode 100644 poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb create mode 100644 poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch delete mode 100644 poky/meta/recipes-devtools/go/go-1.16.3.inc create mode 100644 poky/meta/recipes-devtools/go/go-1.16.4.inc delete mode 100644 poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb create mode 100644 poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb create mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross_1.16.3.bb create mode 100644 poky/meta/recipes-devtools/go/go-cross_1.16.4.bb delete mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb create mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb delete mode 100644 poky/meta/recipes-devtools/go/go-native_1.16.3.bb create mode 100644 poky/meta/recipes-devtools/go/go-native_1.16.4.bb delete mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb create mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb delete mode 100644 poky/meta/recipes-devtools/go/go_1.16.3.bb create mode 100644 poky/meta/recipes-devtools/go/go_1.16.4.bb delete mode 100644 poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb create mode 100644 poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb delete mode 100644 poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb create mode 100644 poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb delete mode 100644 poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch create mode 100644 poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson_0.57.1.bb create mode 100644 poky/meta/recipes-devtools/meson/meson_0.58.0.bb delete mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb create mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb delete mode 100644 poky/meta/recipes-devtools/mklibs/files/ac_init_fix.patch delete mode 100644 poky/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch delete mode 100644 poky/meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch delete mode 100644 poky/meta/recipes-devtools/mklibs/files/fix_cross_compile.patch delete mode 100644 poky/meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch delete mode 100644 poky/meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch delete mode 100644 poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb delete mode 100644 poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch delete mode 100644 poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb create mode 100644 poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb delete mode 100644 poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb create mode 100644 poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb delete mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb create mode 100644 poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-attrs_21.2.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-git_3.1.14.bb create mode 100644 poky/meta/recipes-devtools/python/python3-git_3.1.17.bb create mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis_6.2.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-importlib-metadata_3.4.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb create mode 100644 poky/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb create mode 100644 poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-markdown_3.3.4.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-more-itertools_8.7.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb create mode 100644 poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch delete mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-six_1.15.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-six_1.16.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb delete mode 100644 poky/meta/recipes-devtools/python/python3_3.9.4.bb create mode 100644 poky/meta/recipes-devtools/python/python3_3.9.5.bb delete mode 100644 poky/meta/recipes-devtools/qemu/qemu-native_5.2.0.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu-native_6.0.0.bb delete mode 100644 poky/meta/recipes-devtools/qemu/qemu-system-native_5.2.0.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/mingwfix.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu/mmap.patch delete mode 100644 poky/meta/recipes-devtools/qemu/qemu_5.2.0.bb create mode 100644 poky/meta/recipes-devtools/qemu/qemu_6.0.0.bb delete mode 100644 poky/meta/recipes-devtools/swig/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch delete mode 100644 poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch delete mode 100644 poky/meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch delete mode 100644 poky/meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch delete mode 100644 poky/meta/recipes-devtools/swig/swig_3.0.12.bb create mode 100644 poky/meta/recipes-devtools/swig/swig_4.0.2.bb delete mode 100644 poky/meta/recipes-devtools/vala/vala_0.50.4.bb create mode 100644 poky/meta/recipes-devtools/vala/vala_0.52.3.bb delete mode 100644 poky/meta/recipes-extended/at/at_3.2.1.bb create mode 100644 poky/meta/recipes-extended/at/at_3.2.2.bb delete mode 100644 poky/meta/recipes-extended/cronie/cronie_1.5.5.bb create mode 100644 poky/meta/recipes-extended/cronie/cronie_1.5.7.bb delete mode 100644 poky/meta/recipes-extended/hdparm/hdparm_9.61.bb create mode 100644 poky/meta/recipes-extended/hdparm/hdparm_9.62.bb delete mode 100644 poky/meta/recipes-extended/less/less_563.bb create mode 100644 poky/meta/recipes-extended/less/less_586.bb delete mode 100644 poky/meta/recipes-extended/libidn/libidn2_2.3.0.bb create mode 100644 poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb delete mode 100644 poky/meta/recipes-extended/libtirpc/libtirpc_1.3.1.bb create mode 100644 poky/meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb delete mode 100644 poky/meta/recipes-extended/logrotate/logrotate_3.18.0.bb create mode 100644 poky/meta/recipes-extended/logrotate/logrotate_3.18.1.bb create mode 100644 poky/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp/determinism.patch create mode 100644 poky/meta/recipes-extended/ltp/ltp/disable_hanging_tests.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp/libswapon.patch delete mode 100644 poky/meta/recipes-extended/ltp/ltp_20210121.bb create mode 100644 poky/meta/recipes-extended/ltp/ltp_20210524.bb delete mode 100644 poky/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb create mode 100644 poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb delete mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb create mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb delete mode 100644 poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb create mode 100644 poky/meta/recipes-extended/sudo/sudo_1.9.7.bb delete mode 100644 poky/meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb create mode 100644 poky/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb create mode 100644 poky/meta/recipes-extended/zstd/zstd/0001-MinGW-Build-Fixes.patch delete mode 100644 poky/meta/recipes-extended/zstd/zstd_1.4.9.bb create mode 100644 poky/meta/recipes-extended/zstd/zstd_1.5.0.bb delete mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_3.38.3.bb create mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb create mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch delete mode 100644 poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch create mode 100644 poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb delete mode 100644 poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch delete mode 100644 poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb create mode 100644 poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb delete mode 100644 poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb create mode 100644 poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_40.0.bb delete mode 100644 poky/meta/recipes-gnome/gtk+/gtk+3_3.24.25.bb create mode 100644 poky/meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb create mode 100644 poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch delete mode 100644 poky/meta/recipes-gnome/libgudev/libgudev_234.bb create mode 100644 poky/meta/recipes-gnome/libgudev/libgudev_236.bb create mode 100644 poky/meta/recipes-graphics/cairo/cairo/CVE-2020-35492.patch delete mode 100644 poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb create mode 100644 poky/meta/recipes-graphics/drm/libdrm_2.4.106.bb delete mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb create mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb delete mode 100644 poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch delete mode 100644 poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch delete mode 100644 poky/meta/recipes-graphics/images/core-image-weston-ptest-all.bb delete mode 100644 poky/meta/recipes-graphics/images/core-image-weston-ptest-fast.bb delete mode 100644 poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.5.bb create mode 100644 poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb delete mode 100644 poky/meta/recipes-graphics/pango/pango_1.48.2.bb create mode 100644 poky/meta/recipes-graphics/pango/pango_1.48.5.bb delete mode 100644 poky/meta/recipes-graphics/shaderc/shaderc_2020.5.bb create mode 100644 poky/meta/recipes-graphics/shaderc/shaderc_2021.0.bb delete mode 100644 poky/meta/recipes-graphics/spir/spirv-tools_2020.7.bb create mode 100644 poky/meta/recipes-graphics/spir/spirv-tools_2021.1.bb delete mode 100644 poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb create mode 100644 poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb delete mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch delete mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb create mode 100644 poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb delete mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb create mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.176.0.bb delete mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb create mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.176.0.bb delete mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb create mode 100644 poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.176.0.bb delete mode 100644 poky/meta/recipes-graphics/wayland/libinput_1.16.4.bb create mode 100644 poky/meta/recipes-graphics/wayland/libinput_1.17.3.bb delete mode 100644 poky/meta/recipes-graphics/wayland/wayland-protocols_1.20.bb create mode 100644 poky/meta/recipes-graphics/wayland/wayland-protocols_1.21.bb delete mode 100644 poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.4.bb create mode 100644 poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.5.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libxfixes_6.0.0.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libxres_1.2.1.bb delete mode 100644 poky/meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb create mode 100644 poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb delete mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2021-3472.patch delete mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb create mode 100644 poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.11.bb delete mode 100644 poky/meta/recipes-kernel/kexec/kexec-tools_2.0.21.bb create mode 100644 poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb delete mode 100644 poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb create mode 100644 poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb delete mode 100644 poky/meta/recipes-kernel/powertop/powertop_2.13.bb create mode 100644 poky/meta/recipes-kernel/powertop/powertop_2.14.bb delete mode 100644 poky/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch delete mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch delete mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb create mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch create mode 100644 poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch delete mode 100644 poky/meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb create mode 100644 poky/meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb create mode 100644 poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch delete mode 100644 poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb delete mode 100644 poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb delete mode 100644 poky/meta/recipes-sato/puzzles/files/0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch delete mode 100644 poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/0001-libev-remove-deprecated-throw-specification.patch delete mode 100644 poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb create mode 100644 poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.26.bb create mode 100644 poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb delete mode 100644 poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch delete mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb create mode 100644 poky/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb delete mode 100644 poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.3.bb create mode 100644 poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb delete mode 100644 poky/meta/recipes-support/atk/at-spi2-core_2.40.0.bb create mode 100644 poky/meta/recipes-support/atk/at-spi2-core_2.40.1.bb delete mode 100644 poky/meta/recipes-support/attr/acl_2.2.53.bb create mode 100644 poky/meta/recipes-support/attr/acl_2.3.1.bb delete mode 100644 poky/meta/recipes-support/curl/curl_7.76.0.bb create mode 100644 poky/meta/recipes-support/curl/curl_7.77.0.bb delete mode 100644 poky/meta/recipes-support/diffoscope/diffoscope_172.bb create mode 100644 poky/meta/recipes-support/diffoscope/diffoscope_175.bb delete mode 100644 poky/meta/recipes-support/gnupg/gnupg/0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch delete mode 100644 poky/meta/recipes-support/gnupg/gnupg_2.2.27.bb create mode 100644 poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb delete mode 100644 poky/meta/recipes-support/gnutls/libtasn1_4.16.0.bb create mode 100644 poky/meta/recipes-support/gnutls/libtasn1_4.17.0.bb delete mode 100644 poky/meta/recipes-support/libfm/libfm_1.3.1.bb create mode 100644 poky/meta/recipes-support/libfm/libfm_1.3.2.bb create mode 100644 poky/meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch create mode 100644 poky/meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch delete mode 100644 poky/meta/recipes-support/libgpg-error/libgpg-error_1.41.bb create mode 100644 poky/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb delete mode 100644 poky/meta/recipes-support/libpcre/libpcre2_10.36.bb create mode 100644 poky/meta/recipes-support/libpcre/libpcre2_10.37.bb create mode 100644 poky/meta/recipes-support/npth/npth/0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools_6.11.bb create mode 100644 poky/meta/recipes-support/rng-tools/rng-tools_6.12.bb delete mode 100644 poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb create mode 100644 poky/meta/recipes-support/sqlite/sqlite3_3.35.5.bb delete mode 100644 poky/meta/recipes-support/vte/vte_0.64.0.bb create mode 100644 poky/meta/recipes-support/vte/vte_0.64.1.bb create mode 100644 poky/meta/recipes-support/xxhash/files/0001-Makefile-escape-special-regex-characters-in-paths.patch diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py index 6d82f3af0..784df70c9 100644 --- a/poky/bitbake/lib/bb/fetch2/wget.py +++ b/poky/bitbake/lib/bb/fetch2/wget.py @@ -472,7 +472,7 @@ class Wget(FetchMethod): version_dir = ['', '', ''] version = ['', '', ''] - dirver_regex = re.compile(r"(?P\D*)(?P(\d+[\.\-_])+(\d+))") + dirver_regex = re.compile(r"(?P\D*)(?P(\d+[\.\-_])*(\d+))") s = dirver_regex.search(dirver) if s: version_dir[1] = s.group('ver') diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py index 3e99bcef8..155e8d131 100644 --- a/poky/bitbake/lib/bb/server/process.py +++ b/poky/bitbake/lib/bb/server/process.py @@ -367,7 +367,12 @@ class ProcessServer(): self.next_heartbeat = now + self.heartbeat_seconds if hasattr(self.cooker, "data"): heartbeat = bb.event.HeartbeatEvent(now) - bb.event.fire(heartbeat, self.cooker.data) + try: + bb.event.fire(heartbeat, self.cooker.data) + except Exception as exc: + if not isinstance(exc, bb.BBHandledException): + logger.exception('Running heartbeat function') + self.quit = True if nextsleep and now + nextsleep > self.next_heartbeat: # Shorten timeout so that we we wake up in time for # the heartbeat. diff --git a/poky/bitbake/lib/hashserv/client.py b/poky/bitbake/lib/hashserv/client.py index 531170967..1a67c6982 100644 --- a/poky/bitbake/lib/hashserv/client.py +++ b/poky/bitbake/lib/hashserv/client.py @@ -3,11 +3,8 @@ # SPDX-License-Identifier: GPL-2.0-only # -import asyncio -import json import logging import socket -import os import bb.asyncrpc from . import create_async_client diff --git a/poky/bitbake/lib/hashserv/server.py b/poky/bitbake/lib/hashserv/server.py index c941c0e9d..8e8498973 100644 --- a/poky/bitbake/lib/hashserv/server.py +++ b/poky/bitbake/lib/hashserv/server.py @@ -6,13 +6,8 @@ from contextlib import closing, contextmanager from datetime import datetime import asyncio -import json import logging import math -import os -import signal -import socket -import sys import time from . import create_async_client, TABLE_COLUMNS import bb.asyncrpc @@ -124,7 +119,6 @@ async def copy_from_upstream(client, db, method, taskhash): if d is not None: # Filter out unknown columns d = {k: v for k, v in d.items() if k in TABLE_COLUMNS} - keys = sorted(d.keys()) with closing(db.cursor()) as cursor: insert_task(cursor, d) @@ -137,7 +131,6 @@ async def copy_outhash_from_upstream(client, db, method, outhash, taskhash): if d is not None: # Filter out unknown columns d = {k: v for k, v in d.items() if k in TABLE_COLUMNS} - keys = sorted(d.keys()) with closing(db.cursor()) as cursor: insert_task(cursor, d) diff --git a/poky/documentation/README b/poky/documentation/README index 176c6db35..3ad23a902 100644 --- a/poky/documentation/README +++ b/poky/documentation/README @@ -32,7 +32,7 @@ these instances. Manual Organization =================== -Folders exist for individual manuals as follows: +Here the folders corresponding to individual manuals: * sdk-manual - The Yocto Project Software Development Kit (SDK) Developer's Guide. * bsp-guide - The Yocto Project Board Support Package (BSP) Developer's Guide @@ -167,7 +167,7 @@ The layout of the Yocto Project manuals is organized as follows Section Section -The following headings styles are defined in Sphinx: +Here are the heading styles defined in Sphinx: Book => overline === Chapter => overline *** diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst index 6a12b19ca..7ae4526c4 100644 --- a/poky/documentation/brief-yoctoprojectqs/index.rst +++ b/poky/documentation/brief-yoctoprojectqs/index.rst @@ -297,7 +297,7 @@ modular development and makes it easier to reuse the layer metadata. Follow these steps to add a hardware layer: -#. **Find a Layer:** Lots of hardware layers exist. The Yocto Project +#. **Find a Layer:** Many hardware layers are available. The Yocto Project :yocto_git:`Source Repositories <>` has many hardware layers. This example adds the `meta-altera `__ hardware layer. @@ -318,8 +318,8 @@ Follow these steps to add a hardware layer: Resolving deltas: 100% (13385/13385), done. Checking connectivity... done. - The hardware layer now exists - with other layers inside the Poky reference repository on your build + The hardware layer is now available + next to other layers inside the Poky reference repository on your build host as ``meta-altera`` and contains all the metadata needed to support hardware from Altera, which is owned by Intel. @@ -431,8 +431,8 @@ information including the website, wiki pages, and user manuals: information. - **Yocto Project Mailing Lists:** Related mailing lists provide a forum - for discussion, patch submission and announcements. Several mailing - lists exist and are grouped according to areas of concern. See the + for discussion, patch submission and announcements. There are several + mailing lists grouped by topic. See the :ref:`ref-manual/resources:mailing lists` section in the Yocto Project Reference Manual for a complete list of Yocto Project mailing lists. diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst index 0b0b52d90..b46773ded 100644 --- a/poky/documentation/bsp-guide/bsp.rst +++ b/poky/documentation/bsp-guide/bsp.rst @@ -267,7 +267,7 @@ maintain the distinction that the BSP layer, a build system, and tools are separate components that could be combined in certain end products. Before looking at the recommended form for the directory structure -inside a BSP layer, you should be aware that some requirements do exist +inside a BSP layer, you should be aware that there are some requirements in order for a BSP layer to be considered compliant with the Yocto Project. For that list of requirements, see the ":ref:`bsp-guide/bsp:released bsp requirements`" section. @@ -763,8 +763,8 @@ workflow. .. note:: - - Four hardware reference BSPs exist that are part of the Yocto - Project release and are located in the ``poky/meta-yocto-bsp`` + - There are four hardware reference BSPs in the Yocto + Project release, located in the ``poky/meta-yocto-bsp`` BSP layer: - Texas Instruments Beaglebone (``beaglebone-yocto``) @@ -773,8 +773,8 @@ workflow. - Two general IA platforms (``genericx86`` and ``genericx86-64``) - - Three core Intel BSPs exist as part of the Yocto Project - release in the ``meta-intel`` layer: + - There are three core Intel BSPs in the Yocto Project + release, in the ``meta-intel`` layer: - ``intel-core2-32``, which is a BSP optimized for the Core2 family of CPUs as well as all CPUs prior to the Silvermont @@ -832,10 +832,8 @@ workflow. Requirements and Recommendations for Released BSPs ================================================== -Certain requirements exist for a released BSP to be considered compliant -with the Yocto Project. Additionally, recommendations also exist. This -section describes the requirements and recommendations for released -BSPs. +This section describes requirements and recommendations for a released +BSP to be considered compliant with the Yocto Project. Released BSP Requirements ------------------------- @@ -864,7 +862,7 @@ Before looking at BSP requirements, you should consider the following: - It is not required that specific packages or package modifications exist in the BSP layer, beyond the requirements for general - compliance with the Yocto Project. For example, no requirement exists + compliance with the Yocto Project. For example, there is no requirement dictating that a specific kernel or kernel version be used in a given BSP. @@ -900,7 +898,7 @@ Yocto Project: - *License File:* You must include a license file in the ``meta-bsp_root_name`` directory. This license covers the BSP Metadata as a whole. You must specify which license to use since no - default license exists when one is not specified. See the + default license exists. See the :yocto_git:`COPYING.MIT ` file for the Raspberry Pi BSP in the ``meta-raspberrypi`` BSP layer as an example. @@ -1107,7 +1105,7 @@ system requirements. unsuitable functionality or quality, you can use an encumbered version. -A couple different methods exist within the OpenEmbedded build system to +There are two different methods within the OpenEmbedded build system to satisfy the licensing requirements for an encumbered BSP. The following list describes them in order of preference: @@ -1186,11 +1184,11 @@ Use these steps to create a BSP layer: - *Create a Machine Configuration File:* Create a ``conf/machine/bsp_root_name.conf`` file. See :yocto_git:`meta-yocto-bsp/conf/machine ` - for sample ``bsp_root_name.conf`` files. Other samples such as + for sample ``bsp_root_name.conf`` files. There are other samples such as :yocto_git:`meta-ti ` and :yocto_git:`meta-freescale ` - exist from other vendors that have more specific machine and tuning + from other vendors that have more specific machine and tuning examples. - *Create a Kernel Recipe:* Create a kernel recipe in @@ -1241,7 +1239,7 @@ As mentioned earlier in this section, the existence of a machine configuration file is what makes a layer a BSP layer as compared to a general or kernel layer. -One or more machine configuration files exist in the +There are one or more machine configuration files in the ``bsp_layer/conf/machine/`` directory of the layer:: bsp_layer/conf/machine/machine1\.conf @@ -1311,7 +1309,7 @@ Project Reference Manual. - :term:`PREFERRED_PROVIDER_virtual/xserver `: The recipe that provides "virtual/xserver" when more than one provider is found. In this case, the recipe that provides - "virtual/xserver" is "xserver-xorg", which exists in + "virtual/xserver" is "xserver-xorg", available in ``poky/meta/recipes-graphics/xorg-xserver``. - :term:`XSERVER`: The packages that @@ -1326,7 +1324,7 @@ Project Reference Manual. .. tip:: - Many ``MACHINE*`` variables exist that help you configure a particular piece + There are many ``MACHINE*`` variables that help you configure a particular piece of hardware. - :term:`EXTRA_IMAGEDEPENDS`: @@ -1339,9 +1337,9 @@ Project Reference Manual. - :term:`DEFAULTTUNE`: Machines use tunings to optimize machine, CPU, and application performance. These features, which are collectively known as "tuning features", - exist in the :term:`OpenEmbedded-Core (OE-Core)` layer (e.g. + are set in the :term:`OpenEmbedded-Core (OE-Core)` layer (e.g. ``poky/meta/conf/machine/include``). In this example, the default - tuning file is "cortexa8hf-neon". + tuning file is ``cortexa8hf-neon``. .. note:: diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst index 37c7a19bf..130734173 100644 --- a/poky/documentation/dev-manual/common-tasks.rst +++ b/poky/documentation/dev-manual/common-tasks.rst @@ -346,7 +346,7 @@ The application consists of the following sections: of the Yocto Project for which your layer is compatible. - *Acceptance Criteria:* Provide "Yes" or "No" answers for each of the - items in the checklist. Space exists at the bottom of the form for + items in the checklist. There is space at the bottom of the form for any explanations for items for which you answered "No". - *Recommendations:* Provide answers for the questions regarding Linux @@ -542,7 +542,7 @@ important as it ensures that items in the list remain colon-separated. paths in the final list. Also, not all append files add extra files. Many append files simply - exist to add build options (e.g. ``systemd``). For these cases, your + allow to add build options (e.g. ``systemd``). For these cases, your append file would not even use the ``FILESEXTRAPATHS`` statement. Prioritizing Your Layer @@ -1060,8 +1060,8 @@ The remainder of the section provides details for the steps. Locate or Automatically Create a Base Recipe -------------------------------------------- -You can always write a recipe from scratch. However, three choices exist -that can help you quickly get a start on a new recipe: +You can always write a recipe from scratch. However, there are three choices +that can help you quickly get started with a new recipe: - ``devtool add``: A command that assists in creating a recipe and an environment conducive to development. @@ -1521,8 +1521,8 @@ software is built; and runtime dependencies, which are required to be installed on the target in order for the software to run. Within a recipe, you specify build-time dependencies using the -:term:`DEPENDS` variable. Although -nuances exist, items specified in ``DEPENDS`` should be names of other +:term:`DEPENDS` variable. Although there are nuances, +items specified in ``DEPENDS`` should be names of other recipes. It is important that you specify all build-time dependencies explicitly. @@ -1589,7 +1589,7 @@ your software is built: - *Autotools:* If your source files have a ``configure.ac`` file, then your software is built using Autotools. If this is the case, you just - need to worry about modifying the configuration. + need to modify the configuration. When using Autotools, your recipe needs to inherit the :ref:`autotools ` class @@ -1603,7 +1603,7 @@ your software is built: - *CMake:* If your source files have a ``CMakeLists.txt`` file, then your software is built using CMake. If this is the case, you just - need to worry about modifying the configuration. + need to modify the configuration. When you use CMake, your recipe needs to inherit the :ref:`cmake ` class and your @@ -2183,8 +2183,8 @@ script to first boot is undesirable and for read-only rootfs impossible. .. note:: - Equivalent support for pre-install, pre-uninstall, and post-uninstall - scripts exist by way of ``pkg_preinst``, ``pkg_prerm``, and ``pkg_postrm``, + There is equivalent support for pre-install, pre-uninstall, and post-uninstall + scripts by way of ``pkg_preinst``, ``pkg_prerm``, and ``pkg_postrm``, respectively. These scrips work in exactly the same way as does ``pkg_postinst`` with the exception that they run at different times. Also, because of when they run, they are not applicable to being run at image @@ -2376,7 +2376,7 @@ Packaging Externally Produced Binaries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sometimes, you need to add pre-compiled binaries to an image. For -example, suppose that binaries for proprietary code exist, which are +example, suppose that there are binaries for proprietary code, created by a particular division of a company. Your part of the company needs to use those binaries as part of an image that you are building using the OpenEmbedded build system. Since you only have the binaries @@ -2513,7 +2513,7 @@ chapter of the BitBake User Manual. syntax, although access to OpenEmbedded variables and internal methods are also available. - The following is an example function from the ``sed`` recipe:: + Here is an example function from the ``sed`` recipe:: do_install () { autotools_do_install @@ -2832,7 +2832,7 @@ Over time, upstream developers publish new versions for software built by layer recipes. It is recommended to keep recipes up-to-date with upstream version releases. -While several methods exist that allow you upgrade a recipe, you might +While there are several methods to upgrade a recipe, you might consider checking on the upgrade status of a recipe first. You can do so using the ``devtool check-upgrade-status`` command. See the ":ref:`devtool-checking-on-the-upgrade-status-of-a-recipe`" @@ -2861,8 +2861,8 @@ commit messages in the layer's tree for the changes made to recipes. .. note:: - Conditions do exist when you should not use AUH to upgrade recipes - and you should instead use either ``devtool upgrade`` or upgrade your + In some conditions, you should not use AUH to upgrade recipes + and should instead use either ``devtool upgrade`` or upgrade your recipes manually: - When AUH cannot complete the upgrade sequence. This situation @@ -2922,7 +2922,7 @@ The following steps describe how to set up the AUH utility: undesirably. 5. *Make Configurations in Your Local Configuration File:* Several - settings need to exist in the ``local.conf`` file in the build + settings are needed in the ``local.conf`` file in the build directory you just created for AUH. Make these following configurations: @@ -3131,8 +3131,8 @@ newly upgraded recipe:: NOTE: nano: compiling from external source tree /home/scottrif/poky/build/workspace/sources/nano NOTE: Tasks Summary: Attempted 520 tasks of which 304 didn't need to be rerun and all succeeded. -Within the ``devtool upgrade`` workflow, opportunity -exists to deploy and test your rebuilt software. For this example, +Within the ``devtool upgrade`` workflow, you can +deploy and test your rebuilt software. For this example, however, running ``devtool finish`` cleans up the workspace once the source in your workspace is clean. This usually means using Git to stage and submit commits for the changes generated by the upgrade process. @@ -3214,7 +3214,7 @@ To manually upgrade recipe versions, follow these general steps: if the recipe is to be released publicly. 5. *Check the Upstream Change Log or Release Notes:* Checking both these - reveals if new features exist that could break + reveals if there are new features that could break backwards-compatibility. If so, you need to take steps to mitigate or eliminate that situation. @@ -3517,7 +3517,7 @@ Building a Simple Image In the development environment, you need to build an image whenever you change hardware support, add or change system libraries, or add or -change services that have dependencies. Several methods exist that allow +change services that have dependencies. There are several methods that allow you to build an image within the Yocto Project. This section presents the basic steps you need to build a simple image using BitBake from a build host running Linux. @@ -4215,7 +4215,7 @@ your tunings to best consider build times and package feed maintenance. sysroot for each machine is generated, the software is not recompiled and only one package feed exists. -- *Manage Granular Level Packaging:* Sometimes cases exist where +- *Manage Granular Level Packaging:* Sometimes there are cases where injecting another level of package architecture beyond the three higher levels noted earlier can be useful. For example, consider how NXP (formerly Freescale) allows for the easy reuse of binary packages @@ -4281,7 +4281,7 @@ By default, the OpenEmbedded build system uses the code. The build process involves fetching the source files, unpacking them, and then patching them if necessary before the build takes place. -Situations exist where you might want to build software from source +There are situations where you might want to build software from source files that are external to and thus outside of the OpenEmbedded build system. For example, suppose you have a project that includes a new BSP with a heavily customized kernel. And, you want to minimize exposing the @@ -4648,7 +4648,7 @@ libraries and other binaries to use a different set of libraries. The libraries could differ in architecture, compiler options, or other optimizations. -Several examples exist in the ``meta-skeleton`` layer found in the +There are several examples in the ``meta-skeleton`` layer found in the :term:`Source Directory`: - ``conf/multilib-example.conf`` configuration file @@ -4661,7 +4661,7 @@ Preparing to Use Multilib ~~~~~~~~~~~~~~~~~~~~~~~~~ User-specific requirements drive the Multilib feature. Consequently, -there is no one "out-of-the-box" configuration that likely exists to +there is no one "out-of-the-box" configuration that would meet your needs. In order to enable Multilib, you first need to ensure your recipe is @@ -4724,8 +4724,8 @@ specifically with a command like this:: Additional Implementation Details ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Generic implementation details as well as details that are specific to -package management systems exist. Following are implementation details +There are generic implementation details as well as details that are specific to +package management systems. Following are implementation details that exist regardless of the package management system: - The typical convention used for the class extension code as used by @@ -4742,8 +4742,7 @@ that exist regardless of the package management system: vendor string presently break Autoconf's ``config.sub``, and other separators are problematic for different reasons. -For the RPM Package Management System, the following implementation -details exist: +Here are the implementation details for the RPM Package Management System: - A unique architecture is defined for the Multilib packages, along with creating a unique deploy folder under ``tmp/deploy/rpm`` in the @@ -4764,8 +4763,7 @@ details exist: - The build system relies on RPM to resolve the identical files in the two (or more) Multilib packages. -For the IPK Package Management System, the following implementation -details exist: +Here are the implementation details for the IPK Package Management System: - The ``${MLPREFIX}`` is not stripped from ``${PN}`` during IPK packaging. The naming for a normal RPM package and a Multilib IPK @@ -4783,9 +4781,9 @@ details exist: Installing Multiple Versions of the Same Library ------------------------------------------------ -Situations can exist where you need to install and use multiple versions -of the same library on the same system at the same time. These -situations almost always exist when a library API changes and you have +There are be situations where you need to install and use multiple versions +of the same library on the same system at the same time. This +almost always happens when a library API changes and you have multiple pieces of software that depend on the separate versions of the library. To accommodate these situations, you can install multiple versions of the same library in parallel on the same system. @@ -4850,9 +4848,9 @@ follows: - You can create and boot ``core-image-minimal`` and ``core-image-sato`` images. -- RPM Package Manager (RPM) support exists for x32 binaries. +- There is RPM Package Manager (RPM) support for x32 binaries. -- Support for large images exists. +- There is support for large images. To use the x32 psABI, you need to edit your ``conf/local.conf`` configuration file as follows:: @@ -4918,7 +4916,7 @@ library package involves the following: :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` and that "qemu-usermode" is not in :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`. - If either of these conditions exist, nothing will happen. + In either of these conditions, nothing will happen. 3. Try to build the recipe. If you encounter build errors that look like something is unable to find ``.so`` libraries, check where these @@ -5005,7 +5003,7 @@ working in an image: Known Issues ------------ -The following know issues exist for GObject Introspection Support: +Here are know issues in GObject Introspection Support: - ``qemu-ppc64`` immediately crashes. Consequently, you cannot build introspection data on that architecture. @@ -5184,7 +5182,7 @@ For example, the following returns overview help for Wic:: $ wic help overview -One additional level of help exists for Wic. You can get help on +There is one additional level of help for Wic. You can get help on individual images through the ``list`` command. You can use the ``list`` command to return the available Wic images as follows:: @@ -5872,8 +5870,8 @@ your image more secure. General Considerations ---------------------- -General considerations exist that help you create more secure images. -You should consider the following suggestions to help make your device +There are general considerations that help you create more secure images. +You should consider the following suggestions to make your device more secure: - Scan additional code you are adding to the system (e.g. application @@ -6210,8 +6208,8 @@ or to not install a package at all. The following list introduces variables you can use to prevent packages from being installed into your image. Each of these variables only works -with IPK and RPM package types. Support for Debian packages does not -exist. Also, you can use these variables from your ``local.conf`` file +with IPK and RPM package types, not for Debian packages. +Also, you can use these variables from your ``local.conf`` file or attach them to a specific image recipe by using a recipe name override. For more detail on the variables, see the descriptions in the Yocto Project Reference Manual's glossary chapter. @@ -6285,7 +6283,7 @@ maintain a package feed that is compatible with existing package manager applications such as RPM, APT, and OPKG, using an automated system is much preferred over a manual system. In either system, the main requirement is that binary package version numbering increases in a -linear fashion and that a number of version components exist that +linear fashion and that there is a number of version components that support that linear progression. For information on how to ensure package revisioning remains linear, see the ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`" @@ -6342,7 +6340,7 @@ generated are just "self consistent". The build system adds and removes packages and there are no guarantees about upgrade paths but images will be consistent and correct with the latest changes. -The simplest form for a PR Service is for it to exist for a single host +The simplest form for a PR Service is for a single host development system that builds the package feed (building system). For this scenario, you can enable a local PR Service by setting :term:`PRSERV_HOST` in your @@ -6545,7 +6543,7 @@ The previous example specifies a number of things in the call to "Lighttpd module for alias". Often, packaging modules is as simple as the previous example. However, -more advanced options exist that you can use within +there are more advanced options that you can use within ``do_split_packages`` to modify its behavior. And, if you need to, you can add more logic by specifying a hook function that is called for each package. It is also perfectly acceptable to call ``do_split_packages`` @@ -7024,7 +7022,7 @@ file:: `passphrase`. Aside from the ``RPM_GPG_NAME`` and ``RPM_GPG_PASSPHRASE`` variables in -the previous example, two optional variables related to signing exist: +the previous example, two optional variables related to signing are available: - *GPG_BIN:* Specifies a ``gpg`` binary/wrapper that is executed when the package is signed. @@ -7046,14 +7044,14 @@ your ``local.config`` or ``distro.config`` file:: PACKAGE_FEED_GPG_NAME = "key_name" PACKAGE_FEED_GPG_PASSPHRASE_FILE = "path_to_file_containing_passphrase" -For signed package feeds, the passphrase must exist in a separate file, +For signed package feeds, the passphrase must be specified in a separate file, which is pointed to by the ``PACKAGE_FEED_GPG_PASSPHRASE_FILE`` variable. Regarding security, keeping a plain text passphrase out of the configuration is more secure. Aside from the ``PACKAGE_FEED_GPG_NAME`` and ``PACKAGE_FEED_GPG_PASSPHRASE_FILE`` variables, three optional variables -related to signed package feeds exist: +related to signed package feeds are available: - *GPG_BIN* Specifies a ``gpg`` binary/wrapper that is executed when the package is signed. @@ -7192,7 +7190,7 @@ use this fetcher in combination with :doc:`devtool ` to create recipes that produce NPM packages. -Two workflows exist that allow you to create NPM packages using +There are two workflows that allow you to create NPM packages using ``devtool``: the NPM registry modules method and the NPM project code method. @@ -7296,7 +7294,7 @@ The ``devtool edit-recipe`` command lets you take a look at the recipe:: ... LICENSE_${PN}-vary = "MIT" -Three key points exist in the previous example: +Here are three key points in the previous example: - :term:`SRC_URI` uses the NPM scheme so that the NPM fetcher is used. @@ -7413,7 +7411,7 @@ The variable can contain multiple [one-line] metadata fields separated by the literal sequence '\\n'. The separator can be redefined using the variable flag ``separator``. -The following is an example that adds two custom fields for ipk +Here is an example that adds two custom fields for ipk packages:: PACKAGE_ADD_METADATA_IPK = "Vendor: CustomIpk\nGroup:Applications/Spreadsheets" @@ -7488,7 +7486,7 @@ Selecting an Initialization Manager =================================== By default, the Yocto Project uses SysVinit as the initialization -manager. However, support also exists for systemd, which is a full +manager. However, there is also support for systemd, which is a full replacement for init with parallel starting of services, reduced shell overhead and other features that are used by many distributions. @@ -7794,7 +7792,7 @@ link to the built library and that library will be pulled into your image along with the new software even if you did not want the library. The :ref:`buildhistory ` -class exists to help you maintain the quality of your build output. You +class helps you maintain the quality of your build output. You can use the class to highlight unexpected and possibly unwanted changes in the build output. When you enable build history, it records information about the contents of each package and image and then @@ -7844,12 +7842,12 @@ Build history information is kept in ``${``\ :term:`TOPDIR`\ ``}/buildhistory`` in the Build Directory as defined by the :term:`BUILDHISTORY_DIR` -variable. The following is an example abbreviated listing: +variable. Here is an example abbreviated listing: .. image:: figures/buildhistory.png :align: center -At the top level, a ``metadata-revs`` file exists that lists the +At the top level, there is a ``metadata-revs`` file that lists the revisions of the repositories for the enabled layers when the build was produced. The rest of the data splits into separate ``packages``, ``images`` and ``sdk`` directories, the contents of which are described @@ -7885,7 +7883,7 @@ The exceptions are ``FILELIST``, which is the actual list of files in the package, and ``PKGSIZE``, which is the total size of files in the package in bytes. -A file also exists that corresponds to the recipe from which the package +There is also a file that corresponds to the recipe from which the package came (e.g. ``buildhistory/packages/i586-poky-linux/busybox/latest``): .. code-block:: none @@ -7900,8 +7898,8 @@ came (e.g. ``buildhistory/packages/i586-poky-linux/busybox/latest``): busybox-staticdev busybox-dev busybox-doc busybox-locale busybox Finally, for those recipes fetched from a version control system (e.g., -Git), a file exists that lists source revisions that are specified in -the recipe and lists the actual revisions used during the build. Listed +Git), there is a file that lists source revisions that are specified in +the recipe and the actual revisions used during the build. Listed and actual revisions might differ when :term:`SRCREV` is set to ${:term:`AUTOREV`}. Here is an @@ -8141,7 +8139,7 @@ You need to realize, however, that this method does show changes that are not significant (e.g. a package's size changing by a few bytes). -A command-line tool called ``buildhistory-diff`` does exist, though, +There is a command-line tool called ``buildhistory-diff``, though, that queries the Git repository and prints just the differences that might be significant in human-readable form. Here is an example:: @@ -8315,7 +8313,7 @@ the MAC address of the device. In order to run tests on hardware, you need to set ``TEST_TARGET`` to an appropriate value. For QEMU, you do not have to change anything, the default value is "qemu". For running tests on hardware, the following -options exist: +options are available: - *"simpleremote":* Choose "simpleremote" if you are going to run tests on a target system that is already running the image to be tested and @@ -8639,7 +8637,7 @@ layer's ``layer.conf`` file as normal). Just remember the following: - Do not use module names that collide with existing core tests. -- Minimally, an empty ``__init__.py`` file must exist in the runtime +- Minimally, an empty ``__init__.py`` file must be present in the runtime directory. To create a new test, start by copying an existing module (e.g. @@ -8719,7 +8717,7 @@ Class attributes are as follows: Instance Attributes ~~~~~~~~~~~~~~~~~~~ -A single instance attribute exists, which is ``target``. The ``target`` +There is a single instance attribute, which is ``target``. The ``target`` instance attribute is identical to the class attribute of the same name, which is described in the previous section. This attribute exists as both an instance and class attribute so tests can use @@ -9348,7 +9346,7 @@ Recipe Logging Mechanisms The Yocto Project provides several logging functions for producing debugging output and reporting errors and warnings. For Python -functions, the following logging functions exist. All of these functions +functions, the following logging functions are available. All of these functions log to ``${T}/log.do_``\ `task`, and can also log to standard output (stdout) with the right settings: @@ -9454,8 +9452,8 @@ A parallel ``make`` race occurs when the build consists of several parts that are run simultaneously and a situation occurs when the output or result of one part is not ready for use with a different part of the build that depends on that output. Parallel make races are annoying and -can sometimes be difficult to reproduce and fix. However, some simple -tips and tricks exist that can help you debug and fix them. This section +can sometimes be difficult to reproduce and fix. However, there are some simple +tips and tricks that can help you debug and fix them. This section presents a real-world example of an error encountered on the Yocto Project autobuilder and the process used to fix it. @@ -9578,7 +9576,7 @@ In the ``devshell``, do the following:: $ make tools/snep-send.o The ``devshell`` commands cause the failure to clearly -be visible. In this case, a missing dependency exists for the "neard" +be visible. In this case, there is a missing dependency for the ``neard`` Makefile target. Here is some abbreviated, sample output with the missing dependency clearly visible at the end:: @@ -9623,9 +9621,8 @@ patch:: $ quilt refresh Refreshed patch patches/parallelmake.patch -Once -the patch file exists, you need to add it back to the originating recipe -folder. Here is an example assuming a top-level +Once the patch file is created, you need to add it back to the originating +recipe folder. Here is an example assuming a top-level :term:`Source Directory` named ``poky``:: $ cp patches/parallelmake.patch poky/meta/recipes-connectivity/neard/neard @@ -10119,7 +10116,7 @@ specific uses. The Yocto Project uses a mailing list and a patch-based workflow that is similar to the Linux kernel but contains important differences. In -general, a mailing list exists through which you can submit patches. You +general, there is a mailing list through which you can submit patches. You should send patches to the appropriate mailing list so that they can be reviewed and merged by the appropriate maintainer. The specific mailing list you need to use depends on the location of the code you are @@ -10796,8 +10793,8 @@ Here are some other scenarios: Other Variables Related to Commercial Licenses ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Other helpful variables related to commercial license handling exist and -are defined in the +There are other helpful variables related to commercial license handling, +defined in the ``poky/meta/conf/distro/include/default-distrovars.inc`` file:: COMMERCIAL_AUDIO_PLUGINS ?= "" @@ -10841,7 +10838,7 @@ requirements during a software release. With hundreds of different open source licenses that the Yocto Project tracks, it is difficult to know the requirements of each and every license. However, the requirements of the major FLOSS licenses can begin -to be covered by assuming that three main areas of concern exist: +to be covered by assuming that there are three main areas of concern: - Source code must be provided. @@ -11058,7 +11055,7 @@ this function, you have to follow the following steps: 3. Meta-spdxscanner provides several methods within the bbclass to create spdx files. Please choose one that you want to use and enable the spdx task. You have to add some config options in ``local.conf`` file in your :term:`Build - Directory`. The following is an example showing how to generate spdx files + Directory`. Here is an example showing how to generate spdx files during bitbake using the fossology-python.bbclass:: # Select fossology-python.bbclass. @@ -11088,7 +11085,7 @@ package, by using the variable. Using this variable also avoids QA errors when you use a non-common, non-CLOSED license in a recipe. -The following is an example that uses the ``LICENSE.Abilis.txt`` file as +Here is an example that uses the ``LICENSE.Abilis.txt`` file as the license from the fetched source:: NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENSE.Abilis.txt" @@ -11105,9 +11102,9 @@ portion is integrated with the installed Yocto Project The server receives the information collected and saves it in a database. -A live instance of the error reporting server exists at -https://errors.yoctoproject.org. This server exists so that when -you want to get help with build failures, you can submit all of the +There is a live instance of the error reporting server at +https://errors.yoctoproject.org. +When you want to get help with build failures, you can submit all of the information on the failure easily and then point to the URL in your bug report or send an email to the mailing list. diff --git a/poky/documentation/dev-manual/qemu.rst b/poky/documentation/dev-manual/qemu.rst index 2b6d3d76c..88a63c180 100644 --- a/poky/documentation/dev-manual/qemu.rst +++ b/poky/documentation/dev-manual/qemu.rst @@ -219,15 +219,15 @@ using an NFS server. Should you need to start, stop, or restart the NFS share, you can use the following commands: - - The following command starts the NFS share:: + - To start the NFS share:: runqemu-export-rootfs start file-system-location - - The following command stops the NFS share:: + - To stop the NFS share:: runqemu-export-rootfs stop file-system-location - - The following command restarts the NFS share:: + - To restart the NFS share:: runqemu-export-rootfs restart file-system-location @@ -275,7 +275,7 @@ present, the toolchain is also automatically used. .. note:: - Several mechanisms exist that let you connect to the system running + There are several mechanisms to connect to the system running on the QEMU emulator: - QEMU provides a framebuffer interface that makes standard consoles @@ -286,7 +286,7 @@ present, the toolchain is also automatically used. that port to run a console. The connection uses standard IP networking. - - SSH servers exist in some QEMU images. The ``core-image-sato`` + - SSH servers are available in some QEMU images. The ``core-image-sato`` QEMU image has a Dropbear secure shell (SSH) server that runs with the root password disabled. The ``core-image-full-cmdline`` and ``core-image-lsb`` QEMU images have OpenSSH instead of Dropbear. diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst index 18fd8ccf6..c3276c950 100644 --- a/poky/documentation/dev-manual/start.rst +++ b/poky/documentation/dev-manual/start.rst @@ -36,7 +36,7 @@ particular working environment and set of practices. equipment together and set up your development environment's hardware topology. - The following roles exist: + Here are possible roles: - *Application Developer:* This type of developer does application level work on top of an existing software stack. @@ -99,8 +99,7 @@ particular working environment and set of practices. .. note:: The setup of these services is beyond the scope of this manual. - However, sites such as the following exist that describe how to - perform setup: + However, here are sites describing how to perform setup: - `Gitolite `__: Information for ``gitolite``. @@ -190,7 +189,7 @@ particular working environment and set of practices. develop locally using their primary development system. 9. *Document Policies and Change Flow:* The Yocto Project uses a - hierarchical structure and a pull model. Scripts exist to create and + hierarchical structure and a pull model. There are scripts to create and send pull requests (i.e. ``create-pull-request`` and ``send-pull-request``). This model is in line with other open source projects where maintainers are responsible for specific areas of the @@ -215,8 +214,8 @@ particular working environment and set of practices. someone else in the community needs them also. 10. *Development Environment Summary:* Aside from the previous steps, - some best practices exist within the Yocto Project development - environment. Consider the following: + here are best practices within the Yocto Project development + environment: - Use :ref:`overview-manual/development-environment:git` as the source control system. @@ -607,8 +606,8 @@ of a given component. The recommended method for accessing Yocto Project components is to use Git to clone the upstream repository and work from within that - locally cloned repository. The procedure in this section exists - should you desire a tarball snapshot of any given component. + locally cloned repository. However, this section documents how to + use a tarball snapshot of any given component. Follow these steps to locate and download a particular tarball: @@ -645,13 +644,6 @@ release. Rather than Git repositories, these files represent snapshot tarballs similar to the tarballs located in the Index of Releases described in the ":ref:`dev-manual/start:accessing index of releases`" section. -.. note:: - - The recommended method for accessing Yocto Project components is to - use Git to clone a repository and work from within that local - repository. The procedure in this section exists should you desire a - tarball snapshot of any given component. - 1. *Go to the Yocto Project Website:* Open The :yocto_home:`Yocto Project Website <>` in your browser. @@ -750,8 +742,8 @@ Follow these steps to create a local version of the upstream ":ref:`dev-manual/start:checking out by tag in poky`" sections, respectively. Once the local repository is created, you can change to that - directory and check its status. Here, the single "master" branch - exists on your system and by default, it is checked out:: + directory and check its status. The ``master`` branch is checked out + by default:: $ cd poky $ git status diff --git a/poky/documentation/kernel-dev/advanced.rst b/poky/documentation/kernel-dev/advanced.rst index b0d03851b..0e745c375 100644 --- a/poky/documentation/kernel-dev/advanced.rst +++ b/poky/documentation/kernel-dev/advanced.rst @@ -21,7 +21,7 @@ is the ``yocto-kernel-cache`` Git repository. You can find this repository grouped under the "Yocto Linux Kernel" heading in the :yocto_git:`Yocto Project Source Repositories <>`. -Kernel development tools ("kern-tools") exist also in the Yocto Project +Kernel development tools ("kern-tools") are also available in the Yocto Project Source Repositories under the "Yocto Linux Kernel" heading in the ``yocto-kernel-tools`` Git repository. The recipe that builds these tools is ``meta/recipes-kernel/kern-tools/kern-tools-native_git.bb`` in @@ -313,7 +313,7 @@ The following listings show the ``build.scc`` file and part of the The description file can include multiple patch statements where each statement handles a single -patch. In the example ``build.scc`` file, five patch statements exist +patch. In the example ``build.scc`` file, there are five patch statements for the five patches in the directory. You can create a typical ``.patch`` file using ``diff -Nurp`` or @@ -509,8 +509,8 @@ description as meeting the criteria set by the recipe being built. This example supports the "beaglebone" machine for the "standard" kernel and the "arm" architecture. -Be aware that a hard link between the ``KTYPE`` variable and a kernel -type description file does not exist. Thus, if you do not have the +Be aware that there is no hard link between the ``KTYPE`` variable and a kernel +type description file. Thus, if you do not have the kernel type defined in your kernel Metadata as it is here, you only need to ensure that the :term:`LINUX_KERNEL_TYPE` @@ -776,8 +776,8 @@ patches in every kernel you build (i.e. have the patches as part of the lone "master" branch). It is situations like these that give rise to multiple branches used within a Linux kernel sources Git repository. -Repository organization strategies exist that maximize source reuse, -remove redundancy, and logically order your changes. This section +Here are repository organization strategies maximizing source reuse, +removing redundancy, and logically ordering your changes. This section presents strategies for the following cases: - Encapsulating patches in a feature description and only including the diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst index 3f35d8412..f64cbab56 100644 --- a/poky/documentation/kernel-dev/common.rst +++ b/poky/documentation/kernel-dev/common.rst @@ -338,7 +338,7 @@ section: the ``yocto-4.12`` branch. The following commands show how to create a local copy of the - ``yocto-kernel-cache`` and be in the ``yocto-4.12`` branch:: + ``yocto-kernel-cache`` and switch to the ``yocto-4.12`` branch:: $ cd ~ $ git clone git://git.yoctoproject.org/yocto-kernel-cache --branch yocto-4.12 @@ -491,7 +491,7 @@ As an example, consider the following append file used by the BSPs in meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend -The following listing shows the file. Be aware that the actual commit ID +Here are the contents of this file. Be aware that the actual commit ID strings in this example listing might be different than the actual strings in the file from the ``meta-yocto-bsp`` layer upstream. :: @@ -578,7 +578,7 @@ recipe is processed. .. note:: - Other methods exist to accomplish grouping and defining configuration + There are other ways of grouping and defining configuration options. For example, if you are working with a local clone of the kernel repository, you could checkout the kernel's ``meta`` branch, make your changes, and then push the changes to the local bare clone @@ -589,8 +589,8 @@ recipe is processed. In general, however, the Yocto Project maintainers take care of moving the ``SRC_URI``-specified configuration options to the - kernel's ``meta`` branch. Not only is it easier for BSP developers to - not have to worry about putting those configurations in the branch, + kernel's ``meta`` branch. Not only is it easier for BSP developers + not to have to put those configurations in the branch, but having the maintainers do it allows them to apply 'global' knowledge about the kinds of common configuration options multiple BSPs in the tree are typically using. This allows for promotion of @@ -650,6 +650,15 @@ extends the :term:`FILESPATH` variable (search directories) to include the ``${PN}`` directory you created to hold the configuration changes. +You can also use a regular ``defconfig`` file, as generated by the +:ref:`ref-tasks-savedefconfig` +task instead of a complete ``.config`` file. This only specifies the +non-default configuration values. You need to additionally set +:term:`KCONFIG_MODE` +in the linux-yocto ``.bbappend`` file in your layer:: + + KCONFIG_MODE = "alldefconfig" + .. note:: The build system applies the configurations from the ``defconfig`` @@ -772,8 +781,8 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se .. note:: - During the checkout operation, a bug exists that could cause - errors such as the following to appear: + During the checkout operation, there is a bug that could cause + errors such as the following: .. code-block:: none @@ -1297,7 +1306,7 @@ steps: $ bitbake linux-yocto -c kernel_configme -f This step ensures that you create a - ``.config`` file from a known state. Because situations exist where + ``.config`` file from a known state. Because there are situations where your build state might become unknown, it is best to run this task prior to starting ``menuconfig``. @@ -1527,7 +1536,7 @@ Working with a "Dirty" Kernel Version String ============================================ If you build a kernel image and the version string has a "+" or a -"-dirty" at the end, uncommitted modifications exist in the kernel's +"-dirty" at the end, it means there are uncommitted modifications in the kernel's source directory. Follow these steps to clean up the version string: 1. *Discover the Uncommitted Changes:* Go to the kernel's locally cloned @@ -1606,7 +1615,7 @@ Here are some basic steps you can use to work with your own sources: Running the ``make defconfig`` command results in the default configuration for your architecture as defined by your kernel. - However, no guarantee exists that this configuration is valid for + However, there is no guarantee that this configuration is valid for your use case, or that your board will even boot. This is particularly true for non-x86 architectures. diff --git a/poky/documentation/kernel-dev/concepts-appx.rst b/poky/documentation/kernel-dev/concepts-appx.rst index 63e67315f..cf2e75d85 100644 --- a/poky/documentation/kernel-dev/concepts-appx.rst +++ b/poky/documentation/kernel-dev/concepts-appx.rst @@ -213,7 +213,7 @@ BSP-specific commits. In other words, the divisions of the kernel are transparent and are not relevant to the developer on a day-to-day basis. From the developer's perspective, this path is the "master" branch in Git terms. The developer does not need to be aware of the existence of -any other branches at all. Of course, value exists in the having these +any other branches at all. Of course, it can make sense to have these branches in the tree, should a person decide to explore them. For example, a comparison between two BSPs at either the commit level or at the line-by-line code ``diff`` level is now a trivial operation. @@ -379,8 +379,7 @@ or non-hardware. To better show this, consider a situation where the yocto-kernel-cache/ktypes/base/hardware.kcf yocto-kernel-cache/bsp/qemu-ppc32/hardware.kcf -The following list -provides explanations for the various files: +Here are explanations for the various files: - ``hardware.kcf``: Specifies a list of kernel Kconfig files that contain hardware options only. diff --git a/poky/documentation/kernel-dev/faq.rst b/poky/documentation/kernel-dev/faq.rst index 816951144..cffd1c433 100644 --- a/poky/documentation/kernel-dev/faq.rst +++ b/poky/documentation/kernel-dev/faq.rst @@ -7,7 +7,7 @@ Kernel Development FAQ Common Questions and Solutions ============================== -The following lists some solutions for common questions. +Here are some solutions for common questions. How do I use my own Linux kernel ``.config`` file? -------------------------------------------------- diff --git a/poky/documentation/kernel-dev/intro.rst b/poky/documentation/kernel-dev/intro.rst index 5592f74c8..e406f6e47 100644 --- a/poky/documentation/kernel-dev/intro.rst +++ b/poky/documentation/kernel-dev/intro.rst @@ -66,9 +66,9 @@ from the continual kernel integration and testing performed during development of the Yocto Project. If, instead, you have a very specific Linux kernel source tree and are -unable to align with one of the official Yocto Linux kernel recipes, an -alternative exists by which you can use the Yocto Project Linux kernel -tools with your own kernel sources. +unable to align with one of the official Yocto Linux kernel recipes, +you have a way to use the Yocto Project Linux kernel tools with your +own kernel sources. The remainder of this manual provides instructions for completing specific Linux kernel development tasks. These instructions assume you diff --git a/poky/documentation/kernel-dev/maint-appx.rst b/poky/documentation/kernel-dev/maint-appx.rst index f84ab6e23..3354de5f0 100644 --- a/poky/documentation/kernel-dev/maint-appx.rst +++ b/poky/documentation/kernel-dev/maint-appx.rst @@ -175,7 +175,7 @@ Build Strategy Once you have cloned a Yocto Linux kernel repository and the cache repository (``yocto-kernel-cache``) onto your development system, you can consider the compilation phase of kernel development, which is -building a kernel image. Some prerequisites exist that are validated by +building a kernel image. Some prerequisites are validated by the build process before compilation starts: - The :term:`SRC_URI` points to the @@ -194,7 +194,7 @@ the build process before compilation starts: In the previous example, the "yocto-4.12" branch is checked out in the ``yocto-kernel-cache`` repository. -The OpenEmbedded build system makes sure these conditions exist before +The OpenEmbedded build system makes sure these conditions are satisfied before attempting compilation. Other means, however, do exist, such as bootstrapping a BSP. diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst index 2e3f1af44..e5bdcdad2 100644 --- a/poky/documentation/overview-manual/concepts.rst +++ b/poky/documentation/overview-manual/concepts.rst @@ -139,7 +139,7 @@ hardware-specific configurations allows you to share other metadata by using a different layer where that metadata might be common across several pieces of hardware. -Many layers exist that work in the Yocto Project development environment. The +There are many layers working in the Yocto Project development environment. The :yocto_home:`Yocto Project Curated Layer Index ` and :oe_layerindex:`OpenEmbedded Layer Index <>` both contain layers from which you can use or leverage. @@ -370,7 +370,7 @@ BitBake's global behavior. This section takes a closer look at the layers the build system uses to further control the build. These layers provide Metadata for the software, machine, and policies. -In general, three types of layer input exists. You can see them below +In general, there are three types of layer input. You can see them below the "User Configuration" box in the `general workflow figure `: @@ -427,8 +427,8 @@ Repositories <>` also shows layers categorized under "Yocto Metadata Layers." .. note:: - Layers exist in the Yocto Project Source Repositories that cannot be - found in the OpenEmbedded Layer Index. These layers are either + There are layers in the Yocto Project Source Repositories that cannot be + found in the OpenEmbedded Layer Index. Such layers are either deprecated or experimental in nature. BitBake uses the ``conf/bblayers.conf`` file, which is part of the user @@ -489,7 +489,7 @@ the machine (``conf/machine/machine.conf``) and, of course, the layer The remainder of the layer is dedicated to specific recipes by function: ``recipes-bsp``, ``recipes-core``, ``recipes-graphics``, -``recipes-kernel``, and so forth. Metadata can exist for multiple +``recipes-kernel``, and so forth. There can be metadata for multiple formfactors, graphics support systems, and so forth. .. note:: @@ -528,9 +528,7 @@ project that is more dynamic or experimental in nature, a project might keep source files in a repository controlled by a Source Control Manager (SCM) such as Git. Pulling source from a repository allows you to control the point in the repository (the revision) from which you want -to build software. Finally, a combination of the two might exist, which -would give the consumer a choice when deciding where to get source -files. +to build software. A combination of the two is also possible. BitBake uses the :term:`SRC_URI` variable to point to source files regardless of their location. Each @@ -609,7 +607,7 @@ the specific revision from which to build. Source Mirror(s) ~~~~~~~~~~~~~~~~ -Two kinds of mirrors exist: pre-mirrors and regular mirrors. The +There are two kinds of mirrors: pre-mirrors and regular mirrors. The :term:`PREMIRRORS` and :term:`MIRRORS` variables point to these, respectively. BitBake checks pre-mirrors before looking upstream @@ -667,8 +665,8 @@ package files are kept: variables are used, respectively. - :term:`PACKAGE_ARCH`: Defines - architecture-specific sub-folders. For example, packages could exist - for the i586 or qemux86 architectures. + architecture-specific sub-folders. For example, packages could be + available for the i586 or qemux86 architectures. BitBake uses the :ref:`do_package_write_* ` @@ -681,8 +679,8 @@ and ":ref:`ref-tasks-package_write_tar`" sections in the Yocto Project Reference Manual for additional information. As an example, consider a scenario where an IPK packaging -manager is being used and package architecture support for both i586 and -qemux86 exist. Packages for the i586 architecture are placed in +manager is being used and there is package architecture support for both +i586 and qemux86. Packages for the i586 architecture are placed in ``build/tmp/deploy/ipk/i586``, while packages for the qemux86 architecture are placed in ``build/tmp/deploy/ipk/qemux86``. @@ -698,7 +696,7 @@ closer look at each of those areas. .. note:: - Separate documentation exists for the BitBake tool. See the + Documentation for the BitBake tool is available separately. See the BitBake User Manual for reference material on BitBake. @@ -783,12 +781,10 @@ Build Directory's hierarchy: .. note:: - In the previous figure, notice that two sample hierarchies exist: one - based on package architecture (i.e. - PACKAGE_ARCH - ) and one based on a machine (i.e. - MACHINE - ). The underlying structures are identical. The differentiator being + In the previous figure, notice that there are two sample hierarchies: + one based on package architecture (i.e. :term:`PACKAGE_ARCH`) + and one based on a machine (i.e. :term:`MACHINE`). + The underlying structures are identical. The differentiator being what the OpenEmbedded build system is using as a build target (e.g. general architecture, a build host, an SDK, or a specific machine). @@ -963,8 +959,7 @@ that part of the build process. .. note:: - Support for creating feeds directly from the - deploy/\* + Support for creating feeds directly from the ``deploy/*`` directories does not exist. Creating such feeds usually requires some kind of feed maintenance mechanism that would upload the new packages into an official package feed (e.g. the Ångström distribution). This @@ -1156,9 +1151,9 @@ checksum `. OpenEmbedded. To determine if a task needs to be rerun, BitBake checks if a stamp file -with a matching input checksum exists for the task. If such a stamp file -exists, the task's output is assumed to exist and still be valid. If the -file does not exist, the task is rerun. +with a matching input checksum exists for the task. In this case, +the task's output is assumed to exist and still be valid. Otherwise, +the task is rerun. .. note:: @@ -1234,14 +1229,14 @@ to run any of the ``do_fetch``, ``do_unpack``, ``do_patch``, It becomes more complicated if everything can come from an sstate cache because some objects are simply not required at all. For example, you do -not need a compiler or native tools, such as quilt, if nothing exists to -compile or patch. If the ``do_package_write_*`` packages are available +not need a compiler or native tools, such as quilt, if there isn't anything +to compile or patch. If the ``do_package_write_*`` packages are available from sstate, BitBake does not need the ``do_package`` task data. To handle all these complexities, BitBake runs in two phases. The first is the "setscene" stage. During this stage, BitBake first checks the sstate cache for any targets it is planning to build. BitBake does a -fast check to see if the object exists rather than a complete download. +fast check to see if the object exists rather than doing a complete download. If nothing exists, the second phase, which is the setscene stage, completes and the main build proceeds. @@ -1366,9 +1361,9 @@ can initialize the environment before using the tools. All the output files for an SDK are written to the ``deploy/sdk`` folder inside the :term:`Build Directory` as -shown in the previous figure. Depending on the type of SDK, several -variables exist that help configure these files. The following list -shows the variables associated with an extensible SDK: +shown in the previous figure. Depending on the type of SDK, there are +several variables to configure these files. Here are the variables +associated with an extensible SDK: - :term:`DEPLOY_DIR`: Points to the ``deploy`` directory. @@ -1577,8 +1572,8 @@ Shared State Cache By design, the OpenEmbedded build system builds everything from scratch unless :term:`BitBake` can determine that parts do not need to be rebuilt. Fundamentally, building from -scratch is attractive as it means all parts are built fresh and no -possibility of stale data exists that can cause problems. When +scratch is attractive as it means all parts are built fresh and there is +no possibility of stale data that can cause problems. When developers hit problems, they typically default back to building from scratch so they have a know state from the start. @@ -1617,7 +1612,7 @@ them if they are deemed to be valid. - The build system does not maintain :term:`PR` information as part of - the shared state packages. Consequently, considerations exist that + the shared state packages. Consequently, there are considerations that affect maintaining shared state feeds. For information on how the build system works with packages and can track incrementing ``PR`` information, see the ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`" @@ -1687,7 +1682,7 @@ used to prune the "run" scripts down to the minimum set, thereby alleviating this problem and making the "run" scripts much more readable as a bonus. -So far, solutions for shell scripts exist. What about Python tasks? The +So far, there are solutions for shell scripts. What about Python tasks? The same approach applies even though these tasks are more difficult. The process needs to figure out what variables a Python function accesses and what functions it calls. Again, the incremental build solution @@ -1695,7 +1690,7 @@ contains code that first figures out the variable and function dependencies, and then creates a checksum for the data used as the input to the task. -Like the ``WORKDIR`` case, situations exist where dependencies should be +Like the ``WORKDIR`` case, there can be situations where dependencies should be ignored. For these situations, you can instruct the build process to ignore a dependency by using a line like the following:: @@ -1732,7 +1727,7 @@ to add is a policy decision. However, the effect is to generate a master checksum that combines the basehash and the hashes of the task's dependencies. -At the code level, a variety of ways exist by which both the basehash +At the code level, there are multiple ways by which both the basehash and the dependent task hashes can be influenced. Within the BitBake configuration file, you can give BitBake some extra information to help it construct the basehash. The following statement effectively results @@ -1961,8 +1956,8 @@ Automatically Added Runtime Dependencies The OpenEmbedded build system automatically adds common types of runtime dependencies between packages, which means that you do not need to explicitly declare the packages using -:term:`RDEPENDS`. Three automatic -mechanisms exist (``shlibdeps``, ``pcdeps``, and ``depchains``) that +:term:`RDEPENDS`. There are three automatic +mechanisms (``shlibdeps``, ``pcdeps``, and ``depchains``) that handle shared libraries, package configuration (pkg-config) modules, and ``-dev`` and ``-dbg`` packages, respectively. For other types of runtime dependencies, you must manually declare the dependencies. diff --git a/poky/documentation/overview-manual/development-environment.rst b/poky/documentation/overview-manual/development-environment.rst index 1decf01e4..ab155dc3b 100644 --- a/poky/documentation/overview-manual/development-environment.rst +++ b/poky/documentation/overview-manual/development-environment.rst @@ -71,7 +71,7 @@ section in the Yocto Project Development Tasks Manual. If your development host is going to be a system that runs a Linux -distribution, steps still exist that you must take to prepare the system +distribution, you must still take steps to prepare the system for use with the Yocto Project. You need to be sure that the Linux distribution on the system is one that supports the Yocto Project. You also need to be sure that the correct set of host packages are installed @@ -80,8 +80,8 @@ set up a development host that runs Linux, see the ":ref:`dev-manual/start:setting up a native linux host`" section in the Yocto Project Development Tasks Manual. -Once your development host is set up to use the Yocto Project, several -methods exist for you to do work in the Yocto Project environment: +Once your development host is set up to use the Yocto Project, there +are several ways of working in the Yocto Project environment: - *Command Lines, BitBake, and Shells:* Traditional development in the Yocto Project involves using the :term:`OpenEmbedded Build System`, @@ -271,7 +271,7 @@ files that are being worked on simultaneously by more than one person. All this work is done locally on the development host before anything is pushed to a "contrib" area and examined at the maintainer's level. -A somewhat formal method exists by which developers commit changes and +There is a somewhat formal method by which developers commit changes and push them into the "contrib" area and subsequently request that the maintainer include them into an upstream branch. This process is called "submitting a patch" or "submitting a change." For information on @@ -279,9 +279,9 @@ submitting patches and changes, see the ":ref:`dev-manual/common-tasks:submitting a change to the yocto project`" section in the Yocto Project Development Tasks Manual. -In summary, a single point of entry exists for changes into a "master" +In summary, there is a single point of entry for changes into a "master" or development branch of the Git repository, which is controlled by the -project's maintainer. And, a set of developers exist who independently +project's maintainer. A set of developers independently develop, test, and submit changes to "contrib" areas for the maintainer to examine. The maintainer then chooses which changes are going to become a permanent part of the project. diff --git a/poky/documentation/overview-manual/intro.rst b/poky/documentation/overview-manual/intro.rst index a2afe7756..a8091771f 100644 --- a/poky/documentation/overview-manual/intro.rst +++ b/poky/documentation/overview-manual/intro.rst @@ -12,7 +12,7 @@ introduces the Yocto Project by providing concepts, software overviews, best-known-methods (BKMs), and any other high-level introductory information suitable for a new Yocto Project user. -The following list describes what you can get from this manual: +Here is what you can get from this manual: - :ref:`overview-manual/yp-intro:introducing the yocto project`\ *:* This chapter provides an introduction to the Yocto Project. You will learn diff --git a/poky/documentation/overview-manual/yp-intro.rst b/poky/documentation/overview-manual/yp-intro.rst index fca02e4ce..28ed07994 100644 --- a/poky/documentation/overview-manual/yp-intro.rst +++ b/poky/documentation/overview-manual/yp-intro.rst @@ -38,8 +38,7 @@ to the Yocto Project. Features -------- -The following list describes features and advantages of the Yocto -Project: +Here are features and advantages of the Yocto Project: - *Widely Adopted Across the Industry:* Many semiconductor, operating system, software, and service vendors adopt and support the Yocto @@ -137,13 +136,11 @@ Project: Challenges ---------- -The following list presents challenges you might encounter when -developing using the Yocto Project: +Here are challenges you might encounter when developing using the Yocto Project: - *Steep Learning Curve:* The Yocto Project has a steep learning curve and has many different ways to accomplish similar tasks. It can be - difficult to choose how to proceed when varying methods exist by - which to accomplish a given task. + difficult to choose between such ways. - *Understanding What Changes You Need to Make For Your Design Requires Some Research:* Beyond the simple tutorial stage, understanding what @@ -158,7 +155,7 @@ developing using the Yocto Project: workflow ` could be confusing if you are used to traditional desktop and server software development. - In a desktop development environment, mechanisms exist to easily pull + In a desktop development environment, there are mechanisms to easily pull and install new packages, which are typically pre-compiled binaries from servers accessible over the Internet. Using the Yocto Project, you must modify your configuration and rebuild to add additional @@ -292,8 +289,8 @@ associated with the Yocto Project. Development Tools ----------------- -The following list consists of tools that help you develop images and -applications using the Yocto Project: +Here are tools that help you develop images and applications using +the Yocto Project: - *CROPS:* `CROPS `__ is an open source, cross-platform development framework that leverages @@ -347,8 +344,8 @@ applications using the Yocto Project: Production Tools ---------------- -The following list consists of tools that help production related -activities using the Yocto Project: +Here are tools that help with production related activities using the +Yocto Project: - *Auto Upgrade Helper:* This utility when used in conjunction with the :term:`OpenEmbedded Build System` @@ -432,8 +429,8 @@ activities using the Yocto Project: require system administrator privileges. For example, file ownership or permissions might need to be defined. Pseudo is a tool that you can either use directly or through the environment variable - ``LD_PRELOAD``. Either method allows these operations to succeed as - if system administrator privileges exist even when they do not. + ``LD_PRELOAD``. Either method allows these operations to succeed + even without system administrator privileges. Thanks to Pseudo, the Yocto Project never needs root privileges to build images for your target system. @@ -444,8 +441,7 @@ activities using the Yocto Project: Open-Embedded Build System Components ------------------------------------- -The following list consists of components associated with the -:term:`OpenEmbedded Build System`: +Here are components associated with the :term:`OpenEmbedded Build System`: - *BitBake:* BitBake is a core component of the Yocto Project and is used by the OpenEmbedded build system to build images. While BitBake @@ -511,8 +507,7 @@ section. Packages for Finished Targets ----------------------------- -The following lists components associated with packages for finished -targets: +Here are components associated with packages for finished targets: - *Matchbox:* Matchbox is an Open Source, base environment for the X Window System running on non-desktop, embedded platforms such as @@ -583,8 +578,7 @@ software. This section provides an introduction to the choices or development methods you have when setting up your Build Host. Depending on your particular workflow preference and the type of operating system your -Build Host runs, several choices exist that allow you to use the Yocto -Project. +Build Host runs, you have several choices. .. note:: @@ -794,7 +788,7 @@ Some Basic Terms ================ It helps to understand some basic fundamental terms when learning the -Yocto Project. Although a list of terms exists in the ":doc:`Yocto Project +Yocto Project. Although there is a list of terms in the ":doc:`Yocto Project Terms `" section of the Yocto Project Reference Manual, this section provides the definitions of some terms helpful for getting started: diff --git a/poky/documentation/poky.yaml b/poky/documentation/poky.yaml index 22706a0fb..3bfc35b6f 100644 --- a/poky/documentation/poky.yaml +++ b/poky/documentation/poky.yaml @@ -1,12 +1,12 @@ -DISTRO : "3.3" +DISTRO : "3.3.1" DISTRO_NAME_NO_CAP : "hardknott" DISTRO_NAME : "Hardknott" DISTRO_NAME_NO_CAP_MINUS_ONE : "gatesgarth" DISTRO_NAME_NO_CAP_LTS : "dunfell" -YOCTO_DOC_VERSION : "3.3" -YOCTO_DOC_VERSION_MINUS_ONE : "3.2.3" -DISTRO_REL_TAG : "yocto-3.3" -POKYVERSION : "25.0.0" +YOCTO_DOC_VERSION : "3.3.1" +YOCTO_DOC_VERSION_MINUS_ONE : "3.2.4" +DISTRO_REL_TAG : "yocto-3.3.1" +POKYVERSION : "25.0.1" YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;" YOCTO_DL_URL : "https://downloads.yoctoproject.org" YOCTO_AB_URL : "https://autobuilder.yoctoproject.org" @@ -19,7 +19,8 @@ FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip pe diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \ ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \ python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \ - python3-jinja2 SDL-devel xterm rpcgen mesa-libGL-devel" + python3-jinja2 SDL-devel xterm rpcgen mesa-libGL-devel perl-FindBin perl-File-Compare \ + perl-File-Copy perl-locale" OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \ diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \ python3-pexpect xz which python3-Jinja2 Mesa-libEGL1 libSDL-devel xterm rpcgen Mesa-dri-devel diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst index 9a1fc2c93..6dd0cbbd4 100644 --- a/poky/documentation/ref-manual/classes.rst +++ b/poky/documentation/ref-manual/classes.rst @@ -1006,10 +1006,10 @@ package name override, in this example ``${PN}``, must be used:: INSANE_SKIP_${PN} += "dev-so" Please keep in mind that the QA checks -exist in order to detect real or potential problems in the packaged +are meant to detect real or potential problems in the packaged output. So exercise caution when disabling these checks. -The following list shows the tests you can list with the ``WARN_QA`` and +Here are the tests you can list with the ``WARN_QA`` and ``ERROR_QA`` variables: - ``already-stripped:`` Checks that produced binaries have not @@ -1085,8 +1085,8 @@ The following list shows the tests you can list with the ``WARN_QA`` and - ``dev-so:`` Checks that the ``.so`` symbolic links are in the ``-dev`` package and not in any of the other packages. In general, these symlinks are only useful for development purposes. Thus, the - ``-dev`` package is the correct location for them. Some very rare - cases do exist for dynamically loaded modules where these symlinks + ``-dev`` package is the correct location for them. In very rare + cases, such as dynamically loaded modules, these symlinks are needed instead in the main package. - ``file-rdeps:`` Checks that file-level dependencies identified by @@ -1260,8 +1260,8 @@ The following list shows the tests you can list with the ``WARN_QA`` and .. note:: - If you are not using runtime package management on your target - system, then you do not need to worry about this situation. + This is only relevant when you are using runtime package management + on your target system. - ``xorg-driver-abi:`` Checks that all packages containing Xorg drivers have ABI dependencies. The ``xserver-xorg`` recipe provides @@ -1676,7 +1676,7 @@ couple different ways: nativesdk-myrecipe.bb - Not doing so can lead to subtle problems because code exists that + Not doing so can lead to subtle problems because there is code that depends on the naming convention. Although applied differently, the ``nativesdk`` class is used with both @@ -1714,10 +1714,10 @@ section in the Yocto Project Development Tasks Manual. ``oelint.bbclass`` ================== -The ``oelint`` class is an obsolete lint checking tool that exists in +The ``oelint`` class is an obsolete lint checking tool available in ``meta/classes`` in the :term:`Source Directory`. -A number of classes exist that could be generally useful in OE-Core but +There are some classes that could be generally useful in OE-Core but are never actually used within OE-Core itself. The ``oelint`` class is one such example. However, being aware of this class can reduce the proliferation of different versions of similar classes across multiple diff --git a/poky/documentation/ref-manual/devtool-reference.rst b/poky/documentation/ref-manual/devtool-reference.rst index 0ce321983..1862c481d 100644 --- a/poky/documentation/ref-manual/devtool-reference.rst +++ b/poky/documentation/ref-manual/devtool-reference.rst @@ -403,8 +403,8 @@ Upgrading a Recipe As software matures, upstream recipes are upgraded to newer versions. As a developer, you need to keep your local recipes up-to-date with the -upstream version releases. Several methods exist by which you can -upgrade recipes. You can read about them in the ":ref:`dev-manual/common-tasks:upgrading recipes`" +upstream version releases. There are several ways of upgrading recipes. +You can read about them in the ":ref:`dev-manual/common-tasks:upgrading recipes`" section of the Yocto Project Development Tasks Manual. This section overviews the ``devtool upgrade`` command. @@ -516,8 +516,8 @@ you do, the package manager is bypassed. should never use it to update an image that will be used in production. -Some conditions exist that could prevent a deployed application from -behaving as expected. When both of the following conditions exist, your +Some conditions could prevent a deployed application from +behaving as expected. When both of the following conditions are met, your application has the potential to not behave correctly when run on the target: @@ -528,7 +528,7 @@ target: - The target does not physically have the packages on which the application depends installed. -If both of these conditions exist, your application will not behave as +If both of these conditions are met, your application will not behave as expected. The reason for this misbehavior is because the ``devtool deploy-target`` command does not deploy the packages (e.g. libraries) on which your new application depends. The assumption is that diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst index e7bca829a..f1b564a60 100644 --- a/poky/documentation/ref-manual/faq.rst +++ b/poky/documentation/ref-manual/faq.rst @@ -312,7 +312,7 @@ HTTPS requests and direct them to the ``http://`` sources mirror. You can use ``file://`` URLs to point to local directories or network shares as well. -Aside from the previous technique, these options also exist:: +Here are other options:: BB_NO_NETWORK = "1" diff --git a/poky/documentation/ref-manual/features.rst b/poky/documentation/ref-manual/features.rst index eb4947d59..31d24b8c2 100644 --- a/poky/documentation/ref-manual/features.rst +++ b/poky/documentation/ref-manual/features.rst @@ -196,7 +196,7 @@ you can add several different predefined packages such as development utilities or packages with debug information needed to investigate application problems or profile applications. -The following image features are available for all images: +Here are the image features available for all images: - *allow-empty-password:* Allows Dropbear and OpenSSH to accept root logins and logins from accounts having an empty password string. diff --git a/poky/documentation/ref-manual/kickstart.rst b/poky/documentation/ref-manual/kickstart.rst index 843292b52..8308ffff5 100644 --- a/poky/documentation/ref-manual/kickstart.rst +++ b/poky/documentation/ref-manual/kickstart.rst @@ -210,5 +210,5 @@ supports the following options: - ``--configfile``: Specifies a user-defined configuration file for the bootloader. You can provide a full pathname for the file or a - file that exists in the ``canned-wks`` folder. This option overrides + file located in the ``canned-wks`` folder. This option overrides all other bootloader options. diff --git a/poky/documentation/ref-manual/migration-2.2.rst b/poky/documentation/ref-manual/migration-2.2.rst index a9d3cde7b..a60ce8d52 100644 --- a/poky/documentation/ref-manual/migration-2.2.rst +++ b/poky/documentation/ref-manual/migration-2.2.rst @@ -422,7 +422,7 @@ The following miscellaneous changes have occurred: :term:`SRCREV` by default when fetching from a Git repository. You can override this in either case to use ``${``\ :term:`AUTOREV`\ ``}`` instead by using the - ``-a`` or ``DASHDASHautorev`` command-line option + ``-a`` or ``--autorev`` command-line option - ``distcc``: GTK+ UI is now disabled by default. diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst index 9cc4c577c..2e98713a2 100644 --- a/poky/documentation/ref-manual/qa-checks.rst +++ b/poky/documentation/ref-manual/qa-checks.rst @@ -97,7 +97,7 @@ Errors and Warnings - `` rdepends on , but it isn't a build dependency? [build-deps]`` - A runtime dependency exists between the two specified packages, but + There is a runtime dependency between the two specified packages, but there is nothing explicit within the recipe to enable the OpenEmbedded build system to ensure that dependency is satisfied. This condition is usually triggered by an @@ -303,7 +303,7 @@ Errors and Warnings - `` rdepends on [debug-deps]`` - A dependency exists between the specified non-dbg package (i.e. a + There is a dependency between the specified non-dbg package (i.e. a package whose name does not end in ``-dbg``) and a package that is a ``dbg`` package. The ``dbg`` packages contain debug symbols and are brought in using several different methods: @@ -326,7 +326,7 @@ Errors and Warnings - `` rdepends on [dev-deps]`` - A dependency exists between the specified non-dev package (a package + There is a dependency between the specified non-dev package (a package whose name does not end in ``-dev``) and a package that is a ``dev`` package. The ``dev`` packages contain development headers and are usually brought in using several different methods: @@ -753,6 +753,6 @@ how to work with the QA checks, see the .. note:: - Please keep in mind that the QA checks exist in order to detect real + Please keep in mind that the QA checks are meant to detect real or potential problems in the packaged output. So exercise caution when disabling these checks. diff --git a/poky/documentation/ref-manual/release-process.rst b/poky/documentation/ref-manual/release-process.rst index 93ab6ed08..935a2e39b 100644 --- a/poky/documentation/ref-manual/release-process.rst +++ b/poky/documentation/ref-manual/release-process.rst @@ -82,14 +82,14 @@ stable release. bug fixes and security fixes only. Policy dictates that features are not backported to a stable release. This policy means generic recipe version upgrades are unlikely to be accepted for backporting. The - exception to this policy occurs when a strong reason exists such as + exception to this policy occurs when there is a strong reason such as the fix happens to also be the preferred upstream approach. Stable release branches have strong maintenance for about a year after their initial release. Should significant issues be found for any release regardless of its age, fixes could be backported to older releases. For issues that are not backported given an older release, -Community LTS trees and branches exist where community members share +Community LTS trees and branches allow community members to share patches for older releases. However, these types of patches do not go through the same release process as do point releases. You can find more information about stable branch maintenance at diff --git a/poky/documentation/ref-manual/resources.rst b/poky/documentation/ref-manual/resources.rst index 663f0d96d..5ffd2b399 100644 --- a/poky/documentation/ref-manual/resources.rst +++ b/poky/documentation/ref-manual/resources.rst @@ -10,7 +10,7 @@ Introduction ============ The Yocto Project team is happy for people to experiment with the Yocto -Project. A number of places exist to find help if you run into +Project. There is a number of places where you can find help if you run into difficulties or find bugs. This presents information about contributing and participating in the Yocto Project. @@ -43,8 +43,7 @@ the Yocto Project itself (e.g. when discovering an issue with some component of the build system that acts contrary to the documentation or your expectations). -A general procedure and guidelines exist for when you use Bugzilla to -submit a bug. For information on how to use Bugzilla to submit a bug +For a general procedure and guidelines on how to use Bugzilla to submit a bug against the Yocto Project, see the following: - The ":ref:`dev-manual/common-tasks:submitting a defect against the yocto project`" @@ -59,7 +58,7 @@ For information on Bugzilla in general, see https://www.bugzilla.org/about/. Mailing lists ============= -A number of mailing lists maintained by the Yocto Project exist as well +There are multiple mailing lists maintained by the Yocto Project as well as related OpenEmbedded mailing lists for discussion, patch submission and announcements. To subscribe to one of the following mailing lists, click on the appropriate URL in the following list and follow the @@ -156,9 +155,8 @@ Here is a list of resources you might find helpful: - :yocto_docs:`Yocto Project Mega-Manual `\ *:* This manual is simply a single HTML file comprised of the bulk of the Yocto - Project manuals. The Mega-Manual primarily exists as a vehicle by - which you can easily search for phrases and terms used in the Yocto - Project documentation set. + Project manuals. It makes it easy to search for phrases and terms used + in the Yocto Project documentation set. - :doc:`/profile-manual/index` *:* This manual presents a set of common and generally useful tracing and profiling schemes along with diff --git a/poky/documentation/ref-manual/structure.rst b/poky/documentation/ref-manual/structure.rst index f8dc7d282..36c9efc1e 100644 --- a/poky/documentation/ref-manual/structure.rst +++ b/poky/documentation/ref-manual/structure.rst @@ -38,7 +38,7 @@ usually matches the current stable BitBake release from the BitBake project. BitBake, a :term:`Metadata` interpreter, reads the Yocto Project Metadata and runs the tasks defined by that data. Failures are usually caused by errors in your Metadata and not from BitBake -itself; consequently, most users do not need to worry about BitBake. +itself. When you run the ``bitbake`` command, the main BitBake executable (which resides in the ``bitbake/bin/`` directory) starts. Sourcing the @@ -279,7 +279,7 @@ file, it uses ``sed`` to substitute final .. note:: You can see how the ``TEMPLATECONF`` variable is used by looking at the - ``scripts/oe-setup-builddir``` script in the :term:`Source Directory`. + ``scripts/oe-setup-builddir`` script in the :term:`Source Directory`. You can find the Yocto Project version of the ``local.conf.sample`` file in the ``meta-poky/conf`` directory. @@ -510,8 +510,8 @@ should be automatic, and recipes should not directly reference ----------------------- Previous versions of the OpenEmbedded build system used to create a -global shared sysroot per machine along with a native sysroot. Beginning -with the 2.3 version of the Yocto Project, sysroots exist in +global shared sysroot per machine along with a native sysroot. Since +the 2.3 version of the Yocto Project, there are sysroots in recipe-specific :term:`WORKDIR` directories. Thus, the ``build/tmp/sysroots/`` directory is unused. @@ -601,7 +601,7 @@ constructed using the architecture of the given build (e.g. name, and the version of the recipe (i.e. :term:`PE`\ ``:``\ :term:`PV`\ ``-``\ :term:`PR`). -A number of key subdirectories exist within each recipe work directory: +Here are key subdirectories within each recipe work directory: - ``${WORKDIR}/temp``: Contains the log files of each task executed for this recipe, the "run" files for each executed task, which contain @@ -624,7 +624,7 @@ A number of key subdirectories exist within each recipe work directory: - ``${WORKDIR}/packages-split``: Contains the output of the ``do_package`` task after the output has been split into individual - packages. Subdirectories exist for each individual package created by + packages. There are subdirectories for each individual package created by the recipe. - ``${WORKDIR}/recipe-sysroot``: A directory populated with the target @@ -783,7 +783,7 @@ system. The tools, however, can also be used on targets. This directory contains non-essential applications that add features compared to the alternatives in core. You might need this directory for -full tool functionality or for Linux Standard Base (LSB) compliance. +full tool functionality. .. _structure-meta-recipes-gnome: @@ -809,14 +809,6 @@ libraries. This directory contains the kernel and generic applications and libraries that have strong kernel dependencies. -.. _structure-meta-recipes-lsb4: - -``meta/recipes-lsb4/`` ----------------------- - -This directory contains recipes specifically added to support the Linux -Standard Base (LSB) version 4.x. - .. _structure-meta-recipes-multimedia: ``meta/recipes-multimedia/`` diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst index 4fa4d3ef5..e9d995c61 100644 --- a/poky/documentation/ref-manual/system-requirements.rst +++ b/poky/documentation/ref-manual/system-requirements.rst @@ -41,7 +41,7 @@ distributions: - Ubuntu 18.04 (LTS) -- Ubuntu 20.04 +- Ubuntu 20.04 (LTS) - Fedora 30 @@ -66,9 +66,8 @@ distributions: - While the Yocto Project Team attempts to ensure all Yocto Project releases are one hundred percent compatible with each officially - supported Linux distribution, instances might exist where you - encounter a problem while using the Yocto Project on a specific - distribution. + supported Linux distribution, you may still encounter problems + that happen only with a specific distribution. - Yocto Project releases are tested against the stable Linux distributions in the above list. The Yocto Project should work @@ -111,7 +110,7 @@ function. Ubuntu and Debian ----------------- -The following list shows the required packages by function given a +Here are the required packages by function given a supported Ubuntu or Debian Linux distribution: .. note:: @@ -119,8 +118,7 @@ supported Ubuntu or Debian Linux distribution: - If your build system has the ``oss4-dev`` package installed, you might experience QEMU build failures due to the package installing its own custom ``/usr/include/linux/soundcard.h`` on the Debian - system. If you run into this situation, either of the following - solutions exist:: + system. If you run into this situation, try either of these solutions:: $ sudo apt-get build-dep qemu $ sudo apt-get remove oss4-dev @@ -150,7 +148,7 @@ supported Ubuntu or Debian Linux distribution: Fedora Packages --------------- -The following list shows the required packages by function given a +Here are the required packages by function given a supported Fedora Linux distribution: - *Essentials:* Packages needed to build an image for a headless @@ -167,7 +165,7 @@ supported Fedora Linux distribution: openSUSE Packages ----------------- -The following list shows the required packages by function given a +Here are the required packages by function given a supported openSUSE Linux distribution: - *Essentials:* Packages needed to build an image for a headless @@ -185,7 +183,7 @@ supported openSUSE Linux distribution: CentOS-7 Packages ----------------- -The following list shows the required packages by function given a +Here are the required packages by function given a supported CentOS-7 Linux distribution: - *Essentials:* Packages needed to build an image for a headless @@ -212,7 +210,7 @@ supported CentOS-7 Linux distribution: CentOS-8 Packages ----------------- -The following list shows the required packages by function given a +Here are the required packages by function given a supported CentOS-8 Linux distribution: - *Essentials:* Packages needed to build an image for a headless diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst index 001edf6bb..5bceb79b8 100644 --- a/poky/documentation/ref-manual/tasks.rst +++ b/poky/documentation/ref-manual/tasks.rst @@ -823,6 +823,5 @@ sections from a size-sensitive configuration. After the kernel is unpacked but before it is patched, this task makes sure that the machine and metadata branches as specified by the :term:`SRCREV` variables actually exist on the specified -branches. If these branches do not exist and -:term:`AUTOREV` is not being used, the +branches. Otherwise, if :term:`AUTOREV` is not being used, the ``do_validate_branches`` task fails during the build. diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst index c339d45e1..df6413b68 100644 --- a/poky/documentation/ref-manual/variables.rst +++ b/poky/documentation/ref-manual/variables.rst @@ -49,10 +49,9 @@ system and gives an overview of their function and contents. alternatives system to create a different binary naming scheme so the commands can co-exist. - To use the variable, list out the package's commands that also exist - as part of another package. For example, if the ``busybox`` package - has four commands that also exist as part of another package, you - identify them as follows:: + To use the variable, list out the package's commands that are also + provided by another package. For example, if the ``busybox`` package + has four such commands, you identify them as follows:: ALTERNATIVE_busybox = "sh sed test bracket" @@ -306,8 +305,8 @@ system and gives an overview of their function and contents. variable), the OpenEmbedded build system ignores your request and will install the packages to avoid dependency errors. - Support for this variable exists only when using the IPK and RPM - packaging backend. Support does not exist for DEB. + This variable is supported only when using the IPK and RPM + packaging backends. DEB is not supported. See the :term:`NO_RECOMMENDATIONS` and the :term:`PACKAGE_EXCLUDE` variables for related @@ -336,8 +335,8 @@ system and gives an overview of their function and contents. - This host list is only used if ``BB_NO_NETWORK`` is either not set or set to "0". - - Limited support for wildcard matching against the beginning of - host names exists. For example, the following setting matches + - There is limited support for wildcard matching against the beginning of + host names. For example, the following setting matches ``git.gnu.org``, ``ftp.gnu.org``, and ``foo.git.gnu.org``. :: @@ -558,7 +557,7 @@ system and gives an overview of their function and contents. :term:`BBCLASSEXTEND` Allows you to extend a recipe so that it builds variants of the - software. Common variants for recipes exist such as "natives" like + software. There are common variants for recipes as "natives" like ``quilt-native``, which is a copy of Quilt built to run on the build system; "crosses" such as ``gcc-cross``, which is a compiler built to run on the build machine but produces binaries that run on the target @@ -1237,7 +1236,7 @@ system and gives an overview of their function and contents. CONFFILES_${PN} += "${sysconfdir}/file1 \ ${sysconfdir}/file2 ${sysconfdir}/file3" - A relationship exists between the ``CONFFILES`` and ``FILES`` + There is a relationship between the ``CONFFILES`` and ``FILES`` variables. The files listed within ``CONFFILES`` must be a subset of the files listed within ``FILES``. Because the configuration files you provide with ``CONFFILES`` are simply being identified so that @@ -1417,8 +1416,8 @@ system and gives an overview of their function and contents. :term:`COREBASE_FILES` Lists files from the :term:`COREBASE` directory that should be copied other than the layers listed in the - ``bblayers.conf`` file. The ``COREBASE_FILES`` variable exists for - the purpose of copying metadata from the OpenEmbedded build system + ``bblayers.conf`` file. The ``COREBASE_FILES`` variable allows + to copy metadata from the OpenEmbedded build system into the extensible SDK. Explicitly listing files in ``COREBASE`` is needed because it @@ -1525,10 +1524,10 @@ system and gives an overview of their function and contents. :term:`DEBUG_BUILD` Specifies to build packages with debugging information. This - influences the value of the ``SELECTED_OPTIMIZATION`` variable. + influences the value of the :term:`SELECTED_OPTIMIZATION` variable. :term:`DEBUG_OPTIMIZATION` - The options to pass in ``TARGET_CFLAGS`` and ``CFLAGS`` when + The options to pass in :term:`TARGET_CFLAGS` and :term:`CFLAGS` when compiling a system for debugging. This variable defaults to "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe". @@ -1538,7 +1537,7 @@ system and gives an overview of their function and contents. The most common usage of this is variable is to set it to "-1" within a recipe for a development version of a piece of software. Using the variable in this way causes the stable version of the recipe to build - by default in the absence of ``PREFERRED_VERSION`` being used to + by default in the absence of :term:`PREFERRED_VERSION` being used to build the development version. .. note:: @@ -2460,8 +2459,8 @@ system and gives an overview of their function and contents. ``FILESEXTRAPATHS`` variable. You can take advantage of this searching behavior in useful ways. For - example, consider a case where the following directory structure - exists for general and machine-specific configurations:: + example, consider a case where there is the following directory structure + for general and machine-specific configurations:: files/defconfig files/MACHINEA/defconfig @@ -2579,7 +2578,7 @@ system and gives an overview of their function and contents. Set the variable to "1" to force the removal of these packages. :term:`FULL_OPTIMIZATION` - The options to pass in ``TARGET_CFLAGS`` and ``CFLAGS`` when + The options to pass in :term:`TARGET_CFLAGS` and :term:`CFLAGS` when compiling an optimized system. This variable defaults to "-O2 -pipe ${DEBUG_FLAGS}". @@ -3013,8 +3012,8 @@ system and gives an overview of their function and contents. Image recipes set ``IMAGE_INSTALL`` to specify the packages to install into an image through ``image.bbclass``. Additionally, - "helper" classes such as the - :ref:`core-image ` class exist that can + there are "helper" classes such as the + :ref:`core-image ` class which can take lists used with ``IMAGE_FEATURES`` and turn them into auto-generated entries in ``IMAGE_INSTALL`` in addition to its default contents. @@ -3465,8 +3464,8 @@ system and gives an overview of their function and contents. Use of the ``INHIBIT_SYSROOT_STRIP`` variable occurs in rare and special circumstances. For example, suppose you are building bare-metal firmware by using an external GCC toolchain. Furthermore, - even if the toolchain's binaries are strippable, other files exist - that are needed for the build that are not strippable. + even if the toolchain's binaries are strippable, there are other files + needed for the build that are not strippable. :term:`INITRAMFS_FSTYPES` Defines the format for the output image of an initial RAM filesystem @@ -3745,6 +3744,44 @@ system and gives an overview of their function and contents. ":ref:`kernel-dev/common:using an "in-tree" \`\`defconfig\`\` file`" section in the Yocto Project Linux Kernel Development Manual. + :term:`KCONFIG_MODE` + When used with the :ref:`kernel-yocto ` + class, specifies the kernel configuration values to use for options + not specified in the provided ``defconfig`` file. Valid options are:: + + KCONFIG_MODE = "alldefconfig" + KCONFIG_MODE = "allnoconfig" + + In ``alldefconfig`` mode the options not explicitly specified will be + assigned their Kconfig default value. In ``allnoconfig`` mode the + options not explicitly specified will be disabled in the kernel + config. + + In case ``KCONFIG_MODE`` is not set the behaviour will depend on where + the ``defconfig`` file is coming from. An "in-tree" ``defconfig`` file + will be handled in ``alldefconfig`` mode, a ``defconfig`` file placed + in ``${WORKDIR}`` through a meta-layer will be handled in + ``allnoconfig`` mode. + + An "in-tree" ``defconfig`` file can be selected via the + :term:`KBUILD_DEFCONFIG` variable. ``KCONFIG_MODE`` does not need to + be explicitly set. + + A ``defconfig`` file compatible with ``allnoconfig`` mode can be + generated by copying the ``.config`` file from a working Linux kernel + build, renaming it to ``defconfig`` and placing it into the Linux + kernel ``${WORKDIR}`` through your meta-layer. ``KCONFIG_MODE`` does + not need to be explicitly set. + + A ``defconfig`` file compatible with ``alldefconfig`` mode can be + generated using the + :ref:`ref-tasks-savedefconfig` + task and placed into the Linux kernel ``${WORKDIR}`` through your + meta-layer. Explicitely set ``KCONFIG_MODE``:: + + KCONFIG_MODE = "alldefconfig" + + :term:`KERNEL_ALT_IMAGETYPE` Specifies an alternate kernel image type for creation in addition to the kernel image type specified using the @@ -3779,7 +3816,7 @@ system and gives an overview of their function and contents. .. note:: - Legacy support exists for specifying the full path to the device + There is legacy support for specifying the full path to the device tree. However, providing just the ``.dtb`` file is preferred. In order to use this variable, the @@ -4004,7 +4041,7 @@ system and gives an overview of their function and contents. :term:`KERNELDEPMODDEPEND` Specifies whether the data referenced through - :term:`PKGDATA_DIR` is needed or not. The + :term:`PKGDATA_DIR` is needed or not. ``KERNELDEPMODDEPEND`` does not control whether or not that data exists, but simply whether or not it is used. If you do not need to use the data, set the ``KERNELDEPMODDEPEND`` variable in your @@ -4189,8 +4226,8 @@ system and gives an overview of their function and contents. - Separate license names using \| (pipe) when there is a choice between licenses. - - Separate license names using & (ampersand) when multiple licenses - exist that cover different parts of the source. + - Separate license names using & (ampersand) when there are + multiple licenses for different parts of the source. - You can use spaces between license names. @@ -4338,8 +4375,8 @@ system and gives an overview of their function and contents. The variable corresponds to a machine configuration file of the same name, through which machine-specific configurations are set. Thus, - when ``MACHINE`` is set to "qemux86" there exists the corresponding - ``qemux86.conf`` machine configuration file, which can be found in + when ``MACHINE`` is set to "qemux86", the corresponding + ``qemux86.conf`` machine configuration file can be found in the :term:`Source Directory` in ``meta/conf/machine``. @@ -4704,7 +4741,7 @@ system and gives an overview of their function and contents. :term:`NO_GENERIC_LICENSE` Avoids QA errors when you use a non-common, non-CLOSED license in a - recipe. Packages exist, such as the linux-firmware package, with many + recipe. There are packages, such as the linux-firmware package, with many licenses that are not in any way common. Also, new licenses are added occasionally to avoid introducing a lot of common license files, which are only applicable to a specific package. @@ -4716,7 +4753,7 @@ system and gives an overview of their function and contents. NO_GENERIC_LICENSE[license_name] = "license_file_in_fetched_source" - The following is an example that + Here is an example that uses the ``LICENSE.Abilis.txt`` file as the license from the fetched source:: @@ -4748,8 +4785,8 @@ system and gives an overview of their function and contents. functionality, such as kernel modules. It is up to you to add packages with the :term:`IMAGE_INSTALL` variable. - Support for this variable exists only when using the IPK and RPM - packaging backend. Support does not exist for DEB. + This variable is only supported when using the IPK and RPM + packaging backends. DEB is not supported. See the :term:`BAD_RECOMMENDATIONS` and the :term:`PACKAGE_EXCLUDE` variables for @@ -5026,8 +5063,8 @@ system and gives an overview of their function and contents. an iterative development process to remove specific components from a system. - Support for this variable exists only when using the IPK and RPM - packaging backend. Support does not exist for DEB. + This variable is supported only when using the IPK and RPM + packaging backends. DEB is not supported. See the :term:`NO_RECOMMENDATIONS` and the :term:`BAD_RECOMMENDATIONS` variables for @@ -6173,7 +6210,7 @@ system and gives an overview of their function and contents. :term:`PACKAGE_EXCLUDE` variables. Packages specified in ``RRECOMMENDS`` need not actually be produced. - However, a recipe must exist that provides each package, either + However, there must be a recipe providing each package, either through the :term:`PACKAGES` or :term:`PACKAGES_DYNAMIC` variables or the :term:`RPROVIDES` variable, or an error will occur @@ -6653,8 +6690,8 @@ system and gives an overview of their function and contents. value of the :term:`TARGET_CFLAGS` variable. The ``SELECTED_OPTIMIZATION`` variable takes the value of - ``FULL_OPTIMIZATION`` unless ``DEBUG_BUILD`` = "1". If that is the - case, the value of ``DEBUG_OPTIMIZATION`` is used. + :term:`FULL_OPTIMIZATION` unless :term:`DEBUG_BUILD` = "1", in which + case the value of :term:`DEBUG_OPTIMIZATION` is used. :term:`SERIAL_CONSOLE` Defines a serial console (TTY) to enable using @@ -6941,8 +6978,8 @@ system and gives an overview of their function and contents. - ``az://`` - Fetches files from an Azure Storage account. - Standard and recipe-specific options for ``SRC_URI`` exist. Here are - standard options: + There are standard and recipe-specific options for ``SRC_URI``. Here are + standard ones: - ``apply`` - Whether to apply the patch or not. The default action is to apply the patch. @@ -7629,8 +7666,8 @@ system and gives an overview of their function and contents. :term:`TARGET_OS` Specifies the target's operating system. The variable can be set to "linux" for glibc-based systems (GNU C Library) and to "linux-musl" - for musl libc. For ARM/EABI targets, "linux-gnueabi" and - "linux-musleabi" possible values exist. + for musl libc. For ARM/EABI targets, the possible values are + "linux-gnueabi" and "linux-musleabi". :term:`TARGET_PREFIX` Specifies the prefix used for the toolchain binary target tools. @@ -8331,11 +8368,10 @@ system and gives an overview of their function and contents. configure options are simply not passed to the configure script (e.g. should be removed from :term:`EXTRA_OECONF` or :term:`PACKAGECONFIG_CONFARGS`). - However, common options, for example, exist that are passed to all - configure scripts at a class level that might not be valid for some - configure scripts. It follows that no benefit exists in seeing a - warning about these options. For these cases, the options are added - to ``UNKNOWN_CONFIGURE_WHITELIST``. + However, there are common options that are passed to all + configure scripts at a class level, but might not be valid for some + configure scripts. Therefore warnings about these options are useless. + For these cases, the options are added to ``UNKNOWN_CONFIGURE_WHITELIST``. The configure arguments check that uses ``UNKNOWN_CONFIGURE_WHITELIST`` is part of the diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst index b95a6edf5..f278e2159 100644 --- a/poky/documentation/releases.rst +++ b/poky/documentation/releases.rst @@ -9,6 +9,7 @@ ******************************* - :yocto_docs:`3.3 Documentation ` +- :yocto_docs:`3.3.1 Documentation ` ******************************* 3.2 'gatesgarth' Release Series @@ -18,6 +19,7 @@ - :yocto_docs:`3.2.1 Documentation ` - :yocto_docs:`3.2.2 Documentation ` - :yocto_docs:`3.2.3 Documentation ` +- :yocto_docs:`3.2.4 Documentation ` **************************** 3.1 'dunfell' Release Series diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst index fb2d78452..67b49d9f4 100644 --- a/poky/documentation/sdk-manual/appendix-customizing.rst +++ b/poky/documentation/sdk-manual/appendix-customizing.rst @@ -57,8 +57,7 @@ Adjusting the Extensible SDK to Suit Your Build Host's Setup ============================================================ In most cases, the extensible SDK defaults should work with your :term:`Build -Host`'s setup. -However, some cases exist for which you might consider making +Host`'s setup. However, there are cases when you might consider making adjustments: - If your SDK configuration inherits additional classes using the @@ -153,7 +152,7 @@ follows:: SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK" -While several ways exist to change this variable, an efficient method is +While there are several ways of changing this variable, an efficient method is to set the variable in your distribution's configuration file. Doing so creates an SDK installer title that applies across your distribution. As an example, assume you have your own layer for your distribution named @@ -223,7 +222,7 @@ You can change this default installation directory by specifically setting the ``SDKEXTPATH`` variable. -While a number of ways exist through which you can set this variable, +While there are several ways of setting this variable, the method that makes the most sense is to set the variable in your distribution's configuration file. Doing so creates an SDK installer default directory that applies across your distribution. As an example, diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst index 04bafaed9..55bd7f6eb 100644 --- a/poky/documentation/sdk-manual/extensible.rst +++ b/poky/documentation/sdk-manual/extensible.rst @@ -194,7 +194,7 @@ all the commands. devtool quick reference. -Three ``devtool`` subcommands exist that provide entry-points into +Three ``devtool`` subcommands provide entry-points into development: - *devtool add*: Assists in adding new software to be built. @@ -276,7 +276,7 @@ command: devtool always creates a Git repository locally during the extraction. - Furthermore, the first positional argument srctree in this case + Furthermore, the first positional argument ``srctree`` in this case identifies where the ``devtool add`` command will locate the extracted code outside of the workspace. You need to specify an empty directory:: @@ -285,13 +285,13 @@ command: In summary, the source code is pulled from fetchuri and extracted into the - location defined by srctree as a local Git repository. + location defined by ``srctree`` as a local Git repository. Within workspace, ``devtool`` creates a recipe named recipe along with an associated append file. - *Right*: The right scenario in the figure represents a situation - where the srctree has been previously prepared outside of the + where the ``srctree`` has been previously prepared outside of the ``devtool`` workspace. The following command provides a new recipe name and identifies @@ -437,7 +437,7 @@ command: locate the source code and any local patch files from other developers. - With this scenario, no srctree argument exists. Consequently, the + With this scenario, there is no ``srctree`` argument. Consequently, the default behavior of the ``devtool modify`` command is to extract the source files pointed to by the ``SRC_URI`` statements into a local Git structure. Furthermore, the location for the extracted @@ -483,21 +483,21 @@ command: under the newly created source tree. Once the files are located, the command by default extracts them - into srctree. + into ``srctree``. Within workspace, ``devtool`` creates an append file for the recipe. The recipe remains in its original location but the source - files are extracted to the location you provide with srctree. + files are extracted to the location you provide with ``srctree``. - *Right*: The right scenario in the figure represents a situation - where the source tree (srctree) already exists locally as a + where the source tree (``srctree``) already exists locally as a previously extracted Git structure outside of the ``devtool`` workspace. In this example, the recipe also exists elsewhere locally in its own layer. The following command tells ``devtool`` the recipe with which to work, uses the "-n" option to indicate source does not need to be - extracted, and uses srctree to point to the previously extracted + extracted, and uses ``srctree`` to point to the previously extracted source files:: $ devtool modify -n recipe srctree @@ -646,8 +646,9 @@ The following diagram shows the common development flow used with the code into the ``sources`` directory in the :ref:`devtool-the-workspace-layer-structure`. If you want the code extracted to any other location, you need to - provide the srctree positional argument with the command as follows: - $ devtool upgrade -V version recipe srctree + provide the ``srctree`` positional argument with the command as follows:: + + $ devtool upgrade -V version recipe srctree .. note:: @@ -674,8 +675,8 @@ The following diagram shows the common development flow used with the are incorporated into the build the next time you build the software just as are other changes you might have made to the source. -2. *Resolve any Conflicts created by the Upgrade*: Conflicts could exist - due to the software being upgraded to a new version. Conflicts occur +2. *Resolve any Conflicts created by the Upgrade*: Conflicts could happen + after upgrading the software to a new version. Conflicts occur if your recipe specifies some patch files in ``SRC_URI`` that conflict with changes made in the new version of the software. For such cases, you need to resolve the conflicts by editing the source @@ -908,8 +909,8 @@ mind: similar manner to the environment set up by the SDK's environment setup script. One easy way to see these variables is to run the ``devtool build`` command on the recipe and then look in - ``oe-logs/run.do_compile``. Towards the top of this file, a list of - environment variables exists that are being set. You can take + ``oe-logs/run.do_compile``. Towards the top of this file, there is + a list of environment variables that are set. You can take advantage of these variables within the Makefile. - If the Makefile sets a default for a variable using "=", that default @@ -953,7 +954,7 @@ following methods when you run ``devtool add``: Specifying the name like this produces a recipe that only builds for the build host. -- Specify the "DASHDASHalso-native" option with the ``devtool add`` +- Specify the "--also-native" option with the ``devtool add`` command. Specifying this option creates a recipe file that still builds for the target but also creates a variant with a "-native" suffix that builds for the build host. @@ -964,7 +965,7 @@ following methods when you run ``devtool add``: that builds code for the target, you can typically accomplish this by building the native and target parts separately rather than within the same compilation process. Realize though that with the - "DASHDASHalso-native" option, you can add the tool using just one + "--also-native" option, you can add the tool using just one recipe file. Adding Node.js Modules @@ -1037,8 +1038,8 @@ If you look at the contents of a recipe, you will see that the recipe does not include complete instructions for building the software. Instead, common functionality is encapsulated in classes inherited with the ``inherit`` directive. This technique leaves the recipe to describe -just the things that are specific to the software being built. A -:ref:`base ` class exists that +just the things that are specific to the software being built. There is +a :ref:`base ` class that is implicitly inherited by all recipes and provides the functionality that most recipes typically need. @@ -1100,7 +1101,7 @@ arguments listed in the previous paragraph. The command determines the exact options being passed, and shows them to you along with any custom arguments specified through ``EXTRA_OECONF`` or ``PACKAGECONFIG_CONFARGS``. If applicable, the command also shows you -the output of the configure script's "DASHDASHhelp" option as a +the output of the configure script's "--help" option as a reference. Sharing Files Between Recipes @@ -1110,9 +1111,9 @@ Recipes often need to use files provided by other recipes on the :term:`Build Host`. For example, an application linking to a common library needs access to the library itself and its associated headers. The way this access is accomplished -within the extensible SDK is through the sysroot. One sysroot exists per +within the extensible SDK is through the sysroot. There is one sysroot per "machine" for which the SDK is being built. In practical terms, this -means a sysroot exists for the target machine, and a sysroot exists for +means there is a sysroot for the target machine, and a sysroot for the build host. Recipes should never write files directly into the sysroot. Instead, @@ -1159,8 +1160,8 @@ example, ``FILES_${PN}`` specifies the files to go into the main package ``${``\ :term:`PN`\ ``}`` evaluates to the recipe name). The order of the ``PACKAGES`` value is significant. For each installed file, the first package whose ``FILES`` value matches the -file is the package into which the file goes. Defaults exist for both -the ``PACKAGES`` and ``FILES`` variables. Consequently, you might find +file is the package into which the file goes. Both the ``PACKAGES`` and +``FILES`` variables have default values. Consequently, you might find you do not even need to set these variables in your recipe unless the software the recipe is building installs files into non-standard locations. @@ -1230,7 +1231,7 @@ source, you can add the "-s" option as follows:: It is important to remember that building the item from source takes significantly longer than installing the pre-built artifact. Also, -if no recipe exists for the item you want to add to the SDK, you must +if there is no recipe for the item you want to add to the SDK, you must instead add the item using the ``devtool add`` command. Applying Updates to an Installed Extensible SDK diff --git a/poky/documentation/sdk-manual/intro.rst b/poky/documentation/sdk-manual/intro.rst index d966efea7..2f94aaf87 100644 --- a/poky/documentation/sdk-manual/intro.rst +++ b/poky/documentation/sdk-manual/intro.rst @@ -8,8 +8,8 @@ eSDK Introduction ================= Welcome to the Yocto Project Application Development and the Extensible -Software Development Kit (eSDK) manual. This manual provides information -that explains how to use both the Yocto Project extensible and standard +Software Development Kit (eSDK) manual. This manual +explains how to use both the Yocto Project extensible and standard SDKs to develop applications and images. .. note:: @@ -25,12 +25,13 @@ SDKs to develop applications and images. All SDKs consist of the following: - *Cross-Development Toolchain*: This toolchain contains a compiler, - debugger, and various miscellaneous tools. + debugger, and various associated tools. - *Libraries, Headers, and Symbols*: The libraries, headers, and - symbols are specific to the image (i.e. they match the image). + symbols are specific to the image (i.e. they match the image + against which the SDK was built). -- *Environment Setup Script*: This ``*.sh`` file, once run, sets up the +- *Environment Setup Script*: This ``*.sh`` file, once sourced, sets up the cross-development environment by defining variables and preparing for SDK use. @@ -48,14 +49,14 @@ time since that path cannot be dynamically altered. This is the reason for a wrapper around the ``populate_sdk`` and ``populate_sdk_ext`` archives. -Another feature for the SDKs is that only one set of cross-compiler +Another feature of the SDKs is that only one set of cross-compiler toolchain binaries are produced for any given architecture. This feature takes advantage of the fact that the target hardware can be passed to ``gcc`` as a set of compiler options. Those options are set up by the environment script and contained in variables such as :term:`CC` and :term:`LD`. This reduces the space needed -for the tools. Understand, however, that every target still needs a +for the tools. Understand, however, that every target still needs its own sysroot because those binaries are target-specific. The SDK development environment consists of the following: @@ -118,8 +119,8 @@ The Cross-Development Toolchain The :term:`Cross-Development Toolchain` consists of a cross-compiler, cross-linker, and cross-debugger that are used to -develop user-space applications for targeted hardware. Additionally, for -an extensible SDK, the toolchain also has built-in ``devtool`` +develop user-space applications for targeted hardware; in addition, +the extensible SDK comes with built-in ``devtool`` functionality. This toolchain is created by running a SDK installer script or through a :term:`Build Directory` that is based on your metadata configuration or extension for your targeted device. The @@ -138,21 +139,19 @@ The QEMU Emulator ----------------- The QEMU emulator allows you to simulate your hardware while running -your application or image. QEMU is not part of the SDK but is made -available a number of different ways: +your application or image. QEMU is not part of the SDK but is +automatically installed and available if you have done any one of +the following: -- If you have cloned the ``poky`` Git repository to create a - :term:`Source Directory` and you have - sourced the environment setup script, QEMU is installed and - automatically available. +- cloned the ``poky`` Git repository to create a + :term:`Source Directory` and sourced the environment setup script. -- If you have downloaded a Yocto Project release and unpacked it to - create a Source Directory and you have sourced the environment setup - script, QEMU is installed and automatically available. +- downloaded a Yocto Project release and unpacked it to + create a Source Directory and sourced the environment setup + script. -- If you have installed the cross-toolchain tarball and you have - sourced the toolchain's setup environment script, QEMU is also - installed and automatically available. +- installed the cross-toolchain tarball and + sourced the toolchain's setup environment script. SDK Development Model ===================== @@ -202,10 +201,9 @@ You just need to follow these general steps: .. note:: - To use the root filesystem in QEMU, you need to extract it. See - the " - Extracting the Root Filesystem - " section for information on how to extract the root filesystem. + To use the root filesystem in QEMU, you need to extract it. See the + ":ref:`sdk-manual/appendix-obtain:extracting the root filesystem`" + section for information on how to do this extraction. 3. *Develop and Test your Application:* At this point, you have the tools to develop your application. If you need to separately install @@ -216,5 +214,5 @@ You just need to follow these general steps: within the Yocto Project. The remainder of this manual describes how to use the extensible and -standard SDKs. Information also exists in appendix form that describes +standard SDKs. There is also information in appendix form describing how you can build, install, and modify an SDK. diff --git a/poky/documentation/sdk-manual/using.rst b/poky/documentation/sdk-manual/using.rst index fa0e8d409..301627812 100644 --- a/poky/documentation/sdk-manual/using.rst +++ b/poky/documentation/sdk-manual/using.rst @@ -11,9 +11,8 @@ standard SDK. .. note:: For a side-by-side comparison of main features supported for a - standard SDK as compared to an extensible SDK, see the " - Introduction - " section. + standard SDK as compared to an extensible SDK, see the + ":ref:`sdk-manual/intro:introduction`" section. You can use a standard SDK to work on Makefile and Autotools-based projects. See the @@ -49,7 +48,7 @@ the Index of Releases. Toolchains are available for several 32-bit and 64-bit architectures with the ``x86_64`` directories, respectively. The toolchains the Yocto Project provides are based off the ``core-image-sato`` and ``core-image-minimal`` images and contain -libraries appropriate for developing against that image. +libraries appropriate for developing against the corresponding image. The names of the tarball installer scripts are such that a string representing the host system appears first in the filename and then is @@ -84,9 +83,9 @@ the SDK for ``core-image-sato`` and using the current DISTRO snapshot:: .. note:: As an alternative to downloading an SDK, you can build the SDK - installer. For information on building the installer, see the " - Building an SDK Installer - " section. + installer. For information on building the installer, see the + ":ref:`sdk-manual/appendix-obtain:building an sdk installer`" + section. The SDK and toolchains are self-contained and by default are installed into the ``poky_sdk`` folder in your home directory. You can choose to diff --git a/poky/documentation/sphinx-static/switchers.js b/poky/documentation/sphinx-static/switchers.js index 3f62e29b9..a32d87236 100644 --- a/poky/documentation/sphinx-static/switchers.js +++ b/poky/documentation/sphinx-static/switchers.js @@ -3,8 +3,8 @@ var all_versions = { 'dev': 'dev (3.4)', - '3.3': '3.3', - '3.2.3': '3.2.3', + '3.3.1': '3.3.1', + '3.2.4': '3.2.4', '3.1.7': '3.1.7', '3.0.4': '3.0.4', '2.7.4': '2.7.4', diff --git a/poky/documentation/toaster-manual/reference.rst b/poky/documentation/toaster-manual/reference.rst index 3d4efe92d..c0d02ff9a 100644 --- a/poky/documentation/toaster-manual/reference.rst +++ b/poky/documentation/toaster-manual/reference.rst @@ -9,8 +9,8 @@ concepts and have some basic command reference material available. This final chapter provides conceptual information on layer sources, releases, and JSON configuration files. Also provided is a quick look at some useful ``manage.py`` commands that are Toaster-specific. -Information on ``manage.py`` commands does exist across the Web and the -information in this manual by no means attempts to provide a command +Information on ``manage.py`` commands is available across the Web and +this manual by no means attempts to provide a command comprehensive reference. Layer Source @@ -32,9 +32,8 @@ through a `REST `__ API, store the information about the layers in the Toaster database, and then show the information to users. Users are then able to view that -information and build layers from Toaster itself without worrying about -cloning or editing the BitBake layers configuration file -``bblayers.conf``. +information and build layers from Toaster itself without having to +clone or edit the BitBake layers configuration file ``bblayers.conf``. Tying a layer source into Toaster is convenient when you have many custom layers that need to be built on a regular basis by a community of @@ -187,7 +186,7 @@ Configuring the Workflow ------------------------ The ``bldcontrol/management/commands/checksettings.py`` file controls -workflow configuration. The following steps outline the process to +workflow configuration. Here is the process to initially populate this database. 1. The default project settings are set from @@ -238,7 +237,7 @@ The following example sets "name" to "CUSTOM_XML_ONLY" and its value to Understanding Fixture File Format --------------------------------- -The following is an overview of the file format used by the +Here is an overview of the file format used by the ``oe-core.xml``, ``poky.xml``, and ``custom.xml`` files. The following subsections describe each of the sections in the fixture @@ -408,7 +407,7 @@ To get the status of pending builds, use the following call:: Be sure to provide values for host and port. The output is a JSON file that itemizes all builds in progress. This file includes the time in seconds since each respective build started as well as the progress of the cloning, parsing, -and task execution. The following is sample output for a build in progress: +and task execution. Here is sample output for a build in progress: .. code-block:: JSON @@ -441,8 +440,8 @@ call:: http://host:port/toastergui/api/builds Be sure to provide values for host and port. The output is a JSON file that -itemizes all complete builds, and includes build summary information. The -following is sample output for a completed build: +itemizes all complete builds, and includes build summary information. Here +is sample output for a completed build: .. code-block:: JSON @@ -480,7 +479,7 @@ Completed query. See the ":ref:`toaster-manual/reference:checking status of buil section for more information. The output is a JSON file that itemizes the specific build and includes -build summary information. The following is sample output for a specific +build summary information. Here is sample output for a specific build: .. code-block:: JSON @@ -509,7 +508,7 @@ Useful Commands =============== In addition to the web user interface and the scripts that start and -stop Toaster, command-line commands exist through the ``manage.py`` +stop Toaster, command-line commands are available through the ``manage.py`` management script. You can find general documentation on ``manage.py`` at the `Django `__ diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample index a94b613ba..fb14379d2 100644 --- a/poky/meta-poky/conf/local.conf.sample +++ b/poky/meta-poky/conf/local.conf.sample @@ -148,11 +148,8 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks" # enable extra features. Some available options which can be included in this variable # are: # - 'buildstats' collect build statistics -# - 'image-mklibs' to reduce shared library files size for an image # - 'image-prelink' in order to prelink the filesystem image -# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink -# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended -USER_CLASSES ?= "buildstats image-mklibs image-prelink" +USER_CLASSES ?= "buildstats image-prelink" # # Runtime testing of images @@ -188,7 +185,7 @@ PATCHRESOLVE = "noop" # # Monitor the disk space during the build. If there is less that 1GB of space or less # than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully -# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort +# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort # of the build. The reason for this is that running completely out of space can corrupt # files and damages the build in ways which may not be easily recoverable. # It's necessary to monitor /tmp, if there is no space left the build will fail diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended index c241caa86..a670c7400 100644 --- a/poky/meta-poky/conf/local.conf.sample.extended +++ b/poky/meta-poky/conf/local.conf.sample.extended @@ -119,15 +119,6 @@ DISTRO_FEATURES_remove = "x11" # # TCMODE ?= "external-sourcery" -# mklibs library size optimization is more useful to smaller images, -# and less useful for bigger images. Also mklibs library optimization -# can break the ABI compatibility, so should not be applied to the -# images which are to be extended or upgraded later. -#This enabled mklibs library size optimization just for the specified image. -#MKLIBS_OPTIMIZED_IMAGES ?= "core-image-minimal" -#This enable mklibs library size optimization will be for all the images. -#MKLIBS_OPTIMIZED_IMAGES ?= "all" - # This value is currently used by pseudo to determine if the recipe should # build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system. # diff --git a/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb b/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb index ee945c1ff..19ef16988 100644 --- a/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb +++ b/poky/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb @@ -4,7 +4,7 @@ DESCRIPTION = "These are introductory examples to showcase the use of QEMU to ru LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449" -SRCREV = "99f4fa4a3b266b42b52af302610b0f4f429ba5e3" +SRCREV = "0bf9ea216e6f76be50726a3a74e527b7bbb0ad93" PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/aehs29/baremetal-helloqemu.git;protocol=https;branch=master" @@ -28,12 +28,13 @@ inherit baremetal-image # machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57 # but the examples can also be run on other architectures/machines # such as vexpress-a15 by overriding the setting on the machine.conf -COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64" +COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64" BAREMETAL_QEMUARCH ?= "" BAREMETAL_QEMUARCH_qemuarmv5 = "versatile" BAREMETAL_QEMUARCH_qemuarm = "arm" BAREMETAL_QEMUARCH_qemuarm64 = "aarch64" +BAREMETAL_QEMUARCH_qemuriscv64 = "riscv64" EXTRA_OEMAKE_append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1" diff --git a/poky/meta/classes/baremetal-image.bbclass b/poky/meta/classes/baremetal-image.bbclass index b0f5e885b..8708a5430 100644 --- a/poky/meta/classes/baremetal-image.bbclass +++ b/poky/meta/classes/baremetal-image.bbclass @@ -50,6 +50,10 @@ python do_rootfs(){ if os.path.lexists(manifest_link): os.remove(manifest_link) os.symlink(os.path.basename(manifest_name), manifest_link) + # A lot of postprocess commands assume the existence of rootfs/etc + sysconfdir = d.getVar("IMAGE_ROOTFS") + d.getVar('sysconfdir') + bb.utils.mkdirhier(sysconfdir) + execute_pre_post_process(d, d.getVar('ROOTFS_POSTPROCESS_COMMAND')) } @@ -73,7 +77,19 @@ QB_DEFAULT_KERNEL ?= "${IMAGE_LINK_NAME}.bin" QB_MEM ?= "-m 256" QB_DEFAULT_FSTYPE ?= "bin" QB_DTB ?= "" -QB_OPT_APPEND = "-nographic" +QB_OPT_APPEND_append = " -nographic" + +# RISC-V tunes set the BIOS, unset, and instruct QEMU to +# ignore the BIOS and boot from -kernel +QB_DEFAULT_BIOS_qemuriscv64 = "" +QB_OPT_APPEND_append_qemuriscv64 = " -bios none" + + +# Use the medium-any code model for the RISC-V 64 bit implementation, +# since medlow can only access addresses below 0x80000000 and RAM +# starts at 0x80000000 on RISC-V 64 +CFLAGS_append_qemuriscv64 = " -mcmodel=medany" + # This next part is necessary to trick the build system into thinking # its building an image recipe so it generates the qemuboot.conf diff --git a/poky/meta/classes/cml1.bbclass b/poky/meta/classes/cml1.bbclass index 1c3d70b48..d319d66ab 100644 --- a/poky/meta/classes/cml1.bbclass +++ b/poky/meta/classes/cml1.bbclass @@ -6,7 +6,7 @@ def find_cfgs(d): if s.endswith('.cfg'): sources_list.append(s) - return sorted(sources_list) + return sources_list cml1_do_configure() { set -e diff --git a/poky/meta/classes/gi-docgen.bbclass b/poky/meta/classes/gi-docgen.bbclass new file mode 100644 index 000000000..5750f7028 --- /dev/null +++ b/poky/meta/classes/gi-docgen.bbclass @@ -0,0 +1,24 @@ +# gi-docgen is a new gnome documentation generator, which +# seems to be a successor to gtk-doc: +# https://gitlab.gnome.org/GNOME/gi-docgen + +# This variable is set to True if api-documentation is in +# DISTRO_FEATURES, and False otherwise. +GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'True', 'False', d)}" +# When building native recipes, disable gi-docgen, as it is not necessary, +# pulls in additional dependencies, and makes build times longer +GIDOCGEN_ENABLED_class-native = "False" +GIDOCGEN_ENABLED_class-nativesdk = "False" + +# meson: default option name to enable/disable gi-docgen. This matches most +# projects' configuration. In doubts - check meson_options.txt in project's +# source path. +GIDOCGEN_MESON_OPTION ?= 'gtk_doc' +GIDOCGEN_MESON_ENABLE_FLAG ?= 'true' +GIDOCGEN_MESON_DISABLE_FLAG ?= 'false' + +# Auto enable/disable based on GIDOCGEN_ENABLED +EXTRA_OEMESON_prepend = "-D${GIDOCGEN_MESON_OPTION}=${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '${GIDOCGEN_MESON_ENABLE_FLAG}', '${GIDOCGEN_MESON_DISABLE_FLAG}', d)} " + +DEPENDS_append = "${@' gi-docgen-native gi-docgen' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}" + diff --git a/poky/meta/classes/gnomebase.bbclass b/poky/meta/classes/gnomebase.bbclass index efcb6caae..884b1a106 100644 --- a/poky/meta/classes/gnomebase.bbclass +++ b/poky/meta/classes/gnomebase.bbclass @@ -1,5 +1,6 @@ def gnome_verdir(v): - return oe.utils.trim_version(v, 2) + return ".".join(v.split(".")[:-1]) + GNOME_COMPRESS_TYPE ?= "xz" SECTION ?= "x11/gnome" diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass index d095305ed..80943fcf0 100644 --- a/poky/meta/classes/icecc.bbclass +++ b/poky/meta/classes/icecc.bbclass @@ -138,10 +138,6 @@ def use_icecc(bb,d): if icecc_is_cross_canadian(bb, d): return "no" - if d.getVar('INHIBIT_DEFAULT_DEPS', False): - # We don't have a compiler, so no icecc - return "no" - pn = d.getVar('PN') bpn = d.getVar('BPN') @@ -362,7 +358,7 @@ set_icecc_env() { ICECC_WHICH_AS="${@bb.utils.which(os.getenv('PATH'), 'as')}" if [ ! -x "${ICECC_CC}" -o ! -x "${ICECC_CXX}" ] then - bbwarn "Cannot use icecc: could not get ICECC_CC or ICECC_CXX" + bbnote "Cannot use icecc: could not get ICECC_CC or ICECC_CXX" return fi diff --git a/poky/meta/classes/image-live.bbclass b/poky/meta/classes/image-live.bbclass index 8b08305cd..fd876ed8e 100644 --- a/poky/meta/classes/image-live.bbclass +++ b/poky/meta/classes/image-live.bbclass @@ -261,4 +261,4 @@ python do_bootimg() { do_bootimg[subimages] = "hddimg iso" do_bootimg[imgsuffix] = "." -addtask bootimg before do_image_complete +addtask bootimg before do_image_complete after do_rootfs diff --git a/poky/meta/classes/image-mklibs.bbclass b/poky/meta/classes/image-mklibs.bbclass deleted file mode 100644 index 68e11d436..000000000 --- a/poky/meta/classes/image-mklibs.bbclass +++ /dev/null @@ -1,56 +0,0 @@ -do_rootfs[depends] += "mklibs-native:do_populate_sysroot" - -IMAGE_PREPROCESS_COMMAND += "mklibs_optimize_image; " - -inherit linuxloader - -mklibs_optimize_image_doit() { - rm -rf ${WORKDIR}/mklibs - mkdir -p ${WORKDIR}/mklibs/dest - cd ${IMAGE_ROOTFS} - du -bs > ${WORKDIR}/mklibs/du.before.mklibs.txt - - # Build a list of dynamically linked executable ELF files. - # Omit libc/libpthread as a special case because it has an interpreter - # but is primarily what we intend to strip down. - for i in `find . -type f -executable ! -name 'libc-*' ! -name 'libpthread-*'`; do - file $i | grep -q ELF || continue - ${HOST_PREFIX}readelf -l $i | grep -q INTERP || continue - echo $i - done > ${WORKDIR}/mklibs/executables.list - - dynamic_loader=${@get_linuxloader(d)} - - mklibs -v \ - --ldlib ${dynamic_loader} \ - --libdir ${baselib} \ - --sysroot ${PKG_CONFIG_SYSROOT_DIR} \ - --gcc-options "--sysroot=${PKG_CONFIG_SYSROOT_DIR}" \ - --root ${IMAGE_ROOTFS} \ - --target `echo ${TARGET_PREFIX} | sed 's/-$//' ` \ - -d ${WORKDIR}/mklibs/dest \ - `cat ${WORKDIR}/mklibs/executables.list` - - cd ${WORKDIR}/mklibs/dest - for i in * - do - cp $i `find ${IMAGE_ROOTFS} -name $i` - done - - cd ${IMAGE_ROOTFS} - du -bs > ${WORKDIR}/mklibs/du.after.mklibs.txt - - echo rootfs size before mklibs optimization: `cat ${WORKDIR}/mklibs/du.before.mklibs.txt` - echo rootfs size after mklibs optimization: `cat ${WORKDIR}/mklibs/du.after.mklibs.txt` -} - -mklibs_optimize_image() { - for img in ${MKLIBS_OPTIMIZED_IMAGES} - do - if [ "${img}" = "${PN}" ] || [ "${img}" = "all" ] - then - mklibs_optimize_image_doit - break - fi - done -} diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 353cc6717..67603d958 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -38,7 +38,7 @@ IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-de # Generate companion debugfs? IMAGE_GEN_DEBUGFS ?= "0" -# These pacackages will be installed as additional into debug rootfs +# These packages will be installed as additional into debug rootfs IMAGE_INSTALL_DEBUGFS ?= "" # These packages will be removed from a read-only rootfs after all other diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass index 802869140..2a45d45c7 100644 --- a/poky/meta/classes/image_types.bbclass +++ b/poky/meta/classes/image_types.bbclass @@ -108,6 +108,11 @@ IMAGE_CMD_squashfs-xz = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME IMAGE_CMD_squashfs-lzo = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo" IMAGE_CMD_squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lz4 ${EXTRA_IMAGECMD} -noappend -comp lz4" +IMAGE_CMD_erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs ${IMAGE_ROOTFS}" +IMAGE_CMD_erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4 ${IMAGE_ROOTFS}" +IMAGE_CMD_erofs-lz4hc = "mkfs.erofs -zlz4hc ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4hc ${IMAGE_ROOTFS}" + + IMAGE_CMD_TAR ?= "tar" # ignore return code 1 "file changed as we read it" as other tasks(e.g. do_image_wic) may be hardlinking rootfs IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --format=posix --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]" @@ -243,6 +248,9 @@ do_image_ubi[depends] += "mtd-utils-native:do_populate_sysroot" do_image_ubifs[depends] += "mtd-utils-native:do_populate_sysroot" do_image_multiubi[depends] += "mtd-utils-native:do_populate_sysroot" do_image_f2fs[depends] += "f2fs-tools-native:do_populate_sysroot" +do_image_erofs[depends] += "erofs-utils-native:do_populate_sysroot" +do_image_erofs_lz4[depends] += "erofs-utils-native:do_populate_sysroot" +do_image_erofs_lz4hc[depends] += "erofs-utils-native:do_populate_sysroot" # This variable is available to request which values are suitable for IMAGE_FSTYPES IMAGE_TYPES = " \ @@ -261,6 +269,7 @@ IMAGE_TYPES = " \ wic wic.gz wic.bz2 wic.lzma wic.zst \ container \ f2fs \ + erofs erofs-lz4 erofs-lz4hc \ " # Compression is a special case of conversion. The old variable diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass index 5cfd8af99..e363eeb64 100644 --- a/poky/meta/classes/kernel-fitimage.bbclass +++ b/poky/meta/classes/kernel-fitimage.bbclass @@ -217,13 +217,13 @@ fitimage_emit_section_boot_script() { bootscr_sign_keyname="${UBOOT_SIGN_KEYNAME}" cat << EOF >> ${1} - bootscr@${2} { + bootscr-${2} { description = "U-boot script"; data = /incbin/("${3}"); type = "script"; arch = "${UBOOT_ARCH}"; compression = "none"; - hash@1 { + hash-1 { algo = "${bootscr_csum}"; }; }; @@ -232,7 +232,7 @@ EOF if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${FIT_SIGN_INDIVIDUAL}" = "1" -a -n "${bootscr_sign_keyname}" ] ; then sed -i '$ d' ${1} cat << EOF >> ${1} - signature@1 { + signature-1 { algo = "${bootscr_csum},${bootscr_sign_algo}"; key-name-hint = "${bootscr_sign_keyname}"; }; @@ -331,7 +331,7 @@ fitimage_emit_section_config() { conf_csum="${FIT_HASH_ALG}" conf_sign_algo="${FIT_SIGN_ALG}" - if [ -n "${UBOOT_SIGN_ENABLE}" ] ; then + if [ "${UBOOT_SIGN_ENABLE}" = "1" ] ; then conf_sign_keyname="${UBOOT_SIGN_KEYNAME}" fi @@ -383,7 +383,7 @@ fitimage_emit_section_config() { if [ -n "${bootscr_id}" ]; then conf_desc="${conf_desc}${sep}u-boot script" sep=", " - bootscr_line="bootscr = \"bootscr@${bootscr_id}\";" + bootscr_line="bootscr = \"bootscr-${bootscr_id}\";" fi if [ -n "${config_id}" ]; then @@ -667,7 +667,34 @@ do_assemble_fitimage_initramfs() { addtask assemble_fitimage_initramfs before do_deploy after do_bundle_initramfs -addtask generate_rsa_keys before do_assemble_fitimage after do_compile +do_kernel_generate_rsa_keys() { + if [ "${UBOOT_SIGN_ENABLE}" = "0" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then + bbwarn "FIT_GENERATE_KEYS is set to 1 even though UBOOT_SIGN_ENABLE is set to 0. The keys will not be generated as they won't be used." + fi + + if [ "${UBOOT_SIGN_ENABLE}" = "1" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then + + # Generate keys only if they don't already exist + if [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key ] || \ + [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt ]; then + + # make directory if it does not already exist + mkdir -p "${UBOOT_SIGN_KEYDIR}" + + echo "Generating RSA private key for signing fitImage" + openssl genrsa ${FIT_KEY_GENRSA_ARGS} -out \ + "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \ + "${FIT_SIGN_NUMBITS}" + + echo "Generating certificate for signing fitImage" + openssl req ${FIT_KEY_REQ_ARGS} "${FIT_KEY_SIGN_PKCS}" \ + -key "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \ + -out "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt + fi + fi +} + +addtask kernel_generate_rsa_keys before do_assemble_fitimage after do_compile kernel_do_deploy[vardepsexclude] = "DATETIME" kernel_do_deploy_append() { @@ -718,13 +745,13 @@ kernel_do_deploy_append() { # - Removes do_assemble_fitimage. FIT generation is done through # do_assemble_fitimage_initramfs. do_assemble_fitimage is not needed # and should not be part of the tasks to be executed. -# - Since do_generate_rsa_keys is inserted by default +# - Since do_kernel_generate_rsa_keys is inserted by default # between do_compile and do_assemble_fitimage, this is -# not suitable in case of initramfs bundles. do_generate_rsa_keys +# not suitable in case of initramfs bundles. do_kernel_generate_rsa_keys # should be between do_bundle_initramfs and do_assemble_fitimage_initramfs. python () { if d.getVar('INITRAMFS_IMAGE_BUNDLE') == "1": bb.build.deltask('do_assemble_fitimage', d) - bb.build.deltask('generate_rsa_keys', d) - bb.build.addtask('generate_rsa_keys', 'do_assemble_fitimage_initramfs', 'do_bundle_initramfs', d) + bb.build.deltask('kernel_generate_rsa_keys', d) + bb.build.addtask('kernel_generate_rsa_keys', 'do_assemble_fitimage_initramfs', 'do_bundle_initramfs', d) } diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes/kernel-yocto.bbclass index 30f07de4c..ba139dd7f 100644 --- a/poky/meta/classes/kernel-yocto.bbclass +++ b/poky/meta/classes/kernel-yocto.bbclass @@ -113,6 +113,8 @@ do_kernel_metadata() { cd ${S} export KMETA=${KMETA} + bbnote "do_kernel_metadata: for summary/debug, set KCONF_AUDIT_LEVEL > 0" + # if kernel tools are available in-tree, they are preferred # and are placed on the path before any external tools. Unless # the external tools flag is set, in that case we do nothing. @@ -290,6 +292,21 @@ do_kernel_metadata() { fi fi fi + + if [ ${KCONF_AUDIT_LEVEL} -gt 0 ]; then + bbnote "kernel meta data summary for ${KMACHINE} (${LINUX_KERNEL_TYPE}):" + bbnote "======================================================================" + if [ -n "${KMETA_EXTERNAL_BSPS}" ]; then + bbnote "Non kernel-cache (external) bsp" + fi + bbnote "BSP entry point / definition: $bsp_definition" + if [ -n "$in_tree_defconfig" ]; then + bbnote "KBUILD_DEFCONFIG: ${KBUILD_DEFCONFIG}" + fi + bbnote "Fragments from SRC_URI: $sccs_from_src_uri" + bbnote "KERNEL_FEATURES: $KERNEL_FEATURES_FINAL" + bbnote "Final scc/cfg list: $sccs_defconfig $bsp_definition $sccs $KERNEL_FEATURES_FINAL" + fi } do_patch() { diff --git a/poky/meta/classes/meson-routines.bbclass b/poky/meta/classes/meson-routines.bbclass new file mode 100644 index 000000000..be3aeedeb --- /dev/null +++ b/poky/meta/classes/meson-routines.bbclass @@ -0,0 +1,51 @@ +inherit siteinfo + +def meson_array(var, d): + items = d.getVar(var).split() + return repr(items[0] if len(items) == 1 else items) + +# Map our ARCH values to what Meson expects: +# http://mesonbuild.com/Reference-tables.html#cpu-families +def meson_cpu_family(var, d): + import re + arch = d.getVar(var) + if arch == 'powerpc': + return 'ppc' + elif arch == 'powerpc64' or arch == 'powerpc64le': + return 'ppc64' + elif arch == 'armeb': + return 'arm' + elif arch == 'aarch64_be': + return 'aarch64' + elif arch == 'mipsel': + return 'mips' + elif arch == 'mips64el': + return 'mips64' + elif re.match(r"i[3-6]86", arch): + return "x86" + elif arch == "microblazeel": + return "microblaze" + else: + return arch + +# Map our OS values to what Meson expects: +# https://mesonbuild.com/Reference-tables.html#operating-system-names +def meson_operating_system(var, d): + os = d.getVar(var) + if "mingw" in os: + return "windows" + # avoid e.g 'linux-gnueabi' + elif "linux" in os: + return "linux" + else: + return os + +def meson_endian(prefix, d): + arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS") + sitedata = siteinfo_data_for_machine(arch, os, d) + if "endian-little" in sitedata: + return "little" + elif "endian-big" in sitedata: + return "big" + else: + bb.fatal("Cannot determine endianism for %s-%s" % (arch, os)) diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass index bf9b02e06..8ae0285f7 100644 --- a/poky/meta/classes/meson.bbclass +++ b/poky/meta/classes/meson.bbclass @@ -1,4 +1,4 @@ -inherit siteinfo python3native +inherit python3native meson-routines DEPENDS_append = " meson-native ninja-native" @@ -35,56 +35,6 @@ MESON_CROSS_FILE = "" MESON_CROSS_FILE_class-target = "--cross-file ${WORKDIR}/meson.cross" MESON_CROSS_FILE_class-nativesdk = "--cross-file ${WORKDIR}/meson.cross" -def meson_array(var, d): - items = d.getVar(var).split() - return repr(items[0] if len(items) == 1 else items) - -# Map our ARCH values to what Meson expects: -# http://mesonbuild.com/Reference-tables.html#cpu-families -def meson_cpu_family(var, d): - import re - arch = d.getVar(var) - if arch == 'powerpc': - return 'ppc' - elif arch == 'powerpc64' or arch == 'powerpc64le': - return 'ppc64' - elif arch == 'armeb': - return 'arm' - elif arch == 'aarch64_be': - return 'aarch64' - elif arch == 'mipsel': - return 'mips' - elif arch == 'mips64el': - return 'mips64' - elif re.match(r"i[3-6]86", arch): - return "x86" - elif arch == "microblazeel": - return "microblaze" - else: - return arch - -# Map our OS values to what Meson expects: -# https://mesonbuild.com/Reference-tables.html#operating-system-names -def meson_operating_system(var, d): - os = d.getVar(var) - if "mingw" in os: - return "windows" - # avoid e.g 'linux-gnueabi' - elif "linux" in os: - return "linux" - else: - return os - -def meson_endian(prefix, d): - arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS") - sitedata = siteinfo_data_for_machine(arch, os, d) - if "endian-little" in sitedata: - return "little" - elif "endian-big" in sitedata: - return "big" - else: - bb.fatal("Cannot determine endianism for %s-%s" % (arch, os)) - addtask write_config before do_configure do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS" do_write_config() { diff --git a/poky/meta/classes/native.bbclass b/poky/meta/classes/native.bbclass index a0838e41b..561cc23f6 100644 --- a/poky/meta/classes/native.bbclass +++ b/poky/meta/classes/native.bbclass @@ -119,6 +119,7 @@ python native_virtclass_handler () { pn = e.data.getVar("PN") if not pn.endswith("-native"): return + bpn = e.data.getVar("BPN") # Set features here to prevent appends and distro features backfill # from modifying native distro features @@ -146,7 +147,10 @@ python native_virtclass_handler () { elif "-cross-" in dep: newdeps.append(dep.replace("-cross", "-native")) elif not dep.endswith("-native"): - newdeps.append(dep.replace("-native", "") + "-native") + # Replace ${PN} with ${BPN} in the dependency to make sure + # dependencies on, e.g., ${PN}-foo become ${BPN}-foo-native + # rather than ${BPN}-native-foo-native. + newdeps.append(dep.replace(pn, bpn) + "-native") else: newdeps.append(dep) d.setVar(varname, " ".join(newdeps), parsing=True) @@ -166,7 +170,7 @@ python native_virtclass_handler () { if prov.find(pn) != -1: nprovides.append(prov) elif not prov.endswith("-native"): - nprovides.append(prov.replace(prov, prov + "-native")) + nprovides.append(prov + "-native") else: nprovides.append(prov) e.data.setVar("PROVIDES", ' '.join(nprovides)) diff --git a/poky/meta/classes/npm.bbclass b/poky/meta/classes/npm.bbclass index 55a6985fb..8f8712a02 100644 --- a/poky/meta/classes/npm.bbclass +++ b/poky/meta/classes/npm.bbclass @@ -247,8 +247,10 @@ python npm_do_compile() { # Add node-gyp configuration configs.append(("arch", d.getVar("NPM_ARCH"))) configs.append(("release", "true")) - sysroot = d.getVar("RECIPE_SYSROOT_NATIVE") - nodedir = os.path.join(sysroot, d.getVar("prefix_native").strip("/")) + nodedir = d.getVar("NPM_NODEDIR") + if not nodedir: + sysroot = d.getVar("RECIPE_SYSROOT_NATIVE") + nodedir = os.path.join(sysroot, d.getVar("prefix_native").strip("/")) configs.append(("nodedir", nodedir)) configs.append(("python", d.getVar("PYTHON"))) diff --git a/poky/meta/classes/package_rpm.bbclass b/poky/meta/classes/package_rpm.bbclass index 84a9a6dd1..86706da84 100644 --- a/poky/meta/classes/package_rpm.bbclass +++ b/poky/meta/classes/package_rpm.bbclass @@ -684,8 +684,8 @@ python do_package_rpm () { cmd = cmd + " --define '_use_internal_dependency_generator 0'" cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'" cmd = cmd + " --define '_build_id_links none'" - cmd = cmd + " --define '_binary_payload w6T.xzdio'" - cmd = cmd + " --define '_source_payload w6T.xzdio'" + cmd = cmd + " --define '_binary_payload w6T%d.xzdio'" % int(d.getVar("XZ_THREADS")) + cmd = cmd + " --define '_source_payload w6T%d.xzdio'" % int(d.getVar("XZ_THREADS")) cmd = cmd + " --define 'clamp_mtime_to_source_date_epoch 1'" cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'" cmd = cmd + " --define '_buildhost reproducible'" diff --git a/poky/meta/classes/ptest.bbclass b/poky/meta/classes/ptest.bbclass index 47611edea..466916299 100644 --- a/poky/meta/classes/ptest.bbclass +++ b/poky/meta/classes/ptest.bbclass @@ -20,6 +20,8 @@ RRECOMMENDS_${PN}-ptest += "ptest-runner" PACKAGES =+ "${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)}" +require conf/distro/include/ptest-packagelists.inc + do_configure_ptest() { : } @@ -116,4 +118,13 @@ python () { if not(d.getVar('PTEST_ENABLED') == "1"): for i in ['do_configure_ptest_base', 'do_compile_ptest_base', 'do_install_ptest_base']: bb.build.deltask(i, d) + + # This checks that ptest package is actually included + # in standard oe-core ptest images - only for oe-core recipes + if not 'meta/recipes' in d.getVar('FILE') or not(d.getVar('PTEST_ENABLED') == "1"): + return + + enabled_ptests = " ".join([d.getVar('PTESTS_FAST'),d.getVar('PTESTS_SLOW'), d.getVar('PTESTS_PROBLEMS')]).split() + if (d.getVar('PN') + "-ptest").replace(d.getVar('MLPREFIX'), '') not in enabled_ptests: + bb.error("Recipe %s supports ptests but is not included in oe-core's conf/distro/include/ptest-packagelists.inc" % d.getVar("PN")) } diff --git a/poky/meta/classes/qemuboot.bbclass b/poky/meta/classes/qemuboot.bbclass index 1f8012edc..2b50ddaa2 100644 --- a/poky/meta/classes/qemuboot.bbclass +++ b/poky/meta/classes/qemuboot.bbclass @@ -19,6 +19,9 @@ # QB_CPU_KVM: the similar to QB_CPU, but used when kvm, e.g., '-cpu kvm64', # set it when support kvm. # +# QB_SMP: amount of CPU cores inside qemu guest, each mapped to a thread on the host, +# e.g. "-smp 8". +# # QB_KERNEL_CMDLINE_APPEND: options to append to kernel's -append # option, e.g., "console=ttyS0 console=tty" # @@ -80,6 +83,7 @@ # See "runqemu help" for more info QB_MEM ?= "-m 256" +QB_SMP ?= "" QB_SERIAL_OPT ?= "-serial mon:stdio -serial null" QB_DEFAULT_KERNEL ?= "${KERNEL_IMAGETYPE}" QB_DEFAULT_FSTYPE ?= "ext4" diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index b1c608dcb..3a3f7cc24 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -319,6 +319,8 @@ def sstate_install(ss, d): if os.path.exists(i): with open(i, "r") as f: manifests = f.readlines() + # We append new entries, we don't remove older entries which may have the same + # manifest name but different versions from stamp/workdir. See below. if filedata not in manifests: with open(i, "a+") as f: f.write(filedata) @@ -704,6 +706,8 @@ def sstate_package(ss, d): return +sstate_package[vardepsexclude] += "SSTATE_SIG_KEY" + def pstaging_fetch(sstatefetch, d): import bb.fetch2 @@ -1183,11 +1187,21 @@ python sstate_eventhandler_reachablestamps() { i = d.expand("${SSTATE_MANIFESTS}/index-" + a) if not os.path.exists(i): continue + manseen = set() + ignore = [] with open(i, "r") as f: lines = f.readlines() - for l in lines: + for l in reversed(lines): try: (stamp, manifest, workdir) = l.split() + # The index may have multiple entries for the same manifest as the code above only appends + # new entries and there may be an entry with matching manifest but differing version in stamp/workdir. + # The last entry in the list is the valid one, any earlier entries with matching manifests + # should be ignored. + if manifest in manseen: + ignore.append(l) + continue + manseen.add(manifest) if stamp not in stamps and stamp not in preservestamps and stamp in machineindex: toremove.append(l) if stamp not in seen: @@ -1218,6 +1232,8 @@ python sstate_eventhandler_reachablestamps() { with open(i, "w") as f: for l in lines: + if l in ignore: + continue f.write(l) machineindex |= set(stamps) with open(mi, "w") as f: diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass index d11882f90..29b2edc83 100644 --- a/poky/meta/classes/uboot-sign.bbclass +++ b/poky/meta/classes/uboot-sign.bbclass @@ -255,32 +255,7 @@ do_install_append() { fi } -do_generate_rsa_keys() { - if [ "${UBOOT_SIGN_ENABLE}" = "0" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then - bbwarn "FIT_GENERATE_KEYS is set to 1 even though UBOOT_SIGN_ENABLE is set to 0. The keys will not be generated as they won't be used." - fi - - if [ "${UBOOT_SIGN_ENABLE}" = "1" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then - - # Generate keys only if they don't already exist - if [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key ] || \ - [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt ]; then - - # make directory if it does not already exist - mkdir -p "${UBOOT_SIGN_KEYDIR}" - - echo "Generating RSA private key for signing fitImage" - openssl genrsa ${FIT_KEY_GENRSA_ARGS} -out \ - "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \ - "${FIT_SIGN_NUMBITS}" - - echo "Generating certificate for signing fitImage" - openssl req ${FIT_KEY_REQ_ARGS} "${FIT_KEY_SIGN_PKCS}" \ - -key "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \ - -out "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt - fi - fi - +do_uboot_generate_rsa_keys() { if [ "${SPL_SIGN_ENABLE}" = "0" ] && [ "${UBOOT_FIT_GENERATE_KEYS}" = "1" ]; then bbwarn "UBOOT_FIT_GENERATE_KEYS is set to 1 eventhough SPL_SIGN_ENABLE is set to 0. The keys will not be generated as they won't be used." fi @@ -308,7 +283,7 @@ do_generate_rsa_keys() { } -addtask generate_rsa_keys before do_uboot_assemble_fitimage after do_compile +addtask uboot_generate_rsa_keys before do_uboot_assemble_fitimage after do_compile # Create a ITS file for the U-boot FIT, for use when # we want to sign it so that the SPL can verify it diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index 4fa47d88e..f451ba6a4 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -173,25 +173,25 @@ DATETIME = "${DATE}${TIME}" # python-native should be here but python relies on building # its own in staging ASSUME_PROVIDED = "\ + bash-native \ bzip2-native \ chrpath-native \ + diffstat-native \ file-native \ findutils-native \ gawk-native \ git-native \ grep-native \ - diffstat-native \ - patch-native \ - libgcc-native \ hostperl-runtime-native \ hostpython-runtime-native \ + libgcc-native \ + patch-native \ + sed-native \ tar-native \ - virtual/libintl-native \ - virtual/libiconv-native \ - virtual/crypt-native \ texinfo-native \ - bash-native \ - sed-native \ + virtual/crypt-native \ + virtual/libiconv-native \ + virtual/libintl-native \ wget-native \ " # gzip-native should be listed above? diff --git a/poky/meta/conf/distro/include/cve-extra-exclusions.inc b/poky/meta/conf/distro/include/cve-extra-exclusions.inc new file mode 100644 index 000000000..cf07acce1 --- /dev/null +++ b/poky/meta/conf/distro/include/cve-extra-exclusions.inc @@ -0,0 +1,73 @@ +# This file contains a list of CVE's where resolution has proven to be impractical +# or there is no reasonable action the Yocto Project can take to resolve the issue. +# It contains all the information we are aware of about an issue and analysis about +# why we believe it can't be fixed/handled. Additional information is welcome through +# patches to the file. +# +# Include this file in your local.conf or distro.conf to exclude these CVE's +# from the cve-check results or add to the bitbake command with: +# -R conf/distro/include/cve-extra-exclusions.inc +# +# The file is not included by default since users should review this data to ensure +# it matches their expectations and usage of the project. +# +# We may also include "in-flight" information about current/ongoing CVE work with +# the aim of sharing that work and ensuring we don't duplicate it. +# + + +# strace https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2000-0006 +# CVE is more than 20 years old with no resolution evident +# broken links in CVE database references make resolution impractical +CVE_CHECK_WHITELIST += "CVE-2000-0006" + +# epiphany https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2005-0238 +# The issue here is spoofing of domain names using characters from other character sets. +# There has been much discussion amongst the epiphany and webkit developers and +# whilst there are improvements about how domains are handled and displayed to the user +# there is unlikely ever to be a single fix to webkit or epiphany which addresses this +# problem. Whitelisted as there isn't any mitigation or fix or way to progress this further +# we can seem to take. +CVE_CHECK_WHITELIST += "CVE-2005-0238" + +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4756 +# Issue is memory exhaustion via glob() calls, e.g. from within an ftp server +# Best discussion in https://bugzilla.redhat.com/show_bug.cgi?id=681681 +# Upstream don't see it as a security issue, ftp servers shouldn't be passing +# this to libc glob. Exclude as upstream have no plans to add BSD's GLOB_LIMIT or similar +CVE_CHECK_WHITELIST += "CVE-2010-4756" + +# go https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-29509 +# go https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-29511 +# The encoding/xml package in go can potentially be used for security exploits if not used correctly +# CVE applies to a netapp product as well as flagging a general issue. We don't ship anything +# exposing this interface in an exploitable way +CVE_CHECK_WHITELIST += "CVE-2020-29509 CVE-2020-29511" + + + +#### CPE update pending #### + +# groff:groff-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2000-0803 +# Appears it was fixed in https://git.savannah.gnu.org/cgit/groff.git/commit/?id=07f95f1674217275ed4612f1dcaa95a88435c6a7 +# so from 1.17 onwards. Reported to the database for update by RP 2021/5/9. Update accepted 2021/5/10. +#CVE_CHECK_WHITELIST += "CVE-2000-0803" + + + +#### Upstream still working on #### + +# qemu:qemu-native:qemu-system-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-20255 +# There was a proposed patch https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg06098.html +# however qemu maintainers are sure the patch is incorrect and should not be applied. + +# flex:flex-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-6293 +# Upstream bug, still open: https://github.com/westes/flex/issues/414 +# Causes memory exhaustion so potential DoS but no buffer overflow, low priority + +# wget https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-31879 +# https://mail.gnu.org/archive/html/bug-wget/2021-02/msg00002.html +# No response upstream as of 2021/5/12 + + + diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index 140f7b490..fa7eb9da0 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -111,19 +111,17 @@ RECIPE_MAINTAINER_pn-core-image-minimal-mtdutils = "Richard Purdie " RECIPE_MAINTAINER_pn-python3-magic = "Joshua Watt " RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk " +RECIPE_MAINTAINER_pn-python3-markdown = "Alexander Kanavin " RECIPE_MAINTAINER_pn-python3-markupsafe = "Richard Purdie " RECIPE_MAINTAINER_pn-python3-more-itertools = "Tim Orling " RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk " @@ -630,11 +630,13 @@ RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling -Date: Wed, 13 Jan 2021 02:09:12 +0100 -Subject: [PATCH] image-fit: fit_check_format check for valid FDT - -fit_check_format() must check that the buffer contains a flattened device -tree before calling any device tree library functions. - -Failure to do may cause segmentation faults. - -Signed-off-by: Heinrich Schuchardt - -Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/ea1a9ec5f430359720d9a0621ed1acfbba6a142a] -Signed-off-by: Scott Murray - ---- - common/image-fit.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/common/image-fit.c b/common/image-fit.c -index 6a8787ca0a..21c44bdf69 100644 ---- a/common/image-fit.c -+++ b/common/image-fit.c -@@ -1553,6 +1553,12 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp) - */ - int fit_check_format(const void *fit) - { -+ /* A FIT image must be a valid FDT */ -+ if (fdt_check_header(fit)) { -+ debug("Wrong FIT format: not a flattened device tree\n"); -+ return 0; -+ } -+ - /* mandatory / node 'description' property */ - if (fdt_getprop(fit, 0, FIT_DESC_PROP, NULL) == NULL) { - debug("Wrong FIT format: no description\n"); diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch deleted file mode 100644 index 98ec2c709..000000000 --- a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 8a7d4cf9820ea16fabd25a6379351b4dc291204b Mon Sep 17 00:00:00 2001 -From: Simon Glass -Date: Mon, 15 Feb 2021 17:08:05 -0700 -Subject: [PATCH] fdt_region: Check for a single root node of the correct name - -At present fdt_find_regions() assumes that the FIT is a valid devicetree. -If the FIT has two root nodes this is currently not detected in this -function, nor does libfdt's fdt_check_full() notice. Also it is possible -for the root node to have a name even though it should not. - -Add checks for these and return -FDT_ERR_BADSTRUCTURE if a problem is -detected. - -CVE-2021-27097 - -Signed-off-by: Simon Glass -Reported-by: Bruce Monroe -Reported-by: Arie Haenel -Reported-by: Julien Lenoir - -CVE: CVE-2021-27097 -Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/8a7d4cf9820ea16fabd25a6379351b4dc291204b] -Signed-off-by: Scott Murray - ---- - common/fdt_region.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/common/fdt_region.c b/common/fdt_region.c -index ff12c518e9..e4ef0ca770 100644 ---- a/common/fdt_region.c -+++ b/common/fdt_region.c -@@ -43,6 +43,7 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count, - int depth = -1; - int want = 0; - int base = fdt_off_dt_struct(fdt); -+ bool expect_end = false; - - end = path; - *end = '\0'; -@@ -59,6 +60,10 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count, - tag = fdt_next_tag(fdt, offset, &nextoffset); - stop_at = nextoffset; - -+ /* If we see two root nodes, something is wrong */ -+ if (expect_end && tag != FDT_END) -+ return -FDT_ERR_BADLAYOUT; -+ - switch (tag) { - case FDT_PROP: - include = want >= 2; -@@ -81,6 +86,10 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count, - if (depth == FDT_MAX_DEPTH) - return -FDT_ERR_BADSTRUCTURE; - name = fdt_get_name(fdt, offset, &len); -+ -+ /* The root node must have an empty name */ -+ if (!depth && *name) -+ return -FDT_ERR_BADLAYOUT; - if (end - path + 2 + len >= path_len) - return -FDT_ERR_NOSPACE; - if (end != path + 1) -@@ -108,6 +117,8 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count, - while (end > path && *--end != '/') - ; - *end = '\0'; -+ if (depth == -1) -+ expect_end = true; - break; - - case FDT_END: diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch deleted file mode 100644 index b13c44e78..000000000 --- a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch +++ /dev/null @@ -1,419 +0,0 @@ -From c5819701a3de61e2ba2ef7ad0b616565b32305e5 Mon Sep 17 00:00:00 2001 -From: Simon Glass -Date: Mon, 15 Feb 2021 17:08:09 -0700 -Subject: [PATCH] image: Adjust the workings of fit_check_format() - -At present this function does not accept a size for the FIT. This means -that it must be read from the FIT itself, introducing potential security -risk. Update the function to include a size parameter, which can be -invalid, in which case fit_check_format() calculates it. - -For now no callers pass the size, but this can be updated later. - -Also adjust the return value to an error code so that all the different -types of problems can be distinguished by the user. - -Signed-off-by: Simon Glass -Reported-by: Bruce Monroe -Reported-by: Arie Haenel -Reported-by: Julien Lenoir - -CVE: CVE-2021-27097 CVE-2021-27138 -Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/c5819701a3de61e2ba2ef7ad0b616565b32305e5] -Signed-off-by: Scott Murray - ---- - arch/arm/cpu/armv8/sec_firmware.c | 2 +- - cmd/bootm.c | 6 ++--- - cmd/disk.c | 2 +- - cmd/fpga.c | 2 +- - cmd/nand.c | 2 +- - cmd/source.c | 2 +- - cmd/ximg.c | 2 +- - common/image-fdt.c | 2 +- - common/image-fit.c | 46 +++++++++++++++++--------------------- - common/splash_source.c | 6 ++--- - common/update.c | 4 ++-- - drivers/fpga/socfpga_arria10.c | 6 ++--- - drivers/net/fsl-mc/mc.c | 2 +- - drivers/net/pfe_eth/pfe_firmware.c | 2 +- - include/image.h | 21 ++++++++++++++++- - tools/fit_common.c | 3 ++- - tools/fit_image.c | 2 +- - tools/mkimage.h | 2 ++ - 18 files changed, 65 insertions(+), 49 deletions(-) - -diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c -index bfc0fac3ef..0561f5efd1 100644 ---- a/arch/arm/cpu/armv8/sec_firmware.c -+++ b/arch/arm/cpu/armv8/sec_firmware.c -@@ -316,7 +316,7 @@ __weak bool sec_firmware_is_valid(const void *sec_firmware_img) - return false; - } - -- if (!fit_check_format(sec_firmware_img)) { -+ if (fit_check_format(sec_firmware_img, IMAGE_SIZE_INVAL)) { - printf("SEC Firmware: Bad firmware image (bad FIT header)\n"); - return false; - } -diff --git a/cmd/bootm.c b/cmd/bootm.c -index e6b0e04413..a0f823f968 100644 ---- a/cmd/bootm.c -+++ b/cmd/bootm.c -@@ -291,7 +291,7 @@ static int image_info(ulong addr) - case IMAGE_FORMAT_FIT: - puts(" FIT image found\n"); - -- if (!fit_check_format(hdr)) { -+ if (fit_check_format(hdr, IMAGE_SIZE_INVAL)) { - puts("Bad FIT image format!\n"); - unmap_sysmem(hdr); - return 1; -@@ -368,7 +368,7 @@ static int do_imls_nor(void) - #endif - #if defined(CONFIG_FIT) - case IMAGE_FORMAT_FIT: -- if (!fit_check_format(hdr)) -+ if (fit_check_format(hdr, IMAGE_SIZE_INVAL)) - goto next_sector; - - printf("FIT Image at %08lX:\n", (ulong)hdr); -@@ -448,7 +448,7 @@ static int nand_imls_fitimage(struct mtd_info *mtd, int nand_dev, loff_t off, - return ret; - } - -- if (!fit_check_format(imgdata)) { -+ if (fit_check_format(imgdata, IMAGE_SIZE_INVAL)) { - free(imgdata); - return 0; - } -diff --git a/cmd/disk.c b/cmd/disk.c -index 8060e753eb..3195db9127 100644 ---- a/cmd/disk.c -+++ b/cmd/disk.c -@@ -114,7 +114,7 @@ int common_diskboot(struct cmd_tbl *cmdtp, const char *intf, int argc, - /* This cannot be done earlier, - * we need complete FIT image in RAM first */ - if (genimg_get_format((void *) addr) == IMAGE_FORMAT_FIT) { -- if (!fit_check_format(fit_hdr)) { -+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) { - bootstage_error(BOOTSTAGE_ID_IDE_FIT_READ); - puts("** Bad FIT image format\n"); - return 1; -diff --git a/cmd/fpga.c b/cmd/fpga.c -index 8ae1c936fb..51410a8e42 100644 ---- a/cmd/fpga.c -+++ b/cmd/fpga.c -@@ -330,7 +330,7 @@ static int do_fpga_loadmk(struct cmd_tbl *cmdtp, int flag, int argc, - return CMD_RET_FAILURE; - } - -- if (!fit_check_format(fit_hdr)) { -+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) { - puts("Bad FIT image format\n"); - return CMD_RET_FAILURE; - } -diff --git a/cmd/nand.c b/cmd/nand.c -index 92d039af8f..97e117a979 100644 ---- a/cmd/nand.c -+++ b/cmd/nand.c -@@ -917,7 +917,7 @@ static int nand_load_image(struct cmd_tbl *cmdtp, struct mtd_info *mtd, - #if defined(CONFIG_FIT) - /* This cannot be done earlier, we need complete FIT image in RAM first */ - if (genimg_get_format ((void *)addr) == IMAGE_FORMAT_FIT) { -- if (!fit_check_format (fit_hdr)) { -+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) { - bootstage_error(BOOTSTAGE_ID_NAND_FIT_READ); - puts ("** Bad FIT image format\n"); - return 1; -diff --git a/cmd/source.c b/cmd/source.c -index b6c709a3d2..71f71528ad 100644 ---- a/cmd/source.c -+++ b/cmd/source.c -@@ -107,7 +107,7 @@ int image_source_script(ulong addr, const char *fit_uname) - #if defined(CONFIG_FIT) - case IMAGE_FORMAT_FIT: - fit_hdr = buf; -- if (!fit_check_format (fit_hdr)) { -+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) { - puts ("Bad FIT image format\n"); - return 1; - } -diff --git a/cmd/ximg.c b/cmd/ximg.c -index 159ba51648..ef738ebfa2 100644 ---- a/cmd/ximg.c -+++ b/cmd/ximg.c -@@ -136,7 +136,7 @@ do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) - "at %08lx ...\n", uname, addr); - - fit_hdr = (const void *)addr; -- if (!fit_check_format(fit_hdr)) { -+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) { - puts("Bad FIT image format\n"); - return 1; - } -diff --git a/common/image-fdt.c b/common/image-fdt.c -index 327a8c4c39..4105259212 100644 ---- a/common/image-fdt.c -+++ b/common/image-fdt.c -@@ -399,7 +399,7 @@ int boot_get_fdt(int flag, int argc, char *const argv[], uint8_t arch, - */ - #if CONFIG_IS_ENABLED(FIT) - /* check FDT blob vs FIT blob */ -- if (fit_check_format(buf)) { -+ if (!fit_check_format(buf, IMAGE_SIZE_INVAL)) { - ulong load, len; - - fdt_noffset = boot_get_fdt_fit(images, -diff --git a/common/image-fit.c b/common/image-fit.c -index 9637d747fb..402f08fc9d 100644 ---- a/common/image-fit.c -+++ b/common/image-fit.c -@@ -8,6 +8,8 @@ - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - */ - -+#define LOG_CATEGORY LOGC_BOOT -+ - #ifdef USE_HOSTCC - #include "mkimage.h" - #include -@@ -1550,49 +1552,41 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp) - return (comp == image_comp); - } - --/** -- * fit_check_format - sanity check FIT image format -- * @fit: pointer to the FIT format image header -- * -- * fit_check_format() runs a basic sanity FIT image verification. -- * Routine checks for mandatory properties, nodes, etc. -- * -- * returns: -- * 1, on success -- * 0, on failure -- */ --int fit_check_format(const void *fit) -+int fit_check_format(const void *fit, ulong size) - { -+ int ret; -+ - /* A FIT image must be a valid FDT */ -- if (fdt_check_header(fit)) { -- debug("Wrong FIT format: not a flattened device tree\n"); -- return 0; -+ ret = fdt_check_header(fit); -+ if (ret) { -+ log_debug("Wrong FIT format: not a flattened device tree (err=%d)\n", -+ ret); -+ return -ENOEXEC; - } - - /* mandatory / node 'description' property */ -- if (fdt_getprop(fit, 0, FIT_DESC_PROP, NULL) == NULL) { -- debug("Wrong FIT format: no description\n"); -- return 0; -+ if (!fdt_getprop(fit, 0, FIT_DESC_PROP, NULL)) { -+ log_debug("Wrong FIT format: no description\n"); -+ return -ENOMSG; - } - - if (IMAGE_ENABLE_TIMESTAMP) { - /* mandatory / node 'timestamp' property */ -- if (fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL) == NULL) { -- debug("Wrong FIT format: no timestamp\n"); -- return 0; -+ if (!fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL)) { -+ log_debug("Wrong FIT format: no timestamp\n"); -+ return -ENODATA; - } - } - - /* mandatory subimages parent '/images' node */ - if (fdt_path_offset(fit, FIT_IMAGES_PATH) < 0) { -- debug("Wrong FIT format: no images parent node\n"); -- return 0; -+ log_debug("Wrong FIT format: no images parent node\n"); -+ return -ENOENT; - } - -- return 1; -+ return 0; - } - -- - /** - * fit_conf_find_compat - * @fit: pointer to the FIT format image header -@@ -1929,7 +1923,7 @@ int fit_image_load(bootm_headers_t *images, ulong addr, - printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr); - - bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT); -- if (!fit_check_format(fit)) { -+ if (fit_check_format(fit, IMAGE_SIZE_INVAL)) { - printf("Bad FIT %s image format!\n", prop_name); - bootstage_error(bootstage_id + BOOTSTAGE_SUB_FORMAT); - return -ENOEXEC; -diff --git a/common/splash_source.c b/common/splash_source.c -index f51ca5ddf3..bad9a7790a 100644 ---- a/common/splash_source.c -+++ b/common/splash_source.c -@@ -336,10 +336,10 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr) - if (res < 0) - return res; - -- res = fit_check_format(fit_header); -- if (!res) { -+ res = fit_check_format(fit_header, IMAGE_SIZE_INVAL); -+ if (res) { - debug("Could not find valid FIT image\n"); -- return -EINVAL; -+ return res; - } - - /* Get the splash image node */ -diff --git a/common/update.c b/common/update.c -index a5879cb52c..f0848954e5 100644 ---- a/common/update.c -+++ b/common/update.c -@@ -286,7 +286,7 @@ int update_tftp(ulong addr, char *interface, char *devstring) - got_update_file: - fit = map_sysmem(addr, 0); - -- if (!fit_check_format((void *)fit)) { -+ if (fit_check_format((void *)fit, IMAGE_SIZE_INVAL)) { - printf("Bad FIT format of the update file, aborting " - "auto-update\n"); - return 1; -@@ -363,7 +363,7 @@ int fit_update(const void *fit) - if (!fit) - return -EINVAL; - -- if (!fit_check_format((void *)fit)) { -+ if (fit_check_format((void *)fit, IMAGE_SIZE_INVAL)) { - printf("Bad FIT format of the update file, aborting auto-update\n"); - return -EINVAL; - } -diff --git a/drivers/fpga/socfpga_arria10.c b/drivers/fpga/socfpga_arria10.c -index 44e1ac54c3..18f99676d2 100644 ---- a/drivers/fpga/socfpga_arria10.c -+++ b/drivers/fpga/socfpga_arria10.c -@@ -565,10 +565,10 @@ static int first_loading_rbf_to_buffer(struct udevice *dev, - if (ret < 0) - return ret; - -- ret = fit_check_format(buffer_p); -- if (!ret) { -+ ret = fit_check_format(buffer_p, IMAGE_SIZE_INVAL); -+ if (ret) { - debug("FPGA: No valid FIT image was found.\n"); -- return -EBADF; -+ return ret; - } - - confs_noffset = fdt_path_offset(buffer_p, FIT_CONFS_PATH); -diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c -index 84db6be624..81265ee356 100644 ---- a/drivers/net/fsl-mc/mc.c -+++ b/drivers/net/fsl-mc/mc.c -@@ -141,7 +141,7 @@ int parse_mc_firmware_fit_image(u64 mc_fw_addr, - return -EINVAL; - } - -- if (!fit_check_format(fit_hdr)) { -+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) { - printf("fsl-mc: ERR: Bad firmware image (bad FIT header)\n"); - return -EINVAL; - } -diff --git a/drivers/net/pfe_eth/pfe_firmware.c b/drivers/net/pfe_eth/pfe_firmware.c -index 41999e176d..eee70a2e73 100644 ---- a/drivers/net/pfe_eth/pfe_firmware.c -+++ b/drivers/net/pfe_eth/pfe_firmware.c -@@ -160,7 +160,7 @@ static int pfe_fit_check(void) - return ret; - } - -- if (!fit_check_format(pfe_fit_addr)) { -+ if (fit_check_format(pfe_fit_addr, IMAGE_SIZE_INVAL)) { - printf("PFE Firmware: Bad firmware image (bad FIT header)\n"); - ret = -1; - return ret; -diff --git a/include/image.h b/include/image.h -index 41473dbb9c..8c152c5c5f 100644 ---- a/include/image.h -+++ b/include/image.h -@@ -134,6 +134,9 @@ extern ulong image_load_addr; /* Default Load Address */ - extern ulong image_save_addr; /* Default Save Address */ - extern ulong image_save_size; /* Default Save Size */ - -+/* An invalid size, meaning that the image size is not known */ -+#define IMAGE_SIZE_INVAL (-1UL) -+ - enum ih_category { - IH_ARCH, - IH_COMP, -@@ -1141,7 +1144,23 @@ int fit_image_check_os(const void *fit, int noffset, uint8_t os); - int fit_image_check_arch(const void *fit, int noffset, uint8_t arch); - int fit_image_check_type(const void *fit, int noffset, uint8_t type); - int fit_image_check_comp(const void *fit, int noffset, uint8_t comp); --int fit_check_format(const void *fit); -+ -+/** -+ * fit_check_format() - Check that the FIT is valid -+ * -+ * This performs various checks on the FIT to make sure it is suitable for -+ * use, looking for mandatory properties, nodes, etc. -+ * -+ * If FIT_FULL_CHECK is enabled, it also runs it through libfdt to make -+ * sure that there are no strange tags or broken nodes in the FIT. -+ * -+ * @fit: pointer to the FIT format image header -+ * @return 0 if OK, -ENOEXEC if not an FDT file, -EINVAL if the full FDT check -+ * failed (e.g. due to bad structure), -ENOMSG if the description is -+ * missing, -ENODATA if the timestamp is missing, -ENOENT if the /images -+ * path is missing -+ */ -+int fit_check_format(const void *fit, ulong size); - - int fit_conf_find_compat(const void *fit, const void *fdt); - -diff --git a/tools/fit_common.c b/tools/fit_common.c -index cdf987d3c1..52b63296f8 100644 ---- a/tools/fit_common.c -+++ b/tools/fit_common.c -@@ -26,7 +26,8 @@ - int fit_verify_header(unsigned char *ptr, int image_size, - struct image_tool_params *params) - { -- if (fdt_check_header(ptr) != EXIT_SUCCESS || !fit_check_format(ptr)) -+ if (fdt_check_header(ptr) != EXIT_SUCCESS || -+ fit_check_format(ptr, IMAGE_SIZE_INVAL)) - return EXIT_FAILURE; - - return EXIT_SUCCESS; -diff --git a/tools/fit_image.c b/tools/fit_image.c -index 06faeda7c2..d440d143c6 100644 ---- a/tools/fit_image.c -+++ b/tools/fit_image.c -@@ -883,7 +883,7 @@ static int fit_extract_contents(void *ptr, struct image_tool_params *params) - /* Indent string is defined in header image.h */ - p = IMAGE_INDENT_STRING; - -- if (!fit_check_format(fit)) { -+ if (fit_check_format(fit, IMAGE_SIZE_INVAL)) { - printf("Bad FIT image format\n"); - return -1; - } -diff --git a/tools/mkimage.h b/tools/mkimage.h -index 5b096a545b..0d3148444c 100644 ---- a/tools/mkimage.h -+++ b/tools/mkimage.h -@@ -29,6 +29,8 @@ - #define debug(fmt,args...) - #endif /* MKIMAGE_DEBUG */ - -+#define log_debug(fmt, args...) debug(fmt, ##args) -+ - static inline void *map_sysmem(ulong paddr, unsigned long len) - { - return (void *)(uintptr_t)paddr; diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch deleted file mode 100644 index 86f7e8ce5..000000000 --- a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 6f3c2d8aa5e6cbd80b5e869bbbddecb66c329d01 Mon Sep 17 00:00:00 2001 -From: Simon Glass -Date: Mon, 15 Feb 2021 17:08:10 -0700 -Subject: [PATCH] image: Add an option to do a full check of the FIT - -Some strange modifications of the FIT can introduce security risks. Add an -option to check it thoroughly, using libfdt's fdt_check_full() function. - -Enable this by default if signature verification is enabled. - -CVE-2021-27097 - -Signed-off-by: Simon Glass -Reported-by: Bruce Monroe -Reported-by: Arie Haenel -Reported-by: Julien Lenoir - -CVE: CVE-2021-27097 -Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/6f3c2d8aa5e6cbd80b5e869bbbddecb66c329d01] -Signed-off-by: Scott Murray - ---- - common/Kconfig.boot | 20 ++++++++++++++++++++ - common/image-fit.c | 16 ++++++++++++++++ - 2 files changed, 36 insertions(+) - -diff --git a/common/Kconfig.boot b/common/Kconfig.boot -index 5eaabdfc27..7532e55edb 100644 ---- a/common/Kconfig.boot -+++ b/common/Kconfig.boot -@@ -63,6 +63,15 @@ config FIT_ENABLE_SHA512_SUPPORT - SHA512 checksum is a 512-bit (64-byte) hash value used to check that - the image contents have not been corrupted. - -+config FIT_FULL_CHECK -+ bool "Do a full check of the FIT before using it" -+ default y -+ help -+ Enable this do a full check of the FIT to make sure it is valid. This -+ helps to protect against carefully crafted FITs which take advantage -+ of bugs or omissions in the code. This includes a bad structure, -+ multiple root nodes and the like. -+ - config FIT_SIGNATURE - bool "Enable signature verification of FIT uImages" - depends on DM -@@ -70,6 +79,7 @@ config FIT_SIGNATURE - select RSA - select RSA_VERIFY - select IMAGE_SIGN_INFO -+ select FIT_FULL_CHECK - help - This option enables signature verification of FIT uImages, - using a hash signed and verified using RSA. If -@@ -159,6 +169,15 @@ config SPL_FIT_PRINT - help - Support printing the content of the fitImage in a verbose manner in SPL. - -+config SPL_FIT_FULL_CHECK -+ bool "Do a full check of the FIT before using it" -+ help -+ Enable this do a full check of the FIT to make sure it is valid. This -+ helps to protect against carefully crafted FITs which take advantage -+ of bugs or omissions in the code. This includes a bad structure, -+ multiple root nodes and the like. -+ -+ - config SPL_FIT_SIGNATURE - bool "Enable signature verification of FIT firmware within SPL" - depends on SPL_DM -@@ -168,6 +187,7 @@ config SPL_FIT_SIGNATURE - select SPL_RSA - select SPL_RSA_VERIFY - select SPL_IMAGE_SIGN_INFO -+ select SPL_FIT_FULL_CHECK - - config SPL_LOAD_FIT - bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)" -diff --git a/common/image-fit.c b/common/image-fit.c -index f6c0428a96..bcf395f6a1 100644 ---- a/common/image-fit.c -+++ b/common/image-fit.c -@@ -1580,6 +1580,22 @@ int fit_check_format(const void *fit, ulong size) - return -ENOEXEC; - } - -+ if (CONFIG_IS_ENABLED(FIT_FULL_CHECK)) { -+ /* -+ * If we are not given the size, make do wtih calculating it. -+ * This is not as secure, so we should consider a flag to -+ * control this. -+ */ -+ if (size == IMAGE_SIZE_INVAL) -+ size = fdt_totalsize(fit); -+ ret = fdt_check_full(fit, size); -+ -+ if (ret) { -+ log_debug("FIT check error %d\n", ret); -+ return -EINVAL; -+ } -+ } -+ - /* mandatory / node 'description' property */ - if (!fdt_getprop(fit, 0, FIT_DESC_PROP, NULL)) { - log_debug("Wrong FIT format: no description\n"); diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch deleted file mode 100644 index 060cac1cf..000000000 --- a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 124c255731c76a2b09587378b2bcce561bcd3f2d Mon Sep 17 00:00:00 2001 -From: Simon Glass -Date: Mon, 15 Feb 2021 17:08:11 -0700 -Subject: [PATCH] libfdt: Check for multiple/invalid root nodes - -It is possible to construct a devicetree blob with multiple root nodes. -Update fdt_check_full() to check for this, along with a root node with an -invalid name. - -CVE-2021-27097 - -Signed-off-by: Simon Glass -Reported-by: Bruce Monroe -Reported-by: Arie Haenel -Reported-by: Julien Lenoir - -CVE: CVE-2021-27097 -Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/124c255731c76a2b09587378b2bcce561bcd3f2d] -Signed-off-by: Scott Murray - ---- - scripts/dtc/libfdt/fdt_ro.c | 17 +++++++++++++++++ - test/py/tests/test_vboot.py | 3 ++- - 2 files changed, 19 insertions(+), 1 deletion(-) - -diff --git a/scripts/dtc/libfdt/fdt_ro.c b/scripts/dtc/libfdt/fdt_ro.c -index d984bab036..efe7efe921 100644 ---- a/scripts/dtc/libfdt/fdt_ro.c -+++ b/scripts/dtc/libfdt/fdt_ro.c -@@ -867,6 +867,7 @@ int fdt_check_full(const void *fdt, size_t bufsize) - unsigned depth = 0; - const void *prop; - const char *propname; -+ bool expect_end = false; - - if (bufsize < FDT_V1_SIZE) - return -FDT_ERR_TRUNCATED; -@@ -887,6 +888,10 @@ int fdt_check_full(const void *fdt, size_t bufsize) - if (nextoffset < 0) - return nextoffset; - -+ /* If we see two root nodes, something is wrong */ -+ if (expect_end && tag != FDT_END) -+ return -FDT_ERR_BADLAYOUT; -+ - switch (tag) { - case FDT_NOP: - break; -@@ -900,12 +905,24 @@ int fdt_check_full(const void *fdt, size_t bufsize) - depth++; - if (depth > INT_MAX) - return -FDT_ERR_BADSTRUCTURE; -+ -+ /* The root node must have an empty name */ -+ if (depth == 1) { -+ const char *name; -+ int len; -+ -+ name = fdt_get_name(fdt, offset, &len); -+ if (*name || len) -+ return -FDT_ERR_BADLAYOUT; -+ } - break; - - case FDT_END_NODE: - if (depth == 0) - return -FDT_ERR_BADSTRUCTURE; - depth--; -+ if (depth == 0) -+ expect_end = true; - break; - - case FDT_PROP: diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch deleted file mode 100644 index 562f8151b..000000000 --- a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch +++ /dev/null @@ -1,245 +0,0 @@ -From 79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4 Mon Sep 17 00:00:00 2001 -From: Simon Glass -Date: Mon, 15 Feb 2021 17:08:06 -0700 -Subject: [PATCH] fit: Don't allow verification of images with @ nodes - -When searching for a node called 'fred', any unit address appended to the -name is ignored by libfdt, meaning that 'fred' can match 'fred@1'. This -means that we cannot be sure that the node originally intended is the one -that is used. - -Disallow use of nodes with unit addresses. - -Update the forge test also, since it uses @ addresses. - -CVE-2021-27138 - -Signed-off-by: Simon Glass -Reported-by: Bruce Monroe -Reported-by: Arie Haenel -Reported-by: Julien Lenoir - -CVE: CVE-2021-27138 -Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4] -Signed-off-by: Scott Murray - ---- - common/image-fit-sig.c | 22 ++++++++++++++++++++-- - common/image-fit.c | 20 +++++++++++++++----- - test/py/tests/test_fit.py | 24 ++++++++++++------------ - test/py/tests/vboot_forge.py | 12 ++++++------ - 4 files changed, 53 insertions(+), 25 deletions(-) - -diff --git a/common/image-fit-sig.c b/common/image-fit-sig.c -index 897e04c7a3..34ebb8edfe 100644 ---- a/common/image-fit-sig.c -+++ b/common/image-fit-sig.c -@@ -149,6 +149,14 @@ static int fit_image_verify_sig(const void *fit, int image_noffset, - fdt_for_each_subnode(noffset, fit, image_noffset) { - const char *name = fit_get_name(fit, noffset, NULL); - -+ /* -+ * We don't support this since libfdt considers names with the -+ * name root but different @ suffix to be equal -+ */ -+ if (strchr(name, '@')) { -+ err_msg = "Node name contains @"; -+ goto error; -+ } - if (!strncmp(name, FIT_SIG_NODENAME, - strlen(FIT_SIG_NODENAME))) { - ret = fit_image_check_sig(fit, noffset, data, -@@ -398,9 +406,10 @@ error: - return -EPERM; - } - --int fit_config_verify_required_sigs(const void *fit, int conf_noffset, -- const void *sig_blob) -+static int fit_config_verify_required_sigs(const void *fit, int conf_noffset, -+ const void *sig_blob) - { -+ const char *name = fit_get_name(fit, conf_noffset, NULL); - int noffset; - int sig_node; - int verified = 0; -@@ -408,6 +417,15 @@ int fit_config_verify_required_sigs(const void *fit, int conf_noffset, - bool reqd_policy_all = true; - const char *reqd_mode; - -+ /* -+ * We don't support this since libfdt considers names with the -+ * name root but different @ suffix to be equal -+ */ -+ if (strchr(name, '@')) { -+ printf("Configuration node '%s' contains '@'\n", name); -+ return -EPERM; -+ } -+ - /* Work out what we need to verify */ - sig_node = fdt_subnode_offset(sig_blob, 0, FIT_SIG_NODENAME); - if (sig_node < 0) { -diff --git a/common/image-fit.c b/common/image-fit.c -index adc3e551de..c3dc814115 100644 ---- a/common/image-fit.c -+++ b/common/image-fit.c -@@ -1369,21 +1369,31 @@ error: - */ - int fit_image_verify(const void *fit, int image_noffset) - { -+ const char *name = fit_get_name(fit, image_noffset, NULL); - const void *data; - size_t size; -- int noffset = 0; - char *err_msg = ""; - -+ if (strchr(name, '@')) { -+ /* -+ * We don't support this since libfdt considers names with the -+ * name root but different @ suffix to be equal -+ */ -+ err_msg = "Node name contains @"; -+ goto err; -+ } - /* Get image data and data length */ - if (fit_image_get_data_and_size(fit, image_noffset, &data, &size)) { - err_msg = "Can't get image data/size"; -- printf("error!\n%s for '%s' hash node in '%s' image node\n", -- err_msg, fit_get_name(fit, noffset, NULL), -- fit_get_name(fit, image_noffset, NULL)); -- return 0; -+ goto err; - } - - return fit_image_verify_with_data(fit, image_noffset, data, size); -+ -+err: -+ printf("error!\n%s in '%s' image node\n", err_msg, -+ fit_get_name(fit, image_noffset, NULL)); -+ return 0; - } - - /** -diff --git a/test/py/tests/test_fit.py b/test/py/tests/test_fit.py -index 84b3f95850..6d5b43c3ba 100755 ---- a/test/py/tests/test_fit.py -+++ b/test/py/tests/test_fit.py -@@ -17,7 +17,7 @@ base_its = ''' - #address-cells = <1>; - - images { -- kernel@1 { -+ kernel-1 { - data = /incbin/("%(kernel)s"); - type = "kernel"; - arch = "sandbox"; -@@ -26,7 +26,7 @@ base_its = ''' - load = <0x40000>; - entry = <0x8>; - }; -- kernel@2 { -+ kernel-2 { - data = /incbin/("%(loadables1)s"); - type = "kernel"; - arch = "sandbox"; -@@ -35,19 +35,19 @@ base_its = ''' - %(loadables1_load)s - entry = <0x0>; - }; -- fdt@1 { -+ fdt-1 { - description = "snow"; - data = /incbin/("%(fdt)s"); - type = "flat_dt"; - arch = "sandbox"; - %(fdt_load)s - compression = "%(compression)s"; -- signature@1 { -+ signature-1 { - algo = "sha1,rsa2048"; - key-name-hint = "dev"; - }; - }; -- ramdisk@1 { -+ ramdisk-1 { - description = "snow"; - data = /incbin/("%(ramdisk)s"); - type = "ramdisk"; -@@ -56,7 +56,7 @@ base_its = ''' - %(ramdisk_load)s - compression = "%(compression)s"; - }; -- ramdisk@2 { -+ ramdisk-2 { - description = "snow"; - data = /incbin/("%(loadables2)s"); - type = "ramdisk"; -@@ -67,10 +67,10 @@ base_its = ''' - }; - }; - configurations { -- default = "conf@1"; -- conf@1 { -- kernel = "kernel@1"; -- fdt = "fdt@1"; -+ default = "conf-1"; -+ conf-1 { -+ kernel = "kernel-1"; -+ fdt = "fdt-1"; - %(ramdisk_config)s - %(loadables_config)s - }; -@@ -410,7 +410,7 @@ def test_fit(u_boot_console): - - # Try a ramdisk - with cons.log.section('Kernel + FDT + Ramdisk load'): -- params['ramdisk_config'] = 'ramdisk = "ramdisk@1";' -+ params['ramdisk_config'] = 'ramdisk = "ramdisk-1";' - params['ramdisk_load'] = 'load = <%#x>;' % params['ramdisk_addr'] - fit = make_fit(mkimage, params) - cons.restart_uboot() -@@ -419,7 +419,7 @@ def test_fit(u_boot_console): - - # Configuration with some Loadables - with cons.log.section('Kernel + FDT + Ramdisk load + Loadables'): -- params['loadables_config'] = 'loadables = "kernel@2", "ramdisk@2";' -+ params['loadables_config'] = 'loadables = "kernel-2", "ramdisk-2";' - params['loadables1_load'] = ('load = <%#x>;' % - params['loadables1_addr']) - params['loadables2_load'] = ('load = <%#x>;' % -diff --git a/test/py/tests/vboot_forge.py b/test/py/tests/vboot_forge.py -index 0fb7ef4024..b41105bd0e 100644 ---- a/test/py/tests/vboot_forge.py -+++ b/test/py/tests/vboot_forge.py -@@ -376,12 +376,12 @@ def manipulate(root, strblock): - """ - Maliciously manipulates the structure to create a crafted FIT file - """ -- # locate /images/kernel@1 (frankly, it just expects it to be the first one) -+ # locate /images/kernel-1 (frankly, it just expects it to be the first one) - kernel_node = root[0][0] - # clone it to save time filling all the properties - fake_kernel = kernel_node.clone() - # rename the node -- fake_kernel.name = b'kernel@2' -+ fake_kernel.name = b'kernel-2' - # get rid of signatures/hashes - fake_kernel.children = [] - # NOTE: this simply replaces the first prop... either description or data -@@ -391,13 +391,13 @@ def manipulate(root, strblock): - root[0].children.append(fake_kernel) - - # modify the default configuration -- root[1].props[0].value = b'conf@2\x00' -+ root[1].props[0].value = b'conf-2\x00' - # clone the first (only?) configuration - fake_conf = root[1][0].clone() - # rename and change kernel and fdt properties to select the crafted kernel -- fake_conf.name = b'conf@2' -- fake_conf.props[0].value = b'kernel@2\x00' -- fake_conf.props[1].value = b'fdt@1\x00' -+ fake_conf.name = b'conf-2' -+ fake_conf.props[0].value = b'kernel-2\x00' -+ fake_conf.props[1].value = b'fdt-1\x00' - # insert the new configuration under /configurations - root[1].children.append(fake_conf) - diff --git a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch b/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch deleted file mode 100644 index 946196c37..000000000 --- a/poky/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 3f04db891a353f4b127ed57279279f851c6b4917 Mon Sep 17 00:00:00 2001 -From: Simon Glass -Date: Mon, 15 Feb 2021 17:08:12 -0700 -Subject: [PATCH] image: Check for unit addresses in FITs - -Using unit addresses in a FIT is a security risk. Add a check for this -and disallow it. - -CVE-2021-27138 - -Signed-off-by: Simon Glass -Reported-by: Bruce Monroe -Reported-by: Arie Haenel -Reported-by: Julien Lenoir - -CVE: CVE-2021-27138 -Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/3f04db891a353f4b127ed57279279f851c6b4917] -Signed-off-by: Scott Murray - ---- - common/image-fit.c | 56 +++++++++++++++++++++++++++++++++++++++++---- - test/py/tests/test_vboot.py | 9 ++++---- - 2 files changed, 57 insertions(+), 8 deletions(-) - -diff --git a/common/image-fit.c b/common/image-fit.c -index bcf395f6a1..28b3d2b191 100644 ---- a/common/image-fit.c -+++ b/common/image-fit.c -@@ -1568,6 +1568,34 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp) - return (comp == image_comp); - } - -+/** -+ * fdt_check_no_at() - Check for nodes whose names contain '@' -+ * -+ * This checks the parent node and all subnodes recursively -+ * -+ * @fit: FIT to check -+ * @parent: Parent node to check -+ * @return 0 if OK, -EADDRNOTAVAIL is a node has a name containing '@' -+ */ -+static int fdt_check_no_at(const void *fit, int parent) -+{ -+ const char *name; -+ int node; -+ int ret; -+ -+ name = fdt_get_name(fit, parent, NULL); -+ if (!name || strchr(name, '@')) -+ return -EADDRNOTAVAIL; -+ -+ fdt_for_each_subnode(node, fit, parent) { -+ ret = fdt_check_no_at(fit, node); -+ if (ret) -+ return ret; -+ } -+ -+ return 0; -+} -+ - int fit_check_format(const void *fit, ulong size) - { - int ret; -@@ -1589,10 +1617,27 @@ int fit_check_format(const void *fit, ulong size) - if (size == IMAGE_SIZE_INVAL) - size = fdt_totalsize(fit); - ret = fdt_check_full(fit, size); -+ if (ret) -+ ret = -EINVAL; -+ -+ /* -+ * U-Boot stopped using unit addressed in 2017. Since libfdt -+ * can match nodes ignoring any unit address, signature -+ * verification can see the wrong node if one is inserted with -+ * the same name as a valid node but with a unit address -+ * attached. Protect against this by disallowing unit addresses. -+ */ -+ if (!ret && CONFIG_IS_ENABLED(FIT_SIGNATURE)) { -+ ret = fdt_check_no_at(fit, 0); - -+ if (ret) { -+ log_debug("FIT check error %d\n", ret); -+ return ret; -+ } -+ } - if (ret) { - log_debug("FIT check error %d\n", ret); -- return -EINVAL; -+ return ret; - } - } - -@@ -1955,10 +2000,13 @@ int fit_image_load(bootm_headers_t *images, ulong addr, - printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr); - - bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT); -- if (fit_check_format(fit, IMAGE_SIZE_INVAL)) { -- printf("Bad FIT %s image format!\n", prop_name); -+ ret = fit_check_format(fit, IMAGE_SIZE_INVAL); -+ if (ret) { -+ printf("Bad FIT %s image format! (err=%d)\n", prop_name, ret); -+ if (CONFIG_IS_ENABLED(FIT_SIGNATURE) && ret == -EADDRNOTAVAIL) -+ printf("Signature checking prevents use of unit addresses (@) in nodes\n"); - bootstage_error(bootstage_id + BOOTSTAGE_SUB_FORMAT); -- return -ENOEXEC; -+ return ret; - } - bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT_OK); - if (fit_uname) { diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc index 993478a73..dbbb9ff14 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc +++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc @@ -12,16 +12,9 @@ PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "c4fddedc48f336eabc4ce3f74940e6aa372de18c" +SRCREV = "b46dd116ce03e235f2a7d4843c6278e1da44b5e1" SRC_URI = "git://git.denx.de/u-boot.git \ - file://0001-add-valid-fdt-check.patch \ - file://CVE-2021-27097-1.patch \ - file://CVE-2021-27097-2.patch \ - file://CVE-2021-27097-3.patch \ - file://CVE-2021-27097-4.patch \ - file://CVE-2021-27138-1.patch \ - file://CVE-2021-27138-2.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.01.bb deleted file mode 100644 index ef386f76e..000000000 --- a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.01.bb +++ /dev/null @@ -1,3 +0,0 @@ -require u-boot-common.inc -require u-boot-tools.inc - diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb new file mode 100644 index 000000000..ef386f76e --- /dev/null +++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb @@ -0,0 +1,3 @@ +require u-boot-common.inc +require u-boot-tools.inc + diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb deleted file mode 100644 index bbbc99bf8..000000000 --- a/poky/meta/recipes-bsp/u-boot/u-boot_2021.01.bb +++ /dev/null @@ -1,6 +0,0 @@ -require u-boot-common.inc -require u-boot.inc - -SRC_URI_append = " file://0001-riscv32-Use-double-float-ABI-for-rv32.patch" - -DEPENDS += "bc-native dtc-native python3-setuptools-native" diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2021.04.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2021.04.bb new file mode 100644 index 000000000..bbbc99bf8 --- /dev/null +++ b/poky/meta/recipes-bsp/u-boot/u-boot_2021.04.bb @@ -0,0 +1,6 @@ +require u-boot-common.inc +require u-boot.inc + +SRC_URI_append = " file://0001-riscv32-Use-double-float-ABI-for-rv32.patch" + +DEPENDS += "bc-native dtc-native python3-setuptools-native" diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb index c8a3f876a..5c46bbf58 100644 --- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb @@ -30,10 +30,13 @@ UPSTREAM_CHECK_URI = "https://github.com/lathiat/avahi/releases/" SRC_URI[md5sum] = "229c6aa30674fc43c202b22c5f8c2be7" SRC_URI[sha256sum] = "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda" +# Issue only affects Debian/SUSE, not us +CVE_CHECK_WHITELIST += "CVE-2021-26720" + DEPENDS = "expat libcap libdaemon glib-2.0 intltool-native" # For gtk related PACKAGECONFIGs: gtk, gtk3 -AVAHI_GTK ?= "gtk3" +AVAHI_GTK ?= "" PACKAGECONFIG ??= "dbus ${@bb.utils.contains_any('DISTRO_FEATURES','x11 wayland','${AVAHI_GTK}','',d)}" PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch deleted file mode 100644 index 8db96ec04..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 31dde3562f287429eea94b77250d184818b49063 Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 15 Oct 2018 16:55:09 +0800 -Subject: [PATCH] avoid start failure with bind user - -Upstream-Status: Pending - -Signed-off-by: Chen Qi ---- - init.d | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/init.d b/init.d -index b2eec60..6e03936 100644 ---- a/init.d -+++ b/init.d -@@ -57,6 +57,7 @@ case "$1" in - modprobe capability >/dev/null 2>&1 || true - if [ ! -f /etc/bind/rndc.key ]; then - /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom -+ chown root:bind /etc/bind/rndc.key >/dev/null 2>&1 || true - chmod 0640 /etc/bind/rndc.key - fi - if [ -f /var/run/named/named.pid ]; then --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch deleted file mode 100644 index 5bcc16c9b..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a3af4a405baf5ff582e82aaba392dd9667d94bdc Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Mon, 27 Aug 2018 21:24:20 +0800 -Subject: [PATCH] `named/lwresd -V' and start log hide build options - -The build options expose build path directories, so hide them. -[snip] -$ named -V -|built by make with *** (options are hidden) -[snip] - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Hongxu Jia - -Refreshed for 9.16.0 -Signed-off-by: Armin Kuster - ---- - bin/named/include/named/globals.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: bind-9.16.0/bin/named/include/named/globals.h -=================================================================== ---- bind-9.16.0.orig/bin/named/include/named/globals.h -+++ bind-9.16.0/bin/named/include/named/globals.h -@@ -69,7 +69,7 @@ EXTERN const char *named_g_version I - EXTERN const char *named_g_product INIT(PRODUCT); - EXTERN const char *named_g_description INIT(DESCRIPTION); - EXTERN const char *named_g_srcid INIT(SRCID); --EXTERN const char *named_g_configargs INIT(CONFIGARGS); -+EXTERN const char *named_g_configargs INIT("*** (options are hidden)"); - EXTERN const char *named_g_builder INIT(BUILDER); - EXTERN in_port_t named_g_port INIT(0); - EXTERN isc_dscp_t named_g_dscp INIT(-1); diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch deleted file mode 100644 index f9cdc7ca4..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch +++ /dev/null @@ -1,47 +0,0 @@ -From edda20fb5a6e88548f85e39d34d6c074306e15bc Mon Sep 17 00:00:00 2001 -From: Paul Gortmaker -Date: Tue, 9 Jun 2015 11:22:00 -0400 -Subject: [PATCH] bind: ensure searching for json headers searches sysroot - -Bind can fail configure by detecting headers w/o libs[1], or -it can fail the host contamination check as per below: - -ERROR: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. -Rerun configure task after fixing this. The path was 'build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/build' -ERROR: Function failed: do_qa_configure -ERROR: Logfile of failure stored in: build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/temp/log.do_configure.5242 -ERROR: Task 5 (meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure) failed with exit code '1' -NOTE: Tasks Summary: Attempted 773 tasks of which 768 didn't need to be rerun and 1 failed. -No currently running tasks (773 of 781) - -Summary: 1 task failed: - /meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure - -One way to fix it would be to unconditionally disable json in bind -configure[2] but here we fix it by using the path to where we would -put the header if we had json in the sysroot, in case someone wants -to make use of the combination some day. - -[1] https://trac.macports.org/ticket/45305 -[2] https://trac.macports.org/changeset/126406 - -Upstream-Status: Inappropriate [OE Specific] -Signed-off-by: Paul Gortmaker - ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: bind-9.16.4/configure.ac -=================================================================== ---- bind-9.16.4.orig/configure.ac -+++ bind-9.16.4/configure.ac -@@ -1232,7 +1232,7 @@ case "$use_lmdb" in - LMDB_LIBS="" - ;; - auto|yes) -- for d in /usr /usr/local /opt/local -+ for d in "${STAGING_INCDIR}" - do - if test -f "${d}/include/lmdb.h" - then diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind9 deleted file mode 100644 index 968679ff7..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/bind9 +++ /dev/null @@ -1,2 +0,0 @@ -# startup options for the server -OPTIONS="-u bind" diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch deleted file mode 100644 index aad345f9f..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch +++ /dev/null @@ -1,330 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -the patch is imported from openembedded project - -11/30/2010 - Qing He - -diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0 ---- bind-9.3.1.orig/conf/db.0 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.0 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,12 @@ -+; -+; BIND reverse data file for broadcast zone -+; -+$TTL 604800 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 604800 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127 ---- bind-9.3.1.orig/conf/db.127 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.127 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,13 @@ -+; -+; BIND reverse data file for local loopback interface -+; -+$TTL 604800 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 604800 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -+1.0.0 IN PTR localhost. -diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty ---- bind-9.3.1.orig/conf/db.empty 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.empty 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,14 @@ -+; BIND reverse data file for empty rfc1918 zone -+; -+; DO NOT EDIT THIS FILE - it is used for multiple zones. -+; Instead, copy it, edit named.conf, and use that copy. -+; -+$TTL 86400 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 86400 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -diff -urN bind-9.3.1.orig/conf/db.255 bind-9.3.1/conf/db.255 ---- bind-9.3.1.orig/conf/db.255 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.255 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,12 @@ -+; -+; BIND reserve data file for broadcast zone -+; -+$TTL 604800 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 604800 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local ---- bind-9.3.1.orig/conf/db.local 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.local 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,13 @@ -+; -+; BIND data file for local loopback interface -+; -+$TTL 604800 -+@ IN SOA localhost. root.localhost. ( -+ 1 ; Serial -+ 604800 ; Refresh -+ 86400 ; Retry -+ 2419200 ; Expire -+ 604800 ) ; Negative Cache TTL -+; -+@ IN NS localhost. -+@ IN A 127.0.0.1 -diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root ---- bind-9.3.1.orig/conf/db.root 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/db.root 2005-07-10 22:14:00.000000000 +0200 -@@ -0,0 +1,45 @@ -+ -+; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net. -+;; global options: printcmd -+;; Got answer: -+;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944 -+;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 -+ -+;; QUESTION SECTION: -+;. IN NS -+ -+;; ANSWER SECTION: -+. 518400 IN NS A.ROOT-SERVERS.NET. -+. 518400 IN NS B.ROOT-SERVERS.NET. -+. 518400 IN NS C.ROOT-SERVERS.NET. -+. 518400 IN NS D.ROOT-SERVERS.NET. -+. 518400 IN NS E.ROOT-SERVERS.NET. -+. 518400 IN NS F.ROOT-SERVERS.NET. -+. 518400 IN NS G.ROOT-SERVERS.NET. -+. 518400 IN NS H.ROOT-SERVERS.NET. -+. 518400 IN NS I.ROOT-SERVERS.NET. -+. 518400 IN NS J.ROOT-SERVERS.NET. -+. 518400 IN NS K.ROOT-SERVERS.NET. -+. 518400 IN NS L.ROOT-SERVERS.NET. -+. 518400 IN NS M.ROOT-SERVERS.NET. -+ -+;; ADDITIONAL SECTION: -+A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 -+B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201 -+C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 -+D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 -+E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10 -+F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241 -+G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4 -+H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53 -+I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17 -+J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30 -+K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129 -+L.ROOT-SERVERS.NET. 3600000 IN A 198.32.64.12 -+M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 -+ -+;; Query time: 81 msec -+;; SERVER: 198.41.0.4#53(a.root-servers.net.) -+;; WHEN: Sun Feb 1 11:27:14 2004 -+;; MSG SIZE rcvd: 436 -+ -diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf ---- bind-9.3.1.orig/conf/named.conf 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/named.conf 2005-07-10 22:33:46.000000000 +0200 -@@ -0,0 +1,49 @@ -+// This is the primary configuration file for the BIND DNS server named. -+// -+// If you are just adding zones, please do that in /etc/bind/named.conf.local -+ -+include "/etc/bind/named.conf.options"; -+ -+// prime the server with knowledge of the root servers -+zone "." { -+ type hint; -+ file "/etc/bind/db.root"; -+}; -+ -+// be authoritative for the localhost forward and reverse zones, and for -+// broadcast zones as per RFC 1912 -+ -+zone "localhost" { -+ type master; -+ file "/etc/bind/db.local"; -+}; -+ -+zone "127.in-addr.arpa" { -+ type master; -+ file "/etc/bind/db.127"; -+}; -+ -+zone "0.in-addr.arpa" { -+ type master; -+ file "/etc/bind/db.0"; -+}; -+ -+zone "255.in-addr.arpa" { -+ type master; -+ file "/etc/bind/db.255"; -+}; -+ -+// zone "com" { type delegation-only; }; -+// zone "net" { type delegation-only; }; -+ -+// From the release notes: -+// Because many of our users are uncomfortable receiving undelegated answers -+// from root or top level domains, other than a few for whom that behaviour -+// has been trusted and expected for quite some length of time, we have now -+// introduced the "root-delegations-only" feature which applies delegation-only -+// logic to all top level domains, and to the root domain. An exception list -+// should be specified, including "MUSEUM" and "DE", and any other top level -+// domains from whom undelegated responses are expected and trusted. -+// root-delegation-only exclude { "DE"; "MUSEUM"; }; -+ -+include "/etc/bind/named.conf.local"; -diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local ---- bind-9.3.1.orig/conf/named.conf.local 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/named.conf.local 2005-07-10 22:14:06.000000000 +0200 -@@ -0,0 +1,8 @@ -+// -+// Do any local configuration here -+// -+ -+// Consider adding the 1918 zones here, if they are not used in your -+// organization -+//include "/etc/bind/zones.rfc1918"; -+ -diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options ---- bind-9.3.1.orig/conf/named.conf.options 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/named.conf.options 2005-07-10 22:14:06.000000000 +0200 -@@ -0,0 +1,24 @@ -+options { -+ directory "/var/cache/bind"; -+ -+ // If there is a firewall between you and nameservers you want -+ // to talk to, you might need to uncomment the query-source -+ // directive below. Previous versions of BIND always asked -+ // questions using port 53, but BIND 8.1 and later use an unprivileged -+ // port by default. -+ -+ // query-source address * port 53; -+ -+ // If your ISP provided one or more IP addresses for stable -+ // nameservers, you probably want to use them as forwarders. -+ // Uncomment the following block, and insert the addresses replacing -+ // the all-0's placeholder. -+ -+ // forwarders { -+ // 0.0.0.0; -+ // }; -+ -+ auth-nxdomain no; # conform to RFC1035 -+ -+}; -+ -diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918 ---- bind-9.3.1.orig/conf/zones.rfc1918 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/conf/zones.rfc1918 2005-07-10 22:14:10.000000000 +0200 -@@ -0,0 +1,20 @@ -+zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+ -+zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "17.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "18.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "19.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "20.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "21.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "22.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "23.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "24.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "25.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "26.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "27.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "28.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "29.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "30.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -+ -+zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; -diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d ---- bind-9.3.1.orig/init.d 1970-01-01 01:00:00.000000000 +0100 -+++ bind-9.3.1/init.d 2005-07-10 23:09:58.000000000 +0200 -@@ -0,0 +1,70 @@ -+#!/bin/sh -+ -+PATH=/sbin:/bin:/usr/sbin:/usr/bin -+ -+# for a chrooted server: "-u bind -t /var/lib/named" -+# Don't modify this line, change or create /etc/default/bind9. -+OPTIONS="" -+ -+test -f /etc/default/bind9 && . /etc/default/bind9 -+ -+test -x /usr/sbin/rndc || exit 0 -+ -+case "$1" in -+ start) -+ echo -n "Starting domain name service: named" -+ -+ modprobe capability >/dev/null 2>&1 || true -+ if [ ! -f /etc/bind/rndc.key ]; then -+ /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom -+ chmod 0640 /etc/bind/rndc.key -+ fi -+ if [ -f /var/run/named/named.pid ]; then -+ ps `cat /var/run/named/named.pid` > /dev/null && exit 1 -+ fi -+ -+ # dirs under /var/run can go away on reboots. -+ mkdir -p /var/run/named -+ mkdir -p /var/cache/bind -+ chmod 775 /var/run/named -+ chown root:bind /var/run/named >/dev/null 2>&1 || true -+ -+ if [ ! -x /usr/sbin/named ]; then -+ echo "named binary missing - not starting" -+ exit 1 -+ fi -+ if start-stop-daemon --start --quiet --exec /usr/sbin/named \ -+ --pidfile /var/run/named/named.pid -- $OPTIONS; then -+ if [ -x /sbin/resolvconf ] ; then -+ echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo -+ fi -+ fi -+ echo "." -+ ;; -+ -+ stop) -+ echo -n "Stopping domain name service: named" -+ if [ -x /sbin/resolvconf ]; then -+ /sbin/resolvconf -d lo -+ fi -+ /usr/sbin/rndc stop >/dev/null 2>&1 -+ echo "." -+ ;; -+ -+ reload) -+ /usr/sbin/rndc reload -+ ;; -+ -+ restart|force-reload) -+ $0 stop -+ sleep 2 -+ $0 start -+ ;; -+ -+ *) -+ echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2 -+ exit 1 -+ ;; -+esac -+ -+exit 0 diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh deleted file mode 100644 index 633e29c0e..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -if [ ! -s /etc/bind/rndc.key ]; then - echo -n "Generating /etc/bind/rndc.key:" - /usr/sbin/rndc-confgen -a -b 512 - chown root:bind /etc/bind/rndc.key - chmod 0640 /etc/bind/rndc.key -fi diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch deleted file mode 100644 index 11db95ede..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch +++ /dev/null @@ -1,65 +0,0 @@ -Subject: init.d: add support for read-only rootfs - -Upstream-Status: Inappropriate [oe specific] - -Signed-off-by: Chen Qi ---- - init.d | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -diff --git a/init.d b/init.d -index 0111ed4..24677c8 100644 ---- a/init.d -+++ b/init.d -@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin - # Don't modify this line, change or create /etc/default/bind9. - OPTIONS="" - -+test -f /etc/default/rcS && . /etc/default/rcS - test -f /etc/default/bind9 && . /etc/default/bind9 - -+# This function is here because it's possible that /var and / are on different partitions. -+is_on_read_only_partition () { -+ DIRECTORY=$1 -+ dir=`readlink -f $DIRECTORY` -+ while true; do -+ if [ ! -d "$dir" ]; then -+ echo "ERROR: $dir is not a directory" -+ exit 1 -+ else -+ for flag in `awk -v dir=$dir '{ if ($2 == dir) { print "FOUND"; split($4,FLAGS,",") } }; \ -+ END { for (f in FLAGS) print FLAGS[f] }' < /proc/mounts`; do -+ [ "$flag" = "FOUND" ] && partition="read-write" -+ [ "$flag" = "ro" ] && { partition="read-only"; break; } -+ done -+ if [ "$dir" = "/" -o -n "$partition" ]; then -+ break -+ else -+ dir=`dirname $dir` -+ fi -+ fi -+ done -+ [ "$partition" = "read-only" ] && echo "yes" || echo "no" -+} -+ -+bind_mount () { -+ olddir=$1 -+ newdir=$2 -+ mkdir -p $olddir -+ cp -a $newdir/* $olddir -+ mount --bind $olddir $newdir -+} -+ -+# Deal with read-only rootfs -+if [ "$ROOTFS_READ_ONLY" = "yes" ]; then -+ [ "$VERBOSE" != "no" ] && echo "WARN: start bind service in read-only rootfs" -+ [ `is_on_read_only_partition /etc/bind` = "yes" ] && bind_mount /var/volatile/bind/etc /etc/bind -+ [ `is_on_read_only_partition /var/named` = "yes" ] && bind_mount /var/volatile/bind/named /var/named -+fi -+ - test -x /usr/sbin/rndc || exit 0 - - case "$1" in --- -1.7.9.5 - diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch deleted file mode 100644 index 146f3e35d..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch +++ /dev/null @@ -1,42 +0,0 @@ -bind: make "/etc/init.d/bind stop" work - -Upstream-Status: Inappropriate [configuration] - -Add some configurations, make rndc command be able to controls -the named daemon. - -Signed-off-by: Roy Li ---- - conf/named.conf | 5 +++++ - conf/rndc.conf | 5 +++++ - 2 files changed, 10 insertions(+), 0 deletions(-) - create mode 100644 conf/rndc.conf - -diff --git a/conf/named.conf b/conf/named.conf -index 95829cf..c8899e7 100644 ---- a/conf/named.conf -+++ b/conf/named.conf -@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" { - // root-delegation-only exclude { "DE"; "MUSEUM"; }; - - include "/etc/bind/named.conf.local"; -+include "/etc/bind/rndc.key" ; -+controls { -+ inet 127.0.0.1 allow { localhost; } -+ keys { rndc-key; }; -+}; -diff --git a/conf/rndc.conf b/conf/rndc.conf -new file mode 100644 -index 0000000..a0b481d ---- /dev/null -+++ b/conf/rndc.conf -@@ -0,0 +1,5 @@ -+include "/etc/bind/rndc.key"; -+options { -+ default-server localhost; -+ default-key rndc-key; -+}; - --- -1.7.5.4 - diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.12/named.service b/poky/meta/recipes-connectivity/bind/bind-9.16.12/named.service deleted file mode 100644 index cda56ef01..000000000 --- a/poky/meta/recipes-connectivity/bind/bind-9.16.12/named.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=Berkeley Internet Name Domain (DNS) -Wants=nss-lookup.target -Before=nss-lookup.target -After=network.target - -[Service] -Type=forking -EnvironmentFile=-/etc/default/bind9 -PIDFile=/run/named/named.pid - -ExecStartPre=@SBINDIR@/generate-rndc-key.sh -ExecStart=@SBINDIR@/named $OPTIONS - -ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || @BASE_BINDIR@/kill -HUP $MAINPID' - -ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || @BASE_BINDIR@/kill -TERM $MAINPID' - -PrivateTmp=true - -[Install] -WantedBy=multi-user.target diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch new file mode 100644 index 000000000..8db96ec04 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch @@ -0,0 +1,27 @@ +From 31dde3562f287429eea94b77250d184818b49063 Mon Sep 17 00:00:00 2001 +From: Chen Qi +Date: Mon, 15 Oct 2018 16:55:09 +0800 +Subject: [PATCH] avoid start failure with bind user + +Upstream-Status: Pending + +Signed-off-by: Chen Qi +--- + init.d | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/init.d b/init.d +index b2eec60..6e03936 100644 +--- a/init.d ++++ b/init.d +@@ -57,6 +57,7 @@ case "$1" in + modprobe capability >/dev/null 2>&1 || true + if [ ! -f /etc/bind/rndc.key ]; then + /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom ++ chown root:bind /etc/bind/rndc.key >/dev/null 2>&1 || true + chmod 0640 /etc/bind/rndc.key + fi + if [ -f /var/run/named/named.pid ]; then +-- +2.7.4 + diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch new file mode 100644 index 000000000..5bcc16c9b --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch @@ -0,0 +1,35 @@ +From a3af4a405baf5ff582e82aaba392dd9667d94bdc Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Mon, 27 Aug 2018 21:24:20 +0800 +Subject: [PATCH] `named/lwresd -V' and start log hide build options + +The build options expose build path directories, so hide them. +[snip] +$ named -V +|built by make with *** (options are hidden) +[snip] + +Upstream-Status: Inappropriate [oe-core specific] + +Signed-off-by: Hongxu Jia + +Refreshed for 9.16.0 +Signed-off-by: Armin Kuster + +--- + bin/named/include/named/globals.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: bind-9.16.0/bin/named/include/named/globals.h +=================================================================== +--- bind-9.16.0.orig/bin/named/include/named/globals.h ++++ bind-9.16.0/bin/named/include/named/globals.h +@@ -69,7 +69,7 @@ EXTERN const char *named_g_version I + EXTERN const char *named_g_product INIT(PRODUCT); + EXTERN const char *named_g_description INIT(DESCRIPTION); + EXTERN const char *named_g_srcid INIT(SRCID); +-EXTERN const char *named_g_configargs INIT(CONFIGARGS); ++EXTERN const char *named_g_configargs INIT("*** (options are hidden)"); + EXTERN const char *named_g_builder INIT(BUILDER); + EXTERN in_port_t named_g_port INIT(0); + EXTERN isc_dscp_t named_g_dscp INIT(-1); diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch new file mode 100644 index 000000000..f9cdc7ca4 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch @@ -0,0 +1,47 @@ +From edda20fb5a6e88548f85e39d34d6c074306e15bc Mon Sep 17 00:00:00 2001 +From: Paul Gortmaker +Date: Tue, 9 Jun 2015 11:22:00 -0400 +Subject: [PATCH] bind: ensure searching for json headers searches sysroot + +Bind can fail configure by detecting headers w/o libs[1], or +it can fail the host contamination check as per below: + +ERROR: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. +Rerun configure task after fixing this. The path was 'build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/build' +ERROR: Function failed: do_qa_configure +ERROR: Logfile of failure stored in: build/tmp/work/core2-64-poky-linux/bind/9.10.2-r1/temp/log.do_configure.5242 +ERROR: Task 5 (meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure) failed with exit code '1' +NOTE: Tasks Summary: Attempted 773 tasks of which 768 didn't need to be rerun and 1 failed. +No currently running tasks (773 of 781) + +Summary: 1 task failed: + /meta/recipes-connectivity/bind/bind_9.10.2.bb, do_configure + +One way to fix it would be to unconditionally disable json in bind +configure[2] but here we fix it by using the path to where we would +put the header if we had json in the sysroot, in case someone wants +to make use of the combination some day. + +[1] https://trac.macports.org/ticket/45305 +[2] https://trac.macports.org/changeset/126406 + +Upstream-Status: Inappropriate [OE Specific] +Signed-off-by: Paul Gortmaker + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: bind-9.16.4/configure.ac +=================================================================== +--- bind-9.16.4.orig/configure.ac ++++ bind-9.16.4/configure.ac +@@ -1232,7 +1232,7 @@ case "$use_lmdb" in + LMDB_LIBS="" + ;; + auto|yes) +- for d in /usr /usr/local /opt/local ++ for d in "${STAGING_INCDIR}" + do + if test -f "${d}/include/lmdb.h" + then diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.16.16/bind9 new file mode 100644 index 000000000..968679ff7 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/bind9 @@ -0,0 +1,2 @@ +# startup options for the server +OPTIONS="-u bind" diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.16/conf.patch new file mode 100644 index 000000000..aad345f9f --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/conf.patch @@ -0,0 +1,330 @@ +Upstream-Status: Inappropriate [configuration] + +the patch is imported from openembedded project + +11/30/2010 - Qing He + +diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0 +--- bind-9.3.1.orig/conf/db.0 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.0 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,12 @@ ++; ++; BIND reverse data file for broadcast zone ++; ++$TTL 604800 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 604800 ) ; Negative Cache TTL ++; ++@ IN NS localhost. +diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127 +--- bind-9.3.1.orig/conf/db.127 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.127 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,13 @@ ++; ++; BIND reverse data file for local loopback interface ++; ++$TTL 604800 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 604800 ) ; Negative Cache TTL ++; ++@ IN NS localhost. ++1.0.0 IN PTR localhost. +diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty +--- bind-9.3.1.orig/conf/db.empty 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.empty 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,14 @@ ++; BIND reverse data file for empty rfc1918 zone ++; ++; DO NOT EDIT THIS FILE - it is used for multiple zones. ++; Instead, copy it, edit named.conf, and use that copy. ++; ++$TTL 86400 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 86400 ) ; Negative Cache TTL ++; ++@ IN NS localhost. +diff -urN bind-9.3.1.orig/conf/db.255 bind-9.3.1/conf/db.255 +--- bind-9.3.1.orig/conf/db.255 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.255 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,12 @@ ++; ++; BIND reserve data file for broadcast zone ++; ++$TTL 604800 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 604800 ) ; Negative Cache TTL ++; ++@ IN NS localhost. +diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local +--- bind-9.3.1.orig/conf/db.local 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.local 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,13 @@ ++; ++; BIND data file for local loopback interface ++; ++$TTL 604800 ++@ IN SOA localhost. root.localhost. ( ++ 1 ; Serial ++ 604800 ; Refresh ++ 86400 ; Retry ++ 2419200 ; Expire ++ 604800 ) ; Negative Cache TTL ++; ++@ IN NS localhost. ++@ IN A 127.0.0.1 +diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root +--- bind-9.3.1.orig/conf/db.root 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/db.root 2005-07-10 22:14:00.000000000 +0200 +@@ -0,0 +1,45 @@ ++ ++; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net. ++;; global options: printcmd ++;; Got answer: ++;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944 ++;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 ++ ++;; QUESTION SECTION: ++;. IN NS ++ ++;; ANSWER SECTION: ++. 518400 IN NS A.ROOT-SERVERS.NET. ++. 518400 IN NS B.ROOT-SERVERS.NET. ++. 518400 IN NS C.ROOT-SERVERS.NET. ++. 518400 IN NS D.ROOT-SERVERS.NET. ++. 518400 IN NS E.ROOT-SERVERS.NET. ++. 518400 IN NS F.ROOT-SERVERS.NET. ++. 518400 IN NS G.ROOT-SERVERS.NET. ++. 518400 IN NS H.ROOT-SERVERS.NET. ++. 518400 IN NS I.ROOT-SERVERS.NET. ++. 518400 IN NS J.ROOT-SERVERS.NET. ++. 518400 IN NS K.ROOT-SERVERS.NET. ++. 518400 IN NS L.ROOT-SERVERS.NET. ++. 518400 IN NS M.ROOT-SERVERS.NET. ++ ++;; ADDITIONAL SECTION: ++A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 ++B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201 ++C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 ++D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 ++E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10 ++F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241 ++G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4 ++H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53 ++I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17 ++J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30 ++K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129 ++L.ROOT-SERVERS.NET. 3600000 IN A 198.32.64.12 ++M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 ++ ++;; Query time: 81 msec ++;; SERVER: 198.41.0.4#53(a.root-servers.net.) ++;; WHEN: Sun Feb 1 11:27:14 2004 ++;; MSG SIZE rcvd: 436 ++ +diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf +--- bind-9.3.1.orig/conf/named.conf 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/named.conf 2005-07-10 22:33:46.000000000 +0200 +@@ -0,0 +1,49 @@ ++// This is the primary configuration file for the BIND DNS server named. ++// ++// If you are just adding zones, please do that in /etc/bind/named.conf.local ++ ++include "/etc/bind/named.conf.options"; ++ ++// prime the server with knowledge of the root servers ++zone "." { ++ type hint; ++ file "/etc/bind/db.root"; ++}; ++ ++// be authoritative for the localhost forward and reverse zones, and for ++// broadcast zones as per RFC 1912 ++ ++zone "localhost" { ++ type master; ++ file "/etc/bind/db.local"; ++}; ++ ++zone "127.in-addr.arpa" { ++ type master; ++ file "/etc/bind/db.127"; ++}; ++ ++zone "0.in-addr.arpa" { ++ type master; ++ file "/etc/bind/db.0"; ++}; ++ ++zone "255.in-addr.arpa" { ++ type master; ++ file "/etc/bind/db.255"; ++}; ++ ++// zone "com" { type delegation-only; }; ++// zone "net" { type delegation-only; }; ++ ++// From the release notes: ++// Because many of our users are uncomfortable receiving undelegated answers ++// from root or top level domains, other than a few for whom that behaviour ++// has been trusted and expected for quite some length of time, we have now ++// introduced the "root-delegations-only" feature which applies delegation-only ++// logic to all top level domains, and to the root domain. An exception list ++// should be specified, including "MUSEUM" and "DE", and any other top level ++// domains from whom undelegated responses are expected and trusted. ++// root-delegation-only exclude { "DE"; "MUSEUM"; }; ++ ++include "/etc/bind/named.conf.local"; +diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local +--- bind-9.3.1.orig/conf/named.conf.local 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/named.conf.local 2005-07-10 22:14:06.000000000 +0200 +@@ -0,0 +1,8 @@ ++// ++// Do any local configuration here ++// ++ ++// Consider adding the 1918 zones here, if they are not used in your ++// organization ++//include "/etc/bind/zones.rfc1918"; ++ +diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options +--- bind-9.3.1.orig/conf/named.conf.options 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/named.conf.options 2005-07-10 22:14:06.000000000 +0200 +@@ -0,0 +1,24 @@ ++options { ++ directory "/var/cache/bind"; ++ ++ // If there is a firewall between you and nameservers you want ++ // to talk to, you might need to uncomment the query-source ++ // directive below. Previous versions of BIND always asked ++ // questions using port 53, but BIND 8.1 and later use an unprivileged ++ // port by default. ++ ++ // query-source address * port 53; ++ ++ // If your ISP provided one or more IP addresses for stable ++ // nameservers, you probably want to use them as forwarders. ++ // Uncomment the following block, and insert the addresses replacing ++ // the all-0's placeholder. ++ ++ // forwarders { ++ // 0.0.0.0; ++ // }; ++ ++ auth-nxdomain no; # conform to RFC1035 ++ ++}; ++ +diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918 +--- bind-9.3.1.orig/conf/zones.rfc1918 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/conf/zones.rfc1918 2005-07-10 22:14:10.000000000 +0200 +@@ -0,0 +1,20 @@ ++zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++ ++zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "17.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "18.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "19.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "20.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "21.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "22.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "23.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "24.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "25.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "26.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "27.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "28.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "29.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "30.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; ++ ++zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; }; +diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d +--- bind-9.3.1.orig/init.d 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.3.1/init.d 2005-07-10 23:09:58.000000000 +0200 +@@ -0,0 +1,70 @@ ++#!/bin/sh ++ ++PATH=/sbin:/bin:/usr/sbin:/usr/bin ++ ++# for a chrooted server: "-u bind -t /var/lib/named" ++# Don't modify this line, change or create /etc/default/bind9. ++OPTIONS="" ++ ++test -f /etc/default/bind9 && . /etc/default/bind9 ++ ++test -x /usr/sbin/rndc || exit 0 ++ ++case "$1" in ++ start) ++ echo -n "Starting domain name service: named" ++ ++ modprobe capability >/dev/null 2>&1 || true ++ if [ ! -f /etc/bind/rndc.key ]; then ++ /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom ++ chmod 0640 /etc/bind/rndc.key ++ fi ++ if [ -f /var/run/named/named.pid ]; then ++ ps `cat /var/run/named/named.pid` > /dev/null && exit 1 ++ fi ++ ++ # dirs under /var/run can go away on reboots. ++ mkdir -p /var/run/named ++ mkdir -p /var/cache/bind ++ chmod 775 /var/run/named ++ chown root:bind /var/run/named >/dev/null 2>&1 || true ++ ++ if [ ! -x /usr/sbin/named ]; then ++ echo "named binary missing - not starting" ++ exit 1 ++ fi ++ if start-stop-daemon --start --quiet --exec /usr/sbin/named \ ++ --pidfile /var/run/named/named.pid -- $OPTIONS; then ++ if [ -x /sbin/resolvconf ] ; then ++ echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo ++ fi ++ fi ++ echo "." ++ ;; ++ ++ stop) ++ echo -n "Stopping domain name service: named" ++ if [ -x /sbin/resolvconf ]; then ++ /sbin/resolvconf -d lo ++ fi ++ /usr/sbin/rndc stop >/dev/null 2>&1 ++ echo "." ++ ;; ++ ++ reload) ++ /usr/sbin/rndc reload ++ ;; ++ ++ restart|force-reload) ++ $0 stop ++ sleep 2 ++ $0 start ++ ;; ++ ++ *) ++ echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2 ++ exit 1 ++ ;; ++esac ++ ++exit 0 diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh new file mode 100644 index 000000000..633e29c0e --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ ! -s /etc/bind/rndc.key ]; then + echo -n "Generating /etc/bind/rndc.key:" + /usr/sbin/rndc-confgen -a -b 512 + chown root:bind /etc/bind/rndc.key + chmod 0640 /etc/bind/rndc.key +fi diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch new file mode 100644 index 000000000..11db95ede --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch @@ -0,0 +1,65 @@ +Subject: init.d: add support for read-only rootfs + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Chen Qi +--- + init.d | 40 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 40 insertions(+) + +diff --git a/init.d b/init.d +index 0111ed4..24677c8 100644 +--- a/init.d ++++ b/init.d +@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin + # Don't modify this line, change or create /etc/default/bind9. + OPTIONS="" + ++test -f /etc/default/rcS && . /etc/default/rcS + test -f /etc/default/bind9 && . /etc/default/bind9 + ++# This function is here because it's possible that /var and / are on different partitions. ++is_on_read_only_partition () { ++ DIRECTORY=$1 ++ dir=`readlink -f $DIRECTORY` ++ while true; do ++ if [ ! -d "$dir" ]; then ++ echo "ERROR: $dir is not a directory" ++ exit 1 ++ else ++ for flag in `awk -v dir=$dir '{ if ($2 == dir) { print "FOUND"; split($4,FLAGS,",") } }; \ ++ END { for (f in FLAGS) print FLAGS[f] }' < /proc/mounts`; do ++ [ "$flag" = "FOUND" ] && partition="read-write" ++ [ "$flag" = "ro" ] && { partition="read-only"; break; } ++ done ++ if [ "$dir" = "/" -o -n "$partition" ]; then ++ break ++ else ++ dir=`dirname $dir` ++ fi ++ fi ++ done ++ [ "$partition" = "read-only" ] && echo "yes" || echo "no" ++} ++ ++bind_mount () { ++ olddir=$1 ++ newdir=$2 ++ mkdir -p $olddir ++ cp -a $newdir/* $olddir ++ mount --bind $olddir $newdir ++} ++ ++# Deal with read-only rootfs ++if [ "$ROOTFS_READ_ONLY" = "yes" ]; then ++ [ "$VERBOSE" != "no" ] && echo "WARN: start bind service in read-only rootfs" ++ [ `is_on_read_only_partition /etc/bind` = "yes" ] && bind_mount /var/volatile/bind/etc /etc/bind ++ [ `is_on_read_only_partition /var/named` = "yes" ] && bind_mount /var/volatile/bind/named /var/named ++fi ++ + test -x /usr/sbin/rndc || exit 0 + + case "$1" in +-- +1.7.9.5 + diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch new file mode 100644 index 000000000..146f3e35d --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch @@ -0,0 +1,42 @@ +bind: make "/etc/init.d/bind stop" work + +Upstream-Status: Inappropriate [configuration] + +Add some configurations, make rndc command be able to controls +the named daemon. + +Signed-off-by: Roy Li +--- + conf/named.conf | 5 +++++ + conf/rndc.conf | 5 +++++ + 2 files changed, 10 insertions(+), 0 deletions(-) + create mode 100644 conf/rndc.conf + +diff --git a/conf/named.conf b/conf/named.conf +index 95829cf..c8899e7 100644 +--- a/conf/named.conf ++++ b/conf/named.conf +@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" { + // root-delegation-only exclude { "DE"; "MUSEUM"; }; + + include "/etc/bind/named.conf.local"; ++include "/etc/bind/rndc.key" ; ++controls { ++ inet 127.0.0.1 allow { localhost; } ++ keys { rndc-key; }; ++}; +diff --git a/conf/rndc.conf b/conf/rndc.conf +new file mode 100644 +index 0000000..a0b481d +--- /dev/null ++++ b/conf/rndc.conf +@@ -0,0 +1,5 @@ ++include "/etc/bind/rndc.key"; ++options { ++ default-server localhost; ++ default-key rndc-key; ++}; + +-- +1.7.5.4 + diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.16/named.service b/poky/meta/recipes-connectivity/bind/bind-9.16.16/named.service new file mode 100644 index 000000000..cda56ef01 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind-9.16.16/named.service @@ -0,0 +1,22 @@ +[Unit] +Description=Berkeley Internet Name Domain (DNS) +Wants=nss-lookup.target +Before=nss-lookup.target +After=network.target + +[Service] +Type=forking +EnvironmentFile=-/etc/default/bind9 +PIDFile=/run/named/named.pid + +ExecStartPre=@SBINDIR@/generate-rndc-key.sh +ExecStart=@SBINDIR@/named $OPTIONS + +ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || @BASE_BINDIR@/kill -HUP $MAINPID' + +ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || @BASE_BINDIR@/kill -TERM $MAINPID' + +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.12.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.12.bb deleted file mode 100644 index 09f77038f..000000000 --- a/poky/meta/recipes-connectivity/bind/bind_9.16.12.bb +++ /dev/null @@ -1,127 +0,0 @@ -SUMMARY = "ISC Internet Domain Name Server" -HOMEPAGE = "https://www.isc.org/bind/" -DESCRIPTION = "BIND 9 provides a full-featured Domain Name Server system" -SECTION = "console/network" - -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ef10b4de6371115dcecdc38ca2af4561" - -DEPENDS = "openssl libcap zlib libuv" - -SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \ - file://conf.patch \ - file://named.service \ - file://bind9 \ - file://generate-rndc-key.sh \ - file://make-etc-initd-bind-stop-work.patch \ - file://init.d-add-support-for-read-only-rootfs.patch \ - file://bind-ensure-searching-for-json-headers-searches-sysr.patch \ - file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \ - file://0001-avoid-start-failure-with-bind-user.patch \ - " - -SRC_URI[sha256sum] = "9914af9311fd349cab441097898d94fb28d0bfd9bf6ed04fe1f97f042644da7f" - -UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" -# stay at 9.16 follow the ESV versions divisible by 4 -UPSTREAM_CHECK_REGEX = "(?P9.(16|20|24|28)(\.\d+)+(-P\d+)*)/" - -inherit autotools update-rc.d systemd useradd pkgconfig multilib_header update-alternatives - -# PACKAGECONFIGs readline and libedit should NOT be set at same time -PACKAGECONFIG ?= "readline" -PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2" -PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline" -PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit" -PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native," - -EXTRA_OECONF = " --with-libtool --disable-devpoll --disable-auto-validation --enable-epoll \ - --with-gssapi=no --with-lmdb=no --with-zlib \ - --sysconfdir=${sysconfdir}/bind \ - --with-openssl=${STAGING_DIR_HOST}${prefix} \ - " -LDFLAGS_append = " -lz" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutils3-base', '', d)} - -# dhcp needs .la so keep them -REMOVE_LIBTOOL_LA = "0" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \ - --user-group bind" - -INITSCRIPT_NAME = "bind" -INITSCRIPT_PARAMS = "defaults" - -SYSTEMD_SERVICE_${PN} = "named.service" - -do_install_append() { - - rmdir "${D}${localstatedir}/run" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" - install -d -o bind "${D}${localstatedir}/cache/bind" - install -d "${D}${sysconfdir}/bind" - install -d "${D}${sysconfdir}/init.d" - install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/" - install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind" - if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then - sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \ - ${D}${sbindir}/dnssec-coverage \ - ${D}${sbindir}/dnssec-checkds \ - ${D}${sbindir}/dnssec-keymgr - fi - - # Install systemd related files - install -d ${D}${sbindir} - install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir} - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${systemd_unitdir}/system/named.service - - install -d ${D}${sysconfdir}/default - install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf - fi - - oe_multilib_header isc/platform.h -} - -CONFFILES_${PN} = " \ - ${sysconfdir}/bind/named.conf \ - ${sysconfdir}/bind/named.conf.local \ - ${sysconfdir}/bind/named.conf.options \ - ${sysconfdir}/bind/db.0 \ - ${sysconfdir}/bind/db.127 \ - ${sysconfdir}/bind/db.empty \ - ${sysconfdir}/bind/db.local \ - ${sysconfdir}/bind/db.root \ - " - -ALTERNATIVE_${PN}-utils = "nslookup" -ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup" -ALTERNATIVE_PRIORITY = "100" - -PACKAGE_BEFORE_PN += "${PN}-utils" -FILES_${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate" -FILES_${PN}-dev += "${bindir}/isc-config.h" -FILES_${PN} += "${sbindir}/generate-rndc-key.sh" - -PACKAGE_BEFORE_PN += "${PN}-libs" -# special arrangement below due to -# https://github.com/isc-projects/bind9/commit/0e25af628cd776f98c04fc4cc59048f5448f6c88 -FILES_SOLIBSDEV = "${libdir}/*[!0-9].so ${libdir}/libbind9.so" -FILES_${PN}-libs = "${libdir}/named/*.so* ${libdir}/*-${PV}.so" -FILES_${PN}-staticdev += "${libdir}/*.la" - -PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}" -FILES_python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \ - ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}" - -RDEPENDS_${PN}-dev = "" -RDEPENDS_python3-bind = "python3-core python3-ply" diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.16.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.16.bb new file mode 100644 index 000000000..b15259840 --- /dev/null +++ b/poky/meta/recipes-connectivity/bind/bind_9.16.16.bb @@ -0,0 +1,131 @@ +SUMMARY = "ISC Internet Domain Name Server" +HOMEPAGE = "https://www.isc.org/bind/" +DESCRIPTION = "BIND 9 provides a full-featured Domain Name Server system" +SECTION = "console/network" + +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ef10b4de6371115dcecdc38ca2af4561" + +DEPENDS = "openssl libcap zlib libuv" + +SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \ + file://conf.patch \ + file://named.service \ + file://bind9 \ + file://generate-rndc-key.sh \ + file://make-etc-initd-bind-stop-work.patch \ + file://init.d-add-support-for-read-only-rootfs.patch \ + file://bind-ensure-searching-for-json-headers-searches-sysr.patch \ + file://0001-named-lwresd-V-and-start-log-hide-build-options.patch \ + file://0001-avoid-start-failure-with-bind-user.patch \ + " + +SRC_URI[sha256sum] = "6c913902adf878e7dc5e229cea94faefc9d40f44775a30213edd08860f761d7b" + +UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" +# stay at 9.16 follow the ESV versions divisible by 4 +UPSTREAM_CHECK_REGEX = "(?P9.(16|20|24|28)(\.\d+)+(-P\d+)*)/" + +# Issue only affects dhcpd with recent bind versions. We don't ship dhcpd anymore +# so the issue doesn't affect us. +CVE_CHECK_WHITELIST += "CVE-2019-6470" + +inherit autotools update-rc.d systemd useradd pkgconfig multilib_header update-alternatives + +# PACKAGECONFIGs readline and libedit should NOT be set at same time +PACKAGECONFIG ?= "readline" +PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2" +PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline" +PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit" +PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native," + +EXTRA_OECONF = " --with-libtool --disable-devpoll --disable-auto-validation --enable-epoll \ + --with-gssapi=no --with-lmdb=no --with-zlib \ + --sysconfdir=${sysconfdir}/bind \ + --with-openssl=${STAGING_DIR_HOST}${prefix} \ + " +LDFLAGS_append = " -lz" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native distutils3-base', '', d)} + +# dhcp needs .la so keep them +REMOVE_LIBTOOL_LA = "0" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home ${localstatedir}/cache/bind --no-create-home \ + --user-group bind" + +INITSCRIPT_NAME = "bind" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_SERVICE_${PN} = "named.service" + +do_install_append() { + + rmdir "${D}${localstatedir}/run" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + install -d -o bind "${D}${localstatedir}/cache/bind" + install -d "${D}${sysconfdir}/bind" + install -d "${D}${sysconfdir}/init.d" + install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/" + install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind" + if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then + sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \ + ${D}${sbindir}/dnssec-coverage \ + ${D}${sbindir}/dnssec-checkds \ + ${D}${sbindir}/dnssec-keymgr + fi + + # Install systemd related files + install -d ${D}${sbindir} + install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir} + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/named.service + + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf + fi + + oe_multilib_header isc/platform.h +} + +CONFFILES_${PN} = " \ + ${sysconfdir}/bind/named.conf \ + ${sysconfdir}/bind/named.conf.local \ + ${sysconfdir}/bind/named.conf.options \ + ${sysconfdir}/bind/db.0 \ + ${sysconfdir}/bind/db.127 \ + ${sysconfdir}/bind/db.empty \ + ${sysconfdir}/bind/db.local \ + ${sysconfdir}/bind/db.root \ + " + +ALTERNATIVE_${PN}-utils = "nslookup" +ALTERNATIVE_LINK_NAME[nslookup] = "${bindir}/nslookup" +ALTERNATIVE_PRIORITY = "100" + +PACKAGE_BEFORE_PN += "${PN}-utils" +FILES_${PN}-utils = "${bindir}/host ${bindir}/dig ${bindir}/mdig ${bindir}/nslookup ${bindir}/nsupdate" +FILES_${PN}-dev += "${bindir}/isc-config.h" +FILES_${PN} += "${sbindir}/generate-rndc-key.sh" + +PACKAGE_BEFORE_PN += "${PN}-libs" +# special arrangement below due to +# https://github.com/isc-projects/bind9/commit/0e25af628cd776f98c04fc4cc59048f5448f6c88 +FILES_SOLIBSDEV = "${libdir}/*[!0-9].so ${libdir}/libbind9.so" +FILES_${PN}-libs = "${libdir}/named/*.so* ${libdir}/*-${PV}.so" +FILES_${PN}-staticdev += "${libdir}/*.la" + +PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}" +FILES_python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \ + ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}" + +RDEPENDS_${PN}-dev = "" +RDEPENDS_python3-bind = "python3-core python3-ply" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc index 74b59e406..635cad813 100644 --- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc @@ -53,6 +53,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \ file://0001-test-gatt-Fix-hung-issue.patch \ file://0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch \ + file://0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch \ " S = "${WORKDIR}/bluez-${PV}" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch new file mode 100644 index 000000000..03b42f73c --- /dev/null +++ b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch @@ -0,0 +1,25 @@ +From d341ba650af1b7068d9ad034732b4f41b91bb2c1 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sun, 25 Apr 2021 18:56:41 +0200 +Subject: [PATCH] Makefile.am: add missing mkdir for ell/shared + +This addresses build errors out of source tree. + +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin +--- + Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.am b/Makefile.am +index be5d5c7..72ad425 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -623,6 +623,7 @@ lib/bluetooth/%.h: lib/%.h + $(AM_V_GEN)$(LN_S) -f $(abspath $<) $@ + + ell/shared: Makefile ++ $(AM_V_at)$(MKDIR_P) ell + $(AM_V_GEN)for f in $(ell_shared) ; do \ + if [ ! -f $$f ] ; then \ + $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \ diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.56.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.56.bb deleted file mode 100644 index 676cb2dbb..000000000 --- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.56.bb +++ /dev/null @@ -1,68 +0,0 @@ -require bluez5.inc - -SRC_URI[md5sum] = "e6c51b2aefa7c56ff072819a78611fa5" -SRC_URI[sha256sum] = "59c4dba9fc8aae2a6a5f8f12f19bc1b0c2dc27355c7ca3123eed3fe6bd7d0b9d" - -# noinst programs in Makefile.tools that are conditional on READLINE -# support -NOINST_TOOLS_READLINE ?= " \ - ${@bb.utils.contains('PACKAGECONFIG', 'deprecated', 'attrib/gatttool', '', d)} \ - tools/obex-client-tool \ - tools/obex-server-tool \ - tools/bluetooth-player \ - tools/obexctl \ - tools/btmgmt \ -" - -# noinst programs in Makefile.tools that are conditional on TESTING -# support -NOINST_TOOLS_TESTING ?= " \ - emulator/btvirt \ - emulator/b1ee \ - emulator/hfp \ - peripheral/btsensor \ - tools/3dsp \ - tools/mgmt-tester \ - tools/gap-tester \ - tools/l2cap-tester \ - tools/sco-tester \ - tools/smp-tester \ - tools/hci-tester \ - tools/rfcomm-tester \ - tools/bnep-tester \ - tools/userchan-tester \ -" - -# noinst programs in Makefile.tools that are conditional on TOOLS -# support -NOINST_TOOLS_BT ?= " \ - tools/bdaddr \ - tools/avinfo \ - tools/avtest \ - tools/scotest \ - tools/amptest \ - tools/hwdb \ - tools/hcieventmask \ - tools/hcisecfilter \ - tools/btinfo \ - tools/btsnoop \ - tools/btproxy \ - tools/btiotest \ - tools/bneptest \ - tools/mcaptest \ - tools/cltest \ - tools/oobtest \ - tools/advtest \ - tools/seq2bseq \ - tools/nokfw \ - tools/create-image \ - tools/eddystone \ - tools/ibeacon \ - tools/btgatt-client \ - tools/btgatt-server \ - tools/test-runner \ - tools/check-selftest \ - tools/gatt-service \ - profiles/iap/iapd \ - ${@bb.utils.contains('PACKAGECONFIG', 'btpclient', 'tools/btpclient', '', d)} \ -" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.58.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.58.bb new file mode 100644 index 000000000..eb8475ec1 --- /dev/null +++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.58.bb @@ -0,0 +1,70 @@ +require bluez5.inc + +SRC_URI[sha256sum] = "c8065e75a5eb67236849ef68a354b1700540305a8c88ef0a0fd6288f19daf1f1" + +# These issues have kernel fixes rather than bluez fixes so exclude here +CVE_CHECK_WHITELIST += "CVE-2020-12352 CVE-2020-24490" + +# noinst programs in Makefile.tools that are conditional on READLINE +# support +NOINST_TOOLS_READLINE ?= " \ + ${@bb.utils.contains('PACKAGECONFIG', 'deprecated', 'attrib/gatttool', '', d)} \ + tools/obex-client-tool \ + tools/obex-server-tool \ + tools/bluetooth-player \ + tools/obexctl \ + tools/btmgmt \ +" + +# noinst programs in Makefile.tools that are conditional on TESTING +# support +NOINST_TOOLS_TESTING ?= " \ + emulator/btvirt \ + emulator/b1ee \ + emulator/hfp \ + peripheral/btsensor \ + tools/3dsp \ + tools/mgmt-tester \ + tools/gap-tester \ + tools/l2cap-tester \ + tools/sco-tester \ + tools/smp-tester \ + tools/hci-tester \ + tools/rfcomm-tester \ + tools/bnep-tester \ + tools/userchan-tester \ +" + +# noinst programs in Makefile.tools that are conditional on TOOLS +# support +NOINST_TOOLS_BT ?= " \ + tools/bdaddr \ + tools/avinfo \ + tools/avtest \ + tools/scotest \ + tools/amptest \ + tools/hwdb \ + tools/hcieventmask \ + tools/hcisecfilter \ + tools/btinfo \ + tools/btsnoop \ + tools/btproxy \ + tools/btiotest \ + tools/bneptest \ + tools/mcaptest \ + tools/cltest \ + tools/oobtest \ + tools/advtest \ + tools/seq2bseq \ + tools/nokfw \ + tools/create-image \ + tools/eddystone \ + tools/ibeacon \ + tools/btgatt-client \ + tools/btgatt-server \ + tools/test-runner \ + tools/check-selftest \ + tools/gatt-service \ + profiles/iap/iapd \ + ${@bb.utils.contains('PACKAGECONFIG', 'btpclient', 'tools/btpclient', '', d)} \ +" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb deleted file mode 100644 index e27b42d23..000000000 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -require iproute2.inc - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ - file://0001-libc-compat.h-add-musl-workaround.patch \ - " - -SRC_URI[sha256sum] = "c5e2ea108212b3445051b35953ec267f9f3469e1d5c67ac034ab559849505c54" - -# CFLAGS are computed in Makefile and reference CCOPTS -# -EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb new file mode 100644 index 000000000..363112337 --- /dev/null +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb @@ -0,0 +1,11 @@ +require iproute2.inc + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ + file://0001-libc-compat.h-add-musl-workaround.patch \ + " + +SRC_URI[sha256sum] = "9d268db98a36ee2a0e3ff3b92b2efff66fc1138a51e409bdef6ab3cfe15f326f" + +# CFLAGS are computed in Makefile and reference CCOPTS +# +EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'" diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.14.1.bb b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.14.1.bb deleted file mode 100644 index 9a83898e5..000000000 --- a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.14.1.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Name Service Switch module for Multicast DNS (zeroconf) name resolution" -HOMEPAGE = "https://github.com/lathiat/nss-mdns" -DESCRIPTION = "nss-mdns is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) providing host name resolution via Multicast DNS (aka Zeroconf, aka Apple Rendezvous, aka Apple Bonjour), effectively allowing name resolution by common Unix/Linux programs in the ad-hoc mDNS domain .local." -SECTION = "libs" - -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" - -DEPENDS = "avahi" - -SRC_URI = "git://github.com/lathiat/nss-mdns \ - " - -SRCREV = "41c9c5e78f287ed4b41ac438c1873fa71bfa70ae" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -COMPATIBLE_HOST_libc-musl = 'null' - -EXTRA_OECONF = "--libdir=${base_libdir}" - -RDEPENDS_${PN} = "avahi-daemon" - -pkg_postinst_${PN} () { - sed ' - /^hosts:/ !b - /\/ b - s/\([[:blank:]]\+\)dns\>/\1mdns4_minimal [NOTFOUND=return] dns/g - ' -i $D${sysconfdir}/nsswitch.conf -} - -pkg_prerm_${PN} () { - sed ' - /^hosts:/ !b - s/[[:blank:]]\+mdns\(4\|6\)\?\(_minimal\( \[NOTFOUND=return\]\)\?\)\?//g - ' -i $D${sysconfdir}/nsswitch.conf -} diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb new file mode 100644 index 000000000..75e8ba06d --- /dev/null +++ b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb @@ -0,0 +1,39 @@ +SUMMARY = "Name Service Switch module for Multicast DNS (zeroconf) name resolution" +HOMEPAGE = "https://github.com/lathiat/nss-mdns" +DESCRIPTION = "nss-mdns is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) providing host name resolution via Multicast DNS (aka Zeroconf, aka Apple Rendezvous, aka Apple Bonjour), effectively allowing name resolution by common Unix/Linux programs in the ad-hoc mDNS domain .local." +SECTION = "libs" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" + +DEPENDS = "avahi" + +SRC_URI = "git://github.com/lathiat/nss-mdns \ + " + +SRCREV = "65ad25563937682ab2770c36d56667a754837102" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +COMPATIBLE_HOST_libc-musl = 'null' + +EXTRA_OECONF = "--libdir=${base_libdir}" + +RDEPENDS_${PN} = "avahi-daemon" + +pkg_postinst_${PN} () { + sed ' + /^hosts:/ !b + /\/ b + s/\([[:blank:]]\+\)dns\>/\1mdns4_minimal [NOTFOUND=return] dns/g + ' -i $D${sysconfdir}/nsswitch.conf +} + +pkg_prerm_${PN} () { + sed ' + /^hosts:/ !b + s/[[:blank:]]\+mdns\(4\|6\)\?\(_minimal\( \[NOTFOUND=return\]\)\?\)\?//g + ' -i $D${sysconfdir}/nsswitch.conf +} diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.31.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.31.bb deleted file mode 100644 index 2425ef76a..000000000 --- a/poky/meta/recipes-connectivity/ofono/ofono_1.31.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "open source telephony" -DESCRIPTION = "oFono is a stack for mobile telephony devices on Linux. oFono supports speaking to telephony devices through specific drivers, or with generic AT commands." -HOMEPAGE = "http://www.ofono.org" -BUGTRACKER = "https://01.org/jira/browse/OF" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ - file://src/ofono.h;beginline=1;endline=20;md5=3ce17d5978ef3445def265b98899c2ee" -DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell" - -SRC_URI = "\ - ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ - file://ofono \ - file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ - file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \ -" -SRC_URI[md5sum] = "1c26340e3c6ed132cc812595081bb3dc" -SRC_URI[sha256sum] = "a15c5d28096c10eb30e47a68b6dc2e7c4a5a99d7f4cfedf0b69624f33d859e9b" - -inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data - -INITSCRIPT_NAME = "ofono" -INITSCRIPT_PARAMS = "defaults 22" -SYSTEMD_SERVICE_${PN} = "ofono.service" - -PACKAGECONFIG ??= "\ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ -" -PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir=" -PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5" - -EXTRA_OECONF += "--enable-test --enable-external-ell" - -do_configure_prepend() { - bbnote "Removing bundled ell from ${S}/ell to prevent including it" - rm -rf ${S}/ell -} - -do_install_append() { - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono -} - -PACKAGES =+ "${PN}-tests" - -FILES_${PN} += "${systemd_unitdir}" -FILES_${PN}-tests = "${libdir}/${BPN}/test" - -RDEPENDS_${PN} += "dbus" -RDEPENDS_${PN}-tests = "\ - python3-core \ - python3-dbus \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)} \ -" - -RRECOMMENDS_${PN} += "kernel-module-tun mobile-broadband-provider-info" diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.32.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.32.bb new file mode 100644 index 000000000..f3d875b20 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono_1.32.bb @@ -0,0 +1,55 @@ +SUMMARY = "open source telephony" +DESCRIPTION = "oFono is a stack for mobile telephony devices on Linux. oFono supports speaking to telephony devices through specific drivers, or with generic AT commands." +HOMEPAGE = "http://www.ofono.org" +BUGTRACKER = "https://01.org/jira/browse/OF" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ + file://src/ofono.h;beginline=1;endline=20;md5=3ce17d5978ef3445def265b98899c2ee" +DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell" + +SRC_URI = "\ + ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ + file://ofono \ + file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ + file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \ +" +SRC_URI[sha256sum] = "f7d775887b7b80cf3b82e3f0a6c2696c6d01963d222ca2217919d21b9e803042" + +inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data + +INITSCRIPT_NAME = "ofono" +INITSCRIPT_PARAMS = "defaults 22" +SYSTEMD_SERVICE_${PN} = "ofono.service" + +PACKAGECONFIG ??= "\ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ +" +PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir=" +PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5" + +EXTRA_OECONF += "--enable-test --enable-external-ell" + +do_configure_prepend() { + bbnote "Removing bundled ell from ${S}/ell to prevent including it" + rm -rf ${S}/ell +} + +do_install_append() { + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono +} + +PACKAGES =+ "${PN}-tests" + +FILES_${PN} += "${systemd_unitdir}" +FILES_${PN}-tests = "${libdir}/${BPN}/test" + +RDEPENDS_${PN} += "dbus" +RDEPENDS_${PN}-tests = "\ + python3-core \ + python3-dbus \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)} \ +" + +RRECOMMENDS_${PN} += "kernel-module-tun mobile-broadband-provider-info" diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb index be56fe43b..e8f041c58 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb +++ b/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb @@ -27,10 +27,16 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar " SRC_URI[sha256sum] = "c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae" +# This CVE is specific to OpenSSH with the pam opie which we don't build/use here +CVE_CHECK_WHITELIST += "CVE-2007-2768" + # This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7 # and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded CVE_CHECK_WHITELIST += "CVE-2014-9278" +# CVE only applies to some distributed RHEL binaries +CVE_CHECK_WHITELIST += "CVE-2008-3844" + PAM_SRC_URI = "file://sshd" inherit manpages useradd update-rc.d update-alternatives systemd diff --git a/poky/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch b/poky/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch deleted file mode 100644 index 67c9f189c..000000000 --- a/poky/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch +++ /dev/null @@ -1,58 +0,0 @@ -From fe791386ebc270219ca00406c9fdadc5130b64ee Mon Sep 17 00:00:00 2001 -From: Samuel Sapalski -Date: Wed, 3 Mar 2021 16:31:22 +0100 -Subject: [PATCH] decompress_gunzip: Fix DoS if gzip is corrupt - -On certain corrupt gzip files, huft_build will set the error bit on -the result pointer. If afterwards abort_unzip is called huft_free -might run into a segmentation fault or an invalid pointer to -free(p). - -In order to mitigate this, we check in huft_free if the error bit -is set and clear it before the linked list is freed. - -Signed-off-by: Samuel Sapalski -Signed-off-by: Peter Kaestle -Signed-off-by: Denys Vlasenko - -Upstream-Status: Backport -CVE: CVE-2021-28831 -Signed-off-by: Chen Qi ---- - archival/libarchive/decompress_gunzip.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c -index eb3b64930..e93cd5005 100644 ---- a/archival/libarchive/decompress_gunzip.c -+++ b/archival/libarchive/decompress_gunzip.c -@@ -220,10 +220,20 @@ static const uint8_t border[] ALIGN1 = { - * each table. - * t: table to free - */ -+#define BAD_HUFT(p) ((uintptr_t)(p) & 1) -+#define ERR_RET ((huft_t*)(uintptr_t)1) - static void huft_free(huft_t *p) - { - huft_t *q; - -+ /* -+ * If 'p' has the error bit set we have to clear it, otherwise we might run -+ * into a segmentation fault or an invalid pointer to free(p) -+ */ -+ if (BAD_HUFT(p)) { -+ p = (huft_t*)((uintptr_t)(p) ^ (uintptr_t)(ERR_RET)); -+ } -+ - /* Go through linked list, freeing from the malloced (t[-1]) address. */ - while (p) { - q = (--p)->v.t; -@@ -289,8 +299,6 @@ static unsigned fill_bitbuffer(STATE_PARAM unsigned bitbuffer, unsigned *current - * or a valid pointer to a Huffman table, ORed with 0x1 if incompete table - * is given: "fixed inflate" decoder feeds us such data. - */ --#define BAD_HUFT(p) ((uintptr_t)(p) & 1) --#define ERR_RET ((huft_t*)(uintptr_t)1) - static huft_t* huft_build(const unsigned *b, const unsigned n, - const unsigned s, const struct cp_ext *cp_ext, - unsigned *m) diff --git a/poky/meta/recipes-core/busybox/busybox_1.33.0.bb b/poky/meta/recipes-core/busybox/busybox_1.33.0.bb deleted file mode 100644 index c334c4200..000000000 --- a/poky/meta/recipes-core/busybox/busybox_1.33.0.bb +++ /dev/null @@ -1,55 +0,0 @@ -require busybox.inc - -SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ - file://busybox-udhcpc-no_deconfig.patch \ - file://find-touchscreen.sh \ - file://busybox-cron \ - file://busybox-httpd \ - file://busybox-udhcpd \ - file://default.script \ - file://simple.script \ - file://hwclock.sh \ - file://syslog \ - file://syslog-startup.conf \ - file://syslog.conf \ - file://busybox-syslog.default \ - file://mdev \ - file://mdev.conf \ - file://mdev-mount.sh \ - file://defconfig \ - file://busybox-syslog.service.in \ - file://busybox-klogd.service.in \ - file://fail_on_no_media.patch \ - file://run-ptest \ - file://inetd.conf \ - file://inetd \ - file://login-utilities.cfg \ - file://recognize_connmand.patch \ - file://busybox-cross-menuconfig.patch \ - file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \ - file://mount-via-label.cfg \ - file://sha1sum.cfg \ - file://sha256sum.cfg \ - file://getopts.cfg \ - file://longopts.cfg \ - file://resize.cfg \ - ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ - ${@["", "file://rcS.default"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ - ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \ - file://syslog.cfg \ - file://unicode.cfg \ - file://rcS \ - file://rcK \ - file://makefile-libbb-race.patch \ - file://0001-testsuite-check-uudecode-before-using-it.patch \ - file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ - file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ - file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ - file://rev.cfg \ - file://pgrep.cfg \ - file://0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch \ - file://0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch \ - " -SRC_URI_append_libc-musl = " file://musl.cfg " - -SRC_URI[tarball.sha256sum] = "d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd" diff --git a/poky/meta/recipes-core/busybox/busybox_1.33.1.bb b/poky/meta/recipes-core/busybox/busybox_1.33.1.bb new file mode 100644 index 000000000..a71ff530c --- /dev/null +++ b/poky/meta/recipes-core/busybox/busybox_1.33.1.bb @@ -0,0 +1,54 @@ +require busybox.inc + +SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ + file://busybox-udhcpc-no_deconfig.patch \ + file://find-touchscreen.sh \ + file://busybox-cron \ + file://busybox-httpd \ + file://busybox-udhcpd \ + file://default.script \ + file://simple.script \ + file://hwclock.sh \ + file://syslog \ + file://syslog-startup.conf \ + file://syslog.conf \ + file://busybox-syslog.default \ + file://mdev \ + file://mdev.conf \ + file://mdev-mount.sh \ + file://defconfig \ + file://busybox-syslog.service.in \ + file://busybox-klogd.service.in \ + file://fail_on_no_media.patch \ + file://run-ptest \ + file://inetd.conf \ + file://inetd \ + file://login-utilities.cfg \ + file://recognize_connmand.patch \ + file://busybox-cross-menuconfig.patch \ + file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \ + file://mount-via-label.cfg \ + file://sha1sum.cfg \ + file://sha256sum.cfg \ + file://getopts.cfg \ + file://longopts.cfg \ + file://resize.cfg \ + ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ + ${@["", "file://rcS.default"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \ + ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \ + file://syslog.cfg \ + file://unicode.cfg \ + file://rcS \ + file://rcK \ + file://makefile-libbb-race.patch \ + file://0001-testsuite-check-uudecode-before-using-it.patch \ + file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ + file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ + file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ + file://rev.cfg \ + file://pgrep.cfg \ + file://0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch \ + " +SRC_URI_append_libc-musl = " file://musl.cfg " + +SRC_URI[tarball.sha256sum] = "12cec6bd2b16d8a9446dd16130f2b92982f1819f6e1c5f5887b6db03f5660d28" diff --git a/poky/meta/recipes-core/coreutils/coreutils_8.32.bb b/poky/meta/recipes-core/coreutils/coreutils_8.32.bb index c1962ccb9..f3fe31fd3 100644 --- a/poky/meta/recipes-core/coreutils/coreutils_8.32.bb +++ b/poky/meta/recipes-core/coreutils/coreutils_8.32.bb @@ -26,6 +26,10 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ SRC_URI[md5sum] = "022042695b7d5bcf1a93559a9735e668" SRC_URI[sha256sum] = "4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa" +# http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842 +# runcon is not really a sandbox command, use `runcon ... setsid ...` to avoid this particular issue. +CVE_CHECK_WHITELIST += "CVE-2016-2781" + EXTRA_OECONF_class-native = "--without-gmp" EXTRA_OECONF_class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}" EXTRA_OECONF_class-nativesdk = "--enable-install-program=arch,hostname" diff --git a/poky/meta/recipes-core/ell/ell_0.39.bb b/poky/meta/recipes-core/ell/ell_0.39.bb deleted file mode 100644 index 68ec4cb4a..000000000 --- a/poky/meta/recipes-core/ell/ell_0.39.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Embedded Linux Library" -HOMEPAGE = "https://01.org/ell" -DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ -low-level functionality for system daemons. It typically has no \ -dependencies other than the Linux kernel, C standard library, and \ -libdl (for dynamic linking). While ELL is designed to be efficient \ -and compact enough for use on embedded Linux platforms, it is not \ -limited to resource-constrained systems." -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "dbus" - -inherit autotools pkgconfig - -SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \ - file://0001-pem.c-do-not-use-rawmemchr.patch \ - " -SRC_URI[sha256sum] = "653e2e139e23ed31e03c56c05f15321a9e818e2dca00a315c18d2c7b72f15d08" - -do_configure_prepend () { - mkdir -p ${S}/build-aux -} diff --git a/poky/meta/recipes-core/ell/ell_0.40.bb b/poky/meta/recipes-core/ell/ell_0.40.bb new file mode 100644 index 000000000..d08867622 --- /dev/null +++ b/poky/meta/recipes-core/ell/ell_0.40.bb @@ -0,0 +1,24 @@ +SUMMARY = "Embedded Linux Library" +HOMEPAGE = "https://01.org/ell" +DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ +low-level functionality for system daemons. It typically has no \ +dependencies other than the Linux kernel, C standard library, and \ +libdl (for dynamic linking). While ELL is designed to be efficient \ +and compact enough for use on embedded Linux platforms, it is not \ +limited to resource-constrained systems." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "dbus" + +inherit autotools pkgconfig + +SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \ + file://0001-pem.c-do-not-use-rawmemchr.patch \ + " +SRC_URI[sha256sum] = "b9bf5c14f2963591ea1372049c05646919a9ed46fcee5cd11ede1022c99ffbbd" + +do_configure_prepend () { + mkdir -p ${S}/build-aux +} diff --git a/poky/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch b/poky/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch deleted file mode 100644 index c5c18ead7..000000000 --- a/poky/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch +++ /dev/null @@ -1,83 +0,0 @@ -From aa84835a00bfd65e784d58411e76f60658e939dc Mon Sep 17 00:00:00 2001 -From: Oleksandr Popovych -Date: Tue, 18 Feb 2020 19:04:55 +0200 -Subject: [PATCH] Add output of tests result - -Added console output of testing results in form 'RESULT: TEST_NAME'. - -Changed verbose mode of test application set by '-v' ('--verbose') -argument to CK_NORMAL. -Added new supported argument '-vv' ('--extra-verbose') that changes -verbose mode of test application to CK_VERBOSE. Results of each test -are shown in output only if this mode is set. - -Upstream-Status: Denied - -This patch changes potentially deprecated feature that shoud be changed -in upstream. [https://github.com/libexpat/libexpat/issues/382] - -Signed-off-by: Oleksandr Popovych ---- - tests/minicheck.c | 10 +++++++++- - tests/runtests.c | 4 +++- - 2 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/expat/tests/minicheck.c b/expat/tests/minicheck.c -index a5a1efb..94fa412 100644 ---- a/tests/minicheck.c -+++ b/tests/minicheck.c -@@ -164,6 +164,8 @@ srunner_run_all(SRunner *runner, int verbosity) { - if (tc->setup != NULL) { - /* setup */ - if (setjmp(env)) { -+ if (verbosity >= CK_VERBOSE) -+ printf("SKIP: %s\n", _check_current_function); - add_failure(runner, verbosity); - continue; - } -@@ -171,6 +173,8 @@ srunner_run_all(SRunner *runner, int verbosity) { - } - /* test */ - if (setjmp(env)) { -+ if (verbosity >= CK_VERBOSE) -+ printf("FAIL: %s\n", _check_current_function); - add_failure(runner, verbosity); - continue; - } -@@ -178,12 +182,16 @@ srunner_run_all(SRunner *runner, int verbosity) { - - /* teardown */ - if (tc->teardown != NULL) { -- if (setjmp(env)) { -+ if (setjmp(env)) { -+ if (verbosity >= CK_VERBOSE) -+ printf("PASS: %s\n", _check_current_function); - add_failure(runner, verbosity); - continue; - } - tc->teardown(); - } -+ if (verbosity >= CK_VERBOSE) -+ printf("PASS: %s\n", _check_current_function); - } - tc = tc->next_tcase; - } -diff --git a/tests/runtests.c b/expat/tests/runtests.c -index 7791fe0..75724e5 100644 ---- a/tests/runtests.c -+++ b/tests/runtests.c -@@ -11619,9 +11619,11 @@ main(int argc, char *argv[]) { - for (i = 1; i < argc; ++i) { - char *opt = argv[i]; - if (strcmp(opt, "-v") == 0 || strcmp(opt, "--verbose") == 0) -- verbosity = CK_VERBOSE; -+ verbosity = CK_NORMAL; - else if (strcmp(opt, "-q") == 0 || strcmp(opt, "--quiet") == 0) - verbosity = CK_SILENT; -+ else if (strcmp(opt, "-vv") == 0 || strcmp(opt, "--extra-verbose") == 0) -+ verbosity = CK_VERBOSE; - else { - fprintf(stderr, "runtests: unknown option '%s'\n", opt); - return 2; --- -2.17.1 diff --git a/poky/meta/recipes-core/expat/expat/run-ptest b/poky/meta/recipes-core/expat/expat/run-ptest index 1b39cec8e..59d8ab57e 100644 --- a/poky/meta/recipes-core/expat/expat/run-ptest +++ b/poky/meta/recipes-core/expat/expat/run-ptest @@ -18,6 +18,6 @@ TIME=$(which time) echo "Architecture: $(uname -m)" > ${output} echo "Image: $(uname -sr)" >> ${output} -${TIME} -f 'Execution time: %e s' bash -c "testCheck runtests -vv" |& tee -a ${output} -${TIME} -f 'Execution time: %e s' bash -c "testCheck runtestspp -vv" |& tee -a ${output} +${TIME} -f 'Execution time: %e s' bash -c "testCheck runtests -v" |& tee -a ${output} +${TIME} -f 'Execution time: %e s' bash -c "testCheck runtestspp -v" |& tee -a ${output} echo diff --git a/poky/meta/recipes-core/expat/expat_2.2.10.bb b/poky/meta/recipes-core/expat/expat_2.2.10.bb deleted file mode 100644 index fa263775b..000000000 --- a/poky/meta/recipes-core/expat/expat_2.2.10.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "A stream-oriented XML parser library" -DESCRIPTION = "Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags)" -HOMEPAGE = "http://expat.sourceforge.net/" -SECTION = "libs" -LICENSE = "MIT" - -LIC_FILES_CHKSUM = "file://COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9" - -SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \ - file://libtool-tag.patch \ - file://run-ptest \ - file://0001-Add-output-of-tests-result.patch \ - " - -SRC_URI[sha256sum] = "b2c160f1b60e92da69de8e12333096aeb0c3bf692d41c60794de278af72135a5" - -EXTRA_OECMAKE_class-native += "-DEXPAT_BUILD_DOCS=OFF" - -RDEPENDS_${PN}-ptest += "bash" - -inherit cmake lib_package ptest - -do_install_ptest_class-target() { - install -m 755 ${B}/tests/* ${D}${PTEST_PATH} -} - -BBCLASSEXTEND += "native nativesdk" diff --git a/poky/meta/recipes-core/expat/expat_2.4.1.bb b/poky/meta/recipes-core/expat/expat_2.4.1.bb new file mode 100644 index 000000000..451158a5d --- /dev/null +++ b/poky/meta/recipes-core/expat/expat_2.4.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "A stream-oriented XML parser library" +DESCRIPTION = "Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags)" +HOMEPAGE = "http://expat.sourceforge.net/" +SECTION = "libs" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9" + +SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \ + file://libtool-tag.patch \ + file://run-ptest \ + " + +SRC_URI[sha256sum] = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40" + +EXTRA_OECMAKE_class-native += "-DEXPAT_BUILD_DOCS=OFF" + +RDEPENDS_${PN}-ptest += "bash" + +inherit cmake lib_package ptest + +do_install_ptest_class-target() { + install -m 755 ${B}/tests/* ${D}${PTEST_PATH} +} + +BBCLASSEXTEND += "native nativesdk" + +CVE_PRODUCT = "expat libexpat" diff --git a/poky/meta/recipes-core/gettext/gettext_0.21.bb b/poky/meta/recipes-core/gettext/gettext_0.21.bb index bc14867bb..b86e8d838 100644 --- a/poky/meta/recipes-core/gettext/gettext_0.21.bb +++ b/poky/meta/recipes-core/gettext/gettext_0.21.bb @@ -174,7 +174,7 @@ do_install_ptest() { fi } -RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest += "make xz" RDEPENDS_${PN}-ptest_append_libc-glibc = "\ glibc-gconv-big5 \ glibc-charmap-big5 \ diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch index 7cf89c871..7fbc07af5 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -1,4 +1,4 @@ -From ff790dd7086e28896f8e7630135f756cc6f06c80 Mon Sep 17 00:00:00 2001 +From b7abbba886d3743616f8cc0e8b441c879128bbda Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 11 Mar 2016 15:35:55 +0000 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds @@ -19,7 +19,7 @@ Signed-off-by: Jussi Kukkonen 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gio/giomodule.c b/gio/giomodule.c -index ca1daf2..954a250 100644 +index a2909a8..1f4ab82 100644 --- a/gio/giomodule.c +++ b/gio/giomodule.c @@ -51,6 +51,8 @@ @@ -31,7 +31,7 @@ index ca1daf2..954a250 100644 #endif #include -@@ -1212,7 +1214,15 @@ get_gio_module_dir (void) +@@ -1213,7 +1215,15 @@ get_gio_module_dir (void) NULL); g_free (install_dir); #else diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb deleted file mode 100644 index accc2cada..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb +++ /dev/null @@ -1,54 +0,0 @@ -require glib.inc - -PE = "1" - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ - file://run-ptest \ - file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ - file://Enable-more-tests-while-cross-compiling.patch \ - file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ - file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ - file://0001-Do-not-ignore-return-value-of-write.patch \ - file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ - file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ - file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ - file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ - file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ - file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \ - " -SRC_URI_append_class-native = " file://relocate-modules.patch" - -SRC_URI[sha256sum] = "241654b96bd36b88aaa12814efc4843b578e55d47440103727959ac346944333" - -# Find any meson cross files in FILESPATH that are relevant for the current -# build (using siteinfo) and add them to EXTRA_OEMESON. -inherit siteinfo -def find_meson_cross_files(d): - if bb.data.inherits_class('native', d): - return "" - - thisdir = os.path.normpath(d.getVar("THISDIR")) - import collections - sitedata = siteinfo_data(d) - # filename -> found - files = collections.OrderedDict() - for path in d.getVar("FILESPATH").split(":"): - for element in sitedata: - filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) - sanitized_path = filename.replace(thisdir, "${THISDIR}") - if sanitized_path == filename: - if os.path.exists(filename): - bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) - continue - files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) - - items = ["--cross-file=" + k for k,v in files.items() if v] - d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) - items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] - d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) - -python () { - find_meson_cross_files(d) -} diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb new file mode 100644 index 000000000..0cf16884e --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb @@ -0,0 +1,54 @@ +require glib.inc + +PE = "1" + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ + file://run-ptest \ + file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ + file://Enable-more-tests-while-cross-compiling.patch \ + file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ + file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ + file://0001-Do-not-ignore-return-value-of-write.patch \ + file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ + file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ + file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ + file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ + file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ + file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \ + " +SRC_URI_append_class-native = " file://relocate-modules.patch" + +SRC_URI[sha256sum] = "ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb" + +# Find any meson cross files in FILESPATH that are relevant for the current +# build (using siteinfo) and add them to EXTRA_OEMESON. +inherit siteinfo +def find_meson_cross_files(d): + if bb.data.inherits_class('native', d): + return "" + + thisdir = os.path.normpath(d.getVar("THISDIR")) + import collections + sitedata = siteinfo_data(d) + # filename -> found + files = collections.OrderedDict() + for path in d.getVar("FILESPATH").split(":"): + for element in sitedata: + filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) + sanitized_path = filename.replace(thisdir, "${THISDIR}") + if sanitized_path == filename: + if os.path.exists(filename): + bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) + continue + files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) + + items = ["--cross-file=" + k for k,v in files.items() if v] + d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) + items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] + d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) + +python () { + find_meson_cross_files(d) +} diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc index 3a9517317..376ead66a 100644 --- a/poky/meta/recipes-core/glibc/glibc-version.inc +++ b/poky/meta/recipes-core/glibc/glibc-version.inc @@ -1,6 +1,6 @@ SRCBRANCH ?= "release/2.33/master" PV = "2.33" -SRCREV_glibc ?= "9826b03b747b841f5fc6de2054bf1ef3f5c4bdf3" +SRCREV_glibc ?= "3f5080aedd164c1f92a53552dd3e0b82ac6d2bd3" SRCREV_localedef ?= "bd644c9e6f3e20c5504da1488448173c69c56c28" GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git" diff --git a/poky/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch b/poky/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch deleted file mode 100644 index 39fde5b78..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c4ad832276f4dadfa40904109b26a521468f66bc Mon Sep 17 00:00:00 2001 -From: Florian Weimer -Date: Thu, 4 Feb 2021 15:00:20 +0100 -Subject: [PATCH] nptl: Remove private futex optimization [BZ #27304] - -It is effectively used, unexcept for pthread_cond_destroy, where we do -not want it; see bug 27304. The internal locks do not support a -process-shared mode. - -This fixes commit dc6cfdc934db9997c33728082d63552b9eee4563 ("nptl: -Move pthread_cond_destroy implementation into libc"). - -Reviewed-by: Adhemerval Zanella - -Upstream-Status: Backport [https://sourceware.org/bugzilla/show_bug.cgi?id=27304] -Signed-off-by: Yanfei Xu ---- - sysdeps/nptl/lowlevellock-futex.h | 14 +------------- - 1 file changed, 1 insertion(+), 13 deletions(-) - -diff --git a/sysdeps/nptl/lowlevellock-futex.h b/sysdeps/nptl/lowlevellock-futex.h -index ecb729da6b..ca96397a4a 100644 ---- a/sysdeps/nptl/lowlevellock-futex.h -+++ b/sysdeps/nptl/lowlevellock-futex.h -@@ -50,20 +50,8 @@ - #define LLL_SHARED FUTEX_PRIVATE_FLAG - - #ifndef __ASSEMBLER__ -- --# if IS_IN (libc) || IS_IN (rtld) --/* In libc.so or ld.so all futexes are private. */ --# define __lll_private_flag(fl, private) \ -- ({ \ -- /* Prevent warnings in callers of this macro. */ \ -- int __lll_private_flag_priv __attribute__ ((unused)); \ -- __lll_private_flag_priv = (private); \ -- ((fl) | FUTEX_PRIVATE_FLAG); \ -- }) --# else --# define __lll_private_flag(fl, private) \ -+# define __lll_private_flag(fl, private) \ - (((fl) | FUTEX_PRIVATE_FLAG) ^ (private)) --# endif - - # define lll_futex_syscall(nargs, futexp, op, ...) \ - ({ \ --- -2.27.0 - diff --git a/poky/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch b/poky/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch deleted file mode 100644 index 3cb60b2e5..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch +++ /dev/null @@ -1,116 +0,0 @@ -From b1971f6f1331d738d1d6b376b4741668a7546125 Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Tue, 2 Feb 2021 13:45:58 -0800 -Subject: [PATCH] x86: Require full ISA support for x86-64 level marker [BZ #27318] - -Since -march=sandybridge enables ISAs in x86-64 ISA level v3, the v3 -marker is set on libc.so. We couldn't set the needed ISA marker to v2 -since this libc won't run on all v2 machines. Technically, the v3 marker -is correct. But the resulting libc.so won't run on Sandy Brigde, which -is a v2 machine, even when libc is compiled with -march=sandybridge: - -$ ./elf/ld.so ./libc.so -./libc.so: (p) CPU ISA level is lower than required: needed: 7; got: 3 - -Instead, we require full ISA support for x86-64 level marker and disable -x86-64 level marker for -march=sandybridge which enables ISAs between v2 -and v3. - -Upstream-Status: Submitted [https://sourceware.org/pipermail/libc-alpha/2021-February/122297.html] -Signed-off-by: Khem Raj ---- - - sysdeps/x86/configure | 7 ++++++- - sysdeps/x86/configure.ac | 2 +- - sysdeps/x86/isa-level.c | 21 ++++++++++++++++++++- - 3 files changed, 27 insertions(+), 3 deletions(-) - -diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure -index 5e32dc62b3..5b20646843 100644 ---- a/sysdeps/x86/configure -+++ b/sysdeps/x86/configure -@@ -133,7 +133,12 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest c - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - count=`LC_ALL=C $READELF -n conftest | grep NT_GNU_PROPERTY_TYPE_0 | wc -l` -- if test "$count" = 1; then -+ if test "$count" = 1 && { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -DINCLUDE_X86_ISA_LEVEL -S -o conftest.s $srcdir/sysdeps/x86/isa-level.c' -+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then - libc_cv_include_x86_isa_level=yes - fi - fi -diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac -index f94088f377..54ecd33d2c 100644 ---- a/sysdeps/x86/configure.ac -+++ b/sysdeps/x86/configure.ac -@@ -100,7 +100,7 @@ EOF - libc_cv_include_x86_isa_level=no - if AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest conftest1.S conftest2.S); then - count=`LC_ALL=C $READELF -n conftest | grep NT_GNU_PROPERTY_TYPE_0 | wc -l` -- if test "$count" = 1; then -+ if test "$count" = 1 && AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -DINCLUDE_X86_ISA_LEVEL -S -o conftest.s $srcdir/sysdeps/x86/isa-level.c); then - libc_cv_include_x86_isa_level=yes - fi - fi -diff --git a/sysdeps/x86/isa-level.c b/sysdeps/x86/isa-level.c -index aaf524cb56..7f83449061 100644 ---- a/sysdeps/x86/isa-level.c -+++ b/sysdeps/x86/isa-level.c -@@ -25,12 +25,17 @@ - License along with the GNU C Library; if not, see - . */ - --#include -+#ifdef _LIBC -+# include -+#endif - - /* ELF program property for x86 ISA level. */ - #ifdef INCLUDE_X86_ISA_LEVEL - # if defined __x86_64__ || defined __FXSR__ || !defined _SOFT_FLOAT \ - || defined __MMX__ || defined __SSE__ || defined __SSE2__ -+# if !defined __SSE__ || !defined __SSE2__ -+# error "Missing ISAs for x86-64 ISA level baseline" -+# endif - # define ISA_BASELINE GNU_PROPERTY_X86_ISA_1_BASELINE - # else - # define ISA_BASELINE 0 -@@ -40,6 +45,11 @@ - || (defined __x86_64__ && defined __LAHF_SAHF__) \ - || defined __POPCNT__ || defined __SSE3__ \ - || defined __SSSE3__ || defined __SSE4_1__ || defined __SSE4_2__ -+# if !defined __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 \ -+ || !defined __POPCNT__ || !defined __SSE3__ \ -+ || !defined __SSSE3__ || !defined __SSE4_1__ || !defined __SSE4_2__ -+# error "Missing ISAs for x86-64 ISA level v2" -+# endif - # define ISA_V2 GNU_PROPERTY_X86_ISA_1_V2 - # else - # define ISA_V2 0 -@@ -48,6 +58,10 @@ - # if defined __AVX__ || defined __AVX2__ || defined __F16C__ \ - || defined __FMA__ || defined __LZCNT__ || defined __MOVBE__ \ - || defined __XSAVE__ -+# if !defined __AVX__ || !defined __AVX2__ || !defined __F16C__ \ -+ || !defined __FMA__ || !defined __LZCNT__ -+# error "Missing ISAs for x86-64 ISA level v3" -+# endif - # define ISA_V3 GNU_PROPERTY_X86_ISA_1_V3 - # else - # define ISA_V3 0 -@@ -55,6 +69,11 @@ - - # if defined __AVX512F__ || defined __AVX512BW__ || defined __AVX512CD__ \ - || defined __AVX512DQ__ || defined __AVX512VL__ -+# if !defined __AVX512F__ || !defined __AVX512BW__ \ -+ || !defined __AVX512CD__ || !defined __AVX512DQ__ \ -+ || !defined __AVX512VL__ -+# error "Missing ISAs for x86-64 ISA level v4" -+# endif - # define ISA_V4 GNU_PROPERTY_X86_ISA_1_V4 - # else - # define ISA_V4 0 diff --git a/poky/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch b/poky/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch deleted file mode 100644 index e904b28a0..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 044e603b698093cf48f6e6229e0b66acf05227e4 Mon Sep 17 00:00:00 2001 -From: Florian Weimer -Date: Fri, 19 Feb 2021 13:29:00 +0100 -Subject: [PATCH] string: Work around GCC PR 98512 in rawmemchr - -Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=044e603b698093cf48f6e6229e0b66acf05227e4] -Signed-off-by: Khem Raj ---- - string/rawmemchr.c | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -diff --git a/string/rawmemchr.c b/string/rawmemchr.c -index 59bbeeaa42..b8523118e5 100644 ---- a/string/rawmemchr.c -+++ b/string/rawmemchr.c -@@ -22,24 +22,28 @@ - # define RAWMEMCHR __rawmemchr - #endif - --/* Find the first occurrence of C in S. */ --void * --RAWMEMCHR (const void *s, int c) --{ -- DIAG_PUSH_NEEDS_COMMENT; -+/* The pragmata should be nested inside RAWMEMCHR below, but that -+ triggers GCC PR 98512. */ -+DIAG_PUSH_NEEDS_COMMENT; - #if __GNUC_PREREQ (7, 0) -- /* GCC 8 warns about the size passed to memchr being larger than -- PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ -- DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); -+/* GCC 8 warns about the size passed to memchr being larger than -+ PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ -+DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); - #endif - #if __GNUC_PREREQ (11, 0) -- /* Likewise GCC 11, with a different warning option. */ -- DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); -+/* Likewise GCC 11, with a different warning option. */ -+DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); - #endif -+ -+/* Find the first occurrence of C in S. */ -+void * -+RAWMEMCHR (const void *s, int c) -+{ - if (c != '\0') - return memchr (s, c, (size_t)-1); -- DIAG_POP_NEEDS_COMMENT; - return (char *)s + strlen (s); - } - libc_hidden_def (__rawmemchr) - weak_alias (__rawmemchr, rawmemchr) -+ -+DIAG_POP_NEEDS_COMMENT; --- -2.30.1 - diff --git a/poky/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch b/poky/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch deleted file mode 100644 index 3a004e227..000000000 --- a/poky/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch +++ /dev/null @@ -1,185 +0,0 @@ -From 750b00a1ddae220403fd892a6fd4e0791ffd154a Mon Sep 17 00:00:00 2001 -From: "H.J. Lu" -Date: Fri, 18 Sep 2020 07:55:14 -0700 -Subject: [PATCH] x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444] - - x86: Move x86 processor cache info to cpu_features - -missed _SC_LEVEL1_ICACHE_LINESIZE. - -1. Add level1_icache_linesize to struct cpu_features. -2. Initialize level1_icache_linesize by calling handle_intel, -handle_zhaoxin and handle_amd with _SC_LEVEL1_ICACHE_LINESIZE. -3. Return level1_icache_linesize for _SC_LEVEL1_ICACHE_LINESIZE. - -Upstream-Status: Backport [https://sourceware.org/bugzilla/show_bug.cgi?id=27444] -Signed-off-by: Andrei Gherzan ---- - sysdeps/x86/Makefile | 8 +++ - sysdeps/x86/cacheinfo.c | 3 + - sysdeps/x86/dl-cacheinfo.h | 6 ++ - sysdeps/x86/include/cpu-features.h | 2 + - .../x86/tst-sysconf-cache-linesize-static.c | 1 + - sysdeps/x86/tst-sysconf-cache-linesize.c | 57 +++++++++++++++++++ - 6 files changed, 77 insertions(+) - create mode 100644 sysdeps/x86/tst-sysconf-cache-linesize-static.c - create mode 100644 sysdeps/x86/tst-sysconf-cache-linesize.c - -diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile -index dd82674342..d231263051 100644 ---- a/sysdeps/x86/Makefile -+++ b/sysdeps/x86/Makefile -@@ -208,3 +208,11 @@ $(objpfx)check-cet.out: $(..)sysdeps/x86/check-cet.awk \ - generated += check-cet.out - endif - endif -+ -+ifeq ($(subdir),posix) -+tests += \ -+ tst-sysconf-cache-linesize \ -+ tst-sysconf-cache-linesize-static -+tests-static += \ -+ tst-sysconf-cache-linesize-static -+endif -diff --git a/sysdeps/x86/cacheinfo.c b/sysdeps/x86/cacheinfo.c -index 7b8df45e3b..5ea4723ca6 100644 ---- a/sysdeps/x86/cacheinfo.c -+++ b/sysdeps/x86/cacheinfo.c -@@ -32,6 +32,9 @@ __cache_sysconf (int name) - case _SC_LEVEL1_ICACHE_SIZE: - return cpu_features->level1_icache_size; - -+ case _SC_LEVEL1_ICACHE_LINESIZE: -+ return cpu_features->level1_icache_linesize; -+ - case _SC_LEVEL1_DCACHE_SIZE: - return cpu_features->level1_dcache_size; - -diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h -index a31fa0783a..7cd00b92f1 100644 ---- a/sysdeps/x86/dl-cacheinfo.h -+++ b/sysdeps/x86/dl-cacheinfo.h -@@ -707,6 +707,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - long int core; - unsigned int threads = 0; - unsigned long int level1_icache_size = -1; -+ unsigned long int level1_icache_linesize = -1; - unsigned long int level1_dcache_size = -1; - unsigned long int level1_dcache_assoc = -1; - unsigned long int level1_dcache_linesize = -1; -@@ -726,6 +727,8 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - - level1_icache_size - = handle_intel (_SC_LEVEL1_ICACHE_SIZE, cpu_features); -+ level1_icache_linesize -+ = handle_intel (_SC_LEVEL1_ICACHE_LINESIZE, cpu_features); - level1_dcache_size = data; - level1_dcache_assoc - = handle_intel (_SC_LEVEL1_DCACHE_ASSOC, cpu_features); -@@ -753,6 +756,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - shared = handle_zhaoxin (_SC_LEVEL3_CACHE_SIZE); - - level1_icache_size = handle_zhaoxin (_SC_LEVEL1_ICACHE_SIZE); -+ level1_icache_linesize = handle_zhaoxin (_SC_LEVEL1_ICACHE_LINESIZE); - level1_dcache_size = data; - level1_dcache_assoc = handle_zhaoxin (_SC_LEVEL1_DCACHE_ASSOC); - level1_dcache_linesize = handle_zhaoxin (_SC_LEVEL1_DCACHE_LINESIZE); -@@ -772,6 +776,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - shared = handle_amd (_SC_LEVEL3_CACHE_SIZE); - - level1_icache_size = handle_amd (_SC_LEVEL1_ICACHE_SIZE); -+ level1_icache_linesize = handle_amd (_SC_LEVEL1_ICACHE_LINESIZE); - level1_dcache_size = data; - level1_dcache_assoc = handle_amd (_SC_LEVEL1_DCACHE_ASSOC); - level1_dcache_linesize = handle_amd (_SC_LEVEL1_DCACHE_LINESIZE); -@@ -833,6 +838,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features) - } - - cpu_features->level1_icache_size = level1_icache_size; -+ cpu_features->level1_icache_linesize = level1_icache_linesize; - cpu_features->level1_dcache_size = level1_dcache_size; - cpu_features->level1_dcache_assoc = level1_dcache_assoc; - cpu_features->level1_dcache_linesize = level1_dcache_linesize; -diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h -index 624736b40e..39a3f4f311 100644 ---- a/sysdeps/x86/include/cpu-features.h -+++ b/sysdeps/x86/include/cpu-features.h -@@ -874,6 +874,8 @@ struct cpu_features - unsigned long int rep_stosb_threshold; - /* _SC_LEVEL1_ICACHE_SIZE. */ - unsigned long int level1_icache_size; -+ /* _SC_LEVEL1_ICACHE_LINESIZE. */ -+ unsigned long int level1_icache_linesize; - /* _SC_LEVEL1_DCACHE_SIZE. */ - unsigned long int level1_dcache_size; - /* _SC_LEVEL1_DCACHE_ASSOC. */ -diff --git a/sysdeps/x86/tst-sysconf-cache-linesize-static.c b/sysdeps/x86/tst-sysconf-cache-linesize-static.c -new file mode 100644 -index 0000000000..152ae68821 ---- /dev/null -+++ b/sysdeps/x86/tst-sysconf-cache-linesize-static.c -@@ -0,0 +1 @@ -+#include "tst-sysconf-cache-linesize.c" -diff --git a/sysdeps/x86/tst-sysconf-cache-linesize.c b/sysdeps/x86/tst-sysconf-cache-linesize.c -new file mode 100644 -index 0000000000..642dbde5d2 ---- /dev/null -+++ b/sysdeps/x86/tst-sysconf-cache-linesize.c -@@ -0,0 +1,57 @@ -+/* Test system cache line sizes. -+ Copyright (C) 2021 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ 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 -+ . */ -+ -+#include -+#include -+#include -+#include -+ -+static struct -+{ -+ const char *name; -+ int _SC_val; -+} sc_options[] = -+ { -+#define N(name) { "_SC_"#name, _SC_##name } -+ N (LEVEL1_ICACHE_LINESIZE), -+ N (LEVEL1_DCACHE_LINESIZE), -+ N (LEVEL2_CACHE_LINESIZE) -+ }; -+ -+static int -+do_test (void) -+{ -+ int result = EXIT_SUCCESS; -+ -+ for (int i = 0; i < array_length (sc_options); ++i) -+ { -+ long int scret = sysconf (sc_options[i]._SC_val); -+ if (scret < 0) -+ { -+ printf ("sysconf (%s) returned < 0 (%ld)\n", -+ sc_options[i].name, scret); -+ result = EXIT_FAILURE; -+ } -+ else -+ printf ("sysconf (%s): %ld\n", sc_options[i].name, scret); -+ } -+ -+ return result; -+} -+ -+#include diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch deleted file mode 100644 index 26c5c0d2a..000000000 --- a/poky/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch +++ /dev/null @@ -1,51 +0,0 @@ -From dca565886b5e8bd7966e15f0ca42ee5cff686673 Mon Sep 17 00:00:00 2001 -From: DJ Delorie -Date: Thu, 25 Feb 2021 16:08:21 -0500 -Subject: [PATCH] nscd: Fix double free in netgroupcache [BZ #27462] - -In commit 745664bd798ec8fd50438605948eea594179fba1 a use-after-free -was fixed, but this led to an occasional double-free. This patch -tracks the "live" allocation better. - -Tested manually by a third party. - -Related: RHBZ 1927877 - -Reviewed-by: Siddhesh Poyarekar -Reviewed-by: Carlos O'Donell - -Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=dca565886b5e8bd7966e15f0ca42ee5cff686673] - -CVE: CVE-2021-27645 - -Reviewed-by: Carlos O'Donell -Signed-off-by: Khairul Rohaizzat Jamaluddin ---- - nscd/netgroupcache.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c -index dba6ceec1b..ad2daddafd 100644 ---- a/nscd/netgroupcache.c -+++ b/nscd/netgroupcache.c -@@ -248,7 +248,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - : NULL); - ndomain = (ndomain ? newbuf + ndomaindiff - : NULL); -- buffer = newbuf; -+ *tofreep = buffer = newbuf; - } - - nhost = memcpy (buffer + bufused, -@@ -319,7 +319,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req, - else if (status == NSS_STATUS_TRYAGAIN && e == ERANGE) - { - buflen *= 2; -- buffer = xrealloc (buffer, buflen); -+ *tofreep = buffer = xrealloc (buffer, buflen); - } - else if (status == NSS_STATUS_RETURN - || status == NSS_STATUS_NOTFOUND --- -2.27.0 - diff --git a/poky/meta/recipes-core/glibc/glibc/check-test-wrapper b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper index f8e04e02d..6ec9b9b29 100644 --- a/poky/meta/recipes-core/glibc/glibc/check-test-wrapper +++ b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper @@ -2,6 +2,7 @@ import sys import os import subprocess +import resource env = os.environ.copy() args = sys.argv[1:] @@ -44,6 +45,14 @@ if targettype == "user": qemuargs += ["-L", sysroot] qemuargs += ["-E", "LD_LIBRARY_PATH={}".format(":".join(libpaths))] command = qemuargs + args + + # We've seen qemu-arm using up all system memory for some glibc + # tests e.g. nptl/tst-pthread-timedlock-lockloop + # Cap at 8GB since no test should need more than that + # (5GB adds 7 failures for qemuarm glibc test run) + limit = 8*1024*1024*1024 + resource.setrlimit(resource.RLIMIT_AS, (limit, limit)) + elif targettype == "ssh": host = os.environ.get("SSH_HOST", None) user = os.environ.get("SSH_HOST_USER", None) diff --git a/poky/meta/recipes-core/glibc/glibc_2.33.bb b/poky/meta/recipes-core/glibc/glibc_2.33.bb index 5e0baa53e..b70cd0978 100644 --- a/poky/meta/recipes-core/glibc/glibc_2.33.bb +++ b/poky/meta/recipes-core/glibc/glibc_2.33.bb @@ -1,7 +1,20 @@ require glibc.inc require glibc-version.inc -CVE_CHECK_WHITELIST += "CVE-2020-10029" +CVE_CHECK_WHITELIST += "CVE-2020-10029 CVE-2021-27645" + +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010022 +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010023 +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010024 +# Upstream glibc maintainers dispute there is any issue and have no plans to address it further. +# "this is being treated as a non-security bug and no real threat." +CVE_CHECK_WHITELIST += "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024" + +# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010025 +# Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow +# easier access for another. "ASLR bypass itself is not a vulnerability." +# Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853 +CVE_CHECK_WHITELIST += "CVE-2019-1010025" DEPENDS += "gperf-native bison-native make-native" @@ -43,11 +56,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \ file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \ - file://0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch \ - file://0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch \ - file://0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch \ - file://CVE-2021-27645.patch \ - file://0001-nptl-Remove-private-futex-optimization-BZ-27304.patch \ " S = "${WORKDIR}/git" B = "${WORKDIR}/build-${TARGET_SYS}" @@ -82,6 +90,7 @@ EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" EXTRA_OECONF_append_x86 = " --enable-cet" EXTRA_OECONF_append_x86-64 = " --enable-cet" +EXTRA_OECONF_append_aarch64 = " --enable-memory-tagging" PACKAGECONFIG ??= "nscd" PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd" diff --git a/poky/meta/recipes-core/images/core-image-ptest-all.bb b/poky/meta/recipes-core/images/core-image-ptest-all.bb new file mode 100644 index 000000000..c1d6aa28a --- /dev/null +++ b/poky/meta/recipes-core/images/core-image-ptest-all.bb @@ -0,0 +1,25 @@ +inherit features_check +REQUIRED_DISTRO_FEATURES = "ptest" + +require core-image-minimal.bb +require conf/distro/include/ptest-packagelists.inc + +DESCRIPTION += "Also includes ptest packages." +HOMEPAGE = "https://www.yoctoproject.org/" + +# Include the full set of ptests +IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}" + +# This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live +# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the +# box) and explicitly add just 1100MB. +# strace-ptest in particular needs more than 500MB +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "1124288" + +# ptests need more memory than standard to avoid the OOM killer +# also lttng-tools needs /tmp that has at least 1G +QB_MEM = "-m 2048" + +# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places +PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-core/images/core-image-ptest-fast.bb b/poky/meta/recipes-core/images/core-image-ptest-fast.bb new file mode 100644 index 000000000..40df274c4 --- /dev/null +++ b/poky/meta/recipes-core/images/core-image-ptest-fast.bb @@ -0,0 +1,24 @@ +inherit features_check +REQUIRED_DISTRO_FEATURES = "ptest" + +require core-image-minimal.bb +require conf/distro/include/ptest-packagelists.inc + +# Include only fast (< 30 sec) ptests +IMAGE_INSTALL += "${PTESTS_FAST}" + +DESCRIPTION += "Also includes ptest packages with fast execution times to allow for more automated QA." +HOMEPAGE = "https://www.yoctoproject.org/" + +# This image is sufficiently large (~1.8GB) that it can't actually fit in a live +# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the +# box) and explicitly add just 1500MB. +# strace-ptest in particular needs more than 500MB +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "1524288" + +# ptests need more memory than standard to avoid the OOM killer +QB_MEM = "-m 1024" + +# Sadly at the moment the fast set of ptests is not robust enough and sporadically fails in a couple of places +PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs index 10b958317..e0efbe6eb 100644 --- a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs +++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs @@ -56,8 +56,8 @@ rootfs_run() { # It is unlikely to change, but keep trying anyway. # Perhaps we pick a different device next time. umount $ROOTFS_DIR - fi fi + fi fi debug "Sleeping for $delay second(s) to wait root to settle..." sleep $delay diff --git a/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch b/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch index 5448fe0fa..0772998c7 100644 --- a/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch +++ b/poky/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch @@ -1,3 +1,8 @@ +From fd9a46695594c3cd836ecb7d959f03f605e69a2f Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Fri, 30 Apr 2021 10:35:02 +0100 +Subject: [PATCH] libxcrypt: Update to 4.4.19 release and fix symbol version + If you pass CFLAGS with a leading space, " " gets passed to popen and convinces gcc to try and open a file called " ". This results in a confusing error message like: @@ -9,8 +14,12 @@ Avoid this by stripping empty elements out of CFLAGS. Upstream-Status: Submitted [https://github.com/besser82/libxcrypt/pull/126] Signed-off-by: Richard Purdie -Index: a/build-aux/compute-symver-floor -=================================================================== +--- + build-aux/compute-symver-floor | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/build-aux/compute-symver-floor b/build-aux/compute-symver-floor +index 4ec82e1..8117342 100644 --- a/build-aux/compute-symver-floor +++ b/build-aux/compute-symver-floor @@ -36,6 +36,8 @@ sub preprocessor_check { @@ -20,5 +29,5 @@ Index: a/build-aux/compute-symver-floor + # Remove empty elements, particularly leading ones which cause issues with popen below + @CFLAGS = grep {$_} @CFLAGS; - # We call ensure_C_locale here, not from the main section, - # because this sub might not get called at all, in which + # Remove empty elements, particularly leading ones which + # cause issues with popen below. diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.19.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.19.bb deleted file mode 100644 index ba74eb1f9..000000000 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.19.bb +++ /dev/null @@ -1,18 +0,0 @@ -# -# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular -# - -require libxcrypt.inc - -PROVIDES = "" -AUTO_LIBNAME_PKGS = "" -EXCLUDE_FROM_WORLD = "1" - -API = "--enable-obsolete-api" - -do_install_append () { - rm -rf ${D}${includedir} - rm -rf ${D}${libdir}/pkgconfig - rm -rf ${D}${datadir} -} - diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb new file mode 100644 index 000000000..ba74eb1f9 --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb @@ -0,0 +1,18 @@ +# +# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular +# + +require libxcrypt.inc + +PROVIDES = "" +AUTO_LIBNAME_PKGS = "" +EXCLUDE_FROM_WORLD = "1" + +API = "--enable-obsolete-api" + +do_install_append () { + rm -rf ${D}${includedir} + rm -rf ${D}${libdir}/pkgconfig + rm -rf ${D}${datadir} +} + diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc index 694e55546..e4505a666 100644 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSING;md5=afed27a72ae2a8075978299eebaa1f5d \ inherit autotools pkgconfig SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}" -SRCREV = "c79119414d7e30017d7b49566e7e4ea35112bdc8" +SRCREV = "3df9620d08db207367c0c5152148665b5ce422e1" SRCBRANCH ?= "develop" SRC_URI += "file://fix_cflags_handling.patch" diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.19.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.19.bb deleted file mode 100644 index 79dba2f6d..000000000 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.19.bb +++ /dev/null @@ -1,2 +0,0 @@ -require libxcrypt.inc - diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb new file mode 100644 index 000000000..79dba2f6d --- /dev/null +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb @@ -0,0 +1,2 @@ +require libxcrypt.inc + diff --git a/poky/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch b/poky/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch index 5e9a0a506..6d9ede619 100644 --- a/poky/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch +++ b/poky/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch @@ -1,4 +1,4 @@ -From 2b5fb416aa275fd2a17a0139a2f783998bcb42cc Mon Sep 17 00:00:00 2001 +From ea1993d1d9a18c5e61b9cb271892b0a48f508d32 Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Fri, 9 Jun 2017 17:50:46 +0200 Subject: [PATCH] Make ptest run the python tests if python is enabled @@ -8,16 +8,14 @@ be due to the fact that the tests are forced to run with Python 3. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Peter Kjellerstedt - --- - Makefile.am | 2 +- - python/Makefile.am | 9 +++++++++ - python/tests/Makefile.am | 10 ++++++++++ - python/tests/tstLastError.py | 2 +- - 4 files changed, 21 insertions(+), 2 deletions(-) + Makefile.am | 2 +- + python/Makefile.am | 9 +++++++++ + python/tests/Makefile.am | 10 ++++++++++ + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am -index ae62274..bd1e425 100644 +index b428452b..dc18d6dd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -203,9 +203,9 @@ install-ptest: @@ -32,7 +30,7 @@ index ae62274..bd1e425 100644 runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \ testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT) diff --git a/python/Makefile.am b/python/Makefile.am -index 34aed96..ba3ec6a 100644 +index 34aed96c..ba3ec6a4 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -48,7 +48,16 @@ GENERATED = libxml2class.py libxml2class.txt $(BUILT_SOURCES) @@ -53,7 +51,7 @@ index 34aed96..ba3ec6a 100644 tests test: all cd tests && $(MAKE) tests diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am -index 227e24d..021bb29 100644 +index 227e24df..3568c2d2 100644 --- a/python/tests/Makefile.am +++ b/python/tests/Makefile.am @@ -59,6 +59,11 @@ XMLS= \ @@ -83,16 +81,6 @@ index 227e24d..021bb29 100644 + tests: endif -diff --git a/python/tests/tstLastError.py b/python/tests/tstLastError.py -index 81d0acc..162c8db 100755 ---- a/python/tests/tstLastError.py -+++ b/python/tests/tstLastError.py -@@ -25,7 +25,7 @@ class TestCase(unittest.TestCase): - when the exception is raised, check the libxml2.lastError for - expected values.""" - # disable the default error handler -- libxml2.registerErrorHandler(None,None) -+ libxml2.registerErrorHandler(lambda ctx,str: None,None) - try: - f(*args) - except exc: +-- +2.25.1 + diff --git a/poky/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch b/poky/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch deleted file mode 100644 index 88eb65a6a..000000000 --- a/poky/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 7ffcd44d7e6c46704f8af0321d9314cd26e0e18a Mon Sep 17 00:00:00 2001 -From: Zhipeng Xie -Date: Tue, 20 Aug 2019 16:33:06 +0800 -Subject: [PATCH] Fix memory leak in xmlSchemaValidateStream - -When ctxt->schema is NULL, xmlSchemaSAXPlug->xmlSchemaPreRun -alloc a new schema for ctxt->schema and set vctxt->xsiAssemble -to 1. Then xmlSchemaVStart->xmlSchemaPreRun initialize -vctxt->xsiAssemble to 0 again which cause the alloced schema -can not be freed anymore. - -Found with libFuzzer. - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/7ffcd44d7e6c46704f8af0321d9314cd26e0e18a] -CVE: CVE-2019-20388 - -Signed-off-by: Zhipeng Xie -Signed-off-by: Lee Chee Yang ---- - xmlschemas.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/xmlschemas.c b/xmlschemas.c -index 301c8449..39d92182 100644 ---- a/xmlschemas.c -+++ b/xmlschemas.c -@@ -28090,7 +28090,6 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) { - vctxt->nberrors = 0; - vctxt->depth = -1; - vctxt->skipDepth = -1; -- vctxt->xsiAssemble = 0; - vctxt->hasKeyrefs = 0; - #ifdef ENABLE_IDC_NODE_TABLES_TEST - vctxt->createIDCNodeTables = 1; --- -2.24.1 - diff --git a/poky/meta/recipes-core/libxml/libxml2/CVE-2020-24977.patch b/poky/meta/recipes-core/libxml/libxml2/CVE-2020-24977.patch deleted file mode 100644 index 822434666..000000000 --- a/poky/meta/recipes-core/libxml/libxml2/CVE-2020-24977.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 50f06b3efb638efb0abd95dc62dca05ae67882c2 Mon Sep 17 00:00:00 2001 -From: Nick Wellnhofer -Date: Fri, 7 Aug 2020 21:54:27 +0200 -Subject: [PATCH] Fix out-of-bounds read with 'xmllint --htmlout' - -Make sure that truncated UTF-8 sequences don't cause an out-of-bounds -array access. - -Thanks to @SuhwanSong and the Agency for Defense Development (ADD) for -the report. - -Fixes #178. - -CVE: CVE-2020-24977 -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/50f06b3efb638efb0abd95dc62dca05ae67882c2] - -Signed-off-by: Ovidiu Panait ---- - xmllint.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/xmllint.c b/xmllint.c -index f6a8e463..c647486f 100644 ---- a/xmllint.c -+++ b/xmllint.c -@@ -528,6 +528,12 @@ static void - xmlHTMLEncodeSend(void) { - char *result; - -+ /* -+ * xmlEncodeEntitiesReentrant assumes valid UTF-8, but the buffer might -+ * end with a truncated UTF-8 sequence. This is a hack to at least avoid -+ * an out-of-bounds read. -+ */ -+ memset(&buffer[sizeof(buffer)-4], 0, 4); - result = (char *) xmlEncodeEntitiesReentrant(NULL, BAD_CAST buffer); - if (result) { - xmlGenericError(xmlGenericErrorContext, "%s", result); --- -2.17.1 - diff --git a/poky/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch b/poky/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch deleted file mode 100644 index facfefd36..000000000 --- a/poky/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0e1a49c8907645d2e155f0d89d4d9895ac5112b5 Mon Sep 17 00:00:00 2001 -From: Zhipeng Xie -Date: Thu, 12 Dec 2019 17:30:55 +0800 -Subject: [PATCH] Fix infinite loop in xmlStringLenDecodeEntities - -When ctxt->instate == XML_PARSER_EOF,xmlParseStringEntityRef -return NULL which cause a infinite loop in xmlStringLenDecodeEntities - -Found with libFuzzer. - -Signed-off-by: Zhipeng Xie - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/0e1a49c89076] -CVE: CVE-2020-7595 -Signed-off-by: Anuj Mittal ---- - parser.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/parser.c b/parser.c -index d1c31963..a34bb6cd 100644 ---- a/parser.c -+++ b/parser.c -@@ -2646,7 +2646,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, - else - c = 0; - while ((c != 0) && (c != end) && /* non input consuming loop */ -- (c != end2) && (c != end3)) { -+ (c != end2) && (c != end3) && -+ (ctxt->instate != XML_PARSER_EOF)) { - - if (c == 0) break; - if ((c == '&') && (str[1] == '#')) { --- -2.24.1 - diff --git a/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch b/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch deleted file mode 100644 index 32590f9dd..000000000 --- a/poky/meta/recipes-core/libxml/libxml2/fix-python39.patch +++ /dev/null @@ -1,94 +0,0 @@ -From e4fb36841800038c289997432ca547c9bfef9db1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Fri, 28 Feb 2020 12:48:14 +0100 -Subject: [PATCH] Parenthesize Py_Check() in ifs - -In C, if expressions should be parenthesized. -PyLong_Check, PyUnicode_Check etc. happened to expand to a parenthesized -expression before, but that's not API to rely on. - -Since Python 3.9.0a4 it needs to be parenthesized explicitly. - -Fixes https://gitlab.gnome.org/GNOME/libxml2/issues/149 -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin ---- - python/libxml.c | 4 ++-- - python/types.c | 12 ++++++------ - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/python/libxml.c b/python/libxml.c -index bc676c4e0..81e709f34 100644 ---- a/python/libxml.c -+++ b/python/libxml.c -@@ -294,7 +294,7 @@ xmlPythonFileReadRaw (void * context, char * buffer, int len) { - lenread = PyBytes_Size(ret); - data = PyBytes_AsString(ret); - #ifdef PyUnicode_Check -- } else if PyUnicode_Check (ret) { -+ } else if (PyUnicode_Check (ret)) { - #if PY_VERSION_HEX >= 0x03030000 - Py_ssize_t size; - const char *tmp; -@@ -359,7 +359,7 @@ xmlPythonFileRead (void * context, char * buffer, int len) { - lenread = PyBytes_Size(ret); - data = PyBytes_AsString(ret); - #ifdef PyUnicode_Check -- } else if PyUnicode_Check (ret) { -+ } else if (PyUnicode_Check (ret)) { - #if PY_VERSION_HEX >= 0x03030000 - Py_ssize_t size; - const char *tmp; -diff --git a/python/types.c b/python/types.c -index c2bafeb19..ed284ec74 100644 ---- a/python/types.c -+++ b/python/types.c -@@ -602,16 +602,16 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) - if (obj == NULL) { - return (NULL); - } -- if PyFloat_Check (obj) { -+ if (PyFloat_Check (obj)) { - ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj)); -- } else if PyLong_Check(obj) { -+ } else if (PyLong_Check(obj)) { - #ifdef PyLong_AS_LONG - ret = xmlXPathNewFloat((double) PyLong_AS_LONG(obj)); - #else - ret = xmlXPathNewFloat((double) PyInt_AS_LONG(obj)); - #endif - #ifdef PyBool_Check -- } else if PyBool_Check (obj) { -+ } else if (PyBool_Check (obj)) { - - if (obj == Py_True) { - ret = xmlXPathNewBoolean(1); -@@ -620,14 +620,14 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) - ret = xmlXPathNewBoolean(0); - } - #endif -- } else if PyBytes_Check (obj) { -+ } else if (PyBytes_Check (obj)) { - xmlChar *str; - - str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(obj), - PyBytes_GET_SIZE(obj)); - ret = xmlXPathWrapString(str); - #ifdef PyUnicode_Check -- } else if PyUnicode_Check (obj) { -+ } else if (PyUnicode_Check (obj)) { - #if PY_VERSION_HEX >= 0x03030000 - xmlChar *str; - const char *tmp; -@@ -650,7 +650,7 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj) - ret = xmlXPathWrapString(str); - #endif - #endif -- } else if PyList_Check (obj) { -+ } else if (PyList_Check (obj)) { - int i; - PyObject *node; - xmlNodePtr cur; --- -GitLab - diff --git a/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch b/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch index e6998f6e6..90fa19377 100644 --- a/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch +++ b/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch @@ -1,7 +1,8 @@ -From 43edc9a445ed66cceb7533eadeef242940b4592c Mon Sep 17 00:00:00 2001 -From: Hongxu Jia -Date: Sat, 11 May 2019 20:37:12 +0800 +From f57da62218cf72c1342da82abafdac6b0a2e4997 Mon Sep 17 00:00:00 2001 +From: Tony Tascioglu +Date: Fri, 14 May 2021 11:50:35 -0400 Subject: [PATCH] AM_PATH_XML2 uses xml-config which we disable through + binconfig-disabled.bbclass, so port it to use pkg-config instead. Upstream-Status: Pending @@ -9,16 +10,22 @@ Signed-off-by: Ross Burton Rebase to 2.9.9 Signed-off-by: Hongxu Jia + +Updated to apply cleanly to v2.9.12 + +Signed-off-by: Tony Tascioglu --- - libxml.m4 | 186 ++------------------------------------------------------------ - 1 file changed, 5 insertions(+), 181 deletions(-) + libxml.m4 | 190 ++---------------------------------------------------- + 1 file changed, 5 insertions(+), 185 deletions(-) diff --git a/libxml.m4 b/libxml.m4 -index 2d7a6f5..1c53585 100644 +index 09de9fe2..1c535853 100644 --- a/libxml.m4 +++ b/libxml.m4 -@@ -1,188 +1,12 @@ +@@ -1,192 +1,12 @@ -# Configure paths for LIBXML2 +-# Simon Josefsson 2020-02-12 +-# Fix autoconf 2.70+ warnings -# Mike Hommey 2004-06-19 -# use CPPFLAGS instead of CFLAGS -# Toshio Kuratomi 2001-04-21 @@ -78,7 +85,8 @@ index 2d7a6f5..1c53585 100644 -dnl (Also sanity checks the results of xml2-config to some extent) -dnl - rm -f conf.xmltest -- AC_TRY_RUN([ +- AC_RUN_IFELSE( +- [AC_LANG_SOURCE([[ -#include -#include -#include @@ -148,12 +156,12 @@ index 2d7a6f5..1c53585 100644 - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n"); - printf("*** correct copy of xml2-config. (In this case, you will have to\n"); -- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); +- printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - return 1; -} --],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) +-]])],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CPPFLAGS="$ac_save_CPPFLAGS" - LIBS="$ac_save_LIBS" - fi @@ -178,10 +186,11 @@ index 2d7a6f5..1c53585 100644 - echo "*** Could not run libxml test program, checking why..." - CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS" - LIBS="$LIBS $XML_LIBS" -- AC_TRY_LINK([ +- AC_LINK_IFELSE( +- [AC_LANG_PROGRAM([[ -#include -#include --], [ LIBXML_TEST_VERSION; return 0;], +-]], [[ LIBXML_TEST_VERSION; return 0;]])], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding LIBXML or finding the wrong" - echo "*** version of LIBXML. If it is not finding LIBXML, you'll need to set your" diff --git a/poky/meta/recipes-core/libxml/libxml2/remove-fuzz-from-ptests.patch b/poky/meta/recipes-core/libxml/libxml2/remove-fuzz-from-ptests.patch new file mode 100644 index 000000000..e80c46054 --- /dev/null +++ b/poky/meta/recipes-core/libxml/libxml2/remove-fuzz-from-ptests.patch @@ -0,0 +1,43 @@ +From e49a0d4a8f3f725d6f683854e1cad36a3cd02962 Mon Sep 17 00:00:00 2001 +From: Tony Tascioglu +Date: Wed, 19 May 2021 19:43:56 -0400 +Subject: [PATCH] Remove fuzz testing from executing with ptests. + +Upstream version 2.9.12 introduced new fuzz-testing and a corresponding +folder fuzz. These tests are not required for ptests of this package. + +This patch removes the fuzz testing targets from the Makefile. +Otherwise, running the ptests will fail due to the invalid directory. + +Signed-off-by: Tony Tascioglu +--- + Makefile.am | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index a9284b95..3d7b344d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2,9 +2,9 @@ + + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = include . doc example fuzz xstc $(PYTHON_SUBDIR) ++SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR) + +-DIST_SUBDIRS = include . doc example fuzz python xstc ++DIST_SUBDIRS = include . doc example python xstc + + AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include + +@@ -210,7 +210,6 @@ runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \ + $(CHECKER) ./runxmlconf$(EXEEXT) + @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \ + $(MAKE) tests ; fi) +- @cd fuzz; $(MAKE) tests + + check: all runtests + +-- +2.25.1 + diff --git a/poky/meta/recipes-core/libxml/libxml2/runtest.patch b/poky/meta/recipes-core/libxml/libxml2/runtest.patch index 0dbb353c0..c7a90cd3d 100644 --- a/poky/meta/recipes-core/libxml/libxml2/runtest.patch +++ b/poky/meta/recipes-core/libxml/libxml2/runtest.patch @@ -1,28 +1,33 @@ -Add 'install-ptest' rule. Print a standard result line for -each test. +From 6172ccd1e74bc181f5298f19e240234e12876abe Mon Sep 17 00:00:00 2001 +From: Tony Tascioglu +Date: Tue, 11 May 2021 11:57:46 -0400 +Subject: [PATCH] Add 'install-ptest' rule. + +Print a standard result line for each test. Signed-off-by: Mihaela Sendrea Signed-off-by: Andrej Valek -Upstream-Status: Backport +Upstream-Status: Pending Signed-off-by: Hongxu Jia +Signed-off-by: Tony Tascioglu --- - Makefile.am | 9 ++++ + Makefile.am | 9 +++ runsuite.c | 1 + runtest.c | 2 + runxmlconf.c | 1 + - testapi.c | 122 ++++++++++++++++++++++++++++++--------------- - testchar.c | 156 +++++++++++++++++++++++++++++++++++++++++----------------- + testapi.c | 122 ++++++++++++++++++++++++++------------- + testchar.c | 156 +++++++++++++++++++++++++++++++++++--------------- testdict.c | 1 + testlimits.c | 1 + testrecurse.c | 2 + 9 files changed, 210 insertions(+), 85 deletions(-) diff --git a/Makefile.am b/Makefile.am -index 9c630be..7cfd04b 100644 +index 05d1671f..ae622745 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -202,6 +202,15 @@ runxmlconf_LDADD= $(LDADDS) +@@ -198,6 +198,15 @@ runxmlconf_LDADD= $(LDADDS) #testOOM_DEPENDENCIES = $(DEPS) #testOOM_LDADD= $(LDADDS) @@ -39,10 +44,10 @@ index 9c630be..7cfd04b 100644 testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT) [ -d test ] || $(LN_S) $(srcdir)/test . diff --git a/runsuite.c b/runsuite.c -index aaab13e..9ba2c5d 100644 +index d24b5ec3..f7ff2521 100644 --- a/runsuite.c +++ b/runsuite.c -@@ -1162,6 +1162,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { +@@ -1147,6 +1147,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { if (logfile != NULL) fclose(logfile); @@ -51,10 +56,10 @@ index aaab13e..9ba2c5d 100644 } #else /* !SCHEMAS */ diff --git a/runtest.c b/runtest.c -index addda5c..8ba5d59 100644 +index ffa98d04..470f95cb 100644 --- a/runtest.c +++ b/runtest.c -@@ -4501,6 +4501,7 @@ launchTests(testDescPtr tst) { +@@ -4508,6 +4508,7 @@ launchTests(testDescPtr tst) { xmlCharEncCloseFunc(ebcdicHandler); xmlCharEncCloseFunc(eucJpHandler); @@ -62,7 +67,7 @@ index addda5c..8ba5d59 100644 return(err); } -@@ -4577,6 +4578,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { +@@ -4588,6 +4589,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { xmlCleanupParser(); xmlMemoryDump(); @@ -71,7 +76,7 @@ index addda5c..8ba5d59 100644 } diff --git a/runxmlconf.c b/runxmlconf.c -index cef20f4..4f291fb 100644 +index 70f61017..e882b3a1 100644 --- a/runxmlconf.c +++ b/runxmlconf.c @@ -595,6 +595,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { @@ -83,7 +88,7 @@ index cef20f4..4f291fb 100644 } diff --git a/testapi.c b/testapi.c -index 4a751e2..7ccc066 100644 +index ff8b470d..52b51d78 100644 --- a/testapi.c +++ b/testapi.c @@ -1246,49 +1246,91 @@ static int @@ -219,7 +224,7 @@ index 4a751e2..7ccc066 100644 } diff --git a/testchar.c b/testchar.c -index 0d08792..f555d3b 100644 +index 6866a175..7bce0132 100644 --- a/testchar.c +++ b/testchar.c @@ -23,7 +23,7 @@ static void errorHandler(void *unused, xmlErrorPtr err) { @@ -797,7 +802,7 @@ index 0d08792..f555d3b 100644 /* * Cleanup function for the XML library. diff --git a/testdict.c b/testdict.c -index 40bebd0..114b934 100644 +index 40bebd05..114b9347 100644 --- a/testdict.c +++ b/testdict.c @@ -440,5 +440,6 @@ int main(void) @@ -808,7 +813,7 @@ index 40bebd0..114b934 100644 return(ret); } diff --git a/testlimits.c b/testlimits.c -index 68c94db..1584434 100644 +index 059116a6..f0bee68d 100644 --- a/testlimits.c +++ b/testlimits.c @@ -1634,5 +1634,6 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { @@ -819,7 +824,7 @@ index 68c94db..1584434 100644 return(ret); } diff --git a/testrecurse.c b/testrecurse.c -index f95ae1c..74c8f8b 100644 +index 0cbe25a6..3ecadb40 100644 --- a/testrecurse.c +++ b/testrecurse.c @@ -892,6 +892,7 @@ launchTests(testDescPtr tst) { @@ -838,5 +843,5 @@ index f95ae1c..74c8f8b 100644 return(ret); } -- -2.7.4 +2.25.1 diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb deleted file mode 100644 index 07ae68610..000000000 --- a/poky/meta/recipes-core/libxml/libxml2_2.9.10.bb +++ /dev/null @@ -1,114 +0,0 @@ -SUMMARY = "XML C Parser Library and Toolkit" -DESCRIPTION = "The XML Parser Library allows for manipulation of XML files. Libxml2 exports Push and Pull type parser interfaces for both XML and HTML. It can do DTD validation at parse time, on a parsed document instance or with an arbitrary DTD. Libxml2 includes complete XPath, XPointer and Xinclude implementations. It also has a SAX like interface, which is designed to be compatible with Expat." -HOMEPAGE = "http://www.xmlsoft.org/" -BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml2" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://Copyright;md5=2044417e2e5006b65a8b9067b683fcf1 \ - file://hash.c;beginline=6;endline=15;md5=96f7296605eae807670fb08947829969 \ - file://list.c;beginline=4;endline=13;md5=cdbfa3dee51c099edb04e39f762ee907 \ - file://trio.c;beginline=5;endline=14;md5=6c025753c86d958722ec76e94cae932e" - -DEPENDS = "zlib virtual/libiconv" - -SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \ - http://www.w3.org/XML/Test/xmlts20080827.tar.gz;subdir=${BP};name=testtar \ - file://libxml-64bit.patch \ - file://runtest.patch \ - file://run-ptest \ - file://python-sitepackages-dir.patch \ - file://libxml-m4-use-pkgconfig.patch \ - file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \ - file://fix-execution-of-ptests.patch \ - file://CVE-2020-7595.patch \ - file://CVE-2019-20388.patch \ - file://CVE-2020-24977.patch \ - file://fix-python39.patch \ - " - -SRC_URI[libtar.md5sum] = "10942a1dc23137a8aa07f0639cbfece5" -SRC_URI[libtar.sha256sum] = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f" -SRC_URI[testtar.md5sum] = "ae3d1ebe000a3972afa104ca7f0e1b4a" -SRC_URI[testtar.sha256sum] = "96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7" - -BINCONFIG = "${bindir}/xml2-config" - -PACKAGECONFIG ??= "python \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," - -inherit autotools pkgconfig binconfig-disabled ptest - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} - -RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}" - -RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}" - -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-gconv-ebcdic-us \ - glibc-gconv-ibm1141 \ - glibc-gconv-iso8859-5 \ - glibc-gconv-euc-jp \ - locale-base-en-us \ - " - -export PYTHON_SITE_PACKAGES="${PYTHON_SITEPACKAGES_DIR}" - -# WARNING: zlib is required for RPM use -EXTRA_OECONF = "--without-debug --without-legacy --with-catalog --without-docbook --with-c14n --without-lzma --with-fexceptions" -EXTRA_OECONF_class-native = "--without-legacy --without-docbook --with-c14n --without-lzma --with-zlib" -EXTRA_OECONF_class-nativesdk = "--without-legacy --without-docbook --with-c14n --without-lzma --with-zlib" -EXTRA_OECONF_linuxstdbase = "--with-debug --with-legacy --with-docbook --with-c14n --without-lzma --with-zlib" - -python populate_packages_prepend () { - # autonamer would call this libxml2-2, but we don't want that - if d.getVar('DEBIAN_NAMES'): - d.setVar('PKG_libxml2', '${MLPREFIX}libxml2') -} - -PACKAGE_BEFORE_PN += "${PN}-utils" -PACKAGES += "${PN}-python" - -FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" -FILES_${PN}-dev += "${libdir}/xml2Conf.sh ${libdir}/cmake/*" -FILES_${PN}-utils = "${bindir}/*" -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" - -do_configure_prepend () { - # executables take longer to package: these should not be executable - find ${S}/xmlconf/ -type f -exec chmod -x {} \+ -} - -do_compile_ptest() { - oe_runmake check-am -} - -do_install_ptest () { - cp -r ${S}/xmlconf ${D}${PTEST_PATH} - if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then - sed -i -e 's|^\(PYTHON = \).*|\1${USRBINPATH}/${PYTHON_PN}|' \ - ${D}${PTEST_PATH}/python/tests/Makefile - grep -lrZ '#!/usr/bin/python' ${D}${PTEST_PATH}/python | - xargs -0 sed -i -e 's|/usr/bin/python|${USRBINPATH}/${PYTHON_PN}|' - fi - #Remove build host references from various Makefiles - find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${RECIPE_SYSROOT}::g' \ - -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ - -e '/^RELDATE/d' \ - {} + -} - -do_install_append_class-native () { - # Docs are not needed in the native case - rm ${D}${datadir}/gtk-doc -rf -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb new file mode 100644 index 000000000..955d934d7 --- /dev/null +++ b/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb @@ -0,0 +1,109 @@ +SUMMARY = "XML C Parser Library and Toolkit" +DESCRIPTION = "The XML Parser Library allows for manipulation of XML files. Libxml2 exports Push and Pull type parser interfaces for both XML and HTML. It can do DTD validation at parse time, on a parsed document instance or with an arbitrary DTD. Libxml2 includes complete XPath, XPointer and Xinclude implementations. It also has a SAX like interface, which is designed to be compatible with Expat." +HOMEPAGE = "http://www.xmlsoft.org/" +BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml2" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://Copyright;md5=2044417e2e5006b65a8b9067b683fcf1 \ + file://hash.c;beginline=6;endline=15;md5=e77f77b12cb69e203d8b4090a0eee879 \ + file://list.c;beginline=4;endline=13;md5=b9c25b021ccaf287e50060602d20f3a7 \ + file://trio.c;beginline=5;endline=14;md5=cd4f61e27f88c1d43df112966b1cd28f" + +DEPENDS = "zlib virtual/libiconv" + +SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \ + http://www.w3.org/XML/Test/xmlts20080827.tar.gz;subdir=${BP};name=testtar \ + file://libxml-64bit.patch \ + file://runtest.patch \ + file://run-ptest \ + file://python-sitepackages-dir.patch \ + file://libxml-m4-use-pkgconfig.patch \ + file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \ + file://fix-execution-of-ptests.patch \ + file://remove-fuzz-from-ptests.patch \ + " + +SRC_URI[libtar.sha256sum] = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92" +SRC_URI[testtar.sha256sum] = "96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7" + +BINCONFIG = "${bindir}/xml2-config" + +PACKAGECONFIG ??= "python \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +inherit autotools pkgconfig binconfig-disabled ptest + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} + +RDEPENDS_${PN}-ptest += "bash make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}" + +RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}" + +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-gconv-ebcdic-us \ + glibc-gconv-ibm1141 \ + glibc-gconv-iso8859-5 \ + glibc-gconv-euc-jp \ + locale-base-en-us \ + " + +export PYTHON_SITE_PACKAGES="${PYTHON_SITEPACKAGES_DIR}" + +# WARNING: zlib is required for RPM use +EXTRA_OECONF = "--without-debug --without-legacy --with-catalog --without-docbook --with-c14n --without-lzma --with-fexceptions" +EXTRA_OECONF_class-native = "--without-legacy --without-docbook --with-c14n --without-lzma --with-zlib" +EXTRA_OECONF_class-nativesdk = "--without-legacy --without-docbook --with-c14n --without-lzma --with-zlib" +EXTRA_OECONF_linuxstdbase = "--with-debug --with-legacy --with-docbook --with-c14n --without-lzma --with-zlib" + +python populate_packages_prepend () { + # autonamer would call this libxml2-2, but we don't want that + if d.getVar('DEBIAN_NAMES'): + d.setVar('PKG_libxml2', '${MLPREFIX}libxml2') +} + +PACKAGE_BEFORE_PN += "${PN}-utils" +PACKAGES += "${PN}-python" + +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES_${PN}-dev += "${libdir}/xml2Conf.sh ${libdir}/cmake/*" +FILES_${PN}-utils = "${bindir}/*" +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" + +do_configure_prepend () { + # executables take longer to package: these should not be executable + find ${S}/xmlconf/ -type f -exec chmod -x {} \+ +} + +do_compile_ptest() { + oe_runmake check-am +} + +do_install_ptest () { + cp -r ${S}/xmlconf ${D}${PTEST_PATH} + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + sed -i -e 's|^\(PYTHON = \).*|\1${USRBINPATH}/${PYTHON_PN}|' \ + ${D}${PTEST_PATH}/python/tests/Makefile + grep -lrZ '#!/usr/bin/python' ${D}${PTEST_PATH}/python | + xargs -0 sed -i -e 's|/usr/bin/python|${USRBINPATH}/${PYTHON_PN}|' + fi + #Remove build host references from various Makefiles + find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + -e 's:${RECIPE_SYSROOT}::g' \ + -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ + -e '/^RELDATE/d' \ + {} + +} + +do_install_append_class-native () { + # Docs are not needed in the native case + rm ${D}${datadir}/gtk-doc -rf +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch b/poky/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch new file mode 100644 index 000000000..1fdc9f739 --- /dev/null +++ b/poky/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch @@ -0,0 +1,49 @@ +From a530eed9e7e6872e10fe92efaf1e9739471c30ca Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 30 May 2021 08:30:28 -0700 +Subject: [PATCH] meson: Add option to pass cpu + +This helps with cross compile setups, where host_cpu != target_cpu +therefore detecting it on the fly will end up with wrong cpu to build +for + +Upstream-Status: Submitted [https://github.com/kaniini/libucontext/pull/28] +Signed-off-by: Khem Raj +--- + meson.build | 6 +++++- + meson_options.txt | 4 +++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index e863780..2b4bdbd 100644 +--- a/meson.build ++++ b/meson.build +@@ -6,7 +6,11 @@ project( + version : run_command('head', files('VERSION')).stdout() + ) + +-cpu = host_machine.cpu_family() ++cpu = get_option('cpu') ++if cpu == '' ++ cpu = host_machine.cpu_family() ++endif ++ + if cpu == 'sh4' + cpu = 'sh' + endif +diff --git a/meson_options.txt b/meson_options.txt +index d4201d1..864d83c 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,4 +1,6 @@ + option('freestanding', type : 'boolean', value : false, + description: 'Do not use system headers') + option('export_unprefixed', type : 'boolean', value : true, +- description: 'Export POSIX 2004 ucontext names as alises') +\ No newline at end of file ++ description: 'Export POSIX 2004 ucontext names as alises') ++option('cpu', type : 'string', value : '', ++ description: 'Target CPU architecture for cross compile') +-- +2.31.1 + diff --git a/poky/meta/recipes-core/musl/libucontext_git.bb b/poky/meta/recipes-core/musl/libucontext_git.bb index 11affebb4..d8ae8242c 100644 --- a/poky/meta/recipes-core/musl/libucontext_git.bb +++ b/poky/meta/recipes-core/musl/libucontext_git.bb @@ -8,10 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6eed01fa0e673c76f5a5715438f65b1d" SECTION = "libs" DEPENDS = "" -PV = "0.10+${SRCPV}" -SRCREV = "19fa1bbfc26efb92147b5e85cc0ca02a0e837561" +PV = "1.1+${SRCPV}" +SRCREV = "335ee864ef6f4a5d4b525453fd9dbfb3507cfecc" SRC_URI = "git://github.com/kaniini/libucontext \ -" + file://0001-meson-Add-option-to-pass-cpu.patch \ + " S = "${WORKDIR}/git" @@ -49,16 +50,5 @@ def map_kernel_arch(a, d): return a bb.error("cannot map '%s' to a linux kernel architecture" % a) -export ARCH = "${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}" - -CFLAGS += "-Iarch/${ARCH} -Iarch/common" - -EXTRA_OEMAKE = "CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' LIBDIR='${base_libdir}'" - -do_compile() { - oe_runmake ARCH=${ARCH} -} - -do_install() { - oe_runmake ARCH="${ARCH}" DESTDIR="${D}" install -} +EXTRA_OEMESON = "-Dcpu=${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}" +inherit meson diff --git a/poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch b/poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch new file mode 100644 index 000000000..9d9f16cee --- /dev/null +++ b/poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch @@ -0,0 +1,32 @@ +From 40732d03990632049d5ba63dd736269a81756b16 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 19 May 2021 00:30:05 -0700 +Subject: [PATCH] riscv: Rename __NR_fstatat __NR_newfstatat + +on riscv64 this syscall is called __NR_newfstatat +this helps the name match kernel UAPI for external +programs + +Upstream-Status: Submitted [https://www.openwall.com/lists/musl/2021/05/19/3] +Signed-off-by: Khem Raj +Cc: zabolcs Nagy +--- + arch/riscv64/bits/syscall.h.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in +index f9c421d0..39c0d650 100644 +--- a/arch/riscv64/bits/syscall.h.in ++++ b/arch/riscv64/bits/syscall.h.in +@@ -76,7 +76,7 @@ + #define __NR_splice 76 + #define __NR_tee 77 + #define __NR_readlinkat 78 +-#define __NR_fstatat 79 ++#define __NR_newfstatat 79 + #define __NR_fstat 80 + #define __NR_sync 81 + #define __NR_fsync 82 +-- +2.31.1 + diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index ef8bc2eec..795b888bb 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -15,6 +15,7 @@ PV = "${BASEVER}+git${SRCPV}" SRC_URI = "git://git.musl-libc.org/musl \ file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \ file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \ + file://0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch new file mode 100644 index 000000000..d658123b8 --- /dev/null +++ b/poky/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch @@ -0,0 +1,51 @@ +From 498627ebda6271b59920f43a0b9b6187edeb7b09 Mon Sep 17 00:00:00 2001 +From: Adrian Herrera +Date: Mon, 22 Mar 2021 21:06:47 +0000 +Subject: [PATCH] Fix VLA parameter warning + +Make VLA buffer types consistent in declarations and definitions. +Resolves build crash when using -Werror due to "vla-parameter" warning. + +Upstream-Status: Submitted [https://github.com/google/brotli/pull/893] +Signed-off-by: Adrian Herrera +--- + c/dec/decode.c | 6 ++++-- + c/enc/encode.c | 5 +++-- + 2 files changed, 7 insertions(+), 4 deletions(-) + +diff --git a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c +index 114c505..bb6f1ab 100644 +--- a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c ++++ b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c +@@ -2030,8 +2030,10 @@ static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands( + } + + BrotliDecoderResult BrotliDecoderDecompress( +- size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size, +- uint8_t* decoded_buffer) { ++ size_t encoded_size, ++ const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)], ++ size_t* decoded_size, ++ uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]) { + BrotliDecoderState s; + BrotliDecoderResult result; + size_t total_out = 0; +diff --git a/c/enc/encode.c b/c/enc/encode.c +index 68548ef..ab0a490 100644 +--- a/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c ++++ c/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c +@@ -1470,8 +1470,9 @@ static size_t MakeUncompressedStream( + + BROTLI_BOOL BrotliEncoderCompress( + int quality, int lgwin, BrotliEncoderMode mode, size_t input_size, +- const uint8_t* input_buffer, size_t* encoded_size, +- uint8_t* encoded_buffer) { ++ const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)], ++ size_t* encoded_size, ++ uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]) { + BrotliEncoderState* s; + size_t out_size = *encoded_size; + const uint8_t* input_start = input_buffer; +-- +2.31.1 + diff --git a/poky/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch b/poky/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch new file mode 100644 index 000000000..0165fae7c --- /dev/null +++ b/poky/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch @@ -0,0 +1,93 @@ +We want to pass ${DEBUG_PREFIX_MAP} to gcc commands and also pass in + --debug-prefix-map to nasm (we carry a patch to nasm for this). The +tools definitions file is built by ovmf-native so we need to pass this in +at target build time when we know the right values so we use the environment. + +By using determininistc file paths during the ovmf build, it removes the +opportunitity for gcc/ld to change the output binaries due to path lengths +overflowing section sizes and causing small changes in the binary output. +Previously we relied on the stripped output being the same which isn't always +the case if the size of the debug symbols varies. + +Upstream-Status: Pending [gcc parts may be upstreamable, nasm patch isn't upstream yet] +Signed-off-by: Richard Purdie + + +Index: git/BaseTools/Conf/tools_def.template +=================================================================== +--- git.orig/BaseTools/Conf/tools_def.template ++++ git/BaseTools/Conf/tools_def.template +@@ -1918,7 +1918,7 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --a + *_*_*_DTCPP_PATH = DEF(DTCPP_BIN) + *_*_*_DTC_PATH = DEF(DTC_BIN) + +-DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common ++DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common ENV(GCC_PREFIX_MAP) + DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe + DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe + DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie +@@ -1936,8 +1936,8 @@ DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = -fu + DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) + DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) + DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map +-DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h +-DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h ++DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h ENV(GCC_PREFIX_MAP) ++DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h ENV(GCC_PREFIX_MAP) + DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h + DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h + DEFINE GCC_ASLCC_FLAGS = -x c +@@ -2082,7 +2082,7 @@ DEFINE GCC_PP_FLAGS + *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) + *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) + *_GCC48_IA32_OBJCOPY_FLAGS = +-*_GCC48_IA32_NASM_FLAGS = -f elf32 ++*_GCC48_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os + RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable +@@ -2110,7 +2110,7 @@ RELEASE_GCC48_IA32_CC_FLAGS = DEF( + *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS) + *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) + *_GCC48_X64_OBJCOPY_FLAGS = +-*_GCC48_X64_NASM_FLAGS = -f elf64 ++*_GCC48_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os + RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable +@@ -2222,7 +2222,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(G + *_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) + *_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) + *_GCC49_IA32_OBJCOPY_FLAGS = +-*_GCC49_IA32_NASM_FLAGS = -f elf32 ++*_GCC49_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os + RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable +@@ -2250,7 +2250,7 @@ RELEASE_GCC49_IA32_CC_FLAGS = DEF( + *_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) + *_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) + *_GCC49_X64_OBJCOPY_FLAGS = +-*_GCC49_X64_NASM_FLAGS = -f elf64 ++*_GCC49_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os + RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable +@@ -2368,7 +2368,7 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = - + *_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie + *_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) + *_GCC5_IA32_OBJCOPY_FLAGS = +-*_GCC5_IA32_NASM_FLAGS = -f elf32 ++*_GCC5_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os + DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 +@@ -2400,7 +2400,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(G + *_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) + *_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) + *_GCC5_X64_OBJCOPY_FLAGS = +-*_GCC5_X64_NASM_FLAGS = -f elf64 ++*_GCC5_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os + DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os diff --git a/poky/meta/recipes-core/ovmf/ovmf/reproducible.patch b/poky/meta/recipes-core/ovmf/ovmf/reproducible.patch new file mode 100644 index 000000000..5d2aeaacf --- /dev/null +++ b/poky/meta/recipes-core/ovmf/ovmf/reproducible.patch @@ -0,0 +1,165 @@ +This patch fixes various things which make the build more reproducible. Some changes +here only change intermediate artefacts but that means when you have two build trees +giving differing results, the differences can be isolated more easily. The issues here +usually become apparent with longer paths. + +This was all debugged with: +TMPDIR = "${TOPDIR}/tmp" +vs. +TMPDIR = "${TOPDIR}/tmp-inital-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath" + +The patch specifically: + + * Sorts output in GNUmakefile + * Always generates indirect flags files used to avoid pathlength issues else the + compile commands suddenly change when using longer paths + * Sorts the AutoGenTimeStamp file contents + * Makes the TargetDescBlock objects from BuildEngine sortable to allow the makefile fix + * Fix ElfConvert within GenFw so that only the basename of the binary being converted + is used, else the output from "GenFw XXX.bin" differs from "GenFw /long/path/XXX.bin" + with sufficiently long paths + +Upstream-Status: Pending [At least some of this might be interesting to upstream] +Signed-off-by: Richard Purdie + +Index: git/BaseTools/Source/Python/AutoGen/GenMake.py +=================================================================== +--- git.orig/BaseTools/Source/Python/AutoGen/GenMake.py ++++ git/BaseTools/Source/Python/AutoGen/GenMake.py +@@ -571,7 +571,7 @@ cleanlib: + os.remove(RespFileList) + + # convert source files and binary files to build targets +- self.ResultFileList = [str(T.Target) for T in MyAgo.CodaTargetList] ++ self.ResultFileList = sorted([str(T.Target) for T in MyAgo.CodaTargetList]) + if len(self.ResultFileList) == 0 and len(MyAgo.SourceFileList) != 0: + EdkLogger.error("build", AUTOGEN_ERROR, "Nothing to build", + ExtraData="[%s]" % str(MyAgo)) +@@ -722,7 +722,7 @@ cleanlib: + OutputFile = '' + DepsFileList = [] + +- for Cmd in self.GenFfsList: ++ for Cmd in sorted(self.GenFfsList): + if Cmd[2]: + for CopyCmd in Cmd[2]: + Src, Dst = CopyCmd +@@ -755,7 +755,7 @@ cleanlib: + self.BuildTargetList.append('\t%s' % CmdString) + + self.ParseSecCmd(DepsFileList, Cmd[1]) +- for SecOutputFile, SecDepsFile, SecCmd in self.FfsOutputFileList : ++ for SecOutputFile, SecDepsFile, SecCmd in sorted(self.FfsOutputFileList): + self.BuildTargetList.append('%s : %s' % (self.ReplaceMacro(SecOutputFile), self.ReplaceMacro(SecDepsFile))) + self.BuildTargetList.append('\t%s' % self.ReplaceMacro(SecCmd)) + self.FfsOutputFileList = [] +@@ -794,13 +794,13 @@ cleanlib: + + def CommandExceedLimit(self): + FlagDict = { +- 'CC' : { 'Macro' : '$(CC_FLAGS)', 'Value' : False}, +- 'PP' : { 'Macro' : '$(PP_FLAGS)', 'Value' : False}, +- 'APP' : { 'Macro' : '$(APP_FLAGS)', 'Value' : False}, +- 'ASLPP' : { 'Macro' : '$(ASLPP_FLAGS)', 'Value' : False}, +- 'VFRPP' : { 'Macro' : '$(VFRPP_FLAGS)', 'Value' : False}, +- 'ASM' : { 'Macro' : '$(ASM_FLAGS)', 'Value' : False}, +- 'ASLCC' : { 'Macro' : '$(ASLCC_FLAGS)', 'Value' : False}, ++ 'CC' : { 'Macro' : '$(CC_FLAGS)', 'Value' : True}, ++ 'PP' : { 'Macro' : '$(PP_FLAGS)', 'Value' : True}, ++ 'APP' : { 'Macro' : '$(APP_FLAGS)', 'Value' : True}, ++ 'ASLPP' : { 'Macro' : '$(ASLPP_FLAGS)', 'Value' : True}, ++ 'VFRPP' : { 'Macro' : '$(VFRPP_FLAGS)', 'Value' : True}, ++ 'ASM' : { 'Macro' : '$(ASM_FLAGS)', 'Value' : True}, ++ 'ASLCC' : { 'Macro' : '$(ASLCC_FLAGS)', 'Value' : True}, + } + + RespDict = {} +@@ -1003,9 +1003,9 @@ cleanlib: + if not self.ObjTargetDict.get(T.Target.SubDir): + self.ObjTargetDict[T.Target.SubDir] = set() + self.ObjTargetDict[T.Target.SubDir].add(NewFile) +- for Type in self._AutoGenObject.Targets: ++ for Type in sorted(self._AutoGenObject.Targets): + resp_file_number = 0 +- for T in self._AutoGenObject.Targets[Type]: ++ for T in sorted(self._AutoGenObject.Targets[Type]): + # Generate related macros if needed + if T.GenFileListMacro and T.FileListMacro not in self.FileListMacros: + self.FileListMacros[T.FileListMacro] = [] +Index: git/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py +=================================================================== +--- git.orig/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py ++++ git/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py +@@ -1484,6 +1484,9 @@ class ModuleAutoGen(AutoGen): + for File in Files: + if File.lower().endswith('.pdb'): + AsBuiltInfDict['binary_item'].append('DISPOSABLE|' + File) ++ ++ AsBuiltInfDict['binary_item'] = sorted(AsBuiltInfDict['binary_item']) ++ + HeaderComments = self.Module.HeaderComments + StartPos = 0 + for Index in range(len(HeaderComments)): +@@ -1759,7 +1762,7 @@ class ModuleAutoGen(AutoGen): + if os.path.exists (self.TimeStampPath): + os.remove (self.TimeStampPath) + +- SaveFileOnChange(self.TimeStampPath, "\n".join(FileSet), False) ++ SaveFileOnChange(self.TimeStampPath, "\n".join(sorted(FileSet)), False) + + # Ignore generating makefile when it is a binary module + if self.IsBinaryModule: +Index: git/BaseTools/Source/Python/AutoGen/BuildEngine.py +=================================================================== +--- git.orig/BaseTools/Source/Python/AutoGen/BuildEngine.py ++++ git/BaseTools/Source/Python/AutoGen/BuildEngine.py +@@ -70,6 +70,9 @@ class TargetDescBlock(object): + else: + return str(Other) == self.Target.Path + ++ def __lt__(self, other): ++ return str(self) < str(other) ++ + def AddInput(self, Input): + if Input not in self.Inputs: + self.Inputs.append(Input) +Index: git/BaseTools/Source/C/GenFw/Elf64Convert.c +=================================================================== +--- git.orig/BaseTools/Source/C/GenFw/Elf64Convert.c ++++ git/BaseTools/Source/C/GenFw/Elf64Convert.c +@@ -14,6 +14,8 @@ SPDX-License-Identifier: BSD-2-Clause-Pa + #ifndef __GNUC__ + #include + #include ++#else ++#define _GNU_SOURCE + #endif + #include + #include +@@ -770,7 +772,7 @@ ScanSections64 ( + } + mCoffOffset = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY) + + sizeof(EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY) + +- strlen(mInImageName) + 1; ++ strlen(basename(mInImageName)) + 1; + + mCoffOffset = CoffAlign(mCoffOffset); + if (SectionCount == 0) { +@@ -1609,7 +1611,7 @@ WriteDebug64 ( + EFI_IMAGE_DEBUG_DIRECTORY_ENTRY *Dir; + EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY *Nb10; + +- Len = strlen(mInImageName) + 1; ++ Len = strlen(basename(mInImageName)) + 1; + + Dir = (EFI_IMAGE_DEBUG_DIRECTORY_ENTRY*)(mCoffFile + mDebugOffset); + Dir->Type = EFI_IMAGE_DEBUG_TYPE_CODEVIEW; +@@ -1619,7 +1621,7 @@ WriteDebug64 ( + + Nb10 = (EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY*)(Dir + 1); + Nb10->Signature = CODEVIEW_SIGNATURE_NB10; +- strcpy ((char *)(Nb10 + 1), mInImageName); ++ strcpy ((char *)(Nb10 + 1), basename(mInImageName)); + + + NtHdr = (EFI_IMAGE_OPTIONAL_HEADER_UNION *)(mCoffFile + mNtHdrOffset); diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb index 896b3b632..888ea082e 100644 --- a/poky/meta/recipes-core/ovmf/ovmf_git.bb +++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb @@ -17,6 +17,9 @@ SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \ file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \ file://0004-ovmf-Update-to-latest.patch \ file://zero.patch \ + file://debug_prefix_map.patch \ + file://reproducible.patch \ + file://0001-Fix-VLA-parameter-warning.patch \ " PV = "edk2-stable202102" @@ -101,9 +104,23 @@ fix_toolchain_append_class-native() { # to make ovmf-native reusable across distros. sed -i \ -e 's#^\(DEFINE GCC.*DLINK.*FLAGS *=\)#\1 -fuse-ld=bfd#' \ + -e 's#-flto#-fno-lto#g' \ + -e 's#-DUSING_LTO##g' \ ${S}/BaseTools/Conf/tools_def.template } +# We disable lto above since the results are not reproducible and make it hard to compare +# binary build aretfacts to debug reproducibility problems. +# Surprisingly, if you disable lto, you see compiler warnings which are fatal. We therefore +# have to hack warnings overrides into GCC_PREFIX_MAP to allow it to build. + +# We want to pass ${DEBUG_PREFIX_MAP} to gcc commands and also pass in +# --debug-prefix-map to nasm (we carry a patch to nasm for this). The +# tools definitions are built by ovmf-native so we need to pass this in +# at target build time when we know the right values. +export NASM_PREFIX_MAP = "--debug-prefix-map=${WORKDIR}=/usr/src/debug/ovmf/${EXTENDPE}${PV}-${PR}" +export GCC_PREFIX_MAP = "${DEBUG_PREFIX_MAP} -Wno-stringop-overflow -Wno-maybe-uninitialized" + GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')" fixup_target_tools() { diff --git a/poky/meta/recipes-core/systemd/systemd-boot_247.6.bb b/poky/meta/recipes-core/systemd/systemd-boot_247.6.bb deleted file mode 100644 index 249e620f4..000000000 --- a/poky/meta/recipes-core/systemd/systemd-boot_247.6.bb +++ /dev/null @@ -1,70 +0,0 @@ -require systemd.inc -FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:" - -require conf/image-uefi.conf - -DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native" - -inherit meson pkgconfig gettext -inherit deploy - -LDFLAGS_prepend = "${@ " ".join(d.getVar('LD').split()[1:])} " - -do_write_config[vardeps] += "CC OBJCOPY" -do_write_config_append() { - cat >${WORKDIR}/meson-${PN}.cross <${WORKDIR}/meson-${PN}.cross < -Date: Thu, 21 Jan 2021 06:19:44 +0000 -Subject: [PATCH] analyze: resolve executable path if it is relative - -Upstream-Status: Backport [https://github.com/systemd/systemd/commit/f1fb046a985521f7d4a662f02546686ff20b7e5d] - -Signed-off-by: Mingli Yu ---- - src/analyze/analyze-verify.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-verify.c -index a9c89173bf..969523df18 100644 ---- a/src/analyze/analyze-verify.c -+++ b/src/analyze/analyze-verify.c -@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) { - } - - int verify_executable(Unit *u, const ExecCommand *exec) { -+ int r; -+ - if (!exec) - return 0; - - if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE) - return 0; - -- if (access(exec->path, X_OK) < 0) -- return log_unit_error_errno(u, errno, "Command %s is not executable: %m", exec->path); -+ r = find_executable_full(exec->path, false, NULL); -+ if (r < 0) -+ return log_unit_error_errno(u, r, "Command %s is not executable: %m", exec->path); - - return 0; - } --- -2.26.2 - diff --git a/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch b/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch deleted file mode 100644 index 89ef39bc3..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch +++ /dev/null @@ -1,227 +0,0 @@ -From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001 -From: Joshua Watt -Date: Fri, 30 Oct 2020 08:15:43 -0500 -Subject: [PATCH] logind: Restore chvt as non-root user without polkit - -4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke -the ability to write user sessions that run graphical sessions (e.g. -weston/X11). This was partially amended in 19bb87fbfa ("login: allow -non-console sessions to change vt") by changing the default PolicyKit -policy so that non-root users are again allowed to switch the VT. This -makes the policy when PolKit is not enabled (as on many embedded -systems) match the default PolKit policy and allows launching graphical -sessions as a non-root user. - -Closes #17473 ---- - src/login/logind-dbus.c | 11 ++------- - src/login/logind-polkit.c | 26 +++++++++++++++++++++ - src/login/logind-polkit.h | 10 ++++++++ - src/login/logind-seat-dbus.c | 41 ++++----------------------------- - src/login/logind-session-dbus.c | 11 ++------- - src/login/meson.build | 1 + - 6 files changed, 46 insertions(+), 54 deletions(-) - create mode 100644 src/login/logind-polkit.c - create mode 100644 src/login/logind-polkit.h - -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c -index 0f83ed99bc..a3765d88ba 100644 ---- a/src/login/logind-dbus.c -+++ b/src/login/logind-dbus.c -@@ -30,6 +30,7 @@ - #include "format-util.h" - #include "fs-util.h" - #include "logind-dbus.h" -+#include "logind-polkit.h" - #include "logind-seat-dbus.h" - #include "logind-session-dbus.h" - #include "logind-user-dbus.h" -@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda - return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, - "Session %s not on seat %s", session_name, seat_name); - -- r = bus_verify_polkit_async( -- message, -- CAP_SYS_ADMIN, -- "org.freedesktop.login1.chvt", -- NULL, -- false, -- UID_INVALID, -- &m->polkit_registry, -- error); -+ r = check_polkit_chvt(message, m, error); - if (r < 0) - return r; - if (r == 0) -diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c -new file mode 100644 -index 0000000000..9072570cc6 ---- /dev/null -+++ b/src/login/logind-polkit.c -@@ -0,0 +1,26 @@ -+/* SPDX-License-Identifier: LGPL-2.1+ */ -+ -+#include "bus-polkit.h" -+#include "logind-polkit.h" -+#include "missing_capability.h" -+#include "user-util.h" -+ -+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error) { -+#if ENABLE_POLKIT -+ return bus_verify_polkit_async( -+ message, -+ CAP_SYS_ADMIN, -+ "org.freedesktop.login1.chvt", -+ NULL, -+ false, -+ UID_INVALID, -+ &manager->polkit_registry, -+ error); -+#else -+ /* Allow chvt when polkit is not present. This allows a service to start a graphical session as a -+ * non-root user when polkit is not compiled in, matching the default polkit policy */ -+ return 1; -+#endif -+} -+ -+ -diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h -new file mode 100644 -index 0000000000..476c077a8a ---- /dev/null -+++ b/src/login/logind-polkit.h -@@ -0,0 +1,10 @@ -+/* SPDX-License-Identifier: LGPL-2.1+ */ -+#pragma once -+ -+#include "sd-bus.h" -+ -+#include "bus-object.h" -+#include "logind.h" -+ -+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error); -+ -diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c -index a945132284..f22e9e2734 100644 ---- a/src/login/logind-seat-dbus.c -+++ b/src/login/logind-seat-dbus.c -@@ -9,6 +9,7 @@ - #include "bus-polkit.h" - #include "bus-util.h" - #include "logind-dbus.h" -+#include "logind-polkit.h" - #include "logind-seat-dbus.h" - #include "logind-seat.h" - #include "logind-session-dbus.h" -@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message *message, void *userdata, sd_b - if (session->seat != s) - return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id); - -- r = bus_verify_polkit_async( -- message, -- CAP_SYS_ADMIN, -- "org.freedesktop.login1.chvt", -- NULL, -- false, -- UID_INVALID, -- &s->manager->polkit_registry, -- error); -+ r = check_polkit_chvt(message, s->manager, error); - if (r < 0) - return r; - if (r == 0) -@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message *message, void *userdata, sd_bus_erro - if (to <= 0) - return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal"); - -- r = bus_verify_polkit_async( -- message, -- CAP_SYS_ADMIN, -- "org.freedesktop.login1.chvt", -- NULL, -- false, -- UID_INVALID, -- &s->manager->polkit_registry, -- error); -+ r = check_polkit_chvt(message, s->manager, error); - if (r < 0) - return r; - if (r == 0) -@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus - assert(message); - assert(s); - -- r = bus_verify_polkit_async( -- message, -- CAP_SYS_ADMIN, -- "org.freedesktop.login1.chvt", -- NULL, -- false, -- UID_INVALID, -- &s->manager->polkit_registry, -- error); -+ r = check_polkit_chvt(message, s->manager, error); - if (r < 0) - return r; - if (r == 0) -@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd - assert(message); - assert(s); - -- r = bus_verify_polkit_async( -- message, -- CAP_SYS_ADMIN, -- "org.freedesktop.login1.chvt", -- NULL, -- false, -- UID_INVALID, -- &s->manager->polkit_registry, -- error); -+ r = check_polkit_chvt(message, s->manager, error); - if (r < 0) - return r; - if (r == 0) -diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c -index ccc5ac8df2..57c8a4e900 100644 ---- a/src/login/logind-session-dbus.c -+++ b/src/login/logind-session-dbus.c -@@ -11,6 +11,7 @@ - #include "fd-util.h" - #include "logind-brightness.h" - #include "logind-dbus.h" -+#include "logind-polkit.h" - #include "logind-seat-dbus.h" - #include "logind-session-dbus.h" - #include "logind-session-device.h" -@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_ - assert(message); - assert(s); - -- r = bus_verify_polkit_async( -- message, -- CAP_SYS_ADMIN, -- "org.freedesktop.login1.chvt", -- NULL, -- false, -- UID_INVALID, -- &s->manager->polkit_registry, -- error); -+ r = check_polkit_chvt(message, s->manager, error); - if (r < 0) - return r; - if (r == 0) -diff --git a/src/login/meson.build b/src/login/meson.build -index 0a7d3d5440..7e46be2add 100644 ---- a/src/login/meson.build -+++ b/src/login/meson.build -@@ -26,6 +26,7 @@ liblogind_core_sources = files(''' - logind-device.h - logind-inhibit.c - logind-inhibit.h -+ logind-polkit.c - logind-seat-dbus.c - logind-seat-dbus.h - logind-seat.c --- -2.28.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0001-test-parse-argument-Include-signal.h.patch b/poky/meta/recipes-core/systemd/systemd/0001-test-parse-argument-Include-signal.h.patch new file mode 100644 index 000000000..3af1daac9 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-test-parse-argument-Include-signal.h.patch @@ -0,0 +1,29 @@ +From 1adde6721ead386ccee6efe48038d6944b96319a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 24 May 2021 18:26:27 -0700 +Subject: [PATCH] test-parse-argument: Include signal.h + +Fixes +src/test/test-parse-argument.c:49:29: error: use of undeclared identifier 'SIGABRT' + +Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/19718] +Signed-off-by: Khem Raj +--- + src/test/test-parse-argument.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/test/test-parse-argument.c b/src/test/test-parse-argument.c +index 4081a9f25a..820d69f092 100644 +--- a/src/test/test-parse-argument.c ++++ b/src/test/test-parse-argument.c +@@ -3,6 +3,7 @@ + #include "parse-argument.h" + #include "stdio-util.h" + #include "tests.h" ++#include + + static void test_parse_json_argument(void) { + log_info("/* %s */", __func__); +-- +2.31.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch index d856bcb58..4cdf66e76 100644 --- a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch +++ b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch @@ -1,7 +1,7 @@ -From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00 2001 +From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 13:41:41 +0800 -Subject: [PATCH 02/26] don't use glibc-specific qsort_r +Subject: [PATCH] don't use glibc-specific qsort_r Upstream-Status: Inappropriate [musl specific] @@ -12,6 +12,7 @@ Signed-off-by: Chen Qi Signed-off-by: Andrej Valek [Rebased for v247] Signed-off-by: Luca Boccassi + --- src/basic/sort-util.h | 14 ------------ src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++----- @@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi 3 files changed, 38 insertions(+), 31 deletions(-) diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h -index 1d194a1f04..3394c9eb72 100644 +index 49586a4a24..d92a5ab0ed 100644 --- a/src/basic/sort-util.h +++ b/src/basic/sort-util.h -@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f - int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \ +@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f _qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \ }) -- + -static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) { - if (nmemb <= 1) - return; @@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644 - int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \ - qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \ - }) +- + int cmp_int(const int *a, const int *b); diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c -index 4c94ba9c88..95495dba6d 100644 +index fd45ff0f54..ac4b63c49b 100644 --- a/src/libsystemd/sd-hwdb/hwdb-util.c +++ b/src/libsystemd/sd-hwdb/hwdb-util.c -@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) { +@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *trie) { DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free); @@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644 } diff --git a/src/shared/format-table.c b/src/shared/format-table.c -index a13a198b7a..bce10bc607 100644 +index dccb796b26..c3ab8ac296 100644 --- a/src/shared/format-table.c +++ b/src/shared/format-table.c -@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t +@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t return CMP(index_a, index_b); } @@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644 } /* Order identical lines by the order there were originally added in */ -@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) { +@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) { for (size_t i = 0; i < n_rows; i++) sorted[i] = i * t->n_columns; @@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644 } if (t->display_map) -@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant **ret) { +@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant **ret) { for (size_t i = 0; i < n_rows; i++) sorted[i] = i * t->n_columns; @@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644 } if (t->display_map) --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch index f43a22aa8..9b1768d9c 100644 --- a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch +++ b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch @@ -1,7 +1,7 @@ -From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00 2001 +From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 13:55:12 +0800 -Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and comparison_fn_t +Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t Make it work with musl where comparison_fn_t and __compare_fn_t is not provided. @@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan Signed-off-by: Chen Qi [Rebased for v242] Signed-off-by: Andrej Valek + --- - src/basic/missing_type.h | 9 +++++++++ - src/basic/sort-util.h | 1 + - src/core/kmod-setup.c | 1 + - src/journal/catalog.c | 1 + + src/basic/missing_type.h | 9 +++++++++ + src/basic/sort-util.h | 1 + + src/core/kmod-setup.c | 1 + + src/libsystemd/sd-journal/catalog.c | 1 + 4 files changed, 12 insertions(+) diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h @@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644 +typedef int (*__compar_fn_t)(const void *, const void *); +#endif diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h -index 3394c9eb72..d9cb2aecb6 100644 +index d92a5ab0ed..a63867c716 100644 --- a/src/basic/sort-util.h +++ b/src/basic/sort-util.h @@ -4,6 +4,7 @@ @@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644 #if HAVE_KMOD #include "module-util.h" -diff --git a/src/journal/catalog.c b/src/journal/catalog.c -index 0f6ad8a29e..4e1077ade4 100644 ---- a/src/journal/catalog.c -+++ b/src/journal/catalog.c +diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c +index aea3241d18..75e6c56a28 100644 +--- a/src/libsystemd/sd-journal/catalog.c ++++ b/src/libsystemd/sd-journal/catalog.c @@ -28,6 +28,7 @@ #include "string-util.h" #include "strv.h" @@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644 const char * const catalog_file_dirs[] = { "/usr/local/lib/systemd/catalog/", --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch index bdd64a025..dc40a2fe8 100644 --- a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch +++ b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch @@ -1,7 +1,7 @@ -From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00 2001 -From: Chen Qi -Date: Mon, 25 Feb 2019 14:04:21 +0800 -Subject: [PATCH 04/26] add fallback parse_printf_format implementation +From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sat, 22 May 2021 20:26:24 +0200 +Subject: [PATCH] [PATCH] add fallback parse_printf_format implementation Upstream-Status: Inappropriate [musl specific] @@ -11,21 +11,21 @@ Signed-off-by: Chen Qi [rebased for systemd 243] Signed-off-by: Scott Murray --- - meson.build | 1 + - src/basic/meson.build | 5 + - src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++ - src/basic/parse-printf-format.h | 57 +++++++ - src/basic/stdio-util.h | 2 +- - src/journal/journal-send.c | 2 +- + meson.build | 1 + + src/basic/meson.build | 5 + + src/basic/parse-printf-format.c | 273 +++++++++++++++++++++++ + src/basic/parse-printf-format.h | 57 +++++ + src/basic/stdio-util.h | 2 +- + src/libsystemd/sd-journal/journal-send.c | 2 +- 6 files changed, 338 insertions(+), 2 deletions(-) create mode 100644 src/basic/parse-printf-format.c create mode 100644 src/basic/parse-printf-format.h diff --git a/meson.build b/meson.build -index f406d595e6..6aa47fc755 100644 +index 27186d63a3..2abb7b3188 100644 --- a/meson.build +++ b/meson.build -@@ -646,6 +646,7 @@ endif +@@ -675,6 +675,7 @@ endif foreach header : ['crypt.h', 'linux/memfd.h', 'linux/vm_sockets.h', @@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644 'valgrind/memcheck.h', 'valgrind/valgrind.h', diff --git a/src/basic/meson.build b/src/basic/meson.build -index 1183ea83ad..aa5c958850 100644 +index 60ef801a25..aba2172edd 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build -@@ -322,6 +322,11 @@ foreach item : [['af', af_list_txt, 'af', ''], - endforeach +@@ -341,6 +341,11 @@ endforeach basic_sources += generated_gperf_headers -+ + +if conf.get('HAVE_PRINTF_H') != 1 + basic_sources += [files('parse-printf-format.c')] +endif + - basic_gcrypt_sources = files( - 'gcrypt-util.c', - 'gcrypt-util.h') ++ + ############################################################ + + arch_list = [ diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c new file mode 100644 index 0000000000..49437e5445 @@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644 #define snprintf_ok(buf, len, fmt, ...) \ ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len)) -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c index fd3fd7ef9c..e8e6ad555b 100644 ---- a/src/journal/journal-send.c -+++ b/src/journal/journal-send.c +--- a/src/libsystemd/sd-journal/journal-send.c ++++ b/src/libsystemd/sd-journal/journal-send.c @@ -2,7 +2,6 @@ #include @@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644 #define SNDBUF_SIZE (8*1024*1024) -- -2.27.0 +2.24.0 diff --git a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch index d63e3c0d0..814c28f5b 100644 --- a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch +++ b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch @@ -1,7 +1,7 @@ -From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00 2001 +From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 14:18:21 +0800 -Subject: [PATCH 05/26] src/basic/missing.h: check for missing strndupa +Subject: [PATCH] src/basic/missing.h: check for missing strndupa include missing.h for definition of strndupa @@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan [rebased for systemd 244] [Rebased for v247] Signed-off-by: Luca Boccassi + --- meson.build | 1 + src/backlight/backlight.c | 1 + @@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi src/basic/log.c | 1 + src/basic/missing_stdlib.h | 12 ++++++++++++ src/basic/mkdir.c | 1 + + src/basic/mountpoint-util.c | 1 + src/basic/parse-util.c | 1 + src/basic/path-lookup.c | 1 + src/basic/proc-cmdline.c | 1 + @@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi src/coredump/coredump-vacuum.c | 1 + src/journal-remote/journal-remote-main.c | 1 + src/journal/journalctl.c | 1 + - src/journal/sd-journal.c | 1 + src/libsystemd/sd-bus/bus-message.c | 1 + src/libsystemd/sd-bus/bus-objects.c | 1 + src/libsystemd/sd-bus/bus-socket.c | 1 + src/libsystemd/sd-bus/sd-bus.c | 1 + src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + + src/libsystemd/sd-journal/sd-journal.c | 1 + src/locale/keymap-util.c | 1 + src/login/pam_systemd.c | 1 + src/network/generator/network-generator.c | 1 + @@ -68,14 +70,14 @@ Signed-off-by: Luca Boccassi src/udev/udev-builtin-path_id.c | 1 + src/udev/udev-event.c | 1 + src/udev/udev-rules.c | 1 + - 50 files changed, 61 insertions(+) + 51 files changed, 62 insertions(+) --- a/meson.build +++ b/meson.build -@@ -535,6 +535,7 @@ foreach ident : [ - #include '''], - ['mallinfo', '''#include '''], +@@ -550,6 +550,7 @@ foreach ident : [ + ['execveat', '''#include '''], ['close_range', '''#include '''], + ['epoll_pwait2', '''#include '''], + ['strndupa' , '''#include '''], ] @@ -102,7 +104,7 @@ Signed-off-by: Luca Boccassi _cleanup_free_ char *fs = NULL; --- a/src/basic/env-util.c +++ b/src/basic/env-util.c -@@ -15,6 +15,7 @@ +@@ -18,6 +18,7 @@ #include "string-util.h" #include "strv.h" #include "utf8.h" @@ -148,9 +150,19 @@ Signed-off-by: Luca Boccassi int mkdir_safe_internal( const char *path, +--- a/src/basic/mountpoint-util.c ++++ b/src/basic/mountpoint-util.c +@@ -12,6 +12,7 @@ + #include "missing_stat.h" + #include "missing_syscall.h" + #include "mkdir.h" ++#include "missing_stdlib.h" + #include "mountpoint-util.h" + #include "parse-util.h" + #include "path-util.h" --- a/src/basic/parse-util.c +++ b/src/basic/parse-util.c -@@ -22,6 +22,7 @@ +@@ -19,6 +19,7 @@ #include "stat-util.h" #include "string-util.h" #include "strv.h" @@ -197,7 +209,7 @@ Signed-off-by: Luca Boccassi +#include "missing_stdlib.h" #if HAVE_SELINUX - DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free); + DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL); --- a/src/basic/time-util.c +++ b/src/basic/time-util.c @@ -27,6 +27,7 @@ @@ -220,10 +232,10 @@ Signed-off-by: Luca Boccassi --- a/src/core/dbus-cgroup.c +++ b/src/core/dbus-cgroup.c -@@ -16,6 +16,7 @@ - #include "fileio.h" +@@ -17,6 +17,7 @@ #include "limits-util.h" #include "path-util.h" + #include "percent-util.h" +#include "missing_stdlib.h" BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve); @@ -240,7 +252,7 @@ Signed-off-by: Luca Boccassi static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); --- a/src/core/dbus-util.c +++ b/src/core/dbus-util.c -@@ -7,6 +7,7 @@ +@@ -9,6 +9,7 @@ #include "unit-printf.h" #include "user-util.h" #include "unit.h" @@ -251,7 +263,7 @@ Signed-off-by: Luca Boccassi --- a/src/core/execute.c +++ b/src/core/execute.c @@ -96,6 +96,7 @@ - #include "unit.h" + #include "unit-serialize.h" #include "user-util.h" #include "utmp-wtmp.h" +#include "missing_stdlib.h" @@ -290,7 +302,7 @@ Signed-off-by: Luca Boccassi #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */ --- a/src/journal-remote/journal-remote-main.c +++ b/src/journal-remote/journal-remote-main.c -@@ -22,6 +22,7 @@ +@@ -24,6 +24,7 @@ #include "stat-util.h" #include "string-table.h" #include "strv.h" @@ -300,7 +312,7 @@ Signed-off-by: Luca Boccassi #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c -@@ -73,6 +73,7 @@ +@@ -72,6 +72,7 @@ #include "unit-name.h" #include "user-util.h" #include "varlink.h" @@ -308,19 +320,9 @@ Signed-off-by: Luca Boccassi #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ ---- a/src/journal/sd-journal.c -+++ b/src/journal/sd-journal.c -@@ -40,6 +40,7 @@ - #include "string-util.h" - #include "strv.h" - #include "syslog-util.h" -+#include "missing_stdlib.h" - - #define JOURNAL_FILES_MAX 7168 - --- a/src/libsystemd/sd-bus/bus-message.c +++ b/src/libsystemd/sd-bus/bus-message.c -@@ -21,6 +21,7 @@ +@@ -20,6 +20,7 @@ #include "strv.h" #include "time-util.h" #include "utf8.h" @@ -330,7 +332,7 @@ Signed-off-by: Luca Boccassi --- a/src/libsystemd/sd-bus/bus-objects.c +++ b/src/libsystemd/sd-bus/bus-objects.c -@@ -13,6 +13,7 @@ +@@ -12,6 +12,7 @@ #include "set.h" #include "string-util.h" #include "strv.h" @@ -351,9 +353,9 @@ Signed-off-by: Luca Boccassi --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -41,6 +41,7 @@ - #include "process-util.h" #include "string-util.h" #include "strv.h" + #include "user-util.h" +#include "missing_stdlib.h" #define log_debug_bus_message(m) \ @@ -361,16 +363,26 @@ Signed-off-by: Luca Boccassi --- a/src/libsystemd/sd-bus/test-bus-benchmark.c +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c @@ -14,6 +14,7 @@ - #include "missing_resource.h" + #include "string-util.h" #include "time-util.h" #include "util.h" +#include "missing_stdlib.h" #define MAX_SIZE (2*1024*1024) +--- a/src/libsystemd/sd-journal/sd-journal.c ++++ b/src/libsystemd/sd-journal/sd-journal.c +@@ -40,6 +40,7 @@ + #include "string-util.h" + #include "strv.h" + #include "syslog-util.h" ++#include "missing_stdlib.h" + + #define JOURNAL_FILES_MAX 7168 + --- a/src/locale/keymap-util.c +++ b/src/locale/keymap-util.c -@@ -21,6 +21,7 @@ +@@ -24,6 +24,7 @@ #include "string-util.h" #include "strv.h" #include "tmpfile-util.h" @@ -410,17 +422,17 @@ Signed-off-by: Luca Boccassi Settings *s; --- a/src/nss-mymachines/nss-mymachines.c +++ b/src/nss-mymachines/nss-mymachines.c -@@ -19,6 +19,7 @@ +@@ -21,6 +21,7 @@ #include "nss-util.h" #include "signal-util.h" #include "string-util.h" +#include "missing_stdlib.h" - NSS_GETHOSTBYNAME_PROTOTYPES(mymachines); - NSS_GETPW_PROTOTYPES(mymachines); + static void setup_logging(void) { + /* We need a dummy function because log_parse_environment is a macro. */ --- a/src/portable/portable.c +++ b/src/portable/portable.c -@@ -31,6 +31,7 @@ +@@ -32,6 +32,7 @@ #include "strv.h" #include "tmpfile-util.h" #include "user-util.h" @@ -430,7 +442,7 @@ Signed-off-by: Luca Boccassi --- a/src/resolve/resolvectl.c +++ b/src/resolve/resolvectl.c -@@ -37,6 +37,7 @@ +@@ -41,6 +41,7 @@ #include "terminal-util.h" #include "utf8.h" #include "verbs.h" @@ -460,7 +472,7 @@ Signed-off-by: Luca Boccassi char *cgroup_path; --- a/src/shared/bus-unit-util.c +++ b/src/shared/bus-unit-util.c -@@ -44,6 +44,7 @@ +@@ -45,6 +45,7 @@ #include "unit-def.h" #include "user-util.h" #include "utf8.h" @@ -551,16 +563,16 @@ Signed-off-by: Luca Boccassi --- a/src/udev/udev-builtin-path_id.c +++ b/src/udev/udev-builtin-path_id.c @@ -22,6 +22,7 @@ - #include "strv.h" #include "sysexits.h" #include "udev-builtin.h" + #include "udev-util.h" +#include "missing_stdlib.h" _printf_(2,3) static void path_prepend(char **path, const char *fmt, ...) { --- a/src/udev/udev-event.c +++ b/src/udev/udev-event.c -@@ -34,6 +34,7 @@ +@@ -33,6 +33,7 @@ #include "udev-util.h" #include "udev-watch.h" #include "user-util.h" @@ -570,7 +582,7 @@ Signed-off-by: Luca Boccassi sd_device *device; --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c -@@ -30,6 +30,7 @@ +@@ -31,6 +31,7 @@ #include "udev-rules.h" #include "user-util.h" #include "virt.h" @@ -578,13 +590,13 @@ Signed-off-by: Luca Boccassi #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d") ---- a/src/basic/mountpoint-util.c -+++ b/src/basic/mountpoint-util.c -@@ -10,6 +10,7 @@ - #include "fs-util.h" - #include "missing_stat.h" - #include "missing_syscall.h" -+#include "missing_stdlib.h" - #include "mountpoint-util.h" +--- a/src/basic/percent-util.c ++++ b/src/basic/percent-util.c +@@ -3,6 +3,7 @@ + #include "percent-util.h" + #include "string-util.h" #include "parse-util.h" - #include "path-util.h" ++#include "missing_stdlib.h" + + static int parse_parts_value_whole(const char *p, const char *symbol) { + const char *pc, *n; diff --git a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch index a978558b4..54d714266 100644 --- a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch +++ b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch @@ -1,7 +1,7 @@ -From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00 2001 +From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 26 Oct 2017 22:10:42 -0700 -Subject: [PATCH 06/26] Include netinet/if_ether.h +Subject: [PATCH] Include netinet/if_ether.h Fixes /path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr' @@ -31,6 +31,7 @@ Signed-off-by: Chen Qi Signed-off-by: Scott Murray [rebased for systemd 247] Signed-off-by: Luca Boccassi + --- src/libsystemd-network/sd-dhcp6-client.c | 1 - src/libsystemd/sd-netlink/netlink-types.c | 1 + @@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi 21 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c -index 66f87c4b95..de1264ae46 100644 +index 410bfda10e..e70ed8be92 100644 --- a/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/libsystemd-network/sd-dhcp6-client.c @@ -5,7 +5,6 @@ @@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644 #include "sd-dhcp6-client.h" diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c -index 6fb6c147d9..8eda02d202 100644 +index ed7b9a8cd1..112c0b09e4 100644 --- a/src/libsystemd/sd-netlink/netlink-types.c +++ b/src/libsystemd/sd-netlink/netlink-types.c @@ -3,6 +3,7 @@ @@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644 #include #include diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c -index bb67beb665..f5780f1aec 100644 +index e7c4ed3c7c..3a1e4f9072 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -3,6 +3,7 @@ @@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644 /* When we include libgen.h because we need dirname() we immediately * undefine basename() since libgen.h defines it as a macro to the POSIX diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c -index e27f36067b..8868f1da5d 100644 +index cf7ca88d6f..34ab468191 100644 --- a/src/network/netdev/bond.c +++ b/src/network/netdev/bond.c @@ -1,5 +1,6 @@ @@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644 #include "bond.h" #include "bond-util.h" diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c -index 1f59cd8b42..5fdbae7e99 100644 +index 38432f1578..79ccfe578e 100644 --- a/src/network/netdev/bridge.c +++ b/src/network/netdev/bridge.c @@ -1,5 +1,6 @@ @@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644 #include "bridge.h" diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c -index 82e71c3920..fbae86e216 100644 +index 77c5f8c4e7..04be1b4ab2 100644 --- a/src/network/netdev/macsec.c +++ b/src/network/netdev/macsec.c @@ -1,5 +1,6 @@ @@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644 #include #include diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf -index 4e89761f2c..91251fa6ec 100644 +index 8abe044890..3c54c58928 100644 --- a/src/network/netdev/netdev-gperf.gperf +++ b/src/network/netdev/netdev-gperf.gperf -@@ -2,6 +2,7 @@ +@@ -3,6 +3,7 @@ #if __GNUC__ >= 7 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") #endif +#include #include #include "bareudp.h" - #include "bond.h" + #include "batadv.h" diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c -index 9f390b5781..62aeafb1e4 100644 +index b31f0fa81a..c80e1ff537 100644 --- a/src/network/netdev/netdev.c +++ b/src/network/netdev/netdev.c @@ -1,5 +1,6 @@ @@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644 #include #include diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c -index e53c73c30c..9bf0771b84 100644 +index 2847b336c9..4d6af8c642 100644 --- a/src/network/networkd-brvlan.c +++ b/src/network/networkd-brvlan.c @@ -4,6 +4,7 @@ @@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644 #include diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c -index 9f58121350..554d006cb8 100644 +index 00d055cf8d..65821c1d31 100644 --- a/src/network/networkd-dhcp-common.c +++ b/src/network/networkd-dhcp-common.c @@ -1,7 +1,8 @@ @@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644 +#include +#include + #include "bus-error.h" #include "dhcp-internal.h" - #include "dhcp6-internal.h" -@@ -10,6 +11,7 @@ +@@ -11,6 +12,7 @@ #include "networkd-dhcp-common.h" #include "networkd-link.h" #include "networkd-manager.h" @@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644 #include "parse-util.h" #include "socket-util.h" diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c -index cf279c640d..bae541029b 100644 +index 5cdf432c27..93cffb9863 100644 --- a/src/network/networkd-dhcp-server.c +++ b/src/network/networkd-dhcp-server.c @@ -1,8 +1,8 @@ @@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644 #include "sd-dhcp-server.h" diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c -index f3c1e5f609..e4ef6eca63 100644 +index 23dc3a45db..7ae6c2467a 100644 --- a/src/network/networkd-dhcp4.c +++ b/src/network/networkd-dhcp4.c @@ -1,9 +1,9 @@ @@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644 #include "escape.h" #include "alloc-util.h" diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c -index 5c077c1ec8..fa98042aa5 100644 +index aa077d6219..4f6ce22059 100644 --- a/src/network/networkd-dhcp6.c +++ b/src/network/networkd-dhcp6.c @@ -3,9 +3,9 @@ @@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644 #include "sd-dhcp6-client.h" diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c -index 3bfe636691..e0c68c8ad3 100644 +index 8219d95b0d..c92230453b 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -1,8 +1,8 @@ @@ -241,7 +242,7 @@ index 3bfe636691..e0c68c8ad3 100644 #include diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c -index 3254641461..f0ada419fd 100644 +index e5ffd35b6f..871ebb32c6 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -1,5 +1,6 @@ @@ -252,7 +253,7 @@ index 3254641461..f0ada419fd 100644 #include #include diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c -index 0ed89584ef..e7e157c201 100644 +index a74541a6c9..a10549b336 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -1,7 +1,10 @@ @@ -268,7 +269,7 @@ index 0ed89584ef..e7e157c201 100644 #include "alloc-util.h" #include "netlink-util.h" diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c -index 475cac7527..9bae6eda16 100644 +index ce34449554..0b5dc01182 100644 --- a/src/network/test-network-tables.c +++ b/src/network/test-network-tables.c @@ -1,5 +1,6 @@ @@ -279,7 +280,7 @@ index 475cac7527..9bae6eda16 100644 #include "dhcp6-internal.h" #include "dhcp6-protocol.h" diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c -index e6fab262f2..41dd3d7df7 100644 +index 654d36a83a..f4ed42d543 100644 --- a/src/shared/ethtool-util.c +++ b/src/shared/ethtool-util.c @@ -1,5 +1,6 @@ @@ -290,7 +291,7 @@ index e6fab262f2..41dd3d7df7 100644 #include #include diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h -index f94b3e15bf..08a7e4fa09 100644 +index 11e2906681..a171df0737 100644 --- a/src/shared/ethtool-util.h +++ b/src/shared/ethtool-util.h @@ -3,6 +3,7 @@ @@ -302,7 +303,7 @@ index f94b3e15bf..08a7e4fa09 100644 #include "conf-parser.h" diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c -index d12fd0e299..636806dc23 100644 +index 31e5d0cd67..f25f821364 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -1,5 +1,6 @@ @@ -323,6 +324,3 @@ index 87e1fb133e..13876029d0 100644 #include "alloc-util.h" #include "device-util.h" #include "errno-util.h" --- -2.25.1 - diff --git a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch index 686542158..2ff08c7fa 100644 --- a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch +++ b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch @@ -1,8 +1,7 @@ -From 87a14dde13c8fa68239a4ab62914a093062b3b29 Mon Sep 17 00:00:00 2001 +From bca73ff2fbff2dc311040a87a4f536f89af07ad6 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 14:56:21 +0800 -Subject: [PATCH 07/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not - defined +Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined If the standard library doesn't provide brace expansion users just won't get it. @@ -17,6 +16,7 @@ Signed-off-by: Khem Raj Signed-off-by: Chen Qi [rebased for systemd 243] Signed-off-by: Scott Murray + --- src/basic/glob-util.c | 12 ++++++++++++ src/test/test-glob-util.c | 16 ++++++++++++++++ @@ -115,10 +115,10 @@ index df6444c433..79a692046e 100644 (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c -index 9906c70eef..5eb63b1d57 100644 +index 6b73d1e6d5..26b3b74275 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c -@@ -63,6 +63,12 @@ +@@ -66,6 +66,12 @@ #include "umask-util.h" #include "user-util.h" @@ -131,7 +131,7 @@ index 9906c70eef..5eb63b1d57 100644 /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates * them in the file system. This is intended to be used to create * properly owned directories beneath /tmp, /var/tmp, /run, which are -@@ -1936,7 +1942,9 @@ finish: +@@ -1947,7 +1953,9 @@ finish: static int glob_item(Item *i, action_t action) { _cleanup_globfree_ glob_t g = { @@ -141,7 +141,7 @@ index 9906c70eef..5eb63b1d57 100644 }; int r = 0, k; char **fn; -@@ -1956,7 +1964,9 @@ static int glob_item(Item *i, action_t action) { +@@ -1967,7 +1975,9 @@ static int glob_item(Item *i, action_t action) { static int glob_item_recursively(Item *i, fdaction_t action) { _cleanup_globfree_ glob_t g = { @@ -151,6 +151,3 @@ index 9906c70eef..5eb63b1d57 100644 }; int r = 0, k; char **fn; --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch index 94cdc2efd..142ca0134 100644 --- a/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch +++ b/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch @@ -1,7 +1,7 @@ -From 8caea3fe87d55fd16de7d1b8266239fa954cb498 Mon Sep 17 00:00:00 2001 +From e0d1912f0246c97e5e7b4177691363d2d077e11d Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 15:00:06 +0800 -Subject: [PATCH 08/26] add missing FTW_ macros for musl +Subject: [PATCH] add missing FTW_ macros for musl This is to avoid build failures like below for musl. @@ -10,6 +10,7 @@ This is to avoid build failures like below for musl. Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi + --- src/basic/missing_type.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) @@ -42,6 +43,3 @@ index aeaf6ad5ec..3df1084ef2 100644 +#ifndef FTW_SKIP_SIBLINGS +#define FTW_SKIP_SIBLINGS 3 +#endif --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch index 76cc75cf6..53f0a1ba6 100644 --- a/poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch +++ b/poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch @@ -1,17 +1,18 @@ -From d8e4f0aa1760e4c7bb8476beecd35025c9cbb95a Mon Sep 17 00:00:00 2001 +From bb41fe773881a8f1d9615d388320b9c6fc47bfe5 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 15:03:47 +0800 -Subject: [PATCH 09/26] fix missing of __register_atfork for non-glibc builds +Subject: [PATCH] fix missing of __register_atfork for non-glibc builds Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi + --- src/basic/process-util.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/basic/process-util.c b/src/basic/process-util.c -index 0851613fc9..4417101569 100644 +index 7d4301eadb..caa9dfe3a3 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c @@ -18,6 +18,9 @@ @@ -24,7 +25,7 @@ index 0851613fc9..4417101569 100644 #include "alloc-util.h" #include "architecture.h" -@@ -1143,11 +1146,15 @@ void reset_cached_pid(void) { +@@ -1121,11 +1124,15 @@ void reset_cached_pid(void) { cached_pid = CACHED_PID_UNSET; } @@ -40,6 +41,3 @@ index 0851613fc9..4417101569 100644 pid_t getpid_cached(void) { static bool installed = false; --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch index aeacd865a..af1a6bb05 100644 --- a/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch +++ b/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch @@ -1,7 +1,7 @@ -From e45bb02174812e4935214f42a18725be320770d5 Mon Sep 17 00:00:00 2001 +From dc40487e0ac26e3ca317429b9c3e8f01772de60a Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 15:12:41 +0800 -Subject: [PATCH 10/26] Use uintmax_t for handling rlim_t +Subject: [PATCH] Use uintmax_t for handling rlim_t PRIu{32,64} is not right format to represent rlim_t type therefore use %ju and typecast the rlim_t variables to @@ -20,6 +20,7 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199] Signed-off-by: Khem Raj [Rebased for v241] Signed-off-by: Chen Qi + --- src/basic/format-util.h | 8 +------- src/basic/rlimit-util.c | 10 +++++----- @@ -46,10 +47,10 @@ index b7e18768e3..3195ab205d 100644 #if SIZEOF_DEV_T == 8 # define DEV_FMT "%" PRIu64 diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c -index 880976312c..9e1b61cd4a 100644 +index 23d108d5df..94373c9422 100644 --- a/src/basic/rlimit-util.c +++ b/src/basic/rlimit-util.c -@@ -306,13 +306,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { +@@ -308,13 +308,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) s = strdup("infinity"); else if (rl->rlim_cur >= RLIM_INFINITY) @@ -67,7 +68,7 @@ index 880976312c..9e1b61cd4a 100644 if (!s) return -ENOMEM; -@@ -403,7 +403,7 @@ int rlimit_nofile_safe(void) { +@@ -405,7 +405,7 @@ int rlimit_nofile_safe(void) { rl.rlim_cur = FD_SETSIZE; if (setrlimit(RLIMIT_NOFILE, &rl) < 0) @@ -77,10 +78,10 @@ index 880976312c..9e1b61cd4a 100644 return 1; } diff --git a/src/core/execute.c b/src/core/execute.c -index 89632e0582..335283776c 100644 +index f82fc294c0..4696d055a8 100644 --- a/src/core/execute.c +++ b/src/core/execute.c -@@ -5288,9 +5288,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { +@@ -5370,9 +5370,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { for (unsigned i = 0; i < RLIM_NLIMITS; i++) if (c->rlimit[i]) { fprintf(f, "%sLimit%s: " RLIM_FMT "\n", @@ -92,6 +93,3 @@ index 89632e0582..335283776c 100644 } if (c->ioprio_set) { --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch index 6d7fdbcb6..b1d782719 100644 --- a/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch +++ b/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch @@ -1,13 +1,13 @@ -From d1db531ddd3bbf94d5e764b7917bcc8684ff6357 Mon Sep 17 00:00:00 2001 +From f8be7b283309e4332eedc088774daac637afef7b Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Wed, 28 Feb 2018 21:25:22 -0800 -Subject: [PATCH 11/26] test-sizeof.c: Disable tests for missing typedefs in - musl +Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj Signed-off-by: Chen Qi + --- src/test/test-sizeof.c | 4 ++++ 1 file changed, 4 insertions(+) @@ -37,6 +37,3 @@ index 3c9dc180fa..e1a59d408c 100644 info(pid_t); info(uid_t); info(gid_t); --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch index c15b6e7d8..5f2178734 100644 --- a/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch +++ b/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch @@ -1,7 +1,7 @@ -From 03e89da266edf70121a19ffc32a78cc3b97585ef Mon Sep 17 00:00:00 2001 +From 06915b70735caa66987af758ebdc4207757ae758 Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Tue, 10 Oct 2017 14:33:30 -0700 -Subject: [PATCH 12/26] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() +Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to do and it's not portable (not supported by musl). See: @@ -25,20 +25,22 @@ just historical and not actually necessary or desired behaviour? Upstream-Status: Inappropriate [musl specific] Signed-off-by: Andre McCurdy + --- - src/basic/fs-util.h | 22 +++++++++++++++++++++- + src/basic/fs-util.h | 23 +++++++++++++++++++++-- src/shared/base-filesystem.c | 6 +++--- - 2 files changed, 24 insertions(+), 4 deletions(-) + 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h -index 5dc8853eac..0491b3dae2 100644 +index 027037f7a7..16eb379caf 100644 --- a/src/basic/fs-util.h +++ b/src/basic/fs-util.h -@@ -43,7 +43,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); +@@ -44,8 +44,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); int fd_warn_permissions(const char *path, int fd); int stat_warn_permissions(const char *path, const struct stat *st); --#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) +-#define laccess(path, mode) \ +- (faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) < 0 ? -errno : 0) +/* + Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to + do and it's not portable (not supported by musl). See: @@ -94,6 +96,3 @@ index 1d05409086..1ed06c31ab 100644 continue; } --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch index 89736bcfd..51b145729 100644 --- a/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch +++ b/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch @@ -1,8 +1,7 @@ -From dd134880e9a16595ab473934577e873c748e9c7a Mon Sep 17 00:00:00 2001 +From 0c44af262cfa07c57db4b32de1f7610af47797f4 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 27 May 2018 08:36:44 -0700 -Subject: [PATCH 13/26] Define glibc compatible basename() for non-glibc - systems +Subject: [PATCH] Define glibc compatible basename() for non-glibc systems Fixes builds with musl, even though systemd is adamant about using non-posix basename implementation, we have a way out @@ -10,12 +9,13 @@ using non-posix basename implementation, we have a way out Upstream-Status: Inappropriate [musl specific] Signed-off-by: Khem Raj + --- src/machine/machine-dbus.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c -index f5780f1aec..aec5825b3e 100644 +index 3a1e4f9072..ab87b9882c 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -11,6 +11,11 @@ @@ -30,6 +30,3 @@ index f5780f1aec..aec5825b3e 100644 #include "alloc-util.h" #include "bus-common-errors.h" #include "bus-get-properties.h" --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch index e95d2ae07..7444d4375 100644 --- a/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch +++ b/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch @@ -1,7 +1,7 @@ -From 55af446156da863b5b36a1109845858956a4c274 Mon Sep 17 00:00:00 2001 +From 0f4b60e34a806055c678eb97a7ec7e21291bcf48 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Wed, 4 Jul 2018 15:00:44 +0800 -Subject: [PATCH 14/26] Do not disable buffering when writing to oom_score_adj +Subject: [PATCH] Do not disable buffering when writing to oom_score_adj On musl, disabling buffering when writing to oom_score_adj will cause the following error. @@ -19,15 +19,16 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi [rebased for systemd 243] Signed-off-by: Scott Murray + --- src/basic/process-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/process-util.c b/src/basic/process-util.c -index 4417101569..556dab8ebf 100644 +index caa9dfe3a3..6101f43db5 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c -@@ -1536,7 +1536,7 @@ int set_oom_score_adjust(int value) { +@@ -1523,7 +1523,7 @@ int set_oom_score_adjust(int value) { sprintf(t, "%i", value); return write_string_file("/proc/self/oom_score_adj", t, @@ -36,6 +37,3 @@ index 4417101569..556dab8ebf 100644 } int pidfd_get_pid(int fd, pid_t *ret) { --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch index 5cdcf84dc..90cc70d21 100644 --- a/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch +++ b/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch @@ -1,7 +1,7 @@ -From e382845aed90cfe4496a8351d57d4466dd2e9a9c Mon Sep 17 00:00:00 2001 +From c30ab62d18ce88187f5eb6c236e0977c9337f68d Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Tue, 10 Jul 2018 15:40:17 +0800 -Subject: [PATCH 15/26] distinguish XSI-compliant strerror_r from GNU-specifi +Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi strerror_r XSI-compliant strerror_r and GNU-specifi strerror_r are different. @@ -18,28 +18,12 @@ assigned to (char *) variable, resulting in segment fault. Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi + --- - src/journal/journal-send.c | 5 +++++ - src/libsystemd/sd-bus/bus-error.c | 5 +++++ + src/libsystemd/sd-bus/bus-error.c | 5 +++++ + src/libsystemd/sd-journal/journal-send.c | 5 +++++ 2 files changed, 10 insertions(+) -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c -index e8e6ad555b..8ca5271d02 100644 ---- a/src/journal/journal-send.c -+++ b/src/journal/journal-send.c -@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove - char* j; - - errno = 0; -+#ifndef __GLIBC__ -+ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); -+ j = buffer + 8 + k; -+#else - j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); -+#endif - if (errno == 0) { - char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; - diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c index 8da2024a50..9605a9b869 100644 --- a/src/libsystemd/sd-bus/bus-error.c @@ -57,6 +41,20 @@ index 8da2024a50..9605a9b869 100644 if (errno == ERANGE || strlen(x) >= k - 1) { free(m); k *= 2; --- -2.27.0 - +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c +index e8e6ad555b..8ca5271d02 100644 +--- a/src/libsystemd/sd-journal/journal-send.c ++++ b/src/libsystemd/sd-journal/journal-send.c +@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove + char* j; + + errno = 0; ++#ifndef __GLIBC__ ++ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); ++ j = buffer + 8 + k; ++#else + j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); ++#endif + if (errno == 0) { + char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; + diff --git a/poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch index 9a125de63..de7f9ecfa 100644 --- a/poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch +++ b/poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch @@ -1,7 +1,7 @@ -From 0c7af5f288231a8c0545e169e01ba5ee173cafe7 Mon Sep 17 00:00:00 2001 +From fa86e5578256dddb296fd30128929ea7c4b792a4 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 15:18:00 +0800 -Subject: [PATCH 16/26] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP +Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP for currently unknown reasons they get exported to the shared libries even without being listed in the sym file @@ -11,6 +11,7 @@ Upstream-Status: Pending Signed-off-by: Khem Raj [Rebased for v241] Signed-off-by: Chen Qi + --- src/libsystemd/sd-bus/bus-error.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) @@ -30,6 +31,3 @@ index 9605a9b869..38b6cf90c3 100644 /* Additional maps registered with sd_bus_error_add_map() are in this * NULL terminated array */ --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch b/poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch index 31747c6b4..d9ef2b8a4 100644 --- a/poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch +++ b/poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch @@ -1,7 +1,7 @@ -From 32dd7a47b87793cd836ab4bb776d1524f24c2d58 Mon Sep 17 00:00:00 2001 +From 11e730694706fa354a0e43c588ef66677a777d9a Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 15:27:54 +0800 -Subject: [PATCH 17/26] missing_type.h: add __compar_d_fn_t definition +Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition Fix the following compile failure: src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'? @@ -9,6 +9,7 @@ src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi + --- src/basic/missing_type.h | 1 + 1 file changed, 1 insertion(+) @@ -25,6 +26,3 @@ index 3df1084ef2..697aa7f58a 100644 #endif #ifndef __COMPAR_FN_T --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch index 56d361a21..3b6085423 100644 --- a/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch +++ b/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch @@ -1,7 +1,7 @@ -From bfc3416edeb69082ac9b9c9e844f12d7b45bb006 Mon Sep 17 00:00:00 2001 +From 45bae28d3da6607d33d54f4b30a500f5249aadde Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 15:44:54 +0800 -Subject: [PATCH 18/26] avoid redefinition of prctl_mm_map structure +Subject: [PATCH] avoid redefinition of prctl_mm_map structure Fix the following compile failure: error: redefinition of 'struct prctl_mm_map' @@ -9,6 +9,7 @@ error: redefinition of 'struct prctl_mm_map' Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi + --- src/basic/missing_prctl.h | 2 ++ 1 file changed, 2 insertions(+) @@ -27,6 +28,3 @@ index ab851306ba..5547cad875 100644 /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ #ifndef PR_CAP_AMBIENT --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch b/poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch index 6ca196489..7d6433f31 100644 --- a/poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch +++ b/poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch @@ -1,16 +1,17 @@ -From e427f03de2c56e868bb0f24aa231315b2dae1b71 Mon Sep 17 00:00:00 2001 +From 6e593ff2afbe4bfe15eee2ec34e51490a38462f5 Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Fri, 7 Aug 2020 15:19:27 +0000 -Subject: [PATCH 19/26] Handle missing LOCK_EX +Subject: [PATCH] Handle missing LOCK_EX Upstream-Status: Inappropriate [musl specific] Signed-off-by: Alex Kiernan + --- src/partition/makefs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/partition/makefs.c b/src/partition/makefs.c -index fd924d2231..b97580fdcc 100644 +index 7c94fbfedb..42f966722d 100644 --- a/src/partition/makefs.c +++ b/src/partition/makefs.c @@ -6,6 +6,7 @@ @@ -21,6 +22,3 @@ index fd924d2231..b97580fdcc 100644 #include "alloc-util.h" #include "blockdev-util.h" --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch b/poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch index f74de4384..1faee1c05 100644 --- a/poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch +++ b/poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch @@ -1,7 +1,7 @@ -From 9abbc5e69e21aef0d4d4567e69302fa660b76c53 Mon Sep 17 00:00:00 2001 +From ac579b296aa29c2f1dad9425c6d795e154ec8f7c Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Fri, 7 Aug 2020 15:20:17 +0000 -Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un * +Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un * | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In function 'cant_be_in_netns': | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types] @@ -18,15 +18,16 @@ Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un * Upstream-Status: Inappropriate [musl specific] Signed-off-by: Alex Kiernan + --- src/nspawn/nspawn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 0842731c18..3528b7ff14 100644 +index a4ac8ed2bb..0c41a48d4b 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -5084,7 +5084,7 @@ static int cant_be_in_netns(void) { +@@ -5125,7 +5125,7 @@ static int cant_be_in_netns(void) { if (fd < 0) return log_error_errno(errno, "Failed to allocate udev control socket: %m"); @@ -35,6 +36,3 @@ index 0842731c18..3528b7ff14 100644 if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno)) return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch b/poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch index fa6652a5b..14c8ff73a 100644 --- a/poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch +++ b/poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch @@ -1,7 +1,7 @@ -From 1f5bc54bed0b365e7e448c26f6c792dbe8b3b198 Mon Sep 17 00:00:00 2001 +From 6bc78df50adb48d24a2abfdf65b44b932cc5a571 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Mon, 25 Feb 2019 16:53:06 +0800 -Subject: [PATCH 21/26] test-json.c: define M_PIl +Subject: [PATCH] test-json.c: define M_PIl Fix the following compile failure: src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'? @@ -9,6 +9,7 @@ src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this functi Upstream-Status: Inappropriate [musl specific] Signed-off-by: Chen Qi + --- src/test/test-json.c | 4 ++++ 1 file changed, 4 insertions(+) @@ -28,6 +29,3 @@ index 1d4b11945e..572c8cf9d0 100644 static void test_tokenizer(const char *data, ...) { unsigned line = 0, column = 0; void *state = NULL; --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch index 675fd20f1..bd627c51e 100644 --- a/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch +++ b/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch @@ -1,7 +1,7 @@ -From 564dba5ad0cd884e3f69fa19ca64095413578ea5 Mon Sep 17 00:00:00 2001 +From 7cb6579572b50ef44bc0a321a4c73cce55b0c2f2 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Fri, 1 Mar 2019 15:22:15 +0800 -Subject: [PATCH 22/26] do not disable buffer in writing files +Subject: [PATCH] do not disable buffer in writing files Do not disable buffer in writing files, otherwise we get failure at boot for musl like below. @@ -18,10 +18,12 @@ Signed-off-by: Chen Qi Signed-off-by: Andrej Valek [rebased for systemd 243] Signed-off-by: Scott Murray + --- src/basic/cgroup-util.c | 10 +++++----- src/basic/procfs-util.c | 4 ++-- src/basic/smack-util.c | 2 +- + src/basic/sysctl-util.c | 2 +- src/basic/util.c | 2 +- src/binfmt/binfmt.c | 6 +++--- src/core/main.c | 4 ++-- @@ -32,18 +34,15 @@ Signed-off-by: Scott Murray src/nspawn/nspawn-cgroup.c | 2 +- src/nspawn/nspawn.c | 6 +++--- src/shared/cgroup-setup.c | 4 ++-- - src/shared/sysctl-util.c | 2 +- src/sleep/sleep.c | 8 ++++---- - src/udev/udevadm-trigger.c | 2 +- - src/udev/udevd.c | 2 +- src/vconsole/vconsole-setup.c | 2 +- - 18 files changed, 35 insertions(+), 35 deletions(-) + 16 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c -index bb960f183c..cb804c5f4b 100644 +index 50c1ae1b2b..5b40e92163 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c -@@ -759,7 +759,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { +@@ -765,7 +765,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { sc = strstrip(contents); if (isempty(sc)) { @@ -52,7 +51,7 @@ index bb960f183c..cb804c5f4b 100644 if (r < 0) return r; } else if (!path_equal(sc, agent)) -@@ -777,7 +777,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { +@@ -783,7 +783,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { sc = strstrip(contents); if (streq(sc, "0")) { @@ -61,7 +60,7 @@ index bb960f183c..cb804c5f4b 100644 if (r < 0) return r; -@@ -804,7 +804,7 @@ int cg_uninstall_release_agent(const char *controller) { +@@ -810,7 +810,7 @@ int cg_uninstall_release_agent(const char *controller) { if (r < 0) return r; @@ -70,7 +69,7 @@ index bb960f183c..cb804c5f4b 100644 if (r < 0) return r; -@@ -814,7 +814,7 @@ int cg_uninstall_release_agent(const char *controller) { +@@ -820,7 +820,7 @@ int cg_uninstall_release_agent(const char *controller) { if (r < 0) return r; @@ -79,7 +78,7 @@ index bb960f183c..cb804c5f4b 100644 if (r < 0) return r; -@@ -1646,7 +1646,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri +@@ -1650,7 +1650,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri if (r < 0) return r; @@ -121,11 +120,24 @@ index 3362ee3924..80c0f2a52e 100644 if (r < 0) return r; +diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c +index c96b5cd77f..d2476d9665 100644 +--- a/src/basic/sysctl-util.c ++++ b/src/basic/sysctl-util.c +@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c + + log_debug("Setting '%s' to '%s'", p, value); + +- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); ++ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); + } + + int sysctl_read(const char *property, char **ret) { diff --git a/src/basic/util.c b/src/basic/util.c -index f98ecf3858..13e0f7431f 100644 +index 955b18bd2a..6d89c90176 100644 --- a/src/basic/util.c +++ b/src/basic/util.c -@@ -267,7 +267,7 @@ void disable_coredumps(void) { +@@ -234,7 +234,7 @@ void disable_coredumps(void) { if (detect_container() > 0) return; @@ -135,7 +147,7 @@ index f98ecf3858..13e0f7431f 100644 log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); } diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c -index 43ed2f385b..37a6f578f7 100644 +index f6b72e0bae..e9fd4d06be 100644 --- a/src/binfmt/binfmt.c +++ b/src/binfmt/binfmt.c @@ -48,7 +48,7 @@ static int delete_rule(const char *rule) { @@ -156,7 +168,7 @@ index 43ed2f385b..37a6f578f7 100644 if (r < 0) return log_error_errno(r, "Failed to add binary format: %m"); -@@ -223,7 +223,7 @@ static int run(int argc, char *argv[]) { +@@ -222,7 +222,7 @@ static int run(int argc, char *argv[]) { } /* Flush out all rules */ @@ -166,10 +178,10 @@ index 43ed2f385b..37a6f578f7 100644 STRV_FOREACH(f, files) { k = apply_file(*f, true); diff --git a/src/core/main.c b/src/core/main.c -index a280b756ff..334532cd42 100644 +index 3ee8d0a869..ec36e3e80f 100644 --- a/src/core/main.c +++ b/src/core/main.c -@@ -1382,7 +1382,7 @@ static int bump_unix_max_dgram_qlen(void) { +@@ -1401,7 +1401,7 @@ static int bump_unix_max_dgram_qlen(void) { if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN) return 0; @@ -178,7 +190,7 @@ index a280b756ff..334532cd42 100644 if (r < 0) return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r, "Failed to bump AF_UNIX datagram queue length, ignoring: %m"); -@@ -1666,7 +1666,7 @@ static void initialize_core_pattern(bool skip_setup) { +@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) { if (getpid_cached() != 1) return; @@ -188,7 +200,7 @@ index a280b756ff..334532cd42 100644 log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern); } diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c -index 1fe592af70..603942a000 100644 +index 8cc1696a4f..ab7b4ba2c3 100644 --- a/src/core/smack-setup.c +++ b/src/core/smack-setup.c @@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) { @@ -214,7 +226,7 @@ index 1fe592af70..603942a000 100644 log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); #endif diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c -index d8f91f4e66..a088e6e2d8 100644 +index 58e35e403e..1d0beb4008 100644 --- a/src/hibernate-resume/hibernate-resume.c +++ b/src/hibernate-resume/hibernate-resume.c @@ -45,7 +45,7 @@ int main(int argc, char *argv[]) { @@ -227,20 +239,20 @@ index d8f91f4e66..a088e6e2d8 100644 log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor); return EXIT_FAILURE; diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c -index d06f90ce1d..43d0a58750 100644 +index d82f01a164..b8fd63346c 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c -@@ -1976,7 +1976,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, +@@ -1987,7 +1987,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, if (!value) return -ENOMEM; - r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW); + r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW); if (r < 0) { - if (r == -ELOOP) - return -EINVAL; + /* On failure, clear cache entry, as we do not know how it fails. */ + device_remove_cached_sysattr_value(device, sysattr); diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c -index 7d757aa286..a5d9da5b7e 100644 +index 3bc424b83b..5f5eef0843 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -1330,7 +1330,7 @@ static int trigger_device(Manager *m, sd_device *d) { @@ -266,10 +278,10 @@ index cb01b25bc6..e92051268b 100644 log_error_errno(r, "Failed to move process: %m"); goto finish; diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 3528b7ff14..11b0c20f95 100644 +index 0c41a48d4b..9c893b18e4 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -2667,7 +2667,7 @@ static int reset_audit_loginuid(void) { +@@ -2695,7 +2695,7 @@ static int reset_audit_loginuid(void) { if (streq(p, "4294967295")) return 0; @@ -278,7 +290,7 @@ index 3528b7ff14..11b0c20f95 100644 if (r < 0) { log_error_errno(r, "Failed to reset audit login UID. This probably means that your kernel is too\n" -@@ -3920,13 +3920,13 @@ static int setup_uid_map(pid_t pid) { +@@ -3948,13 +3948,13 @@ static int setup_uid_map(pid_t pid) { xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range); @@ -316,21 +328,8 @@ index f197f715c7..077f893177 100644 if (r < 0) { log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); -diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c -index 670c33108b..7c7c3dcfb6 100644 ---- a/src/shared/sysctl-util.c -+++ b/src/shared/sysctl-util.c -@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c - - log_debug("Setting '%s' to '%s'", p, value); - -- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER); -+ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0); - } - - int sysctl_read(const char *property, char **content) { diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c -index 39ab554290..d0e566645d 100644 +index 262d4cea66..0523e8dc9b 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c @@ -48,7 +48,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca @@ -369,34 +368,8 @@ index 39ab554290..d0e566645d 100644 if (k >= 0) return 0; log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state); -diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c -index 5c74184c33..65f528314e 100644 ---- a/src/udev/udevadm-trigger.c -+++ b/src/udev/udevadm-trigger.c -@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set **settle_s - if (!filename) - return log_oom(); - -- r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(filename, action, 0); - if (r < 0) { - bool ignore = IN_SET(r, -ENOENT, -ENODEV); - -diff --git a/src/udev/udevd.c b/src/udev/udevd.c -index d24b8d4398..d123a43904 100644 ---- a/src/udev/udevd.c -+++ b/src/udev/udevd.c -@@ -1192,7 +1192,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) { - - filename = strjoina(syspath, "/uevent"); - log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath); -- r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER); -+ r = write_string_file(filename, "change", 0); - if (r < 0) - return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename); - return 0; diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c -index b28e2853e1..115b7233a0 100644 +index d1c3febdd5..1cc68694d1 100644 --- a/src/vconsole/vconsole-setup.c +++ b/src/vconsole/vconsole-setup.c @@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) { @@ -408,6 +381,3 @@ index b28e2853e1..115b7233a0 100644 if (r < 0) return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch b/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch index 1cc3985d1..7d1bd6025 100644 --- a/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch +++ b/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch @@ -1,7 +1,7 @@ -From bbda4a48a34662393117fc677c3a678d4ce4c2ec Mon Sep 17 00:00:00 2001 +From d73755cc60f401f0f20f357752e45aeeeef8e83f Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Fri, 13 Sep 2019 19:26:27 -0400 -Subject: [PATCH 25/26] Handle __cpu_mask usage +Subject: [PATCH] Handle __cpu_mask usage Fixes errors: @@ -18,6 +18,7 @@ add a typedef to cpu-set-util.h defining __cpu_mask appropriately. Upstream-Status: Inappropriate [musl specific] Signed-off-by: Scott Murray + --- src/shared/cpu-set-util.h | 2 ++ src/test/test-sizeof.c | 2 +- @@ -55,6 +56,3 @@ index e1a59d408c..c269ea6e8c 100644 /* Print information about various types. Useful when diagnosing * gcc diagnostics on an unfamiliar architecture. */ --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch index 4180afb08..068600fa4 100644 --- a/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch +++ b/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch @@ -1,7 +1,7 @@ -From 47bf88f74717b417e4adbcc04256334b2335c873 Mon Sep 17 00:00:00 2001 +From 04e94f9a15101daa8f65a9af269d26cda2a24056 Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Tue, 10 Mar 2020 11:05:20 +0000 -Subject: [PATCH 26/26] Handle missing gshadow +Subject: [PATCH] Handle missing gshadow gshadow usage is now present in the userdb code. Mask all uses of it to allow compilation on musl @@ -10,6 +10,7 @@ Upstream-Status: Inappropriate [musl specific] Signed-off-by: Alex Kiernan [Rebased for v247] Signed-off-by: Luca Boccassi + --- src/shared/user-record-nss.c | 20 ++++++++++++++++++++ src/shared/user-record-nss.h | 4 ++++ @@ -138,10 +139,10 @@ index 22ab04d6ee..4e52e7a911 100644 #include diff --git a/src/shared/userdb.c b/src/shared/userdb.c -index 2d480283d1..0d19764f2e 100644 +index 613350bd46..5c821d28cd 100644 --- a/src/shared/userdb.c +++ b/src/shared/userdb.c -@@ -929,13 +929,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { +@@ -938,13 +938,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { if (gr) { _cleanup_free_ char *buffer = NULL; bool incomplete = false; @@ -155,10 +156,10 @@ index 2d480283d1..0d19764f2e 100644 iterator->synthesize_nobody = false; +#if ENABLE_GSHADOW - r = nss_sgrp_for_group(gr, &sgrp, &buffer); - if (r < 0) { - log_debug_errno(r, "Failed to acquire shadow entry for group %s, ignoring: %m", gr->gr_name); -@@ -943,6 +946,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { + if (!FLAGS_SET(iterator->flags, USERDB_AVOID_SHADOW)) { + r = nss_sgrp_for_group(gr, &sgrp, &buffer); + if (r < 0) { +@@ -957,6 +960,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { } r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); @@ -168,6 +169,3 @@ index 2d480283d1..0d19764f2e 100644 if (r < 0) return r; --- -2.27.0 - diff --git a/poky/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch b/poky/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch deleted file mode 100644 index 94a4c307b..000000000 --- a/poky/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 297aba739cd689e4dc9f43bb1422ec88d481099a Mon Sep 17 00:00:00 2001 -From: Paul Gortmaker -Date: Wed, 13 Jan 2021 21:09:33 +0000 -Subject: [PATCH] proc: dont trigger mount error with invalid options on old - kernels - -As of commit 4e39995371738b04d98d27b0d34ea8fe09ec9fab ("core: introduce -ProtectProc= and ProcSubset= to expose hidepid= and subset= procfs -mount options") kernels older than v5.8 generate multple warnings at -boot, as seen in this Yocto build from today: - - qemux86-64 login: root - [ 65.829009] proc: Bad value for 'hidepid' - root@qemux86-64:~# dmesg|grep proc: - [ 16.990706] proc: Bad value for 'hidepid' - [ 28.060178] proc: Bad value for 'hidepid' - [ 28.874229] proc: Bad value for 'hidepid' - [ 32.685107] proc: Bad value for 'hidepid' - [ 65.829009] proc: Bad value for 'hidepid' - root@qemux86-64:~# - -The systemd maintainer has dismissed this as something people should -simply ignore[1] and has no interest in trying to avoid it by -proactively checking the kernel version, so people can safely assume -that they will never see this version check commit upstream. - -However, as can be seen above, telling people to just ignore it is not -an option, as we'll end up answering the same question and dealing with -the same bug over and over again. - -The commit that triggers this is systemd v247-rc1~378^2~3 -- so any -systemd 247 and above plus kernel v5.7 or older will need this. - -[1] https://github.com/systemd/systemd/issues/16896 - -Upstream-Status: Denied [https://github.com/systemd/systemd/issues/16896] -Signed-off-by: Paul Gortmaker - -Index: git/src/core/namespace.c -=================================================================== ---- git.orig/src/core/namespace.c -+++ git/src/core/namespace.c -@@ -4,7 +4,9 @@ - #include - #include - #include -+#include - #include -+#include - #include - #include - -@@ -860,13 +862,32 @@ static int mount_sysfs(const MountEntry - - static int mount_procfs(const MountEntry *m, const NamespaceInfo *ns_info) { - const char *entry_path; -- int r; -+ int r, major, minor; -+ struct utsname uts; -+ bool old = false; - - assert(m); - assert(ns_info); - - entry_path = mount_entry_path(m); - -+ /* If uname says that the system is older than v5.8, then the textual hidepid= stuff is not -+ * supported by the kernel, and thus the per-instance hidepid= neither, which means we -+ * really don't want to use it, since it would affect our host's /proc * mount. Hence let's -+ * gracefully fallback to a classic, unrestricted version. */ -+ -+ r = uname(&uts); -+ if (r < 0) -+ return errno; -+ -+ major = atoi(uts.release); -+ minor = atoi(strchr(uts.release, '.') + 1); -+ -+ if (major < 5 || (major == 5 && minor < 8)) { -+ log_debug("Pre v5.8 kernel detected [v%d.%d] - skipping hidepid=", major, minor); -+ old = true; -+ } -+ - /* Mount a new instance, so that we get the one that matches our user namespace, if we are running in - * one. i.e we don't reuse existing mounts here under any condition, we want a new instance owned by - * our user namespace and with our hidepid= settings applied. Hence, let's get rid of everything -@@ -875,8 +896,8 @@ static int mount_procfs(const MountEntry - (void) mkdir_p_label(entry_path, 0755); - (void) umount_recursive(entry_path, 0); - -- if (ns_info->protect_proc != PROTECT_PROC_DEFAULT || -- ns_info->proc_subset != PROC_SUBSET_ALL) { -+ if (!old && (ns_info->protect_proc != PROTECT_PROC_DEFAULT || -+ ns_info->proc_subset != PROC_SUBSET_ALL)) { - _cleanup_free_ char *opts = NULL; - - /* Starting with kernel 5.8 procfs' hidepid= logic is truly per-instance (previously it diff --git a/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch index bbee6e6b2..2289404d8 100644 --- a/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch +++ b/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch @@ -1,4 +1,4 @@ -From 7b32582c066549fea0f7180a6c575e7fa37a867f Mon Sep 17 00:00:00 2001 +From 366cd28f5f93ba7c861cd32a718251770d74830e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 12 Apr 2021 23:44:53 -0700 Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl @@ -10,15 +10,16 @@ them here in case they are undefined Upstream-Status: Pending Signed-off-by: Khem Raj + --- src/basic/missing_syscall.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h -index 0594a1b930..495d161334 100644 +index 1384324804..0202d00372 100644 --- a/src/basic/missing_syscall.h +++ b/src/basic/missing_syscall.h -@@ -15,6 +15,12 @@ +@@ -20,6 +20,12 @@ #include #endif @@ -28,9 +29,6 @@ index 0594a1b930..495d161334 100644 +#define _MIPS_SIM_ABI64 3 +#endif + - #if defined(__x86_64__) && defined(__ILP32__) - # define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000) - #elif defined(__ia64__) --- -2.31.1 - + #include "missing_keyctl.h" + #include "missing_stat.h" + #include "missing_syscall_def.h" diff --git a/poky/meta/recipes-core/systemd/systemd_247.6.bb b/poky/meta/recipes-core/systemd/systemd_247.6.bb deleted file mode 100644 index ce6ac7eba..000000000 --- a/poky/meta/recipes-core/systemd/systemd_247.6.bb +++ /dev/null @@ -1,767 +0,0 @@ -require systemd.inc - -PROVIDES = "udev" - -PE = "1" - -DEPENDS = "intltool-native gperf-native libcap util-linux" - -SECTION = "base/shell" - -inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check - -# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so -# that we don't build both udev and systemd in world builds. -REQUIRED_DISTRO_FEATURES = "systemd" - -SRC_URI += "file://touchscreen.rules \ - file://00-create-volatile.conf \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \ - file://init \ - file://99-default.preset \ - file://systemd-pager.sh \ - file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ - file://0003-implment-systemd-sysv-install-for-OE.patch \ - file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \ - file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \ - file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \ - file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \ - " - -# patches needed by musl -SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" -SRC_URI_MUSL = "\ - file://0002-don-t-use-glibc-specific-qsort_r.patch \ - file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \ - file://0004-add-fallback-parse_printf_format-implementation.patch \ - file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \ - file://0006-Include-netinet-if_ether.h.patch \ - file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ - file://0008-add-missing-FTW_-macros-for-musl.patch \ - file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ - file://0010-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ - file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ - file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ - file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ - file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ - file://0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \ - file://0017-missing_type.h-add-__compar_d_fn_t-definition.patch \ - file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \ - file://0019-Handle-missing-LOCK_EX.patch \ - file://0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch \ - file://0021-test-json.c-define-M_PIl.patch \ - file://0022-do-not-disable-buffer-in-writing-files.patch \ - file://0025-Handle-__cpu_mask-usage.patch \ - file://0026-Handle-missing-gshadow.patch \ - file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ - " - -PAM_PLUGINS = " \ - pam-plugin-unix \ - pam-plugin-loginuid \ - pam-plugin-keyinit \ -" - -PACKAGECONFIG ??= " \ - ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit seccomp', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ - backlight \ - binfmt \ - gshadow \ - hibernate \ - hostnamed \ - idn \ - ima \ - kmod \ - localed \ - logind \ - machined \ - myhostname \ - networkd \ - nss \ - nss-mymachines \ - nss-resolve \ - quotacheck \ - randomseed \ - resolved \ - set-time-epoch \ - sysusers \ - sysvinit \ - timedated \ - timesyncd \ - userdb \ - utmp \ - vconsole \ - xz \ -" - -PACKAGECONFIG_remove_libc-musl = " \ - gshadow \ - idn \ - localed \ - myhostname \ - nss \ - nss-mymachines \ - nss-resolve \ - sysusers \ - userdb \ - utmp \ -" - -CFLAGS_append_libc-musl = " -D__UAPI_DEF_ETHHDR=0 " - -# Some of the dependencies are weak-style recommends - if not available at runtime, -# systemd won't fail but the library-related feature will be skipped with a warning. - -# Use the upstream systemd serial-getty@.service and rely on -# systemd-getty-generator instead of using the OE-core specific -# systemd-serialgetty.bb - not enabled by default. -PACKAGECONFIG[serial-getty-generator] = "" - -PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl" -PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit" -PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" -PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" -PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2" -PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid" -PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" -PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup" -PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" -PACKAGECONFIG[efi] = "-Defi=true,-Defi=false" -PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi" -PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils" -PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" -# Sign the journal for anti-tampering -PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt" -PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" -PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" -PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" -PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" -PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" -PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" -# importd requires journal-upload/xz/zlib/bzip2/gcrypt -PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false" -# Update NAT firewall rules -PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables" -PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl" -PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod" -PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig" -PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn" -PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2" -PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false" -PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false" -PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4" -PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" -PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" -PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" -PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false" -PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" -PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false" -PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false" -PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl" -PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}" -PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2" -PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false" -# If polkit is disabled and networkd+hostnamed are in use, enabling this option and -# using dbus-broker will allow networkd to be authorized to change the -# hostname without acquiring additional privileges -PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit" -PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false" -PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode" -PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false" -PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false" -PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false" -PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false" -PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" -PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell" -PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" -PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" -PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d" -# When enabled use reproducble build timestamp if set as time epoch, -# or build time if not. When disabled, time epoch is unset. -def build_epoch(d): - epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1" - return '-Dtime-epoch=%d' % int(epoch) -PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" -PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" -PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" -PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true" -PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true" -PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false" -PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false" -PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind" -PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup" -PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" -# Verify keymaps on locale change -PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon" -PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz" -PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib" - -# Helper variables to clarify locations. This mirrors the logic in systemd's -# build system. -rootprefix ?= "${root_prefix}" -rootlibdir ?= "${base_libdir}" -rootlibexecdir = "${rootprefix}/lib" - -# This links udev statically with systemd helper library. -# Otherwise udev package would depend on systemd package (which has the needed shared library), -# and always pull it into images. -EXTRA_OEMESON += "-Dlink-udev-shared=false" - -EXTRA_OEMESON += "-Dnobody-user=nobody \ - -Dnobody-group=nobody \ - -Drootlibdir=${rootlibdir} \ - -Drootprefix=${rootprefix} \ - -Ddefault-locale=C \ - -Dmode=release \ - -Dsystem-alloc-uid-min=101 \ - -Dsystem-uid-max=999 \ - -Dsystem-alloc-gid-min=101 \ - -Dsystem-gid-max=999 \ - " - -# Hardcode target binary paths to avoid using paths from sysroot -EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \ - -Dkmod-path=${base_bindir}/kmod \ - -Dmount-path=${base_bindir}/mount \ - -Dquotacheck-path=${sbindir}/quotacheck \ - -Dquotaon-path=${sbindir}/quotaon \ - -Dsulogin-path=${base_sbindir}/sulogin \ - -Dnologin-path=${base_sbindir}/nologin \ - -Dumount-path=${base_bindir}/umount" - -do_install() { - meson_do_install - install -d ${D}/${base_sbindir} - if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then - # Provided by a separate recipe - rm ${D}${systemd_unitdir}/system/serial-getty* -f - fi - - # Provide support for initramfs - [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init - [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd - - install -d ${D}${sysconfdir}/udev/rules.d/ - install -d ${D}${sysconfdir}/tmpfiles.d - for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do - install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ - done - - install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ - - if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd - sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd - install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install - fi - - chown root:systemd-journal ${D}/${localstatedir}/log/journal - - # Delete journal README, as log can be symlinked inside volatile. - rm -f ${D}/${localstatedir}/log/README - - # journal-remote creates this at start - rm -rf ${D}/${localstatedir}/log/journal/remote - - install -d ${D}${systemd_unitdir}/system/graphical.target.wants - install -d ${D}${systemd_unitdir}/system/multi-user.target.wants - install -d ${D}${systemd_unitdir}/system/poweroff.target.wants - install -d ${D}${systemd_unitdir}/system/reboot.target.wants - install -d ${D}${systemd_unitdir}/system/rescue.target.wants - - # Create symlinks for systemd-update-utmp-runlevel.service - if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service - ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service - fi - - # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it - # for existence else it fails - if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then - ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)} - fi - if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then - echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf - echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf - echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf - ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd - else - sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf - ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd - fi - if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then - rm ${D}${exec_prefix}/lib/tmpfiles.d/x11.conf - rm -r ${D}${sysconfdir}/X11 - fi - - # If polkit is setup fixup permissions and ownership - if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then - if [ -d ${D}${datadir}/polkit-1/rules.d ]; then - chmod 700 ${D}${datadir}/polkit-1/rules.d - chown polkitd:root ${D}${datadir}/polkit-1/rules.d - fi - fi - - # If polkit is not available and a fallback was requested, install a drop-in that allows networkd to - # request hostname changes via DBUS without elevating its privileges - if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/ - install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/ - install -d ${D}${datadir}/dbus-1/system.d/ - install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ - fi - - # create link for existing udev rules - ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm - - # duplicate udevadm for postinst script - install -d ${D}${libexecdir} - ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm - - # install default policy for presets - # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto - install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset - - # add a profile fragment to disable systemd pager with busybox less - install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh -} - -python populate_packages_prepend (){ - systemdlibdir = d.getVar("rootlibdir") - do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) -} -PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*" - -PACKAGE_BEFORE_PN = "\ - ${PN}-gui \ - ${PN}-vconsole-setup \ - ${PN}-initramfs \ - ${PN}-analyze \ - ${PN}-kernel-install \ - ${PN}-rpm-macros \ - ${PN}-binfmt \ - ${PN}-zsh-completion \ - ${PN}-container \ - ${PN}-journal-gatewayd \ - ${PN}-journal-upload \ - ${PN}-journal-remote \ - ${PN}-extra-utils \ - ${PN}-udev-rules \ - udev \ - udev-hwdb \ -" - -SUMMARY_${PN}-container = "Tools for containers and VMs" -DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines." - -SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events" -DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default." - -SUMMARY_${PN}-journal-upload = "Send journal messages over the network" -DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL." - -SUMMARY_${PN}-journal-remote = "Receive journal messages over the network" -DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files." - -SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ -" -SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service" - -USERADD_PACKAGES = "${PN} ${PN}-extra-utils \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ -" -GROUPADD_PARAM_${PN} = "-r systemd-journal;" -GROUPADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}" -USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" -USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy" -USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway" -USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote" -USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload" - -FILES_${PN}-analyze = "${bindir}/systemd-analyze" - -FILES_${PN}-initramfs = "/init" -RDEPENDS_${PN}-initramfs = "${PN}" - -FILES_${PN}-gui = "${bindir}/systemadm" - -FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \ - ${systemd_unitdir}/system/systemd-vconsole-setup.service \ - ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service" - -RDEPENDS_${PN}-kernel-install += "bash" -FILES_${PN}-kernel-install = "${bindir}/kernel-install \ - ${sysconfdir}/kernel/ \ - ${exec_prefix}/lib/kernel \ - " -FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \ - " - -FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" - -FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ - ${exec_prefix}/lib/binfmt.d \ - ${rootlibexecdir}/systemd/systemd-binfmt \ - ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \ - ${systemd_unitdir}/system/systemd-binfmt.service" -RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc" - -RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps" - - -FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \ - ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ - ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ - ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \ - ${datadir}/systemd/gatewayd/browse.html \ - " -SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket" - -FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \ - ${systemd_system_unitdir}/systemd-journal-upload.service \ - ${sysconfdir}/systemd/journal-upload.conf \ - " -SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service" - -FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \ - ${sysconfdir}/systemd/journal-remote.conf \ - ${systemd_system_unitdir}/systemd-journal-remote.service \ - ${systemd_system_unitdir}/systemd-journal-remote.socket \ - " -SYSTEMD_SERVICE_${PN}-journal-remote = "systemd-journal-remote.socket" - - -FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ - ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ - ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ - ${base_bindir}/machinectl \ - ${bindir}/systemd-nspawn \ - ${nonarch_libdir}/systemd/import-pubring.gpg \ - ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \ - ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \ - ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \ - ${systemd_system_unitdir}/machine.slice \ - ${systemd_system_unitdir}/machines.target \ - ${systemd_system_unitdir}/org.freedesktop.import1.busname \ - ${systemd_system_unitdir}/org.freedesktop.machine1.busname \ - ${systemd_system_unitdir}/systemd-importd.service \ - ${systemd_system_unitdir}/systemd-machined.service \ - ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \ - ${systemd_system_unitdir}/var-lib-machines.mount \ - ${rootlibexecdir}/systemd/systemd-import \ - ${rootlibexecdir}/systemd/systemd-importd \ - ${rootlibexecdir}/systemd/systemd-machined \ - ${rootlibexecdir}/systemd/systemd-pull \ - ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ - ${systemd_system_unitdir}/systemd-nspawn@.service \ - ${libdir}/libnss_mymachines.so.2 \ - ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \ - ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \ - ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \ - ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \ - ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \ - " - -# "machinectl import-tar" uses "tar --numeric-owner", not supported by busybox. -RRECOMMENDS_${PN}-container += "\ - ${PN}-journal-gatewayd \ - ${PN}-journal-remote \ - ${PN}-journal-upload \ - kernel-module-dm-mod \ - kernel-module-loop \ - kernel-module-tun \ - tar \ - " - -FILES_${PN}-extra-utils = "\ - ${base_bindir}/systemd-escape \ - ${base_bindir}/systemd-inhibit \ - ${bindir}/systemd-detect-virt \ - ${bindir}/systemd-dissect \ - ${bindir}/systemd-path \ - ${bindir}/systemd-run \ - ${bindir}/systemd-cat \ - ${bindir}/systemd-delta \ - ${bindir}/systemd-cgls \ - ${bindir}/systemd-cgtop \ - ${bindir}/systemd-stdio-bridge \ - ${base_bindir}/systemd-ask-password \ - ${base_bindir}/systemd-tty-ask-password-agent \ - ${systemd_unitdir}/system/systemd-ask-password-console.path \ - ${systemd_unitdir}/system/systemd-ask-password-console.service \ - ${systemd_unitdir}/system/systemd-ask-password-wall.path \ - ${systemd_unitdir}/system/systemd-ask-password-wall.service \ - ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \ - ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \ - ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \ - ${rootlibexecdir}/systemd/systemd-resolve-host \ - ${rootlibexecdir}/systemd/systemd-ac-power \ - ${rootlibexecdir}/systemd/systemd-activate \ - ${rootlibexecdir}/systemd/systemd-bus-proxyd \ - ${systemd_unitdir}/system/systemd-bus-proxyd.service \ - ${systemd_unitdir}/system/systemd-bus-proxyd.socket \ - ${rootlibexecdir}/systemd/systemd-socket-proxyd \ - ${rootlibexecdir}/systemd/systemd-reply-password \ - ${rootlibexecdir}/systemd/systemd-sleep \ - ${rootlibexecdir}/systemd/system-sleep \ - ${systemd_unitdir}/system/systemd-hibernate.service \ - ${systemd_unitdir}/system/systemd-hybrid-sleep.service \ - ${systemd_unitdir}/system/systemd-suspend.service \ - ${systemd_unitdir}/system/sleep.target \ - ${rootlibexecdir}/systemd/systemd-initctl \ - ${systemd_unitdir}/system/systemd-initctl.service \ - ${systemd_unitdir}/system/systemd-initctl.socket \ - ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \ - ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ - ${rootlibexecdir}/systemd/systemd-cgroups-agent \ -" - -FILES_${PN}-udev-rules = "\ - ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \ - ${rootlibexecdir}/udev/rules.d/71-seat.rules \ - ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \ - ${rootlibexecdir}/udev/rules.d/99-systemd.rules \ -" - -CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \ - ${sysconfdir}/systemd/journald.conf \ - ${sysconfdir}/systemd/logind.conf \ - ${sysconfdir}/systemd/networkd.conf \ - ${sysconfdir}/systemd/pstore.conf \ - ${sysconfdir}/systemd/resolved.conf \ - ${sysconfdir}/systemd/sleep.conf \ - ${sysconfdir}/systemd/system.conf \ - ${sysconfdir}/systemd/timesyncd.conf \ - ${sysconfdir}/systemd/user.conf \ -" - -FILES_${PN} = " ${base_bindir}/* \ - ${base_sbindir}/shutdown \ - ${base_sbindir}/halt \ - ${base_sbindir}/poweroff \ - ${base_sbindir}/runlevel \ - ${base_sbindir}/telinit \ - ${base_sbindir}/resolvconf \ - ${base_sbindir}/reboot \ - ${base_sbindir}/init \ - ${datadir}/dbus-1/services \ - ${datadir}/dbus-1/system-services \ - ${datadir}/polkit-1 \ - ${datadir}/${BPN} \ - ${datadir}/factory \ - ${sysconfdir}/dbus-1/ \ - ${sysconfdir}/modules-load.d/ \ - ${sysconfdir}/pam.d/ \ - ${sysconfdir}/profile.d/ \ - ${sysconfdir}/sysctl.d/ \ - ${sysconfdir}/systemd/ \ - ${sysconfdir}/tmpfiles.d/ \ - ${sysconfdir}/xdg/ \ - ${sysconfdir}/init.d/README \ - ${sysconfdir}/resolv-conf.systemd \ - ${sysconfdir}/X11/xinit/xinitrc.d/* \ - ${rootlibexecdir}/systemd/* \ - ${libdir}/pam.d \ - ${nonarch_libdir}/pam.d \ - ${systemd_unitdir}/* \ - ${base_libdir}/security/*.so \ - /cgroup \ - ${bindir}/systemd* \ - ${bindir}/busctl \ - ${bindir}/coredumpctl \ - ${bindir}/localectl \ - ${bindir}/hostnamectl \ - ${bindir}/resolvectl \ - ${bindir}/timedatectl \ - ${bindir}/bootctl \ - ${bindir}/oomctl \ - ${exec_prefix}/lib/tmpfiles.d/*.conf \ - ${exec_prefix}/lib/systemd \ - ${exec_prefix}/lib/modules-load.d \ - ${exec_prefix}/lib/sysctl.d \ - ${exec_prefix}/lib/sysusers.d \ - ${exec_prefix}/lib/environment.d \ - ${localstatedir} \ - ${rootlibexecdir}/modprobe.d/systemd.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \ - ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \ - ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \ - ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \ - " - -FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" - -RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck" -RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" -RDEPENDS_${PN} += "volatile-binds" - -RRECOMMENDS_${PN} += "systemd-extra-utils \ - udev-hwdb \ - e2fsprogs-e2fsck \ - kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \ - os-release \ - systemd-conf \ -" - -INSANE_SKIP_${PN} += "dev-so libdir" -INSANE_SKIP_${PN}-dbg += "libdir" -INSANE_SKIP_${PN}-doc += " libdir" - -RPROVIDES_udev = "hotplug" - -RDEPENDS_udev-hwdb += "udev" - -FILES_udev += "${base_sbindir}/udevd \ - ${rootlibexecdir}/systemd/network/99-default.link \ - ${rootlibexecdir}/systemd/systemd-udevd \ - ${rootlibexecdir}/udev/accelerometer \ - ${rootlibexecdir}/udev/ata_id \ - ${rootlibexecdir}/udev/cdrom_id \ - ${rootlibexecdir}/udev/collect \ - ${rootlibexecdir}/udev/fido_id \ - ${rootlibexecdir}/udev/findkeyboards \ - ${rootlibexecdir}/udev/keyboard-force-release.sh \ - ${rootlibexecdir}/udev/keymap \ - ${rootlibexecdir}/udev/mtd_probe \ - ${rootlibexecdir}/udev/scsi_id \ - ${rootlibexecdir}/udev/v4l_id \ - ${rootlibexecdir}/udev/keymaps \ - ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \ - ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \ - ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \ - ${rootlibexecdir}/udev/rules.d/60-block.rules \ - ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \ - ${rootlibexecdir}/udev/rules.d/60-drm.rules \ - ${rootlibexecdir}/udev/rules.d/60-evdev.rules \ - ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \ - ${rootlibexecdir}/udev/rules.d/60-input-id.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \ - ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \ - ${rootlibexecdir}/udev/rules.d/60-sensor.rules \ - ${rootlibexecdir}/udev/rules.d/60-serial.rules \ - ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \ - ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \ - ${rootlibexecdir}/udev/rules.d/70-joystick.rules \ - ${rootlibexecdir}/udev/rules.d/70-mouse.rules \ - ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \ - ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \ - ${rootlibexecdir}/udev/rules.d/75-net-description.rules \ - ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \ - ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \ - ${rootlibexecdir}/udev/rules.d/80-drivers.rules \ - ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \ - ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \ - ${sysconfdir}/udev \ - ${sysconfdir}/init.d/systemd-udevd \ - ${systemd_unitdir}/system/*udev* \ - ${systemd_unitdir}/system/*.wants/*udev* \ - ${base_bindir}/systemd-hwdb \ - ${base_bindir}/udevadm \ - ${base_sbindir}/udevadm \ - ${libexecdir}/${MLPREFIX}udevadm \ - ${datadir}/bash-completion/completions/udevadm \ - ${systemd_unitdir}/system/systemd-hwdb-update.service \ - " - -FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \ - " - -RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" - -INITSCRIPT_PACKAGES = "udev" -INITSCRIPT_NAME_udev = "systemd-udevd" -INITSCRIPT_PARAMS_udev = "start 03 S ." - -python __anonymous() { - if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): - d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") -} - -python do_warn_musl() { - if d.getVar('TCLIBC') == "musl": - bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.") -} -addtask warn_musl before do_configure - -ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" - -ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" -ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" -ALTERNATIVE_PRIORITY[resolv-conf] ?= "50" - -ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" -ALTERNATIVE_PRIORITY[halt] ?= "300" - -ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot" -ALTERNATIVE_PRIORITY[reboot] ?= "300" - -ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown" -ALTERNATIVE_PRIORITY[shutdown] ?= "300" - -ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" -ALTERNATIVE_PRIORITY[poweroff] ?= "300" - -ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl" -ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" -ALTERNATIVE_PRIORITY[runlevel] ?= "300" - -pkg_postinst_${PN}_libc-glibc () { - sed -e '/^hosts:/s/\s*\//' \ - -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 myhostname \3\4\5/' \ - -i $D${sysconfdir}/nsswitch.conf -} - -pkg_prerm_${PN}_libc-glibc () { - sed -e '/^hosts:/s/\s*\//' \ - -e '/^hosts:/s/\s*myhostname//' \ - -i $D${sysconfdir}/nsswitch.conf -} - -PACKAGE_WRITE_DEPS += "qemu-native" -pkg_postinst_udev-hwdb () { - if test -n "$D"; then - $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" - else - udevadm hwdb --update - fi -} - -pkg_prerm_udev-hwdb () { - rm -f $D${sysconfdir}/udev/hwdb.bin -} diff --git a/poky/meta/recipes-core/systemd/systemd_248.3.bb b/poky/meta/recipes-core/systemd/systemd_248.3.bb new file mode 100644 index 000000000..4e6565649 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd_248.3.bb @@ -0,0 +1,771 @@ +require systemd.inc + +PROVIDES = "udev" + +PE = "1" + +DEPENDS = "intltool-native gperf-native libcap util-linux" + +SECTION = "base/shell" + +inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages features_check + +# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so +# that we don't build both udev and systemd in world builds. +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI += " \ + file://touchscreen.rules \ + file://00-create-volatile.conf \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \ + file://init \ + file://99-default.preset \ + file://systemd-pager.sh \ + file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ + file://0003-implment-systemd-sysv-install-for-OE.patch \ + file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \ + file://0001-test-parse-argument-Include-signal.h.patch \ + " + +# patches needed by musl +SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" +SRC_URI_MUSL = "\ + file://0002-don-t-use-glibc-specific-qsort_r.patch \ + file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \ + file://0004-add-fallback-parse_printf_format-implementation.patch \ + file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \ + file://0006-Include-netinet-if_ether.h.patch \ + file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ + file://0008-add-missing-FTW_-macros-for-musl.patch \ + file://0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ + file://0010-Use-uintmax_t-for-handling-rlim_t.patch \ + file://0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ + file://0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ + file://0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ + file://0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ + file://0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ + file://0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \ + file://0017-missing_type.h-add-__compar_d_fn_t-definition.patch \ + file://0018-avoid-redefinition-of-prctl_mm_map-structure.patch \ + file://0019-Handle-missing-LOCK_EX.patch \ + file://0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch \ + file://0021-test-json.c-define-M_PIl.patch \ + file://0022-do-not-disable-buffer-in-writing-files.patch \ + file://0025-Handle-__cpu_mask-usage.patch \ + file://0026-Handle-missing-gshadow.patch \ + file://0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ + " + +PAM_PLUGINS = " \ + pam-plugin-unix \ + pam-plugin-loginuid \ + pam-plugin-keyinit \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit seccomp', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ + backlight \ + binfmt \ + gshadow \ + hibernate \ + hostnamed \ + idn \ + ima \ + kmod \ + localed \ + logind \ + machined \ + myhostname \ + networkd \ + nss \ + nss-mymachines \ + nss-resolve \ + quotacheck \ + randomseed \ + resolved \ + set-time-epoch \ + sysusers \ + sysvinit \ + timedated \ + timesyncd \ + userdb \ + utmp \ + vconsole \ + xz \ +" + +PACKAGECONFIG_remove_libc-musl = " \ + gshadow \ + idn \ + localed \ + myhostname \ + nss \ + nss-mymachines \ + nss-resolve \ + sysusers \ + userdb \ + utmp \ +" + +CFLAGS_append_libc-musl = " -D__UAPI_DEF_ETHHDR=0 " + +# Some of the dependencies are weak-style recommends - if not available at runtime, +# systemd won't fail but the library-related feature will be skipped with a warning. + +# Use the upstream systemd serial-getty@.service and rely on +# systemd-getty-generator instead of using the OE-core specific +# systemd-serialgetty.bb - not enabled by default. +PACKAGECONFIG[serial-getty-generator] = "" + +PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl" +PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit" +PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false" +PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false" +PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2" +PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid" +PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false" +PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup,,cryptsetup" +PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus" +PACKAGECONFIG[efi] = "-Defi=true,-Defi=false" +PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi" +PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils" +PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false" +# Sign the journal for anti-tampering +PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt" +PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" +PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" +PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false" +PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false" +PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" +PACKAGECONFIG[ima] = "-Dima=true,-Dima=false" +# importd requires journal-upload/xz/zlib/bzip2/gcrypt +PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false" +# Update NAT firewall rules +PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables" +PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl" +PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod" +PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false,,ldconfig" +PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn,,libidn" +PACKAGECONFIG[libidn2] = "-Dlibidn2=true,-Dlibidn2=false,libidn2,,libidn2" +PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false" +PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false" +PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4" +PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false" +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd" +PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname" +PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false" +PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false" +PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false" +PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false" +PACKAGECONFIG[oomd] = "-Doomd=true,-Doomd=false" +PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl" +PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}" +PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2" +PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false" +# If polkit is disabled and networkd+hostnamed are in use, enabling this option and +# using dbus-broker will allow networkd to be authorized to change the +# hostname without acquiring additional privileges +PACKAGECONFIG[polkit_hostnamed_fallback] = ",,,,dbus-broker,polkit" +PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false" +PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode,,qrencode" +PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false" +PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false" +PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false" +PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false" +PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" +PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell" +PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false" +PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false" +PACKAGECONFIG[sysvinit] = "-Dsysvinit-path=${sysconfdir}/init.d -Dsysvrcnd-path=${sysconfdir},-Dsysvinit-path= -Dsysvrcnd-path=,,systemd-compat-units update-rc.d" +# When enabled use reproducble build timestamp if set as time epoch, +# or build time if not. When disabled, time epoch is unset. +def build_epoch(d): + epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1" + return '-Dtime-epoch=%d' % int(epoch) +PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0" +PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false" +PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false" +PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true" +PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true" +PACKAGECONFIG[userdb] = "-Duserdb=true,-Duserdb=false" +PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false" +PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind" +PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup" +PACKAGECONFIG[xdg-autostart] = "-Dxdg-autostart=true,-Dxdg-autostart=false" +# Verify keymaps on locale change +PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon" +PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz" +PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib" + +# Helper variables to clarify locations. This mirrors the logic in systemd's +# build system. +rootprefix ?= "${root_prefix}" +rootlibdir ?= "${base_libdir}" +rootlibexecdir = "${rootprefix}/lib" + +# This links udev statically with systemd helper library. +# Otherwise udev package would depend on systemd package (which has the needed shared library), +# and always pull it into images. +EXTRA_OEMESON += "-Dlink-udev-shared=false" + +EXTRA_OEMESON += "-Dnobody-user=nobody \ + -Dnobody-group=nobody \ + -Drootlibdir=${rootlibdir} \ + -Drootprefix=${rootprefix} \ + -Ddefault-locale=C \ + -Dmode=release \ + -Dsystem-alloc-uid-min=101 \ + -Dsystem-uid-max=999 \ + -Dsystem-alloc-gid-min=101 \ + -Dsystem-gid-max=999 \ + " + +# Hardcode target binary paths to avoid using paths from sysroot +EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \ + -Dkmod-path=${base_bindir}/kmod \ + -Dmount-path=${base_bindir}/mount \ + -Dquotacheck-path=${sbindir}/quotacheck \ + -Dquotaon-path=${sbindir}/quotaon \ + -Dsulogin-path=${base_sbindir}/sulogin \ + -Dnologin-path=${base_sbindir}/nologin \ + -Dumount-path=${base_bindir}/umount" + +do_install() { + meson_do_install + install -d ${D}/${base_sbindir} + if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then + # Provided by a separate recipe + rm ${D}${systemd_unitdir}/system/serial-getty* -f + fi + + # Provide support for initramfs + [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init + [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd + + install -d ${D}${sysconfdir}/udev/rules.d/ + install -d ${D}${sysconfdir}/tmpfiles.d + for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do + install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ + done + + install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd + sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd + install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install + fi + + chown root:systemd-journal ${D}/${localstatedir}/log/journal + + # Delete journal README, as log can be symlinked inside volatile. + rm -f ${D}/${localstatedir}/log/README + + # journal-remote creates this at start + rm -rf ${D}/${localstatedir}/log/journal/remote + + install -d ${D}${systemd_unitdir}/system/graphical.target.wants + install -d ${D}${systemd_unitdir}/system/multi-user.target.wants + install -d ${D}${systemd_unitdir}/system/poweroff.target.wants + install -d ${D}${systemd_unitdir}/system/reboot.target.wants + install -d ${D}${systemd_unitdir}/system/rescue.target.wants + + # Create symlinks for systemd-update-utmp-runlevel.service + if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service + ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service + fi + + # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it + # for existence else it fails + if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then + ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)} + fi + if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then + echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf + echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf + echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf + ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd + else + sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf + ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd + fi + if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then + rm ${D}${exec_prefix}/lib/tmpfiles.d/x11.conf + rm -r ${D}${sysconfdir}/X11 + fi + + # If polkit is setup fixup permissions and ownership + if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then + if [ -d ${D}${datadir}/polkit-1/rules.d ]; then + chmod 700 ${D}${datadir}/polkit-1/rules.d + chown polkitd:root ${D}${datadir}/polkit-1/rules.d + fi + fi + + # If polkit is not available and a fallback was requested, install a drop-in that allows networkd to + # request hostname changes via DBUS without elevating its privileges + if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then + install -d ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/ + install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_unitdir}/system/systemd-hostnamed.service.d/ + install -d ${D}${datadir}/dbus-1/system.d/ + install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ + fi + + # create link for existing udev rules + ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm + + # duplicate udevadm for postinst script + install -d ${D}${libexecdir} + ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm + + # install default policy for presets + # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto + install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset + + # add a profile fragment to disable systemd pager with busybox less + install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh +} + +python populate_packages_prepend (){ + systemdlibdir = d.getVar("rootlibdir") + do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) +} +PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*" + +PACKAGE_BEFORE_PN = "\ + ${PN}-gui \ + ${PN}-vconsole-setup \ + ${PN}-initramfs \ + ${PN}-analyze \ + ${PN}-kernel-install \ + ${PN}-rpm-macros \ + ${PN}-binfmt \ + ${PN}-zsh-completion \ + ${PN}-container \ + ${PN}-journal-gatewayd \ + ${PN}-journal-upload \ + ${PN}-journal-remote \ + ${PN}-extra-utils \ + ${PN}-udev-rules \ + udev \ + udev-hwdb \ +" + +SUMMARY_${PN}-container = "Tools for containers and VMs" +DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines." + +SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events" +DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default." + +SUMMARY_${PN}-journal-upload = "Send journal messages over the network" +DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL." + +SUMMARY_${PN}-journal-remote = "Receive journal messages over the network" +DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files." + +SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ +" +SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service" + +USERADD_PACKAGES = "${PN} ${PN}-extra-utils \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \ +" +GROUPADD_PARAM_${PN} = "-r systemd-journal;" +GROUPADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '-r systemd-hostname;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /sbin/nologin systemd-coredump;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /sbin/nologin systemd-network;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /sbin/nologin systemd-resolve;', '', d)}" +USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /sbin/nologin systemd-timesync;', '', d)}" +USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /sbin/nologin systemd-bus-proxy" +USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /sbin/nologin systemd-journal-gateway" +USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /sbin/nologin systemd-journal-remote" +USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /sbin/nologin systemd-journal-upload" + +FILES_${PN}-analyze = "${bindir}/systemd-analyze" + +FILES_${PN}-initramfs = "/init" +RDEPENDS_${PN}-initramfs = "${PN}" + +FILES_${PN}-gui = "${bindir}/systemadm" + +FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \ + ${systemd_unitdir}/system/systemd-vconsole-setup.service \ + ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service" + +RDEPENDS_${PN}-kernel-install += "bash" +FILES_${PN}-kernel-install = "${bindir}/kernel-install \ + ${sysconfdir}/kernel/ \ + ${exec_prefix}/lib/kernel \ + " +FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \ + " + +FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" + +FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \ + ${exec_prefix}/lib/binfmt.d \ + ${rootlibexecdir}/systemd/systemd-binfmt \ + ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \ + ${systemd_unitdir}/system/systemd-binfmt.service" +RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc" + +RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps" + + +FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \ + ${systemd_system_unitdir}/systemd-journal-gatewayd.service \ + ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \ + ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \ + ${datadir}/systemd/gatewayd/browse.html \ + " +SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket" + +FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \ + ${systemd_system_unitdir}/systemd-journal-upload.service \ + ${sysconfdir}/systemd/journal-upload.conf \ + " +SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service" + +FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \ + ${sysconfdir}/systemd/journal-remote.conf \ + ${systemd_system_unitdir}/systemd-journal-remote.service \ + ${systemd_system_unitdir}/systemd-journal-remote.socket \ + " +SYSTEMD_SERVICE_${PN}-journal-remote = "systemd-journal-remote.socket" + + +FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \ + ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \ + ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \ + ${base_bindir}/machinectl \ + ${bindir}/systemd-nspawn \ + ${nonarch_libdir}/systemd/import-pubring.gpg \ + ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \ + ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \ + ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \ + ${systemd_system_unitdir}/machine.slice \ + ${systemd_system_unitdir}/machines.target \ + ${systemd_system_unitdir}/org.freedesktop.import1.busname \ + ${systemd_system_unitdir}/org.freedesktop.machine1.busname \ + ${systemd_system_unitdir}/systemd-importd.service \ + ${systemd_system_unitdir}/systemd-machined.service \ + ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \ + ${systemd_system_unitdir}/var-lib-machines.mount \ + ${rootlibexecdir}/systemd/systemd-import \ + ${rootlibexecdir}/systemd/systemd-importd \ + ${rootlibexecdir}/systemd/systemd-machined \ + ${rootlibexecdir}/systemd/systemd-pull \ + ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ + ${exec_prefix}/lib/tmpfiles.d/README \ + ${systemd_system_unitdir}/systemd-nspawn@.service \ + ${libdir}/libnss_mymachines.so.2 \ + ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \ + ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \ + ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \ + ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \ + ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \ + " + +# "machinectl import-tar" uses "tar --numeric-owner", not supported by busybox. +RRECOMMENDS_${PN}-container += "\ + ${PN}-journal-gatewayd \ + ${PN}-journal-remote \ + ${PN}-journal-upload \ + kernel-module-dm-mod \ + kernel-module-loop \ + kernel-module-tun \ + tar \ + " + +FILES_${PN}-extra-utils = "\ + ${base_bindir}/systemd-escape \ + ${base_bindir}/systemd-inhibit \ + ${bindir}/systemd-detect-virt \ + ${bindir}/systemd-dissect \ + ${bindir}/systemd-path \ + ${bindir}/systemd-run \ + ${bindir}/systemd-cat \ + ${bindir}/systemd-delta \ + ${bindir}/systemd-cgls \ + ${bindir}/systemd-cgtop \ + ${bindir}/systemd-stdio-bridge \ + ${base_bindir}/systemd-ask-password \ + ${base_bindir}/systemd-tty-ask-password-agent \ + ${systemd_unitdir}/system/systemd-ask-password-console.path \ + ${systemd_unitdir}/system/systemd-ask-password-console.service \ + ${systemd_unitdir}/system/systemd-ask-password-wall.path \ + ${systemd_unitdir}/system/systemd-ask-password-wall.service \ + ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \ + ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \ + ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \ + ${rootlibexecdir}/systemd/systemd-resolve-host \ + ${rootlibexecdir}/systemd/systemd-ac-power \ + ${rootlibexecdir}/systemd/systemd-activate \ + ${rootlibexecdir}/systemd/systemd-bus-proxyd \ + ${systemd_unitdir}/system/systemd-bus-proxyd.service \ + ${systemd_unitdir}/system/systemd-bus-proxyd.socket \ + ${rootlibexecdir}/systemd/systemd-socket-proxyd \ + ${rootlibexecdir}/systemd/systemd-reply-password \ + ${rootlibexecdir}/systemd/systemd-sleep \ + ${rootlibexecdir}/systemd/system-sleep \ + ${systemd_unitdir}/system/systemd-hibernate.service \ + ${systemd_unitdir}/system/systemd-hybrid-sleep.service \ + ${systemd_unitdir}/system/systemd-suspend.service \ + ${systemd_unitdir}/system/sleep.target \ + ${rootlibexecdir}/systemd/systemd-initctl \ + ${systemd_unitdir}/system/systemd-initctl.service \ + ${systemd_unitdir}/system/systemd-initctl.socket \ + ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \ + ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ + ${rootlibexecdir}/systemd/systemd-cgroups-agent \ +" + +FILES_${PN}-udev-rules = "\ + ${rootlibexecdir}/udev/rules.d/70-uaccess.rules \ + ${rootlibexecdir}/udev/rules.d/71-seat.rules \ + ${rootlibexecdir}/udev/rules.d/73-seat-late.rules \ + ${rootlibexecdir}/udev/rules.d/99-systemd.rules \ +" + +CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \ + ${sysconfdir}/systemd/journald.conf \ + ${sysconfdir}/systemd/logind.conf \ + ${sysconfdir}/systemd/networkd.conf \ + ${sysconfdir}/systemd/pstore.conf \ + ${sysconfdir}/systemd/resolved.conf \ + ${sysconfdir}/systemd/sleep.conf \ + ${sysconfdir}/systemd/system.conf \ + ${sysconfdir}/systemd/timesyncd.conf \ + ${sysconfdir}/systemd/user.conf \ +" + +FILES_${PN} = " ${base_bindir}/* \ + ${base_sbindir}/shutdown \ + ${base_sbindir}/halt \ + ${base_sbindir}/poweroff \ + ${base_sbindir}/runlevel \ + ${base_sbindir}/telinit \ + ${base_sbindir}/resolvconf \ + ${base_sbindir}/reboot \ + ${base_sbindir}/init \ + ${datadir}/dbus-1/services \ + ${datadir}/dbus-1/system-services \ + ${datadir}/polkit-1 \ + ${datadir}/${BPN} \ + ${datadir}/factory \ + ${sysconfdir}/dbus-1/ \ + ${sysconfdir}/modules-load.d/ \ + ${sysconfdir}/pam.d/ \ + ${sysconfdir}/profile.d/ \ + ${sysconfdir}/sysctl.d/ \ + ${sysconfdir}/systemd/ \ + ${sysconfdir}/tmpfiles.d/ \ + ${sysconfdir}/xdg/ \ + ${sysconfdir}/init.d/README \ + ${sysconfdir}/resolv-conf.systemd \ + ${sysconfdir}/X11/xinit/xinitrc.d/* \ + ${rootlibexecdir}/systemd/* \ + ${libdir}/pam.d \ + ${nonarch_libdir}/pam.d \ + ${systemd_unitdir}/* \ + ${base_libdir}/security/*.so \ + /cgroup \ + ${bindir}/systemd* \ + ${bindir}/busctl \ + ${bindir}/coredumpctl \ + ${bindir}/localectl \ + ${bindir}/hostnamectl \ + ${bindir}/resolvectl \ + ${bindir}/timedatectl \ + ${bindir}/bootctl \ + ${bindir}/oomctl \ + ${exec_prefix}/lib/tmpfiles.d/*.conf \ + ${exec_prefix}/lib/systemd \ + ${exec_prefix}/lib/modules-load.d \ + ${exec_prefix}/lib/sysctl.d \ + ${exec_prefix}/lib/sysusers.d \ + ${exec_prefix}/lib/environment.d \ + ${localstatedir} \ + ${rootlibexecdir}/modprobe.d/systemd.conf \ + ${rootlibexecdir}/modprobe.d/README \ + ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \ + ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', '${datadir}/dbus-1/system.d/org.freedesktop.hostname1_no_polkit.conf', '', d)} \ + ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \ + ${datadir}/dbus-1/system.d/org.freedesktop.oom1.conf \ + " + +FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd" + +RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck" +RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" +RDEPENDS_${PN} += "volatile-binds" + +RRECOMMENDS_${PN} += "systemd-extra-utils \ + udev-hwdb \ + e2fsprogs-e2fsck \ + kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 kernel-module-sch-fq-codel \ + os-release \ + systemd-conf \ +" + +INSANE_SKIP_${PN} += "dev-so libdir" +INSANE_SKIP_${PN}-dbg += "libdir" +INSANE_SKIP_${PN}-doc += " libdir" + +RPROVIDES_udev = "hotplug" + +RDEPENDS_udev-hwdb += "udev" + +FILES_udev += "${base_sbindir}/udevd \ + ${rootlibexecdir}/systemd/network/99-default.link \ + ${rootlibexecdir}/systemd/systemd-udevd \ + ${rootlibexecdir}/udev/accelerometer \ + ${rootlibexecdir}/udev/ata_id \ + ${rootlibexecdir}/udev/cdrom_id \ + ${rootlibexecdir}/udev/collect \ + ${rootlibexecdir}/udev/dmi_memory_id \ + ${rootlibexecdir}/udev/fido_id \ + ${rootlibexecdir}/udev/findkeyboards \ + ${rootlibexecdir}/udev/keyboard-force-release.sh \ + ${rootlibexecdir}/udev/keymap \ + ${rootlibexecdir}/udev/mtd_probe \ + ${rootlibexecdir}/udev/scsi_id \ + ${rootlibexecdir}/udev/v4l_id \ + ${rootlibexecdir}/udev/keymaps \ + ${rootlibexecdir}/udev/rules.d/50-udev-default.rules \ + ${rootlibexecdir}/udev/rules.d/60-autosuspend.rules \ + ${rootlibexecdir}/udev/rules.d/60-autosuspend-chromiumos.rules \ + ${rootlibexecdir}/udev/rules.d/60-block.rules \ + ${rootlibexecdir}/udev/rules.d/60-cdrom_id.rules \ + ${rootlibexecdir}/udev/rules.d/60-drm.rules \ + ${rootlibexecdir}/udev/rules.d/60-evdev.rules \ + ${rootlibexecdir}/udev/rules.d/60-fido-id.rules \ + ${rootlibexecdir}/udev/rules.d/60-input-id.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-alsa.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-input.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-storage.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-storage-tape.rules \ + ${rootlibexecdir}/udev/rules.d/60-persistent-v4l.rules \ + ${rootlibexecdir}/udev/rules.d/60-sensor.rules \ + ${rootlibexecdir}/udev/rules.d/60-serial.rules \ + ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \ + ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \ + ${rootlibexecdir}/udev/rules.d/70-joystick.rules \ + ${rootlibexecdir}/udev/rules.d/70-memory.rules \ + ${rootlibexecdir}/udev/rules.d/70-mouse.rules \ + ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \ + ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \ + ${rootlibexecdir}/udev/rules.d/75-net-description.rules \ + ${rootlibexecdir}/udev/rules.d/75-probe_mtd.rules \ + ${rootlibexecdir}/udev/rules.d/78-sound-card.rules \ + ${rootlibexecdir}/udev/rules.d/80-drivers.rules \ + ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \ + ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \ + ${rootlibexecdir}/udev/rules.d/README \ + ${sysconfdir}/udev \ + ${sysconfdir}/init.d/systemd-udevd \ + ${systemd_unitdir}/system/*udev* \ + ${systemd_unitdir}/system/*.wants/*udev* \ + ${base_bindir}/systemd-hwdb \ + ${base_bindir}/udevadm \ + ${base_sbindir}/udevadm \ + ${libexecdir}/${MLPREFIX}udevadm \ + ${datadir}/bash-completion/completions/udevadm \ + ${systemd_unitdir}/system/systemd-hwdb-update.service \ + " + +FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d \ + " + +RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" + +INITSCRIPT_PACKAGES = "udev" +INITSCRIPT_NAME_udev = "systemd-udevd" +INITSCRIPT_PARAMS_udev = "start 03 S ." + +python __anonymous() { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") +} + +python do_warn_musl() { + if d.getVar('TCLIBC') == "musl": + bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.") +} +addtask warn_musl before do_configure + +ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}" + +ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd" +ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf" +ALTERNATIVE_PRIORITY[resolv-conf] ?= "50" + +ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt" +ALTERNATIVE_PRIORITY[halt] ?= "300" + +ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot" +ALTERNATIVE_PRIORITY[reboot] ?= "300" + +ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown" +ALTERNATIVE_PRIORITY[shutdown] ?= "300" + +ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff" +ALTERNATIVE_PRIORITY[poweroff] ?= "300" + +ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl" +ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel" +ALTERNATIVE_PRIORITY[runlevel] ?= "300" + +pkg_postinst_${PN}_libc-glibc () { + sed -e '/^hosts:/s/\s*\//' \ + -e 's/\(^hosts:.*\)\(\\)\(.*\)\(\\)\(.*\)/\1\2 myhostname \3\4\5/' \ + -i $D${sysconfdir}/nsswitch.conf +} + +pkg_prerm_${PN}_libc-glibc () { + sed -e '/^hosts:/s/\s*\//' \ + -e '/^hosts:/s/\s*myhostname//' \ + -i $D${sysconfdir}/nsswitch.conf +} + +PACKAGE_WRITE_DEPS += "qemu-native" +pkg_postinst_udev-hwdb () { + if test -n "$D"; then + $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" + else + udevadm hwdb --update + fi +} + +pkg_prerm_udev-hwdb () { + rm -f $D${sysconfdir}/udev/hwdb.bin +} diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc index cbf6102ee..6b47f417a 100644 --- a/poky/meta/recipes-core/util-linux/util-linux.inc +++ b/poky/meta/recipes-core/util-linux/util-linux.inc @@ -27,8 +27,7 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=0fd5c050c6187d2bf0a4492b7f4e33da FILESEXTRAPATHS_prepend := "${THISDIR}/util-linux:" MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" -BPN = "util-linux" -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \ +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \ file://configure-sbindir.patch \ file://runuser.pamd \ file://runuser-l.pamd \ diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch index e0e7e0cd5..a9a8eb630 100644 --- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch +++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch @@ -1,4 +1,4 @@ -From 382f8381ef8baf754057e376a6d9bf840ca6d543 Mon Sep 17 00:00:00 2001 +From 5fb6355c7dd00c97fe90e805ace075b6e9b6952d Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 10 May 2019 16:47:38 +0200 Subject: [PATCH] Do not init tables from dpkg configuration diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch index c14dc2a41..34d0c4b4c 100644 --- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch +++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch @@ -1,4 +1,4 @@ -From a603b3281f3f60a87531c8cec4843f970170d409 Mon Sep 17 00:00:00 2001 +From 76f8386cac7f13688b386686e0b1fc4b1b574f53 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 21 May 2020 20:13:25 +0000 Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our diff --git a/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch new file mode 100644 index 000000000..cfee50c7a --- /dev/null +++ b/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch @@ -0,0 +1,32 @@ +From f999aeb5ceb77b81c36e6a55300a521aaa2da882 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 26 May 2021 22:12:46 -0700 +Subject: [PATCH] aptwebserver.cc: Include + +This helps getting std::array definition + +Fixes +test/interactive-helper/aptwebserver.cc:36:55: error: constexpr variable cannot have non-literal type 'const std::array, 6>' + constexpr std::array,6> htmlencode = {{ + +Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133] +Signed-off-by: Khem Raj +--- + test/interactive-helper/aptwebserver.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc +index 58ba54f84..0e030c7e9 100644 +--- a/test/interactive-helper/aptwebserver.cc ++++ b/test/interactive-helper/aptwebserver.cc +@@ -22,6 +22,7 @@ + #include + + #include ++#include + #include + #include + #include +-- +2.31.1 + diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.2.bb b/poky/meta/recipes-devtools/apt/apt_2.2.2.bb deleted file mode 100644 index 192aec46b..000000000 --- a/poky/meta/recipes-devtools/apt/apt_2.2.2.bb +++ /dev/null @@ -1,134 +0,0 @@ -SUMMARY = "Advanced front-end for dpkg" -DESCRIPTION = "APT is the Advanced Package Tool, an advanced interface to the Debian packaging system which provides the apt-get program." -HOMEPAGE = "https://packages.debian.org/jessie/apt" -LICENSE = "GPLv2.0+" -SECTION = "base" - -# Triehash script taken from https://github.com/julian-klode/triehash -SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ - file://triehash \ - file://0001-Disable-documentation-directory-altogether.patch \ - file://0001-Fix-musl-build.patch \ - file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \ - file://0001-srvrec-Keep-support-for-older-resolver.patch \ - file://0001-cmake-Do-not-build-po-files.patch \ - file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \ - " - -SRC_URI_append_class-native = " \ - file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ - file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ - " - -SRC_URI_append_class-nativesdk = " \ - file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ - file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ - " - -SRC_URI[sha256sum] = "c5449a4c2126a12497a9949cd10209926005d329f6ce7942a3781fa2fcf50487" -LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -# the package is taken from snapshots.debian.org; that source is static and goes stale -# so we check the latest upstream from a directory that does get updated -UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/" - -inherit cmake perlnative bash-completion upstream-version-is-even useradd - -# User is added to allow apt to drop privs, will runtime warn without -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home /nonexistent --no-create-home _apt" - -BBCLASSEXTEND = "native nativesdk" - -DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash" - -EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ - -DDPKG_DATADIR=${datadir}/dpkg \ - -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \ - -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \ - -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ - -DWITH_TESTS=False \ -" - -do_configure_prepend () { - echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >> ${WORKDIR}/toolchain.cmake - -} - -# Unfortunately apt hardcodes this all over the place -FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt" -RDEPENDS_${PN} += "bash perl dpkg" - -customize_apt_conf_sample() { - cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF -Dir "${STAGING_DIR_NATIVE}/" -{ - State "var/lib/apt/" - { - Lists "#APTCONF#/lists/"; - status "#ROOTFS#/var/lib/dpkg/status"; - }; - Cache "var/cache/apt/" - { - Archives "archives/"; - pkgcache ""; - srcpkgcache ""; - }; - Bin "${STAGING_BINDIR_NATIVE}/" - { - methods "${STAGING_LIBDIR}/apt/methods/"; - gzip "/bin/gzip"; - dpkg "dpkg"; - dpkg-source "dpkg-source"; - dpkg-buildpackage "dpkg-buildpackage"; - apt-get "apt-get"; - apt-cache "apt-cache"; - }; - Etc "#APTCONF#" - { - Preferences "preferences"; - }; - Log "var/log/apt"; -}; - -APT -{ - Install-Recommends "true"; - Immediate-Configure "false"; - Architecture "i586"; - Get - { - Assume-Yes "true"; - }; -}; - -Acquire -{ - AllowInsecureRepositories "true"; -}; - -DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"}; -DPkg::Path ""; -EOF -} - -do_install_append_class-native() { - customize_apt_conf_sample -} - -do_install_append_class-nativesdk() { - customize_apt_conf_sample -} - - -do_install_append_class-target() { - #Write the correct apt-architecture to apt.conf - APT_CONF=${D}/etc/apt/apt.conf - echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF} -} - -# Avoid non-reproducible -src package -do_install_append () { - sed -i -e "s,${B},,g" \ - ${B}/apt-pkg/tagfile-keys.cc -} diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.3.bb b/poky/meta/recipes-devtools/apt/apt_2.2.3.bb new file mode 100644 index 000000000..fe00fb03c --- /dev/null +++ b/poky/meta/recipes-devtools/apt/apt_2.2.3.bb @@ -0,0 +1,135 @@ +SUMMARY = "Advanced front-end for dpkg" +DESCRIPTION = "APT is the Advanced Package Tool, an advanced interface to the Debian packaging system which provides the apt-get program." +HOMEPAGE = "https://packages.debian.org/jessie/apt" +LICENSE = "GPLv2.0+" +SECTION = "base" + +# Triehash script taken from https://github.com/julian-klode/triehash +SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ + file://triehash \ + file://0001-Disable-documentation-directory-altogether.patch \ + file://0001-Fix-musl-build.patch \ + file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \ + file://0001-srvrec-Keep-support-for-older-resolver.patch \ + file://0001-cmake-Do-not-build-po-files.patch \ + file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \ + file://0001-aptwebserver.cc-Include-array.patch \ + " + +SRC_URI_append_class-native = " \ + file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ + file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ + " + +SRC_URI_append_class-nativesdk = " \ + file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ + file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ + " + +SRC_URI[sha256sum] = "2880474bc08c79f103cd30d24a9c30c78b480c65076e466d24df93b9fa05ab27" +LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +# the package is taken from snapshots.debian.org; that source is static and goes stale +# so we check the latest upstream from a directory that does get updated +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/" + +inherit cmake perlnative bash-completion upstream-version-is-even useradd + +# User is added to allow apt to drop privs, will runtime warn without +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home /nonexistent --no-create-home _apt" + +BBCLASSEXTEND = "native nativesdk" + +DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash" + +EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ + -DDPKG_DATADIR=${datadir}/dpkg \ + -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \ + -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \ + -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ + -DWITH_TESTS=False \ +" + +do_configure_prepend () { + echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >> ${WORKDIR}/toolchain.cmake + +} + +# Unfortunately apt hardcodes this all over the place +FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt" +RDEPENDS_${PN} += "bash perl dpkg" + +customize_apt_conf_sample() { + cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF +Dir "${STAGING_DIR_NATIVE}/" +{ + State "var/lib/apt/" + { + Lists "#APTCONF#/lists/"; + status "#ROOTFS#/var/lib/dpkg/status"; + }; + Cache "var/cache/apt/" + { + Archives "archives/"; + pkgcache ""; + srcpkgcache ""; + }; + Bin "${STAGING_BINDIR_NATIVE}/" + { + methods "${STAGING_LIBDIR}/apt/methods/"; + gzip "/bin/gzip"; + dpkg "dpkg"; + dpkg-source "dpkg-source"; + dpkg-buildpackage "dpkg-buildpackage"; + apt-get "apt-get"; + apt-cache "apt-cache"; + }; + Etc "#APTCONF#" + { + Preferences "preferences"; + }; + Log "var/log/apt"; +}; + +APT +{ + Install-Recommends "true"; + Immediate-Configure "false"; + Architecture "i586"; + Get + { + Assume-Yes "true"; + }; +}; + +Acquire +{ + AllowInsecureRepositories "true"; +}; + +DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"}; +DPkg::Path ""; +EOF +} + +do_install_append_class-native() { + customize_apt_conf_sample +} + +do_install_append_class-nativesdk() { + customize_apt_conf_sample +} + + +do_install_append_class-target() { + #Write the correct apt-architecture to apt.conf + APT_CONF=${D}/etc/apt/apt.conf + echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF} +} + +# Avoid non-reproducible -src package +do_install_append () { + sed -i -e "s,${B},,g" \ + ${B}/apt-pkg/tagfile-keys.cc +} diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.36.inc b/poky/meta/recipes-devtools/binutils/binutils-2.36.inc index 66080dfce..d54e2a345 100644 --- a/poky/meta/recipes-devtools/binutils/binutils-2.36.inc +++ b/poky/meta/recipes-devtools/binutils/binutils-2.36.inc @@ -36,6 +36,7 @@ SRC_URI = "\ file://0015-sync-with-OE-libtool-changes.patch \ file://0016-Check-for-clang-before-checking-gcc-version.patch \ file://0017-Add-support-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch \ + file://0018-Add-DWARF-5-support-in-gold.patch \ file://CVE-2021-20197.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch b/poky/meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch new file mode 100644 index 000000000..353b68085 --- /dev/null +++ b/poky/meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch @@ -0,0 +1,1374 @@ +From 29dab7648672342418a9d32767e3b3182d9e6a30 Mon Sep 17 00:00:00 2001 +From: Cary Coutant +Date: Wed, 17 Mar 2021 21:31:15 -0700 +Subject: [PATCH] Add DWARF 5 support in gold. + +elfcpp/ + PR gold/27246 + * dwarf.h (enum DW_LNCT): Add line number table content type codes. + (enum DW_LINE_OPS): Reformat. + (enum DW_LINE_EXTENDED_OPS): Reformat. + (enum DW_CHILDREN): Reformat. + (enum DW_RLE): Add range list entry types. + (enum DW_SECT): Update values for DWARF 5. + +gold/ + PR gold/27246 + * dwarf_reader.cc (Dwarf_abbrev_table::do_get_abbrev): Handle + DW_FORM_implicit_const. + (Dwarf_ranges_table::read_ranges_table): Add version parameter; + Adjust all callers. Look for .debug_rnglists section if DWARF 5. + (Dwarf_ranges_table::read_range_list_v5): New method. + (Dwarf_die::read_attributes): Handle new DWARF 5 DW_FORM codes. + (Dwarf_die::skip_attributes): Likewise. + (Dwarf_info_reader::do_parse): Support DWARF 5 unit header format. + (Dwarf_info_reader::read_3bytes_from_pointer): New method. + (Sized_dwarf_line_info::Sized_dwarf_line_info): Initialize + str_buffer_, str_buffer_start, reloc_map_, line_number_map_. + Look for .debug_line_str section. + (Sized_dwarf_line_info::read_header_prolog): Support DWARF 5 prolog. + (Sized_dwarf_line_info::read_header_tables): Rename to... + (Sized_dwarf_line_info::read_header_tables_v2): ... this. + (Sized_dwarf_line_info::read_header_tables_v5): New method. + (Sized_dwarf_line_info::process_one_opcode): Insert missing "this->". + Change advance_line to signed int64_t. + (Sized_dwarf_line_info::read_lines): Add endptr parameter; adjust + callers. Insert missing "this->". + (Sized_dwarf_line_info::read_line_mappings): Support DWARF 5. + (Sized_dwarf_line_info::do_addr2line): Add debug code. + * dwarf_reader.h (Dwarf_abbrev_table::Attribute): Add implicit_const + field. Adjust constructor. + (Dwarf_abbrev_table::add_sttribute): Add implicit_const parameter. + (Dwarf_ranges_table::read_ranges_table): Add version parameter. + (Dwarf_ranges_table::read_range_list_v5): New method. + (Dwarf_die): Remove unused attr_off field. + (Dwarf_info_reader::Dwarf_info_reader): Initialize unit_type_ field. + (Dwarf_info_reader::is_type_unit): New method. + (Dwarf_info_reader::read_3bytes_from_pointer): New method. + (Dwarf_info_reader::read_range_list): Call read_range_list_v5 for + DWARF 5 range lists. + (Dwarf_info_reader::is_type_unit_): Remove. + (Dwarf_info_reader::unit_type_): New field. + (Sized_dwarf_line_info::~Sized_dwarf_line_info): Delete + str_buffer_start_. + (Sized_dwarf_line_info::read_header_tables): Rename to... + (Sized_dwarf_line_info::read_header_tables_v2): ... this. + (Sized_dwarf_line_info::read_header_tables_v5): New method. + (Sized_dwarf_line_info::read_lines): Add endptr parameter. + (Sized_dwarf_line_info::Dwarf_line_infoHeader): Add address_size field. + (Sized_dwarf_line_info::str_buffer_): New field. + (Sized_dwarf_line_info::str_buffer_end_): New field. + (Sized_dwarf_line_info::str_buffer_start_): New field. + (Sized_dwarf_line_info::end_of_header_length_): New field. + (Sized_dwarf_line_info::end_of_unit_): New field. + +Upstream-Status: Backport [5cde809b7b9 Add DWARF 5 support in gold.] + +Signed-off-by: Martin Jansa +--- + elfcpp/dwarf.h | 89 +++++-- + gold/dwarf_reader.cc | 591 +++++++++++++++++++++++++++++++++++++------ + gold/dwarf_reader.h | 103 ++++++-- + 3 files changed, 654 insertions(+), 129 deletions(-) + +diff --git a/elfcpp/dwarf.h b/elfcpp/dwarf.h +index e24347f8481..c9a9e02369c 100644 +--- a/elfcpp/dwarf.h ++++ b/elfcpp/dwarf.h +@@ -152,35 +152,48 @@ enum DW_EH_PE + DW_EH_PE_indirect = 0x80 + }; + ++// Line number table content type codes. ++ ++enum DW_LNCT ++{ ++ DW_LNCT_path = 0x1, ++ DW_LNCT_directory_index = 0x2, ++ DW_LNCT_timestamp = 0x3, ++ DW_LNCT_size = 0x4, ++ DW_LNCT_MD5 = 0x5, ++ DW_LNCT_lo_user = 0x2000, ++ DW_LNCT_hi_user = 0x3fff ++}; ++ + // Line number opcodes. + + enum DW_LINE_OPS + { +- DW_LNS_extended_op = 0, +- DW_LNS_copy = 1, +- DW_LNS_advance_pc = 2, +- DW_LNS_advance_line = 3, +- DW_LNS_set_file = 4, +- DW_LNS_set_column = 5, +- DW_LNS_negate_stmt = 6, +- DW_LNS_set_basic_block = 7, +- DW_LNS_const_add_pc = 8, +- DW_LNS_fixed_advance_pc = 9, ++ DW_LNS_extended_op = 0x00, ++ DW_LNS_copy = 0x01, ++ DW_LNS_advance_pc = 0x02, ++ DW_LNS_advance_line = 0x03, ++ DW_LNS_set_file = 0x04, ++ DW_LNS_set_column = 0x05, ++ DW_LNS_negate_stmt = 0x06, ++ DW_LNS_set_basic_block = 0x07, ++ DW_LNS_const_add_pc = 0x08, ++ DW_LNS_fixed_advance_pc = 0x09, + // DWARF 3. +- DW_LNS_set_prologue_end = 10, +- DW_LNS_set_epilogue_begin = 11, +- DW_LNS_set_isa = 12 ++ DW_LNS_set_prologue_end = 0x0a, ++ DW_LNS_set_epilogue_begin = 0x0b, ++ DW_LNS_set_isa = 0x0c + }; + + // Line number extended opcodes. + + enum DW_LINE_EXTENDED_OPS + { +- DW_LNE_end_sequence = 1, +- DW_LNE_set_address = 2, +- DW_LNE_define_file = 3, ++ DW_LNE_end_sequence = 0x01, ++ DW_LNE_set_address = 0x02, ++ DW_LNE_define_file = 0x03, + // DWARF4. +- DW_LNE_set_discriminator = 4, ++ DW_LNE_set_discriminator = 0x04, + // HP extensions. + DW_LNE_HP_negate_is_UV_update = 0x11, + DW_LNE_HP_push_context = 0x12, +@@ -191,13 +204,15 @@ enum DW_LINE_EXTENDED_OPS + DW_LNE_HP_negate_post_semantics = 0x17, + DW_LNE_HP_negate_function_exit = 0x18, + DW_LNE_HP_negate_front_end_logical = 0x19, +- DW_LNE_HP_define_proc = 0x20 ++ DW_LNE_HP_define_proc = 0x20, ++ DW_LNE_lo_user = 0x80, ++ DW_LNE_hi_user = 0xff + }; + + enum DW_CHILDREN + { +- DW_CHILDREN_no =0x00, +- DW_CHILDREN_yes =0x01 ++ DW_CHILDREN_no = 0, ++ DW_CHILDREN_yes = 1 + }; + + // Source language names and codes. +@@ -247,20 +262,38 @@ enum DW_LANG + DW_LANG_HP_Assembler = 0x8007 + }; + ++// Range list entry kinds in .debug_rnglists* section. ++ ++enum DW_RLE ++{ ++ DW_RLE_end_of_list = 0x00, ++ DW_RLE_base_addressx = 0x01, ++ DW_RLE_startx_endx = 0x02, ++ DW_RLE_startx_length = 0x03, ++ DW_RLE_offset_pair = 0x04, ++ DW_RLE_base_address = 0x05, ++ DW_RLE_start_end = 0x06, ++ DW_RLE_start_length = 0x07 ++}; ++ + // DWARF section identifiers used in the package format. + // Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFissionDWP. ++// Added (with changes) in DWARF 5. + + enum DW_SECT + { +- DW_SECT_INFO = 1, +- DW_SECT_TYPES = 2, +- DW_SECT_ABBREV = 3, +- DW_SECT_LINE = 4, +- DW_SECT_LOC = 5, ++ DW_SECT_INFO = 1, ++ DW_SECT_ABBREV = 3, ++ DW_SECT_LINE = 4, ++ DW_SECT_LOCLISTS = 5, + DW_SECT_STR_OFFSETS = 6, +- DW_SECT_MACINFO = 7, +- DW_SECT_MACRO = 8, +- DW_SECT_MAX = DW_SECT_MACRO, ++ DW_SECT_MACINFO = 7, ++ DW_SECT_RNGLISTS = 8, ++ DW_SECT_MAX = DW_SECT_RNGLISTS, ++ // These were used only for the experimental Fission support in DWARF 4. ++ DW_SECT_TYPES = 2, ++ DW_SECT_LOC = 5, ++ DW_SECT_MACRO = 8 + }; + + } // End namespace elfcpp. +diff --git a/gold/dwarf_reader.cc b/gold/dwarf_reader.cc +index f0e6b89bde2..83a0114ed39 100644 +--- a/gold/dwarf_reader.cc ++++ b/gold/dwarf_reader.cc +@@ -26,6 +26,7 @@ + #include + #include + ++#include "debug.h" + #include "elfcpp_swap.h" + #include "dwarf.h" + #include "object.h" +@@ -275,6 +276,14 @@ Dwarf_abbrev_table::do_get_abbrev(unsigned int code) + uint64_t form = read_unsigned_LEB_128(this->buffer_pos_, &len); + this->buffer_pos_ += len; + ++ // For DW_FORM_implicit_const, read the constant. ++ int64_t implicit_const = 0; ++ if (form == elfcpp::DW_FORM_implicit_const) ++ { ++ implicit_const = read_signed_LEB_128(this->buffer_pos_, &len); ++ this->buffer_pos_ += len; ++ } ++ + // A (0,0) pair terminates the list. + if (attr == 0 && form == 0) + break; +@@ -282,7 +291,7 @@ Dwarf_abbrev_table::do_get_abbrev(unsigned int code) + if (attr == elfcpp::DW_AT_sibling) + entry->has_sibling_attribute = true; + +- entry->add_attribute(attr, form); ++ entry->add_attribute(attr, form, implicit_const); + } + + this->store_abbrev(nextcode, entry); +@@ -302,8 +311,16 @@ Dwarf_ranges_table::read_ranges_table( + Relobj* object, + const unsigned char* symtab, + off_t symtab_size, +- unsigned int ranges_shndx) ++ unsigned int ranges_shndx, ++ unsigned int version) + { ++ const std::string section_name(version < 5 ++ ? ".debug_ranges" ++ : ".debug_rnglists"); ++ const std::string compressed_section_name(version < 5 ++ ? ".zdebug_ranges" ++ : ".zdebug_rnglists"); ++ + // If we've already read this abbrev table, return immediately. + if (this->ranges_shndx_ > 0 + && this->ranges_shndx_ == ranges_shndx) +@@ -318,7 +335,7 @@ Dwarf_ranges_table::read_ranges_table( + for (unsigned int i = 1; i < object->shnum(); ++i) + { + std::string name = object->section_name(i); +- if (name == ".debug_ranges" || name == ".zdebug_ranges") ++ if (name == section_name || name == compressed_section_name) + { + ranges_shndx = i; + this->output_section_offset_ = object->output_section_offset(i); +@@ -393,7 +410,7 @@ Dwarf_ranges_table::read_range_list( + { + Dwarf_range_list* ranges; + +- if (!this->read_ranges_table(object, symtab, symtab_size, ranges_shndx)) ++ if (!this->read_ranges_table(object, symtab, symtab_size, ranges_shndx, 4)) + return NULL; + + // Correct the offset. For incremental update links, we have a +@@ -459,6 +476,125 @@ Dwarf_ranges_table::read_range_list( + return ranges; + } + ++// Read a DWARF 5 range list from section RANGES_SHNDX at offset RANGES_OFFSET. ++ ++Dwarf_range_list* ++Dwarf_ranges_table::read_range_list_v5( ++ Relobj* object, ++ const unsigned char* symtab, ++ off_t symtab_size, ++ unsigned int addr_size, ++ unsigned int ranges_shndx, ++ off_t offset) ++{ ++ Dwarf_range_list* ranges; ++ ++ if (!this->read_ranges_table(object, symtab, symtab_size, ranges_shndx, 5)) ++ return NULL; ++ ++ ranges = new Dwarf_range_list(); ++ off_t base = 0; ++ unsigned int shndx0 = 0; ++ ++ // Correct the offset. For incremental update links, we have a ++ // relocated offset that is relative to the output section, but ++ // here we need an offset relative to the input section. ++ offset -= this->output_section_offset_; ++ ++ // Read the range list at OFFSET. ++ const unsigned char* prle = this->ranges_buffer_ + offset; ++ while (prle < this->ranges_buffer_end_) ++ { ++ off_t start; ++ off_t end; ++ unsigned int shndx1 = 0; ++ unsigned int shndx2 = 0; ++ size_t len; ++ ++ // Read the entry type. ++ unsigned int rle_type = *prle++; ++ offset += 1; ++ ++ if (rle_type == elfcpp::DW_RLE_end_of_list) ++ break; ++ ++ switch (rle_type) ++ { ++ case elfcpp::DW_RLE_base_address: ++ if (addr_size == 4) ++ base = this->dwinfo_->read_from_pointer<32>(prle); ++ else ++ base = this->dwinfo_->read_from_pointer<64>(prle); ++ if (this->ranges_reloc_mapper_ != NULL) ++ shndx0 = this->lookup_reloc(offset, &base); ++ prle += addr_size; ++ offset += addr_size; ++ break; ++ ++ case elfcpp::DW_RLE_offset_pair: ++ start = read_unsigned_LEB_128(prle, &len); ++ prle += len; ++ offset += len; ++ end = read_unsigned_LEB_128(prle, &len); ++ prle += len; ++ offset += len; ++ if (shndx0 == 0 || object->is_section_included(shndx0)) ++ ranges->add(shndx0, base + start, base + end); ++ break; ++ ++ case elfcpp::DW_RLE_start_end: ++ if (addr_size == 4) ++ { ++ start = this->dwinfo_->read_from_pointer<32>(prle); ++ end = this->dwinfo_->read_from_pointer<32>(prle + 4); ++ } ++ else ++ { ++ start = this->dwinfo_->read_from_pointer<64>(prle); ++ end = this->dwinfo_->read_from_pointer<64>(prle + 8); ++ } ++ if (this->ranges_reloc_mapper_ != NULL) ++ { ++ shndx1 = this->lookup_reloc(offset, &start); ++ shndx2 = this->lookup_reloc(offset + addr_size, &end); ++ if (shndx1 != shndx2) ++ gold_warning(_("%s: DWARF info may be corrupt; offsets in a " ++ "range list entry are in different sections"), ++ object->name().c_str()); ++ } ++ prle += addr_size * 2; ++ offset += addr_size * 2; ++ if (shndx1 == 0 || object->is_section_included(shndx1)) ++ ranges->add(shndx1, start, end); ++ break; ++ ++ case elfcpp::DW_RLE_start_length: ++ if (addr_size == 4) ++ start = this->dwinfo_->read_from_pointer<32>(prle); ++ else ++ start = this->dwinfo_->read_from_pointer<64>(prle); ++ if (this->ranges_reloc_mapper_ != NULL) ++ shndx1 = this->lookup_reloc(offset, &start); ++ prle += addr_size; ++ offset += addr_size; ++ end = start + read_unsigned_LEB_128(prle, &len); ++ prle += len; ++ offset += len; ++ if (shndx1 == 0 || object->is_section_included(shndx1)) ++ ranges->add(shndx1, start, end); ++ break; ++ ++ default: ++ gold_warning(_("%s: DWARF range list contains " ++ "unsupported entry type (%d)"), ++ object->name().c_str(), rle_type); ++ break; ++ } ++ } ++ ++ return ranges; ++} ++ + // Look for a relocation at offset OFF in the range table, + // and return the section index and offset of the target. + +@@ -709,7 +845,13 @@ Dwarf_die::read_attributes() + case elfcpp::DW_FORM_flag_present: + attr_value.val.intval = 1; + break; ++ case elfcpp::DW_FORM_implicit_const: ++ attr_value.val.intval = ++ this->abbrev_code_->attributes[i].implicit_const; ++ break; + case elfcpp::DW_FORM_strp: ++ case elfcpp::DW_FORM_strp_sup: ++ case elfcpp::DW_FORM_line_strp: + { + off_t str_off; + if (this->dwinfo_->offset_size() == 4) +@@ -722,6 +864,26 @@ Dwarf_die::read_attributes() + attr_value.val.refval = str_off; + break; + } ++ case elfcpp::DW_FORM_strx: ++ case elfcpp::DW_FORM_GNU_str_index: ++ attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len); ++ pattr += len; ++ break; ++ case elfcpp::DW_FORM_strx1: ++ attr_value.val.uintval = *pattr++; ++ break; ++ case elfcpp::DW_FORM_strx2: ++ attr_value.val.uintval = ++ this->dwinfo_->read_from_pointer<16>(&pattr); ++ break; ++ case elfcpp::DW_FORM_strx3: ++ attr_value.val.uintval = ++ this->dwinfo_->read_3bytes_from_pointer(&pattr); ++ break; ++ case elfcpp::DW_FORM_strx4: ++ attr_value.val.uintval = ++ this->dwinfo_->read_from_pointer<32>(&pattr); ++ break; + case elfcpp::DW_FORM_sec_offset: + { + off_t sec_off; +@@ -747,7 +909,6 @@ Dwarf_die::read_attributes() + this->dwinfo_->lookup_reloc(attr_off, &sec_off); + attr_value.aux.shndx = shndx; + attr_value.val.refval = sec_off; +- ref_form = true; + break; + } + case elfcpp::DW_FORM_ref_addr: +@@ -815,6 +976,7 @@ Dwarf_die::read_attributes() + break; + } + case elfcpp::DW_FORM_ref4: ++ case elfcpp::DW_FORM_ref_sup4: + { + off_t sec_off; + sec_off = this->dwinfo_->read_from_pointer<32>(&pattr); +@@ -835,11 +997,20 @@ Dwarf_die::read_attributes() + attr_value.val.intval = sec_off; + break; + } ++ case elfcpp::DW_FORM_data16: ++ { ++ // For now, treat this as a 16-byte block. ++ attr_value.val.blockval = pattr; ++ attr_value.aux.blocklen = 16; ++ pattr += 16; ++ break; ++ } + case elfcpp::DW_FORM_ref_sig8: + attr_value.val.uintval = + this->dwinfo_->read_from_pointer<64>(&pattr); + break; + case elfcpp::DW_FORM_ref8: ++ case elfcpp::DW_FORM_ref_sup8: + { + off_t sec_off; + sec_off = this->dwinfo_->read_from_pointer<64>(&pattr); +@@ -856,11 +1027,29 @@ Dwarf_die::read_attributes() + pattr += len; + break; + case elfcpp::DW_FORM_udata: ++ attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len); ++ pattr += len; ++ break; ++ case elfcpp::DW_FORM_addrx: + case elfcpp::DW_FORM_GNU_addr_index: +- case elfcpp::DW_FORM_GNU_str_index: + attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len); + pattr += len; + break; ++ case elfcpp::DW_FORM_addrx1: ++ attr_value.val.uintval = *pattr++; ++ break; ++ case elfcpp::DW_FORM_addrx2: ++ attr_value.val.uintval = ++ this->dwinfo_->read_from_pointer<16>(&pattr); ++ break; ++ case elfcpp::DW_FORM_addrx3: ++ attr_value.val.uintval = ++ this->dwinfo_->read_3bytes_from_pointer(&pattr); ++ break; ++ case elfcpp::DW_FORM_addrx4: ++ attr_value.val.uintval = ++ this->dwinfo_->read_from_pointer<32>(&pattr); ++ break; + case elfcpp::DW_FORM_sdata: + attr_value.val.intval = read_signed_LEB_128(pattr, &len); + pattr += len; +@@ -870,6 +1059,11 @@ Dwarf_die::read_attributes() + len = strlen(attr_value.val.stringval); + pattr += len + 1; + break; ++ case elfcpp::DW_FORM_loclistx: ++ case elfcpp::DW_FORM_rnglistx: ++ attr_value.val.uintval = read_unsigned_LEB_128(pattr, &len); ++ pattr += len; ++ break; + default: + return false; + } +@@ -954,9 +1148,12 @@ Dwarf_die::skip_attributes() + switch(form) + { + case elfcpp::DW_FORM_flag_present: ++ case elfcpp::DW_FORM_implicit_const: + break; + case elfcpp::DW_FORM_strp: + case elfcpp::DW_FORM_sec_offset: ++ case elfcpp::DW_FORM_strp_sup: ++ case elfcpp::DW_FORM_line_strp: + pattr += this->dwinfo_->offset_size(); + break; + case elfcpp::DW_FORM_addr: +@@ -993,23 +1190,42 @@ Dwarf_die::skip_attributes() + case elfcpp::DW_FORM_data1: + case elfcpp::DW_FORM_ref1: + case elfcpp::DW_FORM_flag: ++ case elfcpp::DW_FORM_strx1: ++ case elfcpp::DW_FORM_addrx1: + pattr += 1; + break; + case elfcpp::DW_FORM_data2: + case elfcpp::DW_FORM_ref2: ++ case elfcpp::DW_FORM_strx2: ++ case elfcpp::DW_FORM_addrx2: + pattr += 2; + break; ++ case elfcpp::DW_FORM_strx3: ++ case elfcpp::DW_FORM_addrx3: ++ pattr += 3; ++ break; + case elfcpp::DW_FORM_data4: + case elfcpp::DW_FORM_ref4: ++ case elfcpp::DW_FORM_ref_sup4: ++ case elfcpp::DW_FORM_strx4: ++ case elfcpp::DW_FORM_addrx4: + pattr += 4; + break; + case elfcpp::DW_FORM_data8: + case elfcpp::DW_FORM_ref8: + case elfcpp::DW_FORM_ref_sig8: ++ case elfcpp::DW_FORM_ref_sup8: + pattr += 8; + break; ++ case elfcpp::DW_FORM_data16: ++ pattr += 16; ++ break; + case elfcpp::DW_FORM_ref_udata: + case elfcpp::DW_FORM_udata: ++ case elfcpp::DW_FORM_addrx: ++ case elfcpp::DW_FORM_strx: ++ case elfcpp::DW_FORM_loclistx: ++ case elfcpp::DW_FORM_rnglistx: + case elfcpp::DW_FORM_GNU_addr_index: + case elfcpp::DW_FORM_GNU_str_index: + read_unsigned_LEB_128(pattr, &len); +@@ -1313,6 +1529,13 @@ Dwarf_info_reader::do_parse() + elfcpp::Swap_unaligned<16, big_endian>::readval(pinfo); + pinfo += 2; + ++ // DWARF 5: Read the unit type (1 byte) and address size (1 byte). ++ if (this->cu_version_ >= 5) ++ { ++ this->unit_type_ = *pinfo++; ++ this->address_size_ = *pinfo++; ++ } ++ + // Read debug_abbrev_offset (4 or 8 bytes). + if (this->offset_size_ == 4) + abbrev_offset = elfcpp::Swap_unaligned<32, big_endian>::readval(pinfo); +@@ -1333,13 +1556,14 @@ Dwarf_info_reader::do_parse() + } + pinfo += this->offset_size_; + +- // Read address_size (1 byte). +- this->address_size_ = *pinfo++; ++ // DWARF 2-4: Read address_size (1 byte). ++ if (this->cu_version_ < 5) ++ this->address_size_ = *pinfo++; + + // For type units, read the two extra fields. + uint64_t signature = 0; + off_t type_offset = 0; +- if (this->is_type_unit_) ++ if (this->is_type_unit()) + { + if (!this->check_buffer(pinfo + 8 + this->offset_size_)) + break; +@@ -1369,7 +1593,7 @@ Dwarf_info_reader::do_parse() + if (root_die.tag() != 0) + { + // Visit the CU or TU. +- if (this->is_type_unit_) ++ if (this->is_type_unit()) + this->visit_type_unit(section_offset + this->cu_offset_, + cu_end - cu_start, type_offset, signature, + &root_die); +@@ -1460,6 +1684,19 @@ Dwarf_info_reader::read_from_pointer(const unsigned char** source) + return return_value; + } + ++// Read a 3-byte integer. Update SOURCE after read. ++inline typename elfcpp::Valtype_base<32>::Valtype ++Dwarf_info_reader::read_3bytes_from_pointer(const unsigned char** source) ++{ ++ typename elfcpp::Valtype_base<32>::Valtype return_value; ++ if (this->object_->is_big_endian()) ++ return_value = ((*source)[0] << 16) | ((*source)[1] << 8) | (*source)[2]; ++ else ++ return_value = ((*source)[2] << 16) | ((*source)[1] << 8) | (*source)[0]; ++ *source += 3; ++ return return_value; ++} ++ + // Look for a relocation at offset ATTR_OFF in the dwarf info, + // and return the section index and offset of the target. + +@@ -1561,27 +1798,40 @@ Sized_dwarf_line_info::Sized_dwarf_line_info( + Object* object, + unsigned int read_shndx) + : data_valid_(false), buffer_(NULL), buffer_start_(NULL), ++ str_buffer_(NULL), str_buffer_start_(NULL), + reloc_mapper_(NULL), symtab_buffer_(NULL), directories_(), files_(), +- current_header_index_(-1) ++ current_header_index_(-1), reloc_map_(), line_number_map_() + { +- unsigned int debug_shndx; ++ unsigned int debug_line_shndx = 0; ++ unsigned int debug_line_str_shndx = 0; + +- for (debug_shndx = 1; debug_shndx < object->shnum(); ++debug_shndx) ++ for (unsigned int i = 1; i < object->shnum(); ++i) + { ++ section_size_type buffer_size; ++ bool is_new = false; ++ + // FIXME: do this more efficiently: section_name() isn't super-fast +- std::string name = object->section_name(debug_shndx); ++ std::string name = object->section_name(i); + if (name == ".debug_line" || name == ".zdebug_line") + { +- section_size_type buffer_size; +- bool is_new = false; +- this->buffer_ = object->decompressed_section_contents(debug_shndx, +- &buffer_size, +- &is_new); ++ this->buffer_ = ++ object->decompressed_section_contents(i, &buffer_size, &is_new); + if (is_new) + this->buffer_start_ = this->buffer_; + this->buffer_end_ = this->buffer_ + buffer_size; +- break; ++ debug_line_shndx = i; ++ } ++ else if (name == ".debug_line_str" || name == ".zdebug_line_str") ++ { ++ this->str_buffer_ = ++ object->decompressed_section_contents(i, &buffer_size, &is_new); ++ if (is_new) ++ this->str_buffer_start_ = this->str_buffer_; ++ this->str_buffer_end_ = this->str_buffer_ + buffer_size; ++ debug_line_str_shndx = i; + } ++ if (debug_line_shndx > 0 && debug_line_str_shndx > 0) ++ break; + } + if (this->buffer_ == NULL) + return; +@@ -1594,7 +1844,7 @@ Sized_dwarf_line_info::Sized_dwarf_line_info( + unsigned int reloc_sh_type = object->section_type(i); + if ((reloc_sh_type == elfcpp::SHT_REL + || reloc_sh_type == elfcpp::SHT_RELA) +- && object->section_info(i) == debug_shndx) ++ && object->section_info(i) == debug_line_shndx) + { + reloc_shndx = i; + this->track_relocs_type_ = reloc_sh_type; +@@ -1640,65 +1890,80 @@ Sized_dwarf_line_info::read_header_prolog( + uint32_t initial_length = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); + lineptr += 4; + +- // In DWARF2/3, if the initial length is all 1 bits, then the offset ++ // In DWARF, if the initial length is all 1 bits, then the offset + // size is 8 and we need to read the next 8 bytes for the real length. + if (initial_length == 0xffffffff) + { +- header_.offset_size = 8; ++ this->header_.offset_size = 8; + initial_length = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); + lineptr += 8; + } + else +- header_.offset_size = 4; ++ this->header_.offset_size = 4; + +- header_.total_length = initial_length; ++ this->header_.total_length = initial_length; + +- gold_assert(lineptr + header_.total_length <= buffer_end_); ++ this->end_of_unit_ = lineptr + initial_length; ++ gold_assert(this->end_of_unit_ <= buffer_end_); + +- header_.version = elfcpp::Swap_unaligned<16, big_endian>::readval(lineptr); ++ this->header_.version = ++ elfcpp::Swap_unaligned<16, big_endian>::readval(lineptr); + lineptr += 2; + +- // Skip address size and segment selector for DWARF5. +- if (header_.version >= 5) +- lineptr += 2; ++ // We can only read versions 2-5 of the DWARF line number table. ++ // For other versions, just skip the entire line number table. ++ if (this->header_.version < 2 || this->header_.version > 5) ++ return this->end_of_unit_; + +- if (header_.offset_size == 4) +- header_.prologue_length = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); ++ // DWARF 5 only: address size and segment selector. ++ if (this->header_.version >= 5) ++ { ++ this->header_.address_size = *lineptr; ++ // We ignore the segment selector. ++ lineptr += 2; ++ } ++ ++ if (this->header_.offset_size == 4) ++ this->header_.prologue_length = ++ elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); + else +- header_.prologue_length = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); +- lineptr += header_.offset_size; ++ this->header_.prologue_length = ++ elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); ++ lineptr += this->header_.offset_size; + +- header_.min_insn_length = *lineptr; ++ this->end_of_header_length_ = lineptr; ++ ++ this->header_.min_insn_length = *lineptr; + lineptr += 1; + +- if (header_.version < 4) +- header_.max_ops_per_insn = 1; ++ if (this->header_.version < 4) ++ this->header_.max_ops_per_insn = 1; + else + { + // DWARF 4 added the maximum_operations_per_instruction field. +- header_.max_ops_per_insn = *lineptr; ++ this->header_.max_ops_per_insn = *lineptr; + lineptr += 1; + // TODO: Add support for values other than 1. +- gold_assert(header_.max_ops_per_insn == 1); ++ gold_assert(this->header_.max_ops_per_insn == 1); + } + +- header_.default_is_stmt = *lineptr; ++ this->header_.default_is_stmt = *lineptr; + lineptr += 1; + +- header_.line_base = *reinterpret_cast(lineptr); ++ this->header_.line_base = *reinterpret_cast(lineptr); + lineptr += 1; + +- header_.line_range = *lineptr; ++ this->header_.line_range = *lineptr; + lineptr += 1; + +- header_.opcode_base = *lineptr; ++ this->header_.opcode_base = *lineptr; + lineptr += 1; + +- header_.std_opcode_lengths.resize(header_.opcode_base + 1); +- header_.std_opcode_lengths[0] = 0; +- for (int i = 1; i < header_.opcode_base; i++) ++ this->header_.std_opcode_lengths.resize(this->header_.opcode_base + 1); ++ this->header_.std_opcode_lengths[0] = 0; ++ for (int i = 1; i < this->header_.opcode_base; i++) + { +- header_.std_opcode_lengths[i] = *lineptr; ++ this->header_.std_opcode_lengths[i] = *lineptr; + lineptr += 1; + } + +@@ -1707,10 +1972,11 @@ Sized_dwarf_line_info::read_header_prolog( + + // The header for a debug_line section is mildly complicated, because + // the line info is very tightly encoded. ++// This routine is for DWARF versions 2, 3, and 4. + + template + const unsigned char* +-Sized_dwarf_line_info::read_header_tables( ++Sized_dwarf_line_info::read_header_tables_v2( + const unsigned char* lineptr) + { + ++this->current_header_index_; +@@ -1775,6 +2041,169 @@ Sized_dwarf_line_info::read_header_tables( + return lineptr; + } + ++// This routine is for DWARF version 5. ++ ++template ++const unsigned char* ++Sized_dwarf_line_info::read_header_tables_v5( ++ const unsigned char* lineptr) ++{ ++ size_t len; ++ ++ ++this->current_header_index_; ++ ++ gold_assert(static_cast(this->directories_.size()) ++ == this->current_header_index_); ++ gold_assert(static_cast(this->files_.size()) ++ == this->current_header_index_); ++ ++ // Read the directory list. ++ unsigned int format_count = *lineptr; ++ lineptr += 1; ++ ++ unsigned int *types = new unsigned int[format_count]; ++ unsigned int *forms = new unsigned int[format_count]; ++ ++ for (unsigned int i = 0; i < format_count; i++) ++ { ++ types[i] = read_unsigned_LEB_128(lineptr, &len); ++ lineptr += len; ++ forms[i] = read_unsigned_LEB_128(lineptr, &len); ++ lineptr += len; ++ } ++ ++ uint64_t entry_count = read_unsigned_LEB_128(lineptr, &len); ++ lineptr += len; ++ this->directories_.push_back(std::vector(0)); ++ std::vector& dir_list = this->directories_.back(); ++ ++ for (unsigned int j = 0; j < entry_count; j++) ++ { ++ std::string dirname; ++ ++ for (unsigned int i = 0; i < format_count; i++) ++ { ++ if (types[i] == elfcpp::DW_LNCT_path) ++ { ++ if (forms[i] == elfcpp::DW_FORM_string) ++ { ++ dirname = reinterpret_cast(lineptr); ++ lineptr += dirname.size() + 1; ++ } ++ else if (forms[i] == elfcpp::DW_FORM_line_strp) ++ { ++ uint64_t offset; ++ if (this->header_.offset_size == 4) ++ offset = ++ elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); ++ else ++ offset = ++ elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); ++ typename Reloc_map::const_iterator it ++ = this->reloc_map_.find(lineptr - this->buffer_); ++ if (it != reloc_map_.end()) ++ { ++ if (this->track_relocs_type_ == elfcpp::SHT_RELA) ++ offset = 0; ++ offset += it->second.second; ++ } ++ lineptr += this->header_.offset_size; ++ dirname = reinterpret_cast(this->str_buffer_ ++ + offset); ++ } ++ else ++ return lineptr; ++ } ++ else ++ return lineptr; ++ } ++ dir_list.push_back(dirname); ++ } ++ ++ delete[] types; ++ delete[] forms; ++ ++ // Read the filenames list. ++ format_count = *lineptr; ++ lineptr += 1; ++ ++ types = new unsigned int[format_count]; ++ forms = new unsigned int[format_count]; ++ ++ for (unsigned int i = 0; i < format_count; i++) ++ { ++ types[i] = read_unsigned_LEB_128(lineptr, &len); ++ lineptr += len; ++ forms[i] = read_unsigned_LEB_128(lineptr, &len); ++ lineptr += len; ++ } ++ ++ entry_count = read_unsigned_LEB_128(lineptr, &len); ++ lineptr += len; ++ this->files_.push_back( ++ std::vector >(0)); ++ std::vector >& file_list = this->files_.back(); ++ ++ for (unsigned int j = 0; j < entry_count; j++) ++ { ++ const char* path = NULL; ++ int dirindex = 0; ++ ++ for (unsigned int i = 0; i < format_count; i++) ++ { ++ if (types[i] == elfcpp::DW_LNCT_path) ++ { ++ if (forms[i] == elfcpp::DW_FORM_string) ++ { ++ path = reinterpret_cast(lineptr); ++ lineptr += strlen(path) + 1; ++ } ++ else if (forms[i] == elfcpp::DW_FORM_line_strp) ++ { ++ uint64_t offset; ++ if (this->header_.offset_size == 4) ++ offset = elfcpp::Swap_unaligned<32, big_endian>::readval(lineptr); ++ else ++ offset = elfcpp::Swap_unaligned<64, big_endian>::readval(lineptr); ++ typename Reloc_map::const_iterator it ++ = this->reloc_map_.find(lineptr - this->buffer_); ++ if (it != reloc_map_.end()) ++ { ++ if (this->track_relocs_type_ == elfcpp::SHT_RELA) ++ offset = 0; ++ offset += it->second.second; ++ } ++ lineptr += this->header_.offset_size; ++ path = reinterpret_cast(this->str_buffer_ ++ + offset); ++ } ++ else ++ return lineptr; ++ } ++ else if (types[i] == elfcpp::DW_LNCT_directory_index) ++ { ++ if (forms[i] == elfcpp::DW_FORM_udata) ++ { ++ dirindex = read_unsigned_LEB_128(lineptr, &len); ++ lineptr += len; ++ } ++ else ++ return lineptr; ++ } ++ else ++ return lineptr; ++ } ++ gold_debug(DEBUG_LOCATION, "File %3d: %s", ++ static_cast(file_list.size()), path); ++ file_list.push_back(std::make_pair(dirindex, path)); ++ } ++ ++ delete[] types; ++ delete[] forms; ++ ++ return lineptr; ++} ++ + // Process a single opcode in the .debug.line structure. + + template +@@ -1790,15 +2219,15 @@ Sized_dwarf_line_info::process_one_opcode( + + // If the opcode is great than the opcode_base, it is a special + // opcode. Most line programs consist mainly of special opcodes. +- if (opcode >= header_.opcode_base) ++ if (opcode >= this->header_.opcode_base) + { +- opcode -= header_.opcode_base; +- const int advance_address = ((opcode / header_.line_range) +- * header_.min_insn_length); ++ opcode -= this->header_.opcode_base; ++ const int advance_address = ((opcode / this->header_.line_range) ++ * this->header_.min_insn_length); + lsm->address += advance_address; + +- const int advance_line = ((opcode % header_.line_range) +- + header_.line_base); ++ const int advance_line = ((opcode % this->header_.line_range) ++ + this->header_.line_base); + lsm->line_num += advance_line; + lsm->basic_block = true; + *len = oplen; +@@ -1818,13 +2247,13 @@ Sized_dwarf_line_info::process_one_opcode( + const uint64_t advance_address + = read_unsigned_LEB_128(start, &templen); + oplen += templen; +- lsm->address += header_.min_insn_length * advance_address; ++ lsm->address += this->header_.min_insn_length * advance_address; + } + break; + + case elfcpp::DW_LNS_advance_line: + { +- const uint64_t advance_line = read_signed_LEB_128(start, &templen); ++ const int64_t advance_line = read_signed_LEB_128(start, &templen); + oplen += templen; + lsm->line_num += advance_line; + } +@@ -1865,9 +2294,9 @@ Sized_dwarf_line_info::process_one_opcode( + + case elfcpp::DW_LNS_const_add_pc: + { +- const int advance_address = (header_.min_insn_length +- * ((255 - header_.opcode_base) +- / header_.line_range)); ++ const int advance_address = (this->header_.min_insn_length ++ * ((255 - this->header_.opcode_base) ++ / this->header_.line_range)); + lsm->address += advance_address; + } + break; +@@ -1950,7 +2379,7 @@ Sized_dwarf_line_info::process_one_opcode( + default: + { + // Ignore unknown opcode silently +- for (int i = 0; i < header_.std_opcode_lengths[opcode]; i++) ++ for (int i = 0; i < this->header_.std_opcode_lengths[opcode]; i++) + { + size_t templen; + read_unsigned_LEB_128(start, &templen); +@@ -1970,28 +2399,24 @@ Sized_dwarf_line_info::process_one_opcode( + template + unsigned const char* + Sized_dwarf_line_info::read_lines(unsigned const char* lineptr, ++ unsigned const char* endptr, + unsigned int shndx) + { + struct LineStateMachine lsm; + +- // LENGTHSTART is the place the length field is based on. It is the +- // point in the header after the initial length field. +- const unsigned char* lengthstart = buffer_; +- +- // In 64 bit dwarf, the initial length is 12 bytes, because of the +- // 0xffffffff at the start. +- if (header_.offset_size == 8) +- lengthstart += 12; +- else +- lengthstart += 4; +- +- while (lineptr < lengthstart + header_.total_length) ++ while (lineptr < endptr) + { +- ResetLineStateMachine(&lsm, header_.default_is_stmt); ++ ResetLineStateMachine(&lsm, this->header_.default_is_stmt); + while (!lsm.end_sequence) + { + size_t oplength; ++ ++ if (lineptr >= endptr) ++ break; ++ + bool add_line = this->process_one_opcode(lineptr, &lsm, &oplength); ++ lineptr += oplength; ++ + if (add_line + && (shndx == -1U || lsm.shndx == -1U || shndx == lsm.shndx)) + { +@@ -2012,11 +2437,10 @@ Sized_dwarf_line_info::read_lines(unsigned const char* lineptr + map.back().last_line_for_offset = false; + map.push_back(entry); + } +- lineptr += oplength; + } + } + +- return lengthstart + header_.total_length; ++ return endptr; + } + + // Read the relocations into a Reloc_map. +@@ -2057,9 +2481,17 @@ Sized_dwarf_line_info::read_line_mappings(unsigned int shndx) + { + const unsigned char* lineptr = this->buffer_; + lineptr = this->read_header_prolog(lineptr); +- lineptr = this->read_header_tables(lineptr); +- lineptr = this->read_lines(lineptr, shndx); +- this->buffer_ = lineptr; ++ if (this->header_.version >= 2 && this->header_.version <= 4) ++ { ++ lineptr = this->read_header_tables_v2(lineptr); ++ lineptr = this->read_lines(lineptr, this->end_of_unit_, shndx); ++ } ++ else if (this->header_.version == 5) ++ { ++ lineptr = this->read_header_tables_v5(lineptr); ++ lineptr = this->read_lines(lineptr, this->end_of_unit_, shndx); ++ } ++ this->buffer_ = this->end_of_unit_; + } + + // Sort the lines numbers, so addr2line can use binary search. +@@ -2215,6 +2647,9 @@ Sized_dwarf_line_info::do_addr2line( + off_t offset, + std::vector* other_lines) + { ++ gold_debug(DEBUG_LOCATION, "do_addr2line: shndx %u offset %08x", ++ shndx, static_cast(offset)); ++ + if (this->data_valid_ == false) + return ""; + +diff --git a/gold/dwarf_reader.h b/gold/dwarf_reader.h +index 80b2231327c..921a1f7c876 100644 +--- a/gold/dwarf_reader.h ++++ b/gold/dwarf_reader.h +@@ -173,11 +173,12 @@ class Dwarf_abbrev_table + // An attribute list entry. + struct Attribute + { +- Attribute(unsigned int a, unsigned int f) +- : attr(a), form(f) ++ Attribute(unsigned int a, unsigned int f, int c) ++ : attr(a), form(f), implicit_const(c) + { } + unsigned int attr; + unsigned int form; ++ int implicit_const; + }; + + // An abbrev code entry. +@@ -190,9 +191,9 @@ class Dwarf_abbrev_table + } + + void +- add_attribute(unsigned int attr, unsigned int form) ++ add_attribute(unsigned int attr, unsigned int form, int implicit_const) + { +- this->attributes.push_back(Attribute(attr, form)); ++ this->attributes.push_back(Attribute(attr, form, implicit_const)); + } + + // The DWARF tag. +@@ -349,14 +350,15 @@ class Dwarf_ranges_table + delete this->ranges_reloc_mapper_; + } + +- // Read the ranges table from an object file. ++ // Fetch the contents of the ranges table from an object file. + bool + read_ranges_table(Relobj* object, + const unsigned char* symtab, + off_t symtab_size, +- unsigned int ranges_shndx); ++ unsigned int ranges_shndx, ++ unsigned int version); + +- // Read the range table from an object file. ++ // Read the DWARF 2/3/4 range table. + Dwarf_range_list* + read_range_list(Relobj* object, + const unsigned char* symtab, +@@ -365,6 +367,15 @@ class Dwarf_ranges_table + unsigned int ranges_shndx, + off_t ranges_offset); + ++ // Read the DWARF 5 rnglists table. ++ Dwarf_range_list* ++ read_range_list_v5(Relobj* object, ++ const unsigned char* symtab, ++ off_t symtab_size, ++ unsigned int address_size, ++ unsigned int ranges_shndx, ++ off_t ranges_offset); ++ + // Look for a relocation at offset OFF in the range table, + // and return the section index and offset of the target. + unsigned int +@@ -490,8 +501,6 @@ class Dwarf_die + unsigned int shndx; + // Block length for block forms. + unsigned int blocklen; +- // Attribute offset for DW_FORM_strp. +- unsigned int attr_off; + } aux; + }; + +@@ -684,6 +693,10 @@ class Dwarf_die + // calls the various visit_xxx() methods for each header. Clients + // should derive a new class from this one and implement the + // visit_compilation_unit() and visit_type_unit() functions. ++// IS_TYPE_UNIT is true if we are reading from a .debug_types section, ++// which is used only in DWARF 4. For DWARF 5, it will be false, ++// and we will determine whether it's a type init when we parse the ++// header. + + class Dwarf_info_reader + { +@@ -695,7 +708,7 @@ class Dwarf_info_reader + unsigned int shndx, + unsigned int reloc_shndx, + unsigned int reloc_type) +- : is_type_unit_(is_type_unit), object_(object), symtab_(symtab), ++ : object_(object), symtab_(symtab), + symtab_size_(symtab_size), shndx_(shndx), reloc_shndx_(reloc_shndx), + reloc_type_(reloc_type), abbrev_shndx_(0), string_shndx_(0), + buffer_(NULL), buffer_end_(NULL), cu_offset_(0), cu_length_(0), +@@ -703,7 +716,12 @@ class Dwarf_info_reader + abbrev_table_(), ranges_table_(this), + reloc_mapper_(NULL), string_buffer_(NULL), string_buffer_end_(NULL), + owns_string_buffer_(false), string_output_section_offset_(0) +- { } ++ { ++ // For DWARF 4, we infer the unit type from the section name. ++ // For DWARF 5, we will read this from the unit header. ++ this->unit_type_ = ++ (is_type_unit ? elfcpp::DW_UT_type : elfcpp::DW_UT_compile); ++ } + + virtual + ~Dwarf_info_reader() +@@ -714,6 +732,13 @@ class Dwarf_info_reader + delete[] this->string_buffer_; + } + ++ bool ++ is_type_unit() const ++ { ++ return (this->unit_type_ == elfcpp::DW_UT_type ++ || this->unit_type_ == elfcpp::DW_UT_split_type); ++ } ++ + // Begin parsing the debug info. This calls visit_compilation_unit() + // or visit_type_unit() for each compilation or type unit found in the + // section, and visit_die() for each top-level DIE. +@@ -745,6 +770,9 @@ class Dwarf_info_reader + inline typename elfcpp::Valtype_base::Valtype + read_from_pointer(const unsigned char** source); + ++ inline typename elfcpp::Valtype_base<32>::Valtype ++ read_3bytes_from_pointer(const unsigned char** source); ++ + // Look for a relocation at offset ATTR_OFF in the dwarf info, + // and return the section index and offset of the target. + unsigned int +@@ -818,12 +846,20 @@ class Dwarf_info_reader + Dwarf_range_list* + read_range_list(unsigned int ranges_shndx, off_t ranges_offset) + { +- return this->ranges_table_.read_range_list(this->object_, +- this->symtab_, +- this->symtab_size_, +- this->address_size_, +- ranges_shndx, +- ranges_offset); ++ if (this->cu_version_ < 5) ++ return this->ranges_table_.read_range_list(this->object_, ++ this->symtab_, ++ this->symtab_size_, ++ this->address_size_, ++ ranges_shndx, ++ ranges_offset); ++ else ++ return this->ranges_table_.read_range_list_v5(this->object_, ++ this->symtab_, ++ this->symtab_size_, ++ this->address_size_, ++ ranges_shndx, ++ ranges_offset); + } + + // Return the object. +@@ -873,8 +909,8 @@ class Dwarf_info_reader + bool + do_read_string_table(unsigned int string_shndx); + +- // True if this is a type unit; false for a compilation unit. +- bool is_type_unit_; ++ // The unit type (DW_UT_xxx). ++ unsigned int unit_type_; + // The object containing the .debug_info or .debug_types input section. + Relobj* object_; + // The ELF symbol table. +@@ -1008,6 +1044,8 @@ class Sized_dwarf_line_info : public Dwarf_line_info + { + if (this->buffer_start_ != NULL) + delete[] this->buffer_start_; ++ if (this->str_buffer_start_ != NULL) ++ delete[] this->str_buffer_start_; + } + + private: +@@ -1030,19 +1068,23 @@ class Sized_dwarf_line_info : public Dwarf_line_info + void + read_relocs(); + +- // Reads the DWARF2/3 header for this line info. Each takes as input ++ // Reads the DWARF header for this line info. Each takes as input + // a starting buffer position, and returns the ending position. + const unsigned char* + read_header_prolog(const unsigned char* lineptr); + + const unsigned char* +- read_header_tables(const unsigned char* lineptr); ++ read_header_tables_v2(const unsigned char* lineptr); ++ ++ const unsigned char* ++ read_header_tables_v5(const unsigned char* lineptr); + +- // Reads the DWARF2/3 line information. If shndx is non-negative, ++ // Reads the DWARF line information. If shndx is non-negative, + // discard all line information that doesn't pertain to the given + // section. + const unsigned char* +- read_lines(const unsigned char* lineptr, unsigned int shndx); ++ read_lines(const unsigned char* lineptr, const unsigned char* endptr, ++ unsigned int shndx); + + // Process a single line info opcode at START using the state + // machine at LSM. Return true if we should define a line using the +@@ -1069,6 +1111,7 @@ class Sized_dwarf_line_info : public Dwarf_line_info + { + off_t total_length; + int version; ++ int address_size; + off_t prologue_length; + int min_insn_length; // insn stands for instruction + int max_ops_per_insn; // Added in DWARF-4. +@@ -1089,6 +1132,20 @@ class Sized_dwarf_line_info : public Dwarf_line_info + // of the buffer. + const unsigned char* buffer_start_; + ++ // str_buffer is the buffer for the line table strings. ++ const unsigned char* str_buffer_; ++ const unsigned char* str_buffer_end_; ++ // If the buffer was allocated temporarily, and therefore must be ++ // deallocated in the dtor, this contains a pointer to the start ++ // of the buffer. ++ const unsigned char* str_buffer_start_; ++ ++ // Pointer to the end of the header_length field (aka prologue_length). ++ const unsigned char* end_of_header_length_; ++ ++ // Pointer to the end of the current compilation unit. ++ const unsigned char* end_of_unit_; ++ + // This has relocations that point into buffer. + Sized_elf_reloc_mapper* reloc_mapper_; + // The type of the reloc section in track_relocs_--SHT_REL or SHT_RELA. diff --git a/poky/meta/recipes-devtools/bison/bison_3.7.5.bb b/poky/meta/recipes-devtools/bison/bison_3.7.5.bb deleted file mode 100644 index c8bbea445..000000000 --- a/poky/meta/recipes-devtools/bison/bison_3.7.5.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "GNU Project parser generator (yacc replacement)" -DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ -an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ -grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ -little trouble." -HOMEPAGE = "http://www.gnu.org/software/bison/" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SECTION = "devel" -DEPENDS = "bison-native flex-native" - -SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ - file://add-with-bisonlocaledir.patch \ - file://0001-Use-mapped-file-name-for-symbols.patch \ - " -SRC_URI[sha256sum] = "e8c53bc5bc396d636622d0f25e31ca92fd53f00b09629f13ef540d564a6b31ab" - -# No point in hardcoding path to m4, just use PATH -EXTRA_OECONF += "M4=m4" - -inherit autotools gettext texinfo - -# The automatic m4 path detection gets confused, so force the right value -acpaths = "-I ./m4" - -do_compile_prepend() { - for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done -} - -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/bison \ - BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison -} -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/bison \ - BISON_PKGDATADIR=${datadir}/bison -} -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/bison/bison_3.7.6.bb b/poky/meta/recipes-devtools/bison/bison_3.7.6.bb new file mode 100644 index 000000000..a8d57f274 --- /dev/null +++ b/poky/meta/recipes-devtools/bison/bison_3.7.6.bb @@ -0,0 +1,53 @@ +SUMMARY = "GNU Project parser generator (yacc replacement)" +DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \ +an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \ +grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \ +little trouble." +HOMEPAGE = "http://www.gnu.org/software/bison/" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" +SECTION = "devel" +DEPENDS = "bison-native flex-native" + +SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ + file://add-with-bisonlocaledir.patch \ + file://0001-Use-mapped-file-name-for-symbols.patch \ + " +SRC_URI[sha256sum] = "67d68ce1e22192050525643fc0a7a22297576682bef6a5c51446903f5aeef3cf" + +inherit autotools gettext texinfo + +# No point in hardcoding path to m4, just use PATH +CACHED_CONFIGUREVARS = "ac_cv_path_M4=m4" + +PACKAGECONFIG ??= "readline ${@ 'textstyle' if d.getVar('USE_NLS') == 'yes' else ''}" +PACKAGECONFIG_class-native ??= "" + +# Make readline and textstyle optional. There are recipie for these, but leave them +# disabled for the native recipe. This prevents host contamination of the native tool. +PACKAGECONFIG[readline] = "--with-libreadline-prefix,--without-libreadline-prefix,readline" +PACKAGECONFIG[textstyle] = "--with-libtextstyle-prefix,--without-libtextstyle-prefix,gettext" + +# Include the cached configure variables, configure is really good at finding +# libreadline, even if we don't want it. +CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'readline', '', ' \ + ac_cv_header_readline_history_h=no \ + ac_cv_header_readline_readline_h=no \ + gl_cv_lib_readline=no', d)}" + +# The automatic m4 path detection gets confused, so force the right value +acpaths = "-I ./m4" + +do_compile_prepend() { + for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done +} + +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/bison \ + BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison +} +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/bison \ + BISON_PKGDATADIR=${datadir}/bison +} +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb deleted file mode 100644 index b5e0561c1..000000000 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb +++ /dev/null @@ -1,70 +0,0 @@ -SUMMARY = "Checksumming Copy on Write Filesystem utilities" -DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ -implementing advanced features while focusing on fault tolerance, repair and \ -easy administration. \ -This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ -btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." - -HOMEPAGE = "https://btrfs.wiki.kernel.org" - -LICENSE = "GPLv2 & LGPLv3+" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \ - file://libbtrfsutil/COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \ -" -SECTION = "base" -DEPENDS = "lzo util-linux zlib" -DEPENDS_append_class-target = " udev" - -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ - file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ - " -SRCREV = "8d5051f279f7994fb80536ef8f846f06d121d898" -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= " \ - programs \ - convert \ - python \ - crypto-builtin \ -" -PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" -PACKAGECONFIG[programs] = "--enable-programs,--disable-programs" -PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs" -PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" -PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" - -# Pick only one crypto provider -PACKAGECONFIG[crypto-builtin] = "--with-crypto=builtin" -PACKAGECONFIG[crypto-libgcrypt] = "--with-crypto=libgcrypt,,libgcrypt" -PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium" -PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi" - -inherit autotools-brokensep pkgconfig manpages -inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'distutils3-base', '', d)} - -CLEANBROKEN = "1" - -EXTRA_OECONF = "--enable-largefile" -EXTRA_OECONF_append_libc-musl = " --disable-backtrace " -EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" -EXTRA_PYTHON_CFLAGS_class-native = "" -EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" -EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" - -do_configure_prepend() { - # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. - mkdir -p ${S}/config - cp -f $(automake --print-libdir)/install-sh ${S}/config/ -} - - -do_install_append() { - if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then - oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python - fi -} - -RDEPENDS_${PN} = "libgcc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb new file mode 100644 index 000000000..3fc959bf8 --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb @@ -0,0 +1,71 @@ +SUMMARY = "Checksumming Copy on Write Filesystem utilities" +DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \ +implementing advanced features while focusing on fault tolerance, repair and \ +easy administration. \ +This package contains utilities (mkfs, fsck, btrfsctl) used to work with \ +btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3." + +HOMEPAGE = "https://btrfs.wiki.kernel.org" + +LICENSE = "GPLv2 & LGPLv2.1+" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \ + file://libbtrfsutil/COPYING;md5=4fbd65380cdd255951079008b364516c \ +" +SECTION = "base" +DEPENDS = "lzo util-linux zlib" +DEPENDS_append_class-target = " udev" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ + file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + " +SRCREV = "96d77fcefdd3b9fd297b5aabbce6dc43e2315ee2" +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= " \ + programs \ + convert \ + python \ + crypto-builtin \ +" +PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" +PACKAGECONFIG[programs] = "--enable-programs,--disable-programs" +PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs" +PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned" +PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native" +PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd" + +# Pick only one crypto provider +PACKAGECONFIG[crypto-builtin] = "--with-crypto=builtin" +PACKAGECONFIG[crypto-libgcrypt] = "--with-crypto=libgcrypt,,libgcrypt" +PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium" +PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi" + +inherit autotools-brokensep pkgconfig manpages +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'distutils3-base', '', d)} + +CLEANBROKEN = "1" + +EXTRA_OECONF = "--enable-largefile" +EXTRA_OECONF_append_libc-musl = " --disable-backtrace " +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS_class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" + +do_configure_prepend() { + # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. + mkdir -p ${S}/config + cp -f $(automake --print-libdir)/install-sh ${S}/config/ +} + + +do_install_append() { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then + oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python + fi +} + +RDEPENDS_${PN} = "libgcc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch b/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch deleted file mode 100644 index 51ca0e82f..000000000 --- a/poky/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch +++ /dev/null @@ -1,161 +0,0 @@ -From aebabafe085dd1b84027a1e31e5566c82528bd62 Mon Sep 17 00:00:00 2001 -From: Bastian Krause -Date: Tue, 4 May 2021 11:41:56 +0200 -Subject: [PATCH] doc: allow disabling docs/man page generation - -The assumption that HTML documentation and manual pages should be -generated if the required tools (asciidoc) are present is not always -true. So add a cmake option that allows disabling the docs/man page -generation. The default is to generate docs/man pages like before. - -Origin: https://github.com/ccache/ccache/pull/844 -Upstream-Status: Submitted -Signed-off-by: Bastian Krause ---- - doc/CMakeLists.txt | 128 +++++++++++++++++++++++---------------------- - 1 file changed, 66 insertions(+), 62 deletions(-) - -diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt -index c5ce224d..74b7831b 100644 ---- a/doc/CMakeLists.txt -+++ b/doc/CMakeLists.txt -@@ -1,70 +1,74 @@ -+option(BUILD_DOCS "Indicates whether HTML documentation and manual pages should be built or not" ON) -+ - find_program(ASCIIDOC_EXE asciidoc) - mark_as_advanced(ASCIIDOC_EXE) # Don't show in CMake UIs - --if(NOT ASCIIDOC_EXE) -- message(WARNING "Could not find asciidoc; documentation will not be generated") --else() -- # -- # HTML documentation -- # -- function(generate_html adoc_file) -- get_filename_component(base_name "${adoc_file}" NAME_WE) -- set(html_file "${base_name}.html") -- add_custom_command( -- OUTPUT "${html_file}" -- COMMAND -- ${ASCIIDOC_EXE} -- -o "${html_file}" -- -a revnumber="${CCACHE_VERSION}" -- -a toc -- -b xhtml11 -- "${CMAKE_SOURCE_DIR}/${adoc_file}" -- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}" -- ) -- set(html_files "${html_files}" "${html_file}" PARENT_SCOPE) -- endfunction() -+if (BUILD_DOCS) -+ if(NOT ASCIIDOC_EXE) -+ message(WARNING "Could not find asciidoc; documentation will not be generated") -+ else() -+ # -+ # HTML documentation -+ # -+ function(generate_html adoc_file) -+ get_filename_component(base_name "${adoc_file}" NAME_WE) -+ set(html_file "${base_name}.html") -+ add_custom_command( -+ OUTPUT "${html_file}" -+ COMMAND -+ ${ASCIIDOC_EXE} -+ -o "${html_file}" -+ -a revnumber="${CCACHE_VERSION}" -+ -a toc -+ -b xhtml11 -+ "${CMAKE_SOURCE_DIR}/${adoc_file}" -+ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}" -+ ) -+ set(html_files "${html_files}" "${html_file}" PARENT_SCOPE) -+ endfunction() - -- generate_html(LICENSE.adoc) -- generate_html(doc/AUTHORS.adoc) -- generate_html(doc/MANUAL.adoc) -- generate_html(doc/NEWS.adoc) -+ generate_html(LICENSE.adoc) -+ generate_html(doc/AUTHORS.adoc) -+ generate_html(doc/MANUAL.adoc) -+ generate_html(doc/NEWS.adoc) - -- add_custom_target(doc-html DEPENDS "${html_files}") -- set(doc_files "${html_files}") -+ add_custom_target(doc-html DEPENDS "${html_files}") -+ set(doc_files "${html_files}") - -- # -- # Man page -- # -- find_program(A2X_EXE a2x) -- mark_as_advanced(A2X_EXE) # Don't show in CMake UIs -- if(NOT A2X_EXE) -- message(WARNING "Could not find a2x; man page will not be generated") -- else() -- # MANUAL.adoc -> MANUAL.xml -> man page -- add_custom_command( -- OUTPUT MANUAL.xml -- COMMAND -- ${ASCIIDOC_EXE} -- -o - -- -a revnumber=${CCACHE_VERSION} -- -d manpage -- -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" -- | perl -pe 's!\(.*?\)!\\1!g' -- >MANUAL.xml -- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" -- ) -- add_custom_command( -- OUTPUT ccache.1 -- COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml -- MAIN_DEPENDENCY MANUAL.xml -- ) -- add_custom_target(doc-man-page DEPENDS ccache.1) -- install( -- FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1" -- DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" -- ) -- set(doc_files "${doc_files}" ccache.1) -- endif() -+ # -+ # Man page -+ # -+ find_program(A2X_EXE a2x) -+ mark_as_advanced(A2X_EXE) # Don't show in CMake UIs -+ if(NOT A2X_EXE) -+ message(WARNING "Could not find a2x; man page will not be generated") -+ else() -+ # MANUAL.adoc -> MANUAL.xml -> man page -+ add_custom_command( -+ OUTPUT MANUAL.xml -+ COMMAND -+ ${ASCIIDOC_EXE} -+ -o - -+ -a revnumber=${CCACHE_VERSION} -+ -d manpage -+ -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" -+ | perl -pe 's!\(.*?\)!\\1!g' -+ >MANUAL.xml -+ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc" -+ ) -+ add_custom_command( -+ OUTPUT ccache.1 -+ COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml -+ MAIN_DEPENDENCY MANUAL.xml -+ ) -+ add_custom_target(doc-man-page DEPENDS ccache.1) -+ install( -+ FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1" -+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1" -+ ) -+ set(doc_files "${doc_files}" ccache.1) -+ endif() - -- add_custom_target(doc ALL DEPENDS "${doc_files}") -+ add_custom_target(doc ALL DEPENDS "${doc_files}") -+ endif() - endif() --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb b/poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb deleted file mode 100644 index 8dd5893d6..000000000 --- a/poky/meta/recipes-devtools/ccache/ccache_4.2.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "a fast C/C++ compiler cache" -DESCRIPTION = "ccache is a compiler cache. It speeds up recompilation \ -by caching the result of previous compilations and detecting when the \ -same compilation is being done again. Supported languages are C, C\+\+, \ -Objective-C and Objective-C++." -HOMEPAGE = "http://ccache.samba.org" -SECTION = "devel" - -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=698a26b57e513d678e1e7727bf56395b" - -DEPENDS = "zstd" - -SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz \ - file://0001-doc-allow-disabling-docs-man-page-generation.patch \ - " -SRC_URI[sha256sum] = "320d2b17d2f76393e5d4bb28c8dee5ca783248e9cd23dff0654694d60f8a4b62" - -UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" - -inherit cmake - -PATCHTOOL = "patch" - -BBCLASSEXTEND = "native nativesdk" - -PACKAGECONFIG[docs] = "-DBUILD_DOCS=ON,-DBUILD_DOCS=OFF,asciidoc" diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.3.bb b/poky/meta/recipes-devtools/ccache/ccache_4.3.bb new file mode 100644 index 000000000..53a0bcf7a --- /dev/null +++ b/poky/meta/recipes-devtools/ccache/ccache_4.3.bb @@ -0,0 +1,25 @@ +SUMMARY = "a fast C/C++ compiler cache" +DESCRIPTION = "ccache is a compiler cache. It speeds up recompilation \ +by caching the result of previous compilations and detecting when the \ +same compilation is being done again. Supported languages are C, C\+\+, \ +Objective-C and Objective-C++." +HOMEPAGE = "http://ccache.samba.org" +SECTION = "devel" + +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=698a26b57e513d678e1e7727bf56395b" + +DEPENDS = "zstd" + +SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz" +SRC_URI[sha256sum] = "b9789c42e52c73e99428f311a34def9ffec3462736439afd12dbacc7987c1533" + +UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" + +inherit cmake + +PATCHTOOL = "patch" + +BBCLASSEXTEND = "native nativesdk" + +PACKAGECONFIG[docs] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF,asciidoc" diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb deleted file mode 100644 index d91e42ef9..000000000 --- a/poky/meta/recipes-devtools/cmake/cmake-native_3.19.5.bb +++ /dev/null @@ -1,53 +0,0 @@ -require cmake.inc -inherit native - -DEPENDS += "bzip2-replacement-native xz-native zlib-native curl-native ncurses-native" - -SRC_URI += "file://OEToolchainConfig.cmake \ - file://environment.d-cmake.sh \ - file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ - file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ - " - - -B = "${WORKDIR}/build" -do_configure[cleandirs] = "${B}" - -CMAKE_EXTRACONF = "\ - -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ - -DBUILD_CursesDialog=1 \ - -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_EXPAT=0 \ - -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ - -DHAVE_SYS_ACL_H=0 \ -" - -do_configure () { - ${S}/configure --verbose --prefix=${prefix} \ - ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \ - ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \ - -- ${CMAKE_EXTRACONF} -} - -do_compile() { - oe_runmake -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - # The following codes are here because eSDK needs to provide compatibilty - # for SDK. That is, eSDK could also be used like traditional SDK. - mkdir -p ${D}${datadir}/cmake - install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ - mkdir -p ${D}${base_prefix}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh -} - -do_compile[progress] = "percent" - -SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d" diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb new file mode 100644 index 000000000..335097d38 --- /dev/null +++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb @@ -0,0 +1,53 @@ +require cmake.inc +inherit native + +DEPENDS += "bzip2-replacement-native xz-native zlib-native curl-native ncurses-native zstd-native" + +SRC_URI += "file://OEToolchainConfig.cmake \ + file://environment.d-cmake.sh \ + file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ + file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ + " + + +B = "${WORKDIR}/build" +do_configure[cleandirs] = "${B}" + +CMAKE_EXTRACONF = "\ + -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ + -DBUILD_CursesDialog=1 \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_EXPAT=0 \ + -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ + -DHAVE_SYS_ACL_H=0 \ +" + +do_configure () { + ${S}/configure --verbose --prefix=${prefix} \ + ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \ + ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \ + -- ${CMAKE_EXTRACONF} +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + # The following codes are here because eSDK needs to provide compatibilty + # for SDK. That is, eSDK could also be used like traditional SDK. + mkdir -p ${D}${datadir}/cmake + install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ + mkdir -p ${D}${base_prefix}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh +} + +do_compile[progress] = "percent" + +SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d" diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc index e0f59a6c6..be4376062 100644 --- a/poky/meta/recipes-devtools/cmake/cmake.inc +++ b/poky/meta/recipes-devtools/cmake/cmake.inc @@ -10,19 +10,18 @@ HOMEPAGE = "http://www.cmake.org/" BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php" SECTION = "console/utils" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://Copyright.txt;md5=c721f56fce89ba2eadc2fdd8ba1f4d83 \ +LIC_FILES_CHKSUM = "file://Copyright.txt;md5=31023e1d3f51ca90a58f55bcee8e2339 \ file://Source/cmake.h;beginline=1;endline=2;md5=a5f70e1fef8614734eae0d62b4f5891b \ " CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ - file://0002-cmake-Prevent-the-detection-of-Qt5.patch \ file://0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch \ file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \ " -SRC_URI[sha256sum] = "c432296eb5dec6d71eae15d140f6297d63df44e9ffe3e453628d1dc8fc4201ce" +SRC_URI[sha256sum] = "aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e" UPSTREAM_CHECK_REGEX = "cmake-(?P\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch index 818151032..9609f5f7c 100644 --- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch +++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch @@ -1,4 +1,4 @@ -From 66d5b27dc37ef6243f6549e16d0285ba6c064a6e Mon Sep 17 00:00:00 2001 +From e75f76b00cc9c1cfc231c5e731e975552f5dd13e Mon Sep 17 00:00:00 2001 From: Cody P Schafer Date: Thu, 27 Apr 2017 11:35:05 -0400 Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default @@ -25,7 +25,7 @@ Signed-off-by: Otavio Salvador 1 file changed, 7 insertions(+) diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake -index bae270d..5bb6bc0 100644 +index bae270de..5bb6bc0d 100644 --- a/Modules/CMakeDetermineSystem.cmake +++ b/Modules/CMakeDetermineSystem.cmake @@ -111,6 +111,13 @@ else() diff --git a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch deleted file mode 100644 index 33db07ccf..000000000 --- a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 98abade8cc119e076e4c5f1461c5188f6d49c1d8 Mon Sep 17 00:00:00 2001 -From: Otavio Salvador -Date: Wed, 17 Jan 2018 10:02:14 -0200 -Subject: [PATCH] cmake: Prevent the detection of Qt5 - -Organization: O.S. Systems Software LTDA. - -CMake doesn't have dependency on qt4/qt5, so these tests usually fail -but still can cause undeterministic results or build failures (when -OE_QMAKE_PATH_EXTERNAL_HOST_BINS is undefined or native qmake removed -while running the test in cmake) - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Otavio Salvador - ---- - Source/QtDialog/CMakeLists.txt | 2 +- - Tests/CMakeLists.txt | 2 +- - Tests/Qt4And5Automoc/CMakeLists.txt | 4 ++-- - Tests/QtAutogen/AutogenGuiTest.cmake | 3 +-- - Tests/QtAutogen/MacOsFW/CMakeLists.txt | 2 +- - Tests/RunCMake/CMakeLists.txt | 2 +- - Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake | 2 +- - 7 files changed, 8 insertions(+), 9 deletions(-) - -diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt -index 452a303..d0a9fb4 100644 ---- a/Source/QtDialog/CMakeLists.txt -+++ b/Source/QtDialog/CMakeLists.txt -@@ -3,7 +3,7 @@ - - project(QtDialog) - CMake_OPTIONAL_COMPONENT(cmake-gui) --find_package(Qt5Widgets REQUIRED) -+#find_package(Qt5Widgets REQUIRED) - - set(CMake_QT_EXTRA_LIBRARIES) - -diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt -index 1fb47cb..e022229 100644 ---- a/Tests/CMakeLists.txt -+++ b/Tests/CMakeLists.txt -@@ -251,7 +251,7 @@ if(BUILD_TESTING) - set(CMake_TEST_Qt5 1) - endif() - if(CMake_TEST_Qt5) -- find_package(Qt5Widgets QUIET NO_MODULE) -+ #find_package(Qt5Widgets QUIET NO_MODULE) - endif() - - if(NOT CMake_TEST_EXTERNAL_CMAKE) -diff --git a/Tests/Qt4And5Automoc/CMakeLists.txt b/Tests/Qt4And5Automoc/CMakeLists.txt -index ad74961..a9dd74b 100644 ---- a/Tests/Qt4And5Automoc/CMakeLists.txt -+++ b/Tests/Qt4And5Automoc/CMakeLists.txt -@@ -3,11 +3,11 @@ cmake_minimum_required(VERSION 2.8.12) - project(Qt4And5Automoc) - - if (QT_REVERSE_FIND_ORDER) -- find_package(Qt5Core REQUIRED) -+ #find_package(Qt5Core REQUIRED) - find_package(Qt4 REQUIRED) - else() - find_package(Qt4 REQUIRED) -- find_package(Qt5Core REQUIRED) -+ #find_package(Qt5Core REQUIRED) - endif() - - set(CMAKE_AUTOMOC ON) -diff --git a/Tests/QtAutogen/AutogenGuiTest.cmake b/Tests/QtAutogen/AutogenGuiTest.cmake -index b76d341..a6e0acb 100644 ---- a/Tests/QtAutogen/AutogenGuiTest.cmake -+++ b/Tests/QtAutogen/AutogenGuiTest.cmake -@@ -22,8 +22,7 @@ if (QT_TEST_VERSION EQUAL 4) - endmacro() - - elseif(QT_TEST_VERSION EQUAL 5) -- -- find_package(Qt5Widgets REQUIRED) -+ #find_package(Qt5Widgets REQUIRED) - - set(QT_QTCORE_TARGET Qt5::Core) - set(QT_LIBRARIES Qt5::Widgets) -diff --git a/Tests/QtAutogen/MacOsFW/CMakeLists.txt b/Tests/QtAutogen/MacOsFW/CMakeLists.txt -index c08efc4..87e25d9 100644 ---- a/Tests/QtAutogen/MacOsFW/CMakeLists.txt -+++ b/Tests/QtAutogen/MacOsFW/CMakeLists.txt -@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10) - project(MacOsFW) - include("../AutogenGuiTest.cmake") - --find_package(Qt5Test REQUIRED) -+#find_package(Qt5Test REQUIRED) - - set(CMAKE_CXX_STANDARD 11) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/bin) -diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt -index 370dd76..6bacbff 100644 ---- a/Tests/RunCMake/CMakeLists.txt -+++ b/Tests/RunCMake/CMakeLists.txt -@@ -473,7 +473,7 @@ if(NOT WIN32) - endif () - - find_package(Qt4 QUIET) --find_package(Qt5Core QUIET) -+#find_package(Qt5Core QUIET) - if (QT4_FOUND AND Qt5Core_FOUND AND NOT Qt5Core_VERSION VERSION_LESS 5.1.0) - add_RunCMake_test(IncompatibleQt) - endif() -diff --git a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake -index 4fccdc4..b76e1e5 100644 ---- a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake -+++ b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake -@@ -1,6 +1,6 @@ - - find_package(Qt4 REQUIRED) --find_package(Qt5Core REQUIRED) -+#find_package(Qt5Core REQUIRED) - - add_executable(mainexe main.cpp) - target_link_libraries(mainexe Qt4::QtCore Qt5::Core) diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.19.5.bb b/poky/meta/recipes-devtools/cmake/cmake_3.19.5.bb deleted file mode 100644 index 64c92b89f..000000000 --- a/poky/meta/recipes-devtools/cmake/cmake_3.19.5.bb +++ /dev/null @@ -1,53 +0,0 @@ -require cmake.inc - -inherit cmake bash-completion - -DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" - -SRC_URI_append_class-nativesdk = " \ - file://OEToolchainConfig.cmake \ - file://environment.d-cmake.sh \ - file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ -" - -# Strip ${prefix} from ${docdir}, set result into docdir_stripped -python () { - prefix=d.getVar("prefix") - docdir=d.getVar("docdir") - - if not docdir.startswith(prefix): - bb.fatal('docdir must contain prefix as its prefix') - - docdir_stripped = docdir[len(prefix):] - if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': - docdir_stripped = docdir_stripped[1:] - - d.setVar("docdir_stripped", docdir_stripped) -} - -EXTRA_OECMAKE=" \ - -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ - -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ - -DKWSYS_CHAR_IS_SIGNED=1 \ - -DBUILD_CursesDialog=0 \ - -DKWSYS_LFS_WORKS=1 \ -" - -do_install_append_class-nativesdk() { - mkdir -p ${D}${datadir}/cmake - install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ - - mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh -} - -FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}" - -FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim" -FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" -FILES_${PN}-dev = "" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb new file mode 100644 index 000000000..64c92b89f --- /dev/null +++ b/poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb @@ -0,0 +1,53 @@ +require cmake.inc + +inherit cmake bash-completion + +DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" + +SRC_URI_append_class-nativesdk = " \ + file://OEToolchainConfig.cmake \ + file://environment.d-cmake.sh \ + file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ +" + +# Strip ${prefix} from ${docdir}, set result into docdir_stripped +python () { + prefix=d.getVar("prefix") + docdir=d.getVar("docdir") + + if not docdir.startswith(prefix): + bb.fatal('docdir must contain prefix as its prefix') + + docdir_stripped = docdir[len(prefix):] + if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': + docdir_stripped = docdir_stripped[1:] + + d.setVar("docdir_stripped", docdir_stripped) +} + +EXTRA_OECMAKE=" \ + -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ + -DKWSYS_CHAR_IS_SIGNED=1 \ + -DBUILD_CursesDialog=0 \ + -DKWSYS_LFS_WORKS=1 \ +" + +do_install_append_class-nativesdk() { + mkdir -p ${D}${datadir}/cmake + install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ + + mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh +} + +FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}" + +FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim" +FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" +FILES_${PN}-dev = "" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch index d675af4f8..4b844574e 100644 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch @@ -1,4 +1,4 @@ -From 218a4760945be7a404df6515ffbc769c92791f9b Mon Sep 17 00:00:00 2001 +From 6f8f6d151b831b60f6e7892aa9294a6361353c72 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 30 Dec 2016 18:31:02 +0200 Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python @@ -11,11 +11,11 @@ Signed-off-by: Alexander Kanavin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt -index 855127f..dff1d97 100644 +index ecc262d..a86514c 100644 --- a/src/python/CMakeLists.txt +++ b/src/python/CMakeLists.txt @@ -14,7 +14,7 @@ if (NOT SKBUILD) - FIND_PACKAGE(PythonInterp 3 EXACT REQUIRED) + FIND_PACKAGE(PythonLibs 3 REQUIRED) endif (NOT SKBUILD) -EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.0.bb deleted file mode 100644 index e0433806b..000000000 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.0.bb +++ /dev/null @@ -1,40 +0,0 @@ -DESCRIPTION = "C implementation of createrepo." -HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ - file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - " - -SRCREV = "909a0636665ed96f97babc3b887f9badc88875c3" - -S = "${WORKDIR}/git" - -DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" -DEPENDS_append_class-native = " file-replacement-native" - -inherit cmake pkgconfig bash-completion distutils3-base - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF -DENABLE_DRPM=OFF -DWITH_LIBMODULEMD=OFF" - -BBCLASSEXTEND = "native nativesdk" - -# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ - MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc - create_wrapper ${D}/${bindir}/modifyrepo_c \ - MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc -} - -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ - MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc - create_wrapper ${D}/${bindir}/modifyrepo_c \ - MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc - rm -rf ${D}/etc -} diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb new file mode 100644 index 000000000..76bdd6983 --- /dev/null +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "C implementation of createrepo." +HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ + file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + " + +SRCREV = "8eff6ed99f5fd0ba844cb8513963435caab5fd3c" + +S = "${WORKDIR}/git" + +DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" +DEPENDS_append_class-native = " file-replacement-native" + +inherit cmake pkgconfig bash-completion distutils3-base + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF -DENABLE_DRPM=OFF -DWITH_LIBMODULEMD=OFF" + +BBCLASSEXTEND = "native nativesdk" + +# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/createrepo_c \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc + create_wrapper ${D}/${bindir}/modifyrepo_c \ + MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc +} + +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/createrepo_c \ + RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ + MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc + create_wrapper ${D}/${bindir}/modifyrepo_c \ + MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc + rm -rf ${D}/etc +} diff --git a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb index 0a007bb2c..ce242c359 100644 --- a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb +++ b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SECTION = "devel" DEPENDS += "expect-native" +RDEPENDS_${PN} = "expect" inherit autotools diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.3.5.bb b/poky/meta/recipes-devtools/distcc/distcc_3.3.5.bb deleted file mode 100644 index 5c2644199..000000000 --- a/poky/meta/recipes-devtools/distcc/distcc_3.3.5.bb +++ /dev/null @@ -1,88 +0,0 @@ -SUMMARY = "A parallel build system" -DESCRIPTION = "distcc is a parallel build system that distributes \ -compilation of C/C++/ObjC code across machines on a network." -HOMEPAGE = "https://github.com/distcc/distcc" -SECTION = "devel" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -DEPENDS = "avahi binutils" - -PACKAGECONFIG ??= "popt" -PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+" -# use system popt by default -PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt" - -RRECOMMENDS_${PN}-server = "avahi-daemon" - -SRC_URI = "git://github.com/distcc/distcc.git \ - file://default \ - file://distcc \ - file://distcc.service \ - " -SRCREV = "8572e2a1af39e69b2a2d74622fed6d2dd7dca9b7" -S = "${WORKDIR}/git" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -inherit autotools pkgconfig update-rc.d useradd systemd - -ASNEEDED = "" - -EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode" - -PACKAGE_BEFORE_PN = "${PN}-distmon-gnome ${PN}-server" - -USERADD_PACKAGES = "${PN}-server" -USERADD_PARAM_${PN}-server = "--system \ - --home /dev/null \ - --no-create-home \ - --gid nogroup \ - distcc" - -UPDATERCPN = "${PN}-server" -INITSCRIPT_NAME = "distcc" - -SYSTEMD_PACKAGES = "${PN}-server" -SYSTEMD_SERVICE_${PN}-server = "distcc.service" - -do_install() { - # Improve reproducibility: compress w/o timestamps - oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install - install -d ${D}${sysconfdir}/init.d/ - install -d ${D}${sysconfdir}/default - install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_unitdir}/system - sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service -} - -FILES_${PN}-server = "${sysconfdir} \ - ${bindir}/distccd \ - ${sbindir}" -FILES_${PN}-distmon-gnome = "${bindir}/distccmon-gnome \ - ${datadir}/applications \ - ${datadir}/pixmaps" - -# -# distcc upstream dropped the 3.2 branch which we reference in older project releases -# the revisions are there, just the branch is not. In order to be able to continue -# to build those old releases, adjust any mirror tarball to contain the missing branch -# -fixup_distcc_mirror_tarball () { - TBALL=${DL_DIR}/git2_github.com.distcc.distcc.git.tar.gz - if [ -f $TBALL ]; then - TDIR=`mktemp -d` - cd $TDIR - tar -xzf $TBALL - set +e - git rev-parse --verify 3.2 - if [ "$?" != "0" ]; then - git branch 3.2 d8b18df3e9dcbe4f092bed565835d3975e99432c - tar -czf $TBALL * - fi - set -e - rm -rf $TDIR/* - fi -} -do_fetch[postfuncs] += "fixup_distcc_mirror_tarball" diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.4.bb b/poky/meta/recipes-devtools/distcc/distcc_3.4.bb new file mode 100644 index 000000000..3bab6d53e --- /dev/null +++ b/poky/meta/recipes-devtools/distcc/distcc_3.4.bb @@ -0,0 +1,88 @@ +SUMMARY = "A parallel build system" +DESCRIPTION = "distcc is a parallel build system that distributes \ +compilation of C/C++/ObjC code across machines on a network." +HOMEPAGE = "https://github.com/distcc/distcc" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "avahi binutils" + +PACKAGECONFIG ??= "popt" +PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+" +# use system popt by default +PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt" + +RRECOMMENDS_${PN}-server = "avahi-daemon" + +SRC_URI = "git://github.com/distcc/distcc.git \ + file://default \ + file://distcc \ + file://distcc.service \ + " +SRCREV = "50d821efe99cae82c05be0a4ab3b4035ef0d3883" +S = "${WORKDIR}/git" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +inherit autotools pkgconfig update-rc.d useradd systemd + +ASNEEDED = "" + +EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode" + +PACKAGE_BEFORE_PN = "${PN}-distmon-gnome ${PN}-server" + +USERADD_PACKAGES = "${PN}-server" +USERADD_PARAM_${PN}-server = "--system \ + --home /dev/null \ + --no-create-home \ + --gid nogroup \ + distcc" + +UPDATERCPN = "${PN}-server" +INITSCRIPT_NAME = "distcc" + +SYSTEMD_PACKAGES = "${PN}-server" +SYSTEMD_SERVICE_${PN}-server = "distcc.service" + +do_install() { + # Improve reproducibility: compress w/o timestamps + oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install + install -d ${D}${sysconfdir}/init.d/ + install -d ${D}${sysconfdir}/default + install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service +} + +FILES_${PN}-server = "${sysconfdir} \ + ${bindir}/distccd \ + ${sbindir}" +FILES_${PN}-distmon-gnome = "${bindir}/distccmon-gnome \ + ${datadir}/applications \ + ${datadir}/pixmaps" + +# +# distcc upstream dropped the 3.2 branch which we reference in older project releases +# the revisions are there, just the branch is not. In order to be able to continue +# to build those old releases, adjust any mirror tarball to contain the missing branch +# +fixup_distcc_mirror_tarball () { + TBALL=${DL_DIR}/git2_github.com.distcc.distcc.git.tar.gz + if [ -f $TBALL ]; then + TDIR=`mktemp -d` + cd $TDIR + tar -xzf $TBALL + set +e + git rev-parse --verify 3.2 + if [ "$?" != "0" ]; then + git branch 3.2 d8b18df3e9dcbe4f092bed565835d3975e99432c + tar -czf $TBALL * + fi + set -e + rm -rf $TDIR/* + fi +} +do_fetch[postfuncs] += "fixup_distcc_mirror_tarball" diff --git a/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch b/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch new file mode 100644 index 000000000..99afe0984 --- /dev/null +++ b/poky/meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch @@ -0,0 +1,39 @@ +From 2729c00f0060beab8537a9bebc796b170949093d Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 4 May 2021 22:03:30 +0200 +Subject: [PATCH 1/2] dnf/rpm/miscutils.py: fix usage of _() + +Specifically: +- an import of _ was missing +- _ was reused for a different purpose + +Upstream-Status: Submitted [https://github.com/rpm-software-management/dnf/pull/1762] +Signed-off-by: Alexander Kanavin +--- + dnf/rpm/miscutils.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/dnf/rpm/miscutils.py b/dnf/rpm/miscutils.py +index 235aaf28f..7e33d4c42 100644 +--- a/dnf/rpm/miscutils.py ++++ b/dnf/rpm/miscutils.py +@@ -22,6 +22,7 @@ import subprocess + import logging + + from dnf.i18n import ucd ++from dnf.i18n import _ + from shutil import which + + +@@ -46,7 +47,7 @@ def _verifyPkgUsingRpmkeys(package, installroot): + env={'LC_ALL': 'C'}, + stdout=subprocess.PIPE, + cwd='/') as p: +- data, _ = p.communicate() ++ data, err = p.communicate() + if p.returncode != 0 or data != (package.encode('ascii', 'strict') + b': digests signatures OK\n'): + return 0 + else: +-- +2.31.1 + diff --git a/poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch b/poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch new file mode 100644 index 000000000..b4c9e074d --- /dev/null +++ b/poky/meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch @@ -0,0 +1,37 @@ +From dc14022a99dc017c52c484efb32729729baf854c Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 4 May 2021 22:07:32 +0200 +Subject: [PATCH 2/2] dnf/rpm/miscutils.py: do not hardcode /usr/bin/rpmkeys + +Some build systems (e.g. Yocto) place a specially configured +rpmkeys executable elsewhere and set up PATH accordingly; +it's better to always take it from there. + +Upstream-Status: Submitted [https://github.com/rpm-software-management/dnf/pull/1763] +Signed-off-by: Alexander Kanavin +--- + dnf/rpm/miscutils.py | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/dnf/rpm/miscutils.py b/dnf/rpm/miscutils.py +index 7e33d4c42..fcd956db9 100644 +--- a/dnf/rpm/miscutils.py ++++ b/dnf/rpm/miscutils.py +@@ -30,11 +30,9 @@ logger = logging.getLogger('dnf') + + + def _verifyPkgUsingRpmkeys(package, installroot): +- rpmkeys_binary = '/usr/bin/rpmkeys' +- if not os.path.isfile(rpmkeys_binary): +- rpmkeys_binary = which("rpmkeys") +- logger.info(_('Using rpmkeys executable from {path} to verify signature for package: {package}.').format( +- path=rpmkeys_binary, package=package)) ++ rpmkeys_binary = which("rpmkeys") ++ logger.info(_('Using rpmkeys executable from {path} to verify signature for package: {package}.').format( ++ path=rpmkeys_binary, package=package)) + + if not os.path.isfile(rpmkeys_binary): + logger.critical(_('Cannot find rpmkeys executable to verify signatures.')) +-- +2.31.1 + diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb deleted file mode 100644 index 6651e6435..000000000 --- a/poky/meta/recipes-devtools/dnf/dnf_4.6.0.bb +++ /dev/null @@ -1,91 +0,0 @@ -SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver" -DESCRIPTION = "Software package manager that installs, updates, and removes \ -packages on RPM-based Linux distributions. It automatically computes \ -dependencies and determines the actions required to install packages." -HOMEPAGE = "https://github.com/rpm-software-management/dnf" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \ - " - -SRC_URI = "git://github.com/rpm-software-management/dnf.git \ - file://0001-Corretly-install-tmpfiles.d-configuration.patch \ - file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \ - file://0005-Do-not-prepend-installroot-to-logdir.patch \ - file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - file://0030-Run-python-scripts-using-env.patch \ - file://0001-set-python-path-for-completion_helper.patch \ - file://0001-dnf-write-the-log-lock-to-root.patch \ - " - -SRCREV = "c826d7db401ebf9b59b2fa74570a919e4af2673e" -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -inherit cmake gettext bash-completion distutils3-base systemd - -DEPENDS += "libdnf librepo libcomps python3-iniparse" - -# manpages generation requires http://www.sphinx-doc.org/ -EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS_${PN} += " \ - python3-core \ - python3-codecs \ - python3-netclient \ - python3-email \ - python3-threading \ - python3-distutils \ - python3-logging \ - python3-fcntl \ - librepo \ - python3-shell \ - libcomps \ - libdnf \ - python3-sqlite3 \ - python3-compression \ - python3-rpm \ - python3-iniparse \ - python3-json \ - python3-curses \ - python3-misc \ - python3-gpg \ - " - -RDEPENDS_${PN}_class-native = "" - -RRECOMMENDS_${PN}_class-target += "gnupg" - -# Create a symlink called 'dnf' as 'make install' does not do it, but -# .spec file in dnf source tree does (and then Fedora and dnf documentation -# says that dnf binary is plain 'dnf'). -do_install_append() { - lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf - lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic -} - -# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/dnf \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ - RPM_NO_CHROOT_FOR_SCRIPTS=1 -} - -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/dnf \ - RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ - RPM_NO_CHROOT_FOR_SCRIPTS=1 -} - -SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \ - dnf-automatic.service dnf-automatic.timer \ - dnf-automatic-download.service dnf-automatic-download.timer \ - dnf-automatic-install.service dnf-automatic-install.timer \ - dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \ -" -SYSTEMD_AUTO_ENABLE ?= "disable" - -PNBLACKLIST[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}" diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb new file mode 100644 index 000000000..7314eaf7b --- /dev/null +++ b/poky/meta/recipes-devtools/dnf/dnf_4.7.0.bb @@ -0,0 +1,93 @@ +SUMMARY = "Package manager forked from Yum, using libsolv as a dependency resolver" +DESCRIPTION = "Software package manager that installs, updates, and removes \ +packages on RPM-based Linux distributions. It automatically computes \ +dependencies and determines the actions required to install packages." +HOMEPAGE = "https://github.com/rpm-software-management/dnf" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \ + " + +SRC_URI = "git://github.com/rpm-software-management/dnf.git \ + file://0001-Corretly-install-tmpfiles.d-configuration.patch \ + file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \ + file://0005-Do-not-prepend-installroot-to-logdir.patch \ + file://0029-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + file://0030-Run-python-scripts-using-env.patch \ + file://0001-set-python-path-for-completion_helper.patch \ + file://0001-dnf-write-the-log-lock-to-root.patch \ + file://0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch \ + file://0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch \ + " + +SRCREV = "395541fbf8f87f81cdca7567f22be1182e55bea7" +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +inherit cmake gettext bash-completion distutils3-base systemd + +DEPENDS += "libdnf librepo libcomps python3-iniparse" + +# manpages generation requires http://www.sphinx-doc.org/ +EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS_${PN} += " \ + python3-core \ + python3-codecs \ + python3-netclient \ + python3-email \ + python3-threading \ + python3-distutils \ + python3-logging \ + python3-fcntl \ + librepo \ + python3-shell \ + libcomps \ + libdnf \ + python3-sqlite3 \ + python3-compression \ + python3-rpm \ + python3-iniparse \ + python3-json \ + python3-curses \ + python3-misc \ + python3-gpg \ + " + +RDEPENDS_${PN}_class-native = "" + +RRECOMMENDS_${PN}_class-target += "gnupg" + +# Create a symlink called 'dnf' as 'make install' does not do it, but +# .spec file in dnf source tree does (and then Fedora and dnf documentation +# says that dnf binary is plain 'dnf'). +do_install_append() { + lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf + lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic +} + +# Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/dnf \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + RPM_NO_CHROOT_FOR_SCRIPTS=1 +} + +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/dnf \ + RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ + RPM_NO_CHROOT_FOR_SCRIPTS=1 +} + +SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \ + dnf-automatic.service dnf-automatic.timer \ + dnf-automatic-download.service dnf-automatic-download.timer \ + dnf-automatic-install.service dnf-automatic-install.timer \ + dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \ +" +SYSTEMD_AUTO_ENABLE ?= "disable" + +PNBLACKLIST[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}" diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb deleted file mode 100644 index 55ac84f72..000000000 --- a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -require dpkg.inc -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=sid \ - file://noman.patch \ - file://remove-tar-no-timestamp.patch \ - file://arch_pm.patch \ - file://add_armeb_triplet_entry.patch \ - file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \ - file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \ - file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \ - file://0006-add-musleabi-to-known-target-tripets.patch \ - file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \ - file://0001-dpkg-Support-muslx32-build.patch \ - file://pager.patch \ - file://0001-Add-support-for-riscv32-CPU.patch \ - file://0013-scripts-dpkg-fsys-usrunmess.pl-correct-shebang.patch \ - " - -SRC_URI_append_class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch" - -SRCREV = "667bf0aeb92e0e7bb225ee273569c5e2389083bd" - -S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb new file mode 100644 index 000000000..60ae3ff73 --- /dev/null +++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.20.9.bb @@ -0,0 +1,24 @@ +require dpkg.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=1.20.x \ + file://noman.patch \ + file://remove-tar-no-timestamp.patch \ + file://arch_pm.patch \ + file://add_armeb_triplet_entry.patch \ + file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \ + file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \ + file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \ + file://0006-add-musleabi-to-known-target-tripets.patch \ + file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \ + file://0001-dpkg-Support-muslx32-build.patch \ + file://pager.patch \ + file://0001-Add-support-for-riscv32-CPU.patch \ + file://0013-scripts-dpkg-fsys-usrunmess.pl-correct-shebang.patch \ + " + +SRC_URI_append_class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch" + +SRCREV = "2177b782b16e77e97c9643961a5ae3c639bcc4a3" + +S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch new file mode 100644 index 000000000..26f972b31 --- /dev/null +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch @@ -0,0 +1,24 @@ +From 42ba67f9a51ef959e7fd8dac29b5398c121c6976 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 30 Apr 2021 23:45:56 +0200 +Subject: [PATCH] lib/ext2fs/unix_io.c: do unlock on error + +Upstream-Status: Submitted [https://github.com/tytso/e2fsprogs/pull/68] +Signed-off-by: Alexander Kanavin +--- + lib/ext2fs/unix_io.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c +index 64eee342..528c2fbc 100644 +--- a/lib/ext2fs/unix_io.c ++++ b/lib/ext2fs/unix_io.c +@@ -398,7 +398,7 @@ static errcode_t raw_write_blk(io_channel channel, + mutex_lock(data, BOUNCE_MTX); + if (ext2fs_llseek(data->dev, location, SEEK_SET) < 0) { + retval = errno ? errno : EXT2_ET_LLSEEK_FAILED; +- goto error_out; ++ goto error_unlock; + } + actual = write(data->dev, buf, size); + mutex_unlock(data, BOUNCE_MTX); diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch new file mode 100644 index 000000000..2452f7e08 --- /dev/null +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch @@ -0,0 +1,48 @@ +From 3593063f735f453d43f461292e26913436c11ca3 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sat, 1 May 2021 13:06:12 +0200 +Subject: [PATCH] lib/ext2fs/unix_io.c: revert parts of "libext2fs: fix + potential races in unix_io" + +Upstream-Status: Submitted [https://github.com/tytso/e2fsprogs/pull/68] +Signed-off-by: Alexander Kanavin +--- + lib/ext2fs/unix_io.c | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c +index 528c2fbc..f4916b21 100644 +--- a/lib/ext2fs/unix_io.c ++++ b/lib/ext2fs/unix_io.c +@@ -311,10 +311,10 @@ bounce_read: + size += really_read; + goto short_read; + } +- actual = size; +- if (actual > align_size) +- actual = align_size; +- actual -= offset; ++ if ((actual + offset) > align_size) ++ actual = align_size - offset; ++ if (actual > size) ++ actual = size; + memcpy(buf, data->bounce + offset, actual); + + really_read += actual; +@@ -455,9 +455,10 @@ bounce_write: + } + } + actual = size; +- if (actual > align_size) +- actual = align_size; +- actual -= offset; ++ if ((actual + offset) > align_size) ++ actual = align_size - offset; ++ if (actual > size) ++ actual = size; + memcpy(((char *)data->bounce) + offset, buf, actual); + if (ext2fs_llseek(data->dev, aligned_blk * align_size, SEEK_SET) < 0) { + retval = errno ? errno : EXT2_ET_LLSEEK_FAILED; +-- +2.24.0 + diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch index d7c07c3b0..e8b2aafbf 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch @@ -1,4 +1,4 @@ -From 9263b8764702f2b26ddaaf80808ebab31a1dba3b Mon Sep 17 00:00:00 2001 +From 8957443bcbea43685c76eb3cbc5009f7fd529283 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Wed, 10 Aug 2016 11:19:44 +0800 Subject: [PATCH] Fix missing check for permission denied. diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch index 88d0ae77c..96eb7f20d 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch @@ -1,4 +1,4 @@ -From 6e4c1644a3a8cacf7c1f5953cc378589bb046d5a Mon Sep 17 00:00:00 2001 +From 3b75308cc75adc249db6ca36e42fe93309b9a018 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Mon, 23 Dec 2013 13:38:34 +0000 Subject: [PATCH] e2fsprogs: silence debugfs @@ -14,10 +14,10 @@ Signed-off-by: Ross Burton 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c -index 132c5f9d..98063727 100644 +index b67a88bc..76dd5556 100644 --- a/debugfs/debugfs.c +++ b/debugfs/debugfs.c -@@ -2510,7 +2510,7 @@ static int source_file(const char *cmd_file, int ss_idx) +@@ -2518,7 +2518,7 @@ static int source_file(const char *cmd_file, int ss_idx) cp = strchr(buf, '\r'); if (cp) *cp = 0; diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb deleted file mode 100644 index be8b67c35..000000000 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb +++ /dev/null @@ -1,141 +0,0 @@ -require e2fsprogs.inc - -SRC_URI += "file://remove.ldconfig.call.patch \ - file://run-ptest \ - file://ptest.patch \ - file://mkdir_p.patch \ - " - -SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \ - file://quiet-debugfs.patch \ -" - - -SRCREV = "3114c623f56b0d61f5f34b85f7b23d28f6c848c0" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+(\.\d+)*)$" - -EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \ - --enable-elf-shlibs --disable-libuuid --disable-uuidd \ - --disable-libblkid --enable-verbose-makecmds \ - --with-crond-dir=no" - -EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse' - -# make locale rules sometimes fire, sometimes don't as git doesn't preserve -# file mktime. Touch the files introducing non-determinism to the build -do_compile_prepend (){ - find ${S}/po -type f -name "*.po" -exec touch {} + -} - -do_install () { - oe_runmake 'DESTDIR=${D}' install - oe_runmake 'DESTDIR=${D}' install-libs - # We use blkid from util-linux now so remove from here - rm -f ${D}${base_libdir}/libblkid* - rm -rf ${D}${includedir}/blkid - rm -f ${D}${base_libdir}/pkgconfig/blkid.pc - rm -f ${D}${base_sbindir}/blkid - rm -f ${D}${base_sbindir}/fsck - rm -f ${D}${base_sbindir}/findfs - - # e2initrd_helper and the pkgconfig files belong in libdir - if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then - install -d ${D}${libdir} - mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir} - mv ${D}${base_libdir}/pkgconfig ${D}${libdir} - fi - - oe_multilib_header ext2fs/ext2_types.h - install -d ${D}${base_bindir} - mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs - - install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/ - - # Clean host path (build directory) in compile_et, mk_cmds - sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et - sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds -} - -# Need to find the right mke2fs.conf file -e2fsprogs_conf_fixup () { - for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4; do - create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf - done -} - -do_install_append_class-native() { - e2fsprogs_conf_fixup -} - -do_install_append_class-nativesdk() { - e2fsprogs_conf_fixup -} - -do_install_append_class-target() { - mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs - mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs - mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs -} - -RDEPENDS_e2fsprogs = "e2fsprogs-badblocks e2fsprogs-dumpe2fs" -RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck" - -PACKAGES =+ "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-e2scrub e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs" -PACKAGES =+ "libcomerr libss libe2p libext2fs" - -FILES_e2fsprogs-dumpe2fs = "${base_sbindir}/dumpe2fs" -FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*" -FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*" -FILES_e2fsprogs-e2scrub = "${base_sbindir}/e2scrub*" -FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf" -FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label" -FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks" -FILES_libcomerr = "${base_libdir}/libcom_err.so.*" -FILES_libss = "${base_libdir}/libss.so.*" -FILES_libe2p = "${base_libdir}/libe2p.so.*" -FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*" -FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds" - -ALTERNATIVE_${PN} = "chattr" -ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr" -ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs" - -ALTERNATIVE_${PN}-doc = "fsck.8" -ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" - -ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2" -ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs" -ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2" - -ALTERNATIVE_${PN}-tune2fs = "tune2fs" -ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs" - -RDEPENDS_e2fsprogs-e2scrub = "bash" -RDEPENDS_${PN}-ptest += "coreutils procps bash bzip2 diffutils perl sed" -RDEPENDS_${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs" - -do_compile_ptest() { - oe_runmake -C ${B}/tests -} - -do_install_ptest() { - # This file's permissions depends on the host umask so be deterministic - chmod 0644 ${B}/tests/test_data.tmp - cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test - cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test - sed -e 's!../e2fsck/e2fsck!e2fsck!g' \ - -e 's!../misc/tune2fs!tune2fs!g' -i ${D}${PTEST_PATH}/test/*/expect* - sed -e 's!../e2fsck/e2fsck!${base_sbindir}/e2fsck!g' -i ${D}${PTEST_PATH}/test/*/script - - # Remove various files - find "${D}${PTEST_PATH}" -type f \ - \( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\ - -exec rm -f {} + - - install -d ${D}${PTEST_PATH}/lib - install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/ -} diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb new file mode 100644 index 000000000..fc022f37d --- /dev/null +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb @@ -0,0 +1,143 @@ +require e2fsprogs.inc + +SRC_URI += "file://remove.ldconfig.call.patch \ + file://run-ptest \ + file://ptest.patch \ + file://mkdir_p.patch \ + file://0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch \ + file://0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch \ + " + +SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \ + file://quiet-debugfs.patch \ +" + + +SRCREV = "1eea0e2bd9a6760ebad834d5d2cf700fffe5ebe2" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+\.\d+(\.\d+)*)$" + +EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \ + --enable-elf-shlibs --disable-libuuid --disable-uuidd \ + --disable-libblkid --enable-verbose-makecmds \ + --with-crond-dir=no" + +EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse' + +# make locale rules sometimes fire, sometimes don't as git doesn't preserve +# file mktime. Touch the files introducing non-determinism to the build +do_compile_prepend (){ + find ${S}/po -type f -name "*.po" -exec touch {} + +} + +do_install () { + oe_runmake 'DESTDIR=${D}' install + oe_runmake 'DESTDIR=${D}' install-libs + # We use blkid from util-linux now so remove from here + rm -f ${D}${base_libdir}/libblkid* + rm -rf ${D}${includedir}/blkid + rm -f ${D}${base_libdir}/pkgconfig/blkid.pc + rm -f ${D}${base_sbindir}/blkid + rm -f ${D}${base_sbindir}/fsck + rm -f ${D}${base_sbindir}/findfs + + # e2initrd_helper and the pkgconfig files belong in libdir + if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then + install -d ${D}${libdir} + mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir} + mv ${D}${base_libdir}/pkgconfig ${D}${libdir} + fi + + oe_multilib_header ext2fs/ext2_types.h + install -d ${D}${base_bindir} + mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs + + install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/ + + # Clean host path (build directory) in compile_et, mk_cmds + sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et + sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds +} + +# Need to find the right mke2fs.conf file +e2fsprogs_conf_fixup () { + for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4; do + create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf + done +} + +do_install_append_class-native() { + e2fsprogs_conf_fixup +} + +do_install_append_class-nativesdk() { + e2fsprogs_conf_fixup +} + +do_install_append_class-target() { + mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs + mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs + mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs +} + +RDEPENDS_e2fsprogs = "e2fsprogs-badblocks e2fsprogs-dumpe2fs" +RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck" + +PACKAGES =+ "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-e2scrub e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs" +PACKAGES =+ "libcomerr libss libe2p libext2fs" + +FILES_e2fsprogs-dumpe2fs = "${base_sbindir}/dumpe2fs" +FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*" +FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*" +FILES_e2fsprogs-e2scrub = "${base_sbindir}/e2scrub*" +FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf" +FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label" +FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks" +FILES_libcomerr = "${base_libdir}/libcom_err.so.*" +FILES_libss = "${base_libdir}/libss.so.*" +FILES_libe2p = "${base_libdir}/libe2p.so.*" +FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*" +FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds" + +ALTERNATIVE_${PN} = "chattr" +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr" +ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs" + +ALTERNATIVE_${PN}-doc = "fsck.8" +ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" + +ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2" +ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs" +ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2" + +ALTERNATIVE_${PN}-tune2fs = "tune2fs" +ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs" + +RDEPENDS_e2fsprogs-e2scrub = "bash" +RDEPENDS_${PN}-ptest += "coreutils procps bash bzip2 diffutils perl sed" +RDEPENDS_${PN}-ptest += "e2fsprogs-badblocks e2fsprogs-dumpe2fs e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-resize2fs e2fsprogs-tune2fs" + +do_compile_ptest() { + oe_runmake -C ${B}/tests +} + +do_install_ptest() { + # This file's permissions depends on the host umask so be deterministic + chmod 0644 ${B}/tests/test_data.tmp + cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test + cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test + sed -e 's!../e2fsck/e2fsck!e2fsck!g' \ + -e 's!../misc/tune2fs!tune2fs!g' -i ${D}${PTEST_PATH}/test/*/expect* + sed -e 's!../e2fsck/e2fsck!${base_sbindir}/e2fsck!g' -i ${D}${PTEST_PATH}/test/*/script + + # Remove various files + find "${D}${PTEST_PATH}" -type f \ + \( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\ + -exec rm -f {} + + + install -d ${D}${PTEST_PATH}/lib + install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/ +} diff --git a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb new file mode 100644 index 000000000..6435fea68 --- /dev/null +++ b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "Tools for erofs filesystems" +LICENSE = "GPLv2+" +SECTION = "base" +LIC_FILES_CHKSUM = "file://COPYING;md5=94fa01670a2a8f2d3ab2de15004e0848" +HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README" + +SRCREV = "d1f4953edfcf4f51c71ba91586e21fc6ce9f6db9" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git" + +S = "${WORKDIR}/git" + +DEPENDS = "util-linux-libuuid" + +inherit pkgconfig autotools + +PACKAGECONFIG ??= "lz4" +PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" + +EXTRA_OECONF = "${PACKAGECONFIG_CONFARGS} --disable-fuse" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb index 1d43d2228..54e7e0172 100644 --- a/poky/meta/recipes-devtools/flex/flex_2.6.4.bb +++ b/poky/meta/recipes-devtools/flex/flex_2.6.4.bb @@ -3,12 +3,14 @@ DESCRIPTION = "Flex is a fast lexical analyser generator. Flex is a tool for ge lexical patterns in text." HOMEPAGE = "http://sourceforge.net/projects/flex/" SECTION = "devel" -LICENSE = "BSD-2-Clause" +LICENSE = "BSD-3-Clause & LGPL-2.0+" +LICENSE_${PN}-libfl = "BSD-3-Clause" DEPENDS = "${@bb.utils.contains('PTEST_ENABLED', '1', 'bison-native flex-native', '', d)}" BBCLASSEXTEND = "native nativesdk" -LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067" +LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067 \ + file://src/gettext.h;beginline=1;endline=17;md5=9c05dda2f58d89b850c399cf22e1a00c" SRC_URI = "https://github.com/westes/flex/releases/download/v${PV}/flex-${PV}.tar.gz \ file://run-ptest \ diff --git a/poky/meta/recipes-devtools/gcc/gcc-11.1.inc b/poky/meta/recipes-devtools/gcc/gcc-11.1.inc index 713002266..bf29879de 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-11.1.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-11.1.inc @@ -6,7 +6,7 @@ PV = "11.1.0" # BINV should be incremented to a revision after a minor gcc release -BINV = "11.1.0" +BINV = "11.1.1" FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" @@ -25,7 +25,10 @@ LIC_FILES_CHKSUM = "\ #RELEASE ?= "5b2ac9b40c325e9209c0bd55955db84aad4a0cc5" #BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip" -BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" + +BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz \ + http://downloads.yoctoproject.org/mirror/sources/gcc-11.1.0-9ee61d2b51df012c659359873637cc2162ecccf3.patch;apply=yes;name=backports \ + " SRC_URI = "\ ${BASEURI} \ file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ @@ -65,8 +68,10 @@ SRC_URI = "\ file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ file://0036-mingw32-Enable-operation_not_supported.patch \ file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \ + file://0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch \ " SRC_URI[sha256sum] = "4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf" +SRC_URI[backports.sha256sum] = "69274bebd6c069a13443d4af61070e854740a639ec4d66eedf3e80070363587b" S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc index 878feaf81..1872faee1 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc @@ -124,7 +124,7 @@ do_install () { dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/ install -d $dest suffix=${EXEEXT} - for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do + for t in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do if [ "$t" = "g77" -o "$t" = "gfortran" ] && [ ! -e ${D}${bindir}/${TARGET_PREFIX}$t$suffix ]; then continue fi diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc index d0348c481..59e91daae 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc @@ -90,7 +90,9 @@ FILES_libasan-dev += "\ ${libdir}/libhwasan.so \ ${libdir}/libasan.la \ " -FILES_libasan-staticdev += "${libdir}/libasan.a" +FILES_libasan-staticdev += "${libdir}/libasan.a \ + ${libdir}/libhwasan.a \ +" FILES_libubsan += "${libdir}/libubsan.so.*" FILES_libubsan-dev += "\ diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch new file mode 100644 index 000000000..a3e31e4f9 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch @@ -0,0 +1,76 @@ +This change breaks installation on baremetal targets, so whilst the cause is +investigated revert the commit. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +From 8ec52bd0ba2141ef0bcc6f93e26a23d662b40f78 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Wed, 26 May 2021 19:54:29 +0100 +Subject: [PATCH] Revert "libstdc++: Install libstdc++*-gdb.py more robustly + [PR 99453]" + +This reverts commit dbb87d6a9c37c8eca80d77782717a8144515c16d. +--- + libstdc++-v3/python/Makefile.am | 20 ++++++++++++++++---- + libstdc++-v3/python/Makefile.in | 14 ++++++++++++-- + 2 files changed, 28 insertions(+), 6 deletions(-) + +diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am +index 0c2b207b86e..01517a2a522 100644 +--- a/libstdc++-v3/python/Makefile.am ++++ b/libstdc++-v3/python/Makefile.am +@@ -44,9 +44,21 @@ gdb.py: hook.in Makefile + install-data-local: gdb.py + @$(mkdir_p) $(DESTDIR)$(toolexeclibdir) + ## We want to install gdb.py as SOMETHING-gdb.py. SOMETHING is the +-## full name of the final library. We use the libtool .la file to get +-## the correct name. +- @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ +- $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ ++## full name of the final library. We want to ignore symlinks, the ++## .la file, and any previous -gdb.py file. This is inherently ++## fragile, but there does not seem to be a better option, because ++## libtool hides the real names from us. ++ @here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \ ++ for file in libstdc++.*; do \ ++ case $$file in \ ++ *-gdb.py) ;; \ ++ *.la) ;; \ ++ *) if test -h $$file; then \ ++ continue; \ ++ fi; \ ++ libname=$$file;; \ ++ esac; \ ++ done; \ ++ cd $$here; \ + echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \ + $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py +diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefile.in +index 2efe0b96a19..c35dbe55961 100644 +--- a/libstdc++-v3/python/Makefile.in ++++ b/libstdc++-v3/python/Makefile.in +@@ -607,8 +607,18 @@ gdb.py: hook.in Makefile + + install-data-local: gdb.py + @$(mkdir_p) $(DESTDIR)$(toolexeclibdir) +- @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ +- $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ ++ @here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \ ++ for file in libstdc++.*; do \ ++ case $$file in \ ++ *-gdb.py) ;; \ ++ *.la) ;; \ ++ *) if test -h $$file; then \ ++ continue; \ ++ fi; \ ++ libname=$$file;; \ ++ esac; \ ++ done; \ ++ cd $$here; \ + echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \ + $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py + +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch index 98472dd2b..120d5a29b 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch @@ -1,4 +1,4 @@ -From 9b4eb0e18a953d79d20c78d3ba741af6d71ab9ca Mon Sep 17 00:00:00 2001 +From 6f410ed8fb7eee11ba7a25634c2257666b98ef52 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 20 Feb 2015 10:25:11 +0000 Subject: [PATCH] Ensure target gcc headers can be included @@ -11,14 +11,18 @@ found by gcc with the existing search paths. Add support for picking up these headers under the sysroot supplied on the gcc command line in order to resolve this. +Extend target gcc headers search to musl too + Upstream-Status: Pending Signed-off-by: Paul Eggleton Signed-off-by: Khem Raj --- - gcc/Makefile.in | 2 ++ - gcc/cppdefault.c | 4 ++++ - 2 files changed, 6 insertions(+) + gcc/Makefile.in | 2 ++ + gcc/config/linux.h | 8 ++++++++ + gcc/config/rs6000/sysv4.h | 8 ++++++++ + gcc/cppdefault.c | 4 ++++ + 4 files changed, 22 insertions(+) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 59c45c81393..9b17d120aa1 100644 @@ -40,6 +44,58 @@ index 59c45c81393..9b17d120aa1 100644 -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ +diff --git a/gcc/config/linux.h b/gcc/config/linux.h +index 87efc5f69fe..b525bcd56b3 100644 +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -165,6 +165,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + #define INCLUDE_DEFAULTS_MUSL_TOOL + #endif + ++#ifdef GCC_INCLUDE_SUBDIR_TARGET ++#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ ++ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0}, ++#else ++#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET ++#endif ++ + #ifdef NATIVE_SYSTEM_HEADER_DIR + #define INCLUDE_DEFAULTS_MUSL_NATIVE \ + { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ +@@ -191,6 +198,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + INCLUDE_DEFAULTS_MUSL_PREFIX \ + INCLUDE_DEFAULTS_MUSL_CROSS \ + INCLUDE_DEFAULTS_MUSL_TOOL \ ++ INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ + INCLUDE_DEFAULTS_MUSL_NATIVE \ + { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ + { 0, 0, 0, 0, 0, 0 } \ +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index 510abe169c5..0c2bba5ea32 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -995,6 +995,13 @@ ncrtn.o%s" + #define INCLUDE_DEFAULTS_MUSL_TOOL + #endif + ++#ifdef GCC_INCLUDE_SUBDIR_TARGET ++#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ ++ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0}, ++#else ++#define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET ++#endif ++ + #ifdef NATIVE_SYSTEM_HEADER_DIR + #define INCLUDE_DEFAULTS_MUSL_NATIVE \ + { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ +@@ -1021,6 +1028,7 @@ ncrtn.o%s" + INCLUDE_DEFAULTS_MUSL_PREFIX \ + INCLUDE_DEFAULTS_MUSL_CROSS \ + INCLUDE_DEFAULTS_MUSL_TOOL \ ++ INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ + INCLUDE_DEFAULTS_MUSL_NATIVE \ + { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ + { 0, 0, 0, 0, 0, 0 } \ diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c index c503d14fc3f..d54d6ce0076 100644 --- a/gcc/cppdefault.c diff --git a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch index 3958e9c21..b1054fa74 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch @@ -1,4 +1,4 @@ -From 35c084a051bcd6587ebc73e4acb045cb2bdf7e99 Mon Sep 17 00:00:00 2001 +From 354682ad8f71f62643dcd83f64b51b5979615a0c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 7 Dec 2015 23:39:54 +0000 Subject: [PATCH] handle sysroot support for nativesdk-gcc @@ -23,6 +23,9 @@ b) Add other paths which need relocation into a .gccrelocprefix section Upstream-Status: Inappropriate RP 2015/7/28 +Extend the gccrelocprefix support to musl config too, this ensures +that gcc will get right bits in SDK installations + Signed-off-by: Khem Raj Added PREFIXVAR and EXEC_PREFIXVAR to support runtime relocation. Without @@ -32,16 +35,18 @@ implementation.) Signed-off-by: Mark Hatle --- - gcc/c-family/c-opts.c | 4 +-- - gcc/cppdefault.c | 63 ++++++++++++++++++++++++++----------------- - gcc/cppdefault.h | 13 ++++----- - gcc/gcc.c | 20 +++++++++----- - gcc/incpath.c | 12 ++++----- - gcc/prefix.c | 6 +++-- - 6 files changed, 70 insertions(+), 48 deletions(-) + gcc/c-family/c-opts.c | 4 +-- + gcc/config/linux.h | 24 +++++++-------- + gcc/config/rs6000/sysv4.h | 24 +++++++-------- + gcc/cppdefault.c | 63 ++++++++++++++++++++++++--------------- + gcc/cppdefault.h | 13 ++++---- + gcc/gcc.c | 20 +++++++++---- + gcc/incpath.c | 12 ++++---- + gcc/prefix.c | 6 ++-- + 8 files changed, 94 insertions(+), 72 deletions(-) diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c -index bd15b9cd902..2bd667e3f58 100644 +index 89e05a4c551..5577383665d 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c @@ -1436,8 +1436,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain) @@ -55,6 +60,162 @@ index bd15b9cd902..2bd667e3f58 100644 path = (char *) xmalloc (prefix_len + suffix_len + 1); memcpy (path, prefix, prefix_len); +diff --git a/gcc/config/linux.h b/gcc/config/linux.h +index b525bcd56b3..ba02c013e30 100644 +--- a/gcc/config/linux.h ++++ b/gcc/config/linux.h +@@ -129,53 +129,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + * Unfortunately, this is mostly duplicated from cppdefault.c */ + #if DEFAULT_LIBC == LIBC_MUSL + #define INCLUDE_DEFAULTS_MUSL_GPP \ +- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ ++ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ +- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ ++ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ +- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ ++ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, + + #ifdef LOCAL_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_LOCAL \ +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, ++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, \ ++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 }, + #else + #define INCLUDE_DEFAULTS_MUSL_LOCAL + #endif + + #ifdef PREFIX_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_PREFIX \ +- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, ++ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0}, + #else + #define INCLUDE_DEFAULTS_MUSL_PREFIX + #endif + + #ifdef CROSS_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_CROSS \ +- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, ++ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0}, + #else + #define INCLUDE_DEFAULTS_MUSL_CROSS + #endif + + #ifdef TOOL_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_TOOL \ +- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, ++ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0}, + #else + #define INCLUDE_DEFAULTS_MUSL_TOOL + #endif + + #ifdef GCC_INCLUDE_SUBDIR_TARGET + #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ +- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0}, ++ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0}, + #else + #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET + #endif + + #ifdef NATIVE_SYSTEM_HEADER_DIR + #define INCLUDE_DEFAULTS_MUSL_NATIVE \ +- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ +- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, ++ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 2 }, \ ++ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 0 }, + #else + #define INCLUDE_DEFAULTS_MUSL_NATIVE + #endif +@@ -200,7 +200,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + INCLUDE_DEFAULTS_MUSL_TOOL \ + INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ + INCLUDE_DEFAULTS_MUSL_NATIVE \ +- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ ++ { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \ + { 0, 0, 0, 0, 0, 0 } \ + } + #endif +diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h +index 0c2bba5ea32..313a8de4417 100644 +--- a/gcc/config/rs6000/sysv4.h ++++ b/gcc/config/rs6000/sysv4.h +@@ -959,53 +959,53 @@ ncrtn.o%s" + /* Include order changes for musl, same as in generic linux.h. */ + #if DEFAULT_LIBC == LIBC_MUSL + #define INCLUDE_DEFAULTS_MUSL_GPP \ +- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, \ ++ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, \ +- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, \ ++ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, \ +- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, \ ++ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1, \ + GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, + + #ifdef LOCAL_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_LOCAL \ +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 }, \ +- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 }, ++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 }, \ ++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 }, + #else + #define INCLUDE_DEFAULTS_MUSL_LOCAL + #endif + + #ifdef PREFIX_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_PREFIX \ +- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0}, ++ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0}, + #else + #define INCLUDE_DEFAULTS_MUSL_PREFIX + #endif + + #ifdef CROSS_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_CROSS \ +- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0}, ++ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0}, + #else + #define INCLUDE_DEFAULTS_MUSL_CROSS + #endif + + #ifdef TOOL_INCLUDE_DIR + #define INCLUDE_DEFAULTS_MUSL_TOOL \ +- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0}, ++ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0}, + #else + #define INCLUDE_DEFAULTS_MUSL_TOOL + #endif + + #ifdef GCC_INCLUDE_SUBDIR_TARGET + #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ +- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0}, ++ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0}, + #else + #define INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET + #endif + + #ifdef NATIVE_SYSTEM_HEADER_DIR + #define INCLUDE_DEFAULTS_MUSL_NATIVE \ +- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ +- { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 0 }, ++ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 2 }, \ ++ { NATIVE_SYSTEM_HEADER_DIRVAR, 0, 0, 0, 1, 0 }, + #else + #define INCLUDE_DEFAULTS_MUSL_NATIVE + #endif +@@ -1030,7 +1030,7 @@ ncrtn.o%s" + INCLUDE_DEFAULTS_MUSL_TOOL \ + INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ + INCLUDE_DEFAULTS_MUSL_NATIVE \ +- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ ++ { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \ + { 0, 0, 0, 0, 0, 0 } \ + } + #endif diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c index d54d6ce0076..784a92a0c24 100644 --- a/gcc/cppdefault.c diff --git a/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch index edca9e3ca..9c616d24d 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch @@ -22,12 +22,10 @@ Signed-off-by: Khem Raj gcc/config/rs6000/linux64.h | 10 ++++++++++ 3 files changed, 27 insertions(+) -diff --git a/gcc/config/linux.h b/gcc/config/linux.h -index 87efc5f69fe..3c7b7c538b9 100644 --- a/gcc/config/linux.h +++ b/gcc/config/linux.h -@@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ +@@ -203,6 +203,13 @@ see the files COPYING3 and COPYING.RUNTI + { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 }, \ { 0, 0, 0, 0, 0, 0 } \ } +#ifdef TARGET_LIBC_PROVIDES_SSP @@ -40,8 +38,6 @@ index 87efc5f69fe..3c7b7c538b9 100644 #endif #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ -diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h -index 47c9d9ac0b6..d065f88b377 100644 --- a/gcc/config/rs6000/linux.h +++ b/gcc/config/rs6000/linux.h @@ -94,6 +94,16 @@ @@ -61,8 +57,6 @@ index 47c9d9ac0b6..d065f88b377 100644 #undef LINK_OS_LINUX_SPEC #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ %{!static-pie: \ -diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h -index a11e01faa3d..ce464f3626b 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -369,6 +369,16 @@ extern int dot_symbols; diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb index d4ec4593f..8d7d6ac3e 100644 --- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb @@ -9,8 +9,8 @@ DEPENDS_class-native = "hostperl-runtime-native" INHIBIT_DEFAULT_DEPS = "1" -SRCREV = "277b4ed1776f721145b2649d888f1deb445fecc5" -PV = "20210424+git${SRCPV}" +SRCREV = "92fac9b5ceb9f111a04d7f8f98831570e77886c6" +PV = "20210522+git${SRCPV}" SRC_URI = "git://git.savannah.gnu.org/config.git \ file://gnu-configize.in" diff --git a/poky/meta/recipes-devtools/go/go-1.16.3.inc b/poky/meta/recipes-devtools/go/go-1.16.3.inc deleted file mode 100644 index ebd25a5ea..000000000 --- a/poky/meta/recipes-devtools/go/go-1.16.3.inc +++ /dev/null @@ -1,20 +0,0 @@ -require go-common.inc - -GO_BASEVERSION = "1.16" -PV = "1.16.3" -FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" - -SRC_URI += "\ - file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \ - file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \ - file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \ - file://0004-ld-add-soname-to-shareable-objects.patch \ - file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \ - file://0006-cmd-dist-separate-host-and-target-builds.patch \ - file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ - file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ - file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \ -" -SRC_URI[main.sha256sum] = "b298d29de9236ca47a023e382313bcc2d2eed31dfa706b60a04103ce83a71a25" diff --git a/poky/meta/recipes-devtools/go/go-1.16.4.inc b/poky/meta/recipes-devtools/go/go-1.16.4.inc new file mode 100644 index 000000000..71c17de31 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-1.16.4.inc @@ -0,0 +1,20 @@ +require go-common.inc + +GO_BASEVERSION = "1.16" +PV = "1.16.4" +FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" + +SRC_URI += "\ + file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \ + file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \ + file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \ + file://0004-ld-add-soname-to-shareable-objects.patch \ + file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \ + file://0006-cmd-dist-separate-host-and-target-builds.patch \ + file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ + file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ + file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \ +" +SRC_URI[main.sha256sum] = "ae4f6b6e2a1677d31817984655a762074b5356da50fb58722b99104870d43503" diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb deleted file mode 100644 index d01a2bd8f..000000000 --- a/poky/meta/recipes-devtools/go/go-binary-native_1.16.3.bb +++ /dev/null @@ -1,46 +0,0 @@ -# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org. - -SUMMARY = "Go programming language compiler (upstream binary for bootstrap)" -HOMEPAGE = " http://golang.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" - -PROVIDES = "go-native" - -SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" -SRC_URI[go_linux_amd64.sha256sum] = "951a3c7c6ce4e56ad883f97d9db74d3d6d80d5fec77455c6ada6c1f7ac4776d2" -SRC_URI[go_linux_arm64.sha256sum] = "566b1d6f17d2bc4ad5f81486f0df44f3088c3ed47a3bec4099d8ed9939e90d5d" - -UPSTREAM_CHECK_URI = "https://golang.org/dl/" -UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" - -S = "${WORKDIR}/go" - -inherit goarch native - -do_compile() { - : -} - -make_wrapper() { - rm -f ${D}${bindir}/$1 - cat <${D}${bindir}/$1 -#!/bin/bash -here=\`dirname \$0\` -export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" -\$here/../lib/go/bin/$1 "\$@" -END - chmod +x ${D}${bindir}/$1 -} - -do_install() { - find ${S} -depth -type d -name testdata -exec rm -rf {} + - - install -d ${D}${bindir} ${D}${libdir}/go - cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/ - - for f in ${S}/bin/* - do - make_wrapper `basename $f` - done -} diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb new file mode 100644 index 000000000..8c046e8e5 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb @@ -0,0 +1,46 @@ +# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org. + +SUMMARY = "Go programming language compiler (upstream binary for bootstrap)" +HOMEPAGE = " http://golang.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" + +PROVIDES = "go-native" + +SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" +SRC_URI[go_linux_amd64.sha256sum] = "7154e88f5a8047aad4b80ebace58a059e36e7e2e4eb3b383127a28c711b4ff59" +SRC_URI[go_linux_arm64.sha256sum] = "8b18eb05ddda2652d69ab1b1dd1f40dd731799f43c6a58b512ad01ae5b5bba21" + +UPSTREAM_CHECK_URI = "https://golang.org/dl/" +UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" + +S = "${WORKDIR}/go" + +inherit goarch native + +do_compile() { + : +} + +make_wrapper() { + rm -f ${D}${bindir}/$1 + cat <${D}${bindir}/$1 +#!/bin/bash +here=\`dirname \$0\` +export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" +\$here/../lib/go/bin/$1 "\$@" +END + chmod +x ${D}${bindir}/$1 +} + +do_install() { + find ${S} -depth -type d -name testdata -exec rm -rf {} + + + install -d ${D}${bindir} ${D}${libdir}/go + cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/ + + for f in ${S}/bin/* + do + make_wrapper `basename $f` + done +} diff --git a/poky/meta/recipes-devtools/go/go-common.inc b/poky/meta/recipes-devtools/go/go-common.inc index c368b95b6..39a681a71 100644 --- a/poky/meta/recipes-devtools/go/go-common.inc +++ b/poky/meta/recipes-devtools/go/go-common.inc @@ -14,7 +14,7 @@ LICENSE = "BSD-3-Clause" inherit goarch -SRC_URI = "https://dl.google.com/go/go${PV}.src.tar.gz;name=main" +SRC_URI = "https://golang.org/dl/go${PV}.src.tar.gz;name=main" S = "${WORKDIR}/go" B = "${S}" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.src\.tar" diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb deleted file mode 100644 index 7ac9449e4..000000000 --- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross-canadian.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb new file mode 100644 index 000000000..7ac9449e4 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb @@ -0,0 +1,2 @@ +require go-cross-canadian.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.3.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.3.bb deleted file mode 100644 index 80b5a03f6..000000000 --- a/poky/meta/recipes-devtools/go/go-cross_1.16.3.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.4.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.4.bb new file mode 100644 index 000000000..80b5a03f6 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-cross_1.16.4.bb @@ -0,0 +1,2 @@ +require go-cross.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb deleted file mode 100644 index 1857c8a57..000000000 --- a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.3.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-crosssdk.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb new file mode 100644 index 000000000..1857c8a57 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb @@ -0,0 +1,2 @@ +require go-crosssdk.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.3.bb b/poky/meta/recipes-devtools/go/go-native_1.16.3.bb deleted file mode 100644 index f14892cdb..000000000 --- a/poky/meta/recipes-devtools/go/go-native_1.16.3.bb +++ /dev/null @@ -1,59 +0,0 @@ -# This recipe builds a native Go (written in Go) by first building an old Go 1.4 -# (written in C). However this old Go does not support all hosts platforms. - -require go-${PV}.inc - -inherit native - -SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4" -SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52" - -export GOOS = "${BUILD_GOOS}" -export GOARCH = "${BUILD_GOARCH}" -CC = "${@d.getVar('BUILD_CC').strip()}" - -GOMAKEARGS ?= "--no-banner" - -do_configure() { - cd ${WORKDIR}/go1.4/go/src - CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash -} - -do_compile() { - export GOROOT_FINAL="${libdir_native}/go" - export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go" - - cd src - ./make.bash ${GOMAKEARGS} - cd ${B} -} -do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin" -do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin" - -make_wrapper() { - rm -f ${D}${bindir}/$2$3 - cat <${D}${bindir}/$2$3 -#!/bin/bash -here=\`dirname \$0\` -export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" -\$here/../lib/go/bin/$1 "\$@" -END - chmod +x ${D}${bindir}/$2 -} - -do_install() { - install -d ${D}${libdir}/go - cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/ - install -d ${D}${libdir}/go/src - (cd ${S}/src; for d in *; do \ - [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \ - done) - find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \; - install -d ${D}${bindir} ${D}${libdir}/go/bin - for f in ${B}/bin/* - do - base=`basename $f` - install -m755 $f ${D}${libdir}/go/bin - make_wrapper $base $base - done -} diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.4.bb b/poky/meta/recipes-devtools/go/go-native_1.16.4.bb new file mode 100644 index 000000000..f14892cdb --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-native_1.16.4.bb @@ -0,0 +1,59 @@ +# This recipe builds a native Go (written in Go) by first building an old Go 1.4 +# (written in C). However this old Go does not support all hosts platforms. + +require go-${PV}.inc + +inherit native + +SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4" +SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52" + +export GOOS = "${BUILD_GOOS}" +export GOARCH = "${BUILD_GOARCH}" +CC = "${@d.getVar('BUILD_CC').strip()}" + +GOMAKEARGS ?= "--no-banner" + +do_configure() { + cd ${WORKDIR}/go1.4/go/src + CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash +} + +do_compile() { + export GOROOT_FINAL="${libdir_native}/go" + export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go" + + cd src + ./make.bash ${GOMAKEARGS} + cd ${B} +} +do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin" +do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin" + +make_wrapper() { + rm -f ${D}${bindir}/$2$3 + cat <${D}${bindir}/$2$3 +#!/bin/bash +here=\`dirname \$0\` +export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" +\$here/../lib/go/bin/$1 "\$@" +END + chmod +x ${D}${bindir}/$2 +} + +do_install() { + install -d ${D}${libdir}/go + cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/ + install -d ${D}${libdir}/go/src + (cd ${S}/src; for d in *; do \ + [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \ + done) + find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \; + install -d ${D}${bindir} ${D}${libdir}/go/bin + for f in ${B}/bin/* + do + base=`basename $f` + install -m755 $f ${D}${libdir}/go/bin + make_wrapper $base $base + done +} diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb deleted file mode 100644 index 63464a150..000000000 --- a/poky/meta/recipes-devtools/go/go-runtime_1.16.3.bb +++ /dev/null @@ -1,3 +0,0 @@ -require go-${PV}.inc -require go-runtime.inc - diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb new file mode 100644 index 000000000..63464a150 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb @@ -0,0 +1,3 @@ +require go-${PV}.inc +require go-runtime.inc + diff --git a/poky/meta/recipes-devtools/go/go_1.16.3.bb b/poky/meta/recipes-devtools/go/go_1.16.3.bb deleted file mode 100644 index 4e9e0ebec..000000000 --- a/poky/meta/recipes-devtools/go/go_1.16.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -require go-${PV}.inc -require go-target.inc - -inherit linuxloader - -export GOBUILDMODE="" -export GO_LDSO = "${@get_linuxloader(d)}" -export CC_FOR_TARGET = "gcc" -export CXX_FOR_TARGET = "g++" - -# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its -# variants. -python() { - if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True): - d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel") -} - diff --git a/poky/meta/recipes-devtools/go/go_1.16.4.bb b/poky/meta/recipes-devtools/go/go_1.16.4.bb new file mode 100644 index 000000000..4e9e0ebec --- /dev/null +++ b/poky/meta/recipes-devtools/go/go_1.16.4.bb @@ -0,0 +1,17 @@ +require go-${PV}.inc +require go-target.inc + +inherit linuxloader + +export GOBUILDMODE="" +export GO_LDSO = "${@get_linuxloader(d)}" +export CC_FOR_TARGET = "gcc" +export CXX_FOR_TARGET = "g++" + +# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its +# variants. +python() { + if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True): + d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel") +} + diff --git a/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb b/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb index 231c1c20e..61b8487c7 100644 --- a/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb +++ b/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb @@ -11,6 +11,7 @@ PR = "r2" DEPENDS = "" INHIBIT_DEFAULT_DEPS = "1" +ICECC_DISABLED = "1" # This is needed, because otherwise there is dependency loop from quilt-native # Dependency loop #1 found: diff --git a/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb b/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb index 65905966c..03792730f 100644 --- a/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb +++ b/poky/meta/recipes-devtools/jquery/jquery_3.6.0.bb @@ -19,6 +19,11 @@ SRC_URI[map.sha256sum] = "399548fb0e7b146c12f5ba18099a47d594a970fee96212eee0ab48 UPSTREAM_CHECK_REGEX = "jquery-(?P\d+(\.\d+)+)\.js" +# https://github.com/jquery/jquery/issues/3927 +# There are ways jquery can expose security issues but any issues are in the apps exposing them +# and there is little we can directly do +CVE_CHECK_WHITELIST += "CVE-2007-2379" + inherit allarch do_install() { diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch index f8d256e01..b740521fd 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch +++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch @@ -1,23 +1,26 @@ -From 8aa5402393fabaf4fff51be3af4868e8dfab6da7 Mon Sep 17 00:00:00 2001 +From fc0b81bb717db3f41513f09f6661676a7aea6dd4 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 9 Mar 2021 19:30:42 +0000 Subject: [PATCH] libdnf/config.h: avoid the use of non-portable __WORDSIZE Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/1159] Signed-off-by: Alexander Kanavin + --- - libdnf/config.h | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) + libdnf/config.h | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libdnf/config.h b/libdnf/config.h -index 16121f6f..2925923e 100644 +index 01b330b4..dbd53f5e 100644 --- a/libdnf/config.h +++ b/libdnf/config.h -@@ -18,12 +18,10 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ +@@ -20,14 +20,11 @@ + #ifdef __APPLE__ + #include +-#else -#include + #endif +#include -#if __WORDSIZE == 32 diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb deleted file mode 100644 index dbe68d5a1..000000000 --- a/poky/meta/recipes-devtools/libdnf/libdnf_0.58.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Library providing simplified C and Python API to libsolv" -HOMEPAGE = "https://github.com/rpm-software-management/libdnf" -DESCRIPTION = "This library provides a high level package-manager. It's core library of dnf, PackageKit and rpm-ostree. It's replacement for deprecated hawkey library which it contains inside and uses librepo under the hood." -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \ - file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \ - file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \ - file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \ - file://0001-Add-WITH_TESTS-option.patch \ - file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \ - file://enable_test_data_dir_set.patch \ - file://0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch \ - " - -SRCREV = "85278894f21bc1957dc47a2a09ddacf59bc3cda8" -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native" - -inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF -DPYTHON_DESIRED=3 \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \ - -DWITH_TESTS=OFF \ - -DWITH_ZCHUNK=OFF \ - -DWITH_HTML=OFF \ - " -EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF" -EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF" - -BBCLASSEXTEND = "native nativesdk" -PNBLACKLIST[libdnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'Does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}" - diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb new file mode 100644 index 000000000..79e886545 --- /dev/null +++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Library providing simplified C and Python API to libsolv" +HOMEPAGE = "https://github.com/rpm-software-management/libdnf" +DESCRIPTION = "This library provides a high level package-manager. It's core library of dnf, PackageKit and rpm-ostree. It's replacement for deprecated hawkey library which it contains inside and uses librepo under the hood." +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \ + file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \ + file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \ + file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \ + file://0001-Add-WITH_TESTS-option.patch \ + file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \ + file://enable_test_data_dir_set.patch \ + file://0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch \ + " + +SRCREV = "669a5c691acba91693d238d6262ac99a440aa9b3" +UPSTREAM_CHECK_GITTAGREGEX = "(?P(?!4\.90)\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native" + +inherit gtk-doc gobject-introspection cmake pkgconfig distutils3-base + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DWITH_MAN=OFF -DPYTHON_DESIRED=3 \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \ + -DWITH_TESTS=OFF \ + -DWITH_ZCHUNK=OFF \ + -DWITH_HTML=OFF \ + " +EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF" +EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF" + +BBCLASSEXTEND = "native nativesdk" +PNBLACKLIST[libdnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'Does not build without package_rpm in PACKAGE_CLASSES due disabled rpm support in libsolv', d)}" + diff --git a/poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb deleted file mode 100644 index a34b77328..000000000 --- a/poky/meta/recipes-devtools/libedit/libedit_20210419-3.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "BSD replacement for libreadline" -DESCRIPTION = "Command line editor library providing generic line editing, \ -history, and tokenization functions" -HOMEPAGE = "http://www.thrysoee.dk/editline/" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533" - -DEPENDS = "ncurses" - -inherit autotools - -SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \ - file://stdc-predef.patch \ - " -SRC_URI[sha256sum] = "571ebe44b74860823e24a08cf04086ff104fd7dfa1020abf26c52543134f5602" - -BBCLASSEXTEND = "native nativesdk" - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "90" -ALTERNATIVE_${PN}-doc = "history.3" -ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3" diff --git a/poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb new file mode 100644 index 000000000..43e6f2244 --- /dev/null +++ b/poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "BSD replacement for libreadline" +DESCRIPTION = "Command line editor library providing generic line editing, \ +history, and tokenization functions" +HOMEPAGE = "http://www.thrysoee.dk/editline/" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533" + +DEPENDS = "ncurses" + +inherit autotools + +SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \ + file://stdc-predef.patch \ + " +SRC_URI[sha256sum] = "0220bc2047e927c0c1984ef5f7b4eb2a9469a5b7bf12ba573ca3b23ca02bbb6f" + +BBCLASSEXTEND = "native nativesdk" + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN}-doc = "history.3" +ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3" diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb index 2f60ce8e0..771b2c094 100644 --- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb @@ -8,8 +8,8 @@ SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https;branch= file://0001-modulemd-generate-the-manpage-only-if-the-feature-is.patch \ " -PV = "2.12.0" -SRCREV = "aaed38c899a958a88a6a368a70510e350ebe336c" +PV = "2.12.1" +SRCREV = "c0897fa0e9d7d1305fd4813b1010c1d4cca42346" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc index e186dede9..f60381453 100644 --- a/poky/meta/recipes-devtools/meson/meson.inc +++ b/poky/meta/recipes-devtools/meson/meson.inc @@ -12,21 +12,13 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P file://0003-native_bindir.patch \ file://0001-python-module-do-not-manipulate-the-environment-when.patch \ file://disable-rpath-handling.patch \ - file://cross-prop-default.patch \ file://0001-modules-python.py-do-not-substitute-python-s-install.patch \ - file://0001-minstall-Correctly-set-uid-gid-of-installed-files.patch \ file://gi-target-dep.patch \ + file://0001-Make-CPU-family-warnings-fatal.patch \ + file://0002-Support-building-allarch-recipes-again.patch \ + file://4e312c19e693a69b0650ce6c8a8903163c959996.patch \ " -SRC_URI[sha256sum] = "72e1c782ba9bda204f4a1ed57f98d027d7b6eb9414c723eebbd6ec7f1955c8a6" - -SRC_URI_append_class-native = " \ - file://0001-Make-CPU-family-warnings-fatal.patch \ - file://0002-Support-building-allarch-recipes-again.patch \ -" - -# remove at next version upgrade or when output changes -PR = "r1" -HASHEQUIV_HASH_VERSION .= ".1" +SRC_URI[sha256sum] = "f4820df0bc969c99019fd4af8ca5f136ee94c63d8a5ad67e7eb73bdbc9182fdd" UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases" UPSTREAM_CHECK_REGEX = "meson-(?P\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch index 48941c97f..bcccfabd1 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch @@ -1,41 +1,43 @@ -From 76934bcbf2cfa7304e8864e28c51f58adda0392f Mon Sep 17 00:00:00 2001 +From b64032a2eb1fb760f4ffd5b4b666e2433cf80d39 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 3 Jul 2018 13:59:09 +0100 -Subject: [PATCH] Make CPU family warnings fatal +Subject: [PATCH 1/2] Make CPU family warnings fatal Upstream-Status: Inappropriate [OE specific] Signed-off-by: Ross Burton - --- mesonbuild/envconfig.py | 2 +- mesonbuild/environment.py | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index ba35d16..2d3c34c 100644 +index c6a4df3..4d58c91 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -254,7 +254,7 @@ class MachineInfo: - +@@ -266,7 +266,7 @@ class MachineInfo: + cpu_family = literal['cpu_family'] if cpu_family not in known_cpu_families: -- mlog.warning('Unknown CPU family {}, please report this at https://github.com/mesonbuild/meson/issues/new'.format(cpu_family)) +- mlog.warning(f'Unknown CPU family {cpu_family}, please report this at https://github.com/mesonbuild/meson/issues/new') + raise EnvironmentException('Unknown CPU family {}, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.'.format(cpu_family)) - + endian = literal['endian'] if endian not in ('little', 'big'): diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index 756dd81..4d2c2b6 100644 +index fc9b703..eea8345 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py -@@ -434,9 +434,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str: +@@ -436,9 +436,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str: trial = 'ppc64' - + if trial not in known_cpu_families: - mlog.warning('Unknown CPU family {!r}, please report this at ' - 'https://github.com/mesonbuild/meson/issues/new with the ' - 'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial)) + raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial) - + return trial + +-- +2.24.0 diff --git a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch index 471f1500d..ce90e515d 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch @@ -1,4 +1,4 @@ -From d3ef01a4208a801acad380a4aaceb6a21f8fa603 Mon Sep 17 00:00:00 2001 +From 2f9c59e0489e569c5382404667c10f5c200a72ad Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 4 Aug 2017 16:16:41 +0300 Subject: [PATCH] gtkdoc: fix issues that arise when cross-compiling @@ -20,11 +20,11 @@ Signed-off-by: Alexander Kanavin 1 file changed, 4 insertions(+) diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py -index bcf77b9..6a4b472 100644 +index dc2979e..c9ff9bd 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py -@@ -974,6 +974,10 @@ This will become a hard error in the future.''') - args.append('--{}={}'.format(program_name, path)) +@@ -1053,6 +1053,10 @@ class GnomeModule(ExtensionModule): + args.append(f'--{program_name}={path}') if namespace: args.append('--namespace=' + namespace) + gtkdoc_exe_wrapper = state.environment.properties.host.get('gtkdoc_exe_wrapper', None) diff --git a/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch b/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch deleted file mode 100644 index d55b7cc7c..000000000 --- a/poky/meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3f6f4964dc79ae986f44afe1687922381f237edd Mon Sep 17 00:00:00 2001 -From: Peter Kjellerstedt -Date: Wed, 3 Mar 2021 12:47:28 +0100 -Subject: [PATCH] minstall: Correctly set uid/gid of installed files - -In commit caab4d3d, the uid and gid arguments passed to os.chown() by -set_chown() were accidentally swapped, causing files to end up with -incorrect owner/group if the owner and group are not the same. - -Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/6226ac26ef63335bfb817db02b3f295c78214a82] -Signed-off-by: Peter Kjellerstedt ---- - mesonbuild/minstall.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py -index 785ff5869..07da408aa 100644 ---- a/mesonbuild/minstall.py -+++ b/mesonbuild/minstall.py -@@ -148,7 +148,7 @@ def set_chown(path: str, user: T.Optional[str] = None, group: T.Optional[str] = - Use a real function rather than a lambda to help mypy out. Also real - functions are faster. - """ -- real_os_chown(path, gid, uid, dir_fd=dir_fd, follow_symlinks=follow_symlinks) -+ real_os_chown(path, uid, gid, dir_fd=dir_fd, follow_symlinks=follow_symlinks) - - try: - os.chown = chown diff --git a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch index eb0e90dbd..fdadc6869 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch @@ -1,4 +1,4 @@ -From 689e28c49b85311f93f39df70cbee702fc44afb6 Mon Sep 17 00:00:00 2001 +From 2264e67d7c2c22ca634fd26ea8ada6f0344ab280 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 19 Nov 2018 14:24:26 +0100 Subject: [PATCH] python module: do not manipulate the environment when calling @@ -12,10 +12,10 @@ Signed-off-by: Alexander Kanavin 1 file changed, 12 deletions(-) diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py -index 07be318..b770603 100644 +index 422155b..aaf5844 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py -@@ -71,11 +71,6 @@ class PythonDependency(ExternalDependency): +@@ -70,11 +70,6 @@ class PythonDependency(ExternalDependency): old_pkg_libdir = os.environ.get('PKG_CONFIG_LIBDIR') old_pkg_path = os.environ.get('PKG_CONFIG_PATH') @@ -26,9 +26,9 @@ index 07be318..b770603 100644 - try: self.pkgdep = PkgConfigDependency(pkg_name, environment, kwargs) - mlog.debug('Found "{}" via pkgconfig lookup in LIBPC ({})'.format(pkg_name, pkg_libdir)) -@@ -84,13 +79,6 @@ class PythonDependency(ExternalDependency): - mlog.debug('"{}" could not be found in LIBPC ({})'.format(pkg_name, pkg_libdir)) + mlog.debug(f'Found "{pkg_name}" via pkgconfig lookup in LIBPC ({pkg_libdir})') +@@ -83,13 +78,6 @@ class PythonDependency(ExternalDependency): + mlog.debug(f'"{pkg_name}" could not be found in LIBPC ({pkg_libdir})') mlog.debug(e) - if old_pkg_path is not None: @@ -39,5 +39,5 @@ index 07be318..b770603 100644 - else: - os.environ.pop('PKG_CONFIG_LIBDIR', None) else: - mlog.debug('"{}" could not be found in LIBPC ({}), this is likely due to a relocated python installation'.format(pkg_name, pkg_libdir)) + mlog.debug(f'"{pkg_name}" could not be found in LIBPC ({pkg_libdir}), this is likely due to a relocated python installation') diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch index d0fe1126f..dcc1ce9c2 100644 --- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch +++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch @@ -1,26 +1,28 @@ -From 6efb6114836fd4a1e012aa03b37f3beeeb22b466 Mon Sep 17 00:00:00 2001 +From 656bf55fed01df2d2e2ad6d9d9887173cb16b85c Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Thu, 26 Jul 2018 16:32:49 +0200 -Subject: [PATCH] Support building allarch recipes again +Subject: [PATCH 2/2] Support building allarch recipes again This registers "allarch" as a known CPU family. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Peter Kjellerstedt - --- mesonbuild/envconfig.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index 2d3c34c..b9e7908 100644 +index 4d58c91..ff01ad1 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -38,6 +38,7 @@ _T = T.TypeVar('_T') - - +@@ -36,6 +36,7 @@ from pathlib import Path + + known_cpu_families = ( + 'allarch', 'aarch64', 'alpha', 'arc', +-- +2.24.0 + diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch index ed85116c4..89257b9e0 100644 --- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch +++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch @@ -1,4 +1,4 @@ -From 1546e1f95a119175b7a4e4272a26dd85505e5ede Mon Sep 17 00:00:00 2001 +From 30e97d4090a3d3f5b7ddcaf27cfa17f3c8c1d462 Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda Delgado Date: Wed, 15 Nov 2017 15:05:01 +0100 Subject: [PATCH] native_bindir @@ -18,23 +18,22 @@ Signed-off-by: Ricardo Ribalda Delgado --- mesonbuild/dependencies/base.py | 19 +++++++++++-------- - mesonbuild/dependencies/ui.py | 6 +++--- - 2 files changed, 14 insertions(+), 11 deletions(-) + 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py -index cd77b4b..7e3f338 100644 +index 14380d4..d0c443f 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py -@@ -192,7 +192,7 @@ class Dependency: +@@ -179,7 +179,7 @@ class Dependency: def get_exe_args(self, compiler): return [] - def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any]) -> str: + def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any], use_native=False) -> str: - raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name)) + raise DependencyException(f'{self.name!r} is not a pkgconfig dependency') def get_configtool_variable(self, variable_name): -@@ -280,7 +280,7 @@ class InternalDependency(Dependency): +@@ -267,7 +267,7 @@ class InternalDependency(Dependency): return True return any(d.is_built() for d in self.ext_deps) @@ -43,7 +42,7 @@ index cd77b4b..7e3f338 100644 raise DependencyException('Method "get_pkgconfig_variable()" is ' 'invalid for an internal dependency') -@@ -658,8 +658,11 @@ class PkgConfigDependency(ExternalDependency): +@@ -645,8 +645,11 @@ class PkgConfigDependency(ExternalDependency): return s.format(self.__class__.__name__, self.name, self.is_found, self.version_reqs) @@ -57,16 +56,16 @@ index cd77b4b..7e3f338 100644 p, out, err = Popen_safe(cmd, env=env) rc, out, err = p.returncode, out.strip(), err.strip() call = ' '.join(cmd) -@@ -685,7 +688,7 @@ class PkgConfigDependency(ExternalDependency): - env['PKG_CONFIG_LIBDIR'] = new_pkg_config_libdir - mlog.debug('PKG_CONFIG_LIBDIR: ' + new_pkg_config_libdir) +@@ -674,7 +677,7 @@ class PkgConfigDependency(ExternalDependency): + if key.startswith('PKG_'): + mlog.debug(f'env[{key}]: {value}') - def _call_pkgbin(self, args, env=None): + def _call_pkgbin(self, args, env=None, use_native=False): # Always copy the environment since we're going to modify it # with pkg-config variables if env is None: -@@ -699,7 +702,7 @@ class PkgConfigDependency(ExternalDependency): +@@ -688,7 +691,7 @@ class PkgConfigDependency(ExternalDependency): targs = tuple(args) cache = PkgConfigDependency.pkgbin_cache if (self.pkgbin, targs, fenv) not in cache: @@ -75,7 +74,7 @@ index cd77b4b..7e3f338 100644 return cache[(self.pkgbin, targs, fenv)] def _convert_mingw_paths(self, args: T.List[str]) -> T.List[str]: -@@ -905,7 +908,7 @@ class PkgConfigDependency(ExternalDependency): +@@ -894,7 +897,7 @@ class PkgConfigDependency(ExternalDependency): (self.name, out_raw)) self.link_args, self.raw_link_args = self._search_libs(out, out_raw) @@ -84,7 +83,7 @@ index cd77b4b..7e3f338 100644 options = ['--variable=' + variable_name, self.name] if 'define_variable' in kwargs: -@@ -918,7 +921,7 @@ class PkgConfigDependency(ExternalDependency): +@@ -907,7 +910,7 @@ class PkgConfigDependency(ExternalDependency): options = ['--define-variable=' + '='.join(definition)] + options @@ -93,34 +92,3 @@ index cd77b4b..7e3f338 100644 variable = '' if ret != 0: if self.required: -diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py -index d897d76..a598d2e 100644 ---- a/mesonbuild/dependencies/ui.py -+++ b/mesonbuild/dependencies/ui.py -@@ -325,7 +325,7 @@ class QtBaseDependency(ExternalDependency): - self.bindir = self.get_pkgconfig_host_bins(core) - if not self.bindir: - # If exec_prefix is not defined, the pkg-config file is broken -- prefix = core.get_pkgconfig_variable('exec_prefix', {}) -+ prefix = core.get_pkgconfig_variable('exec_prefix', {}, use_native=True) - if prefix: - self.bindir = os.path.join(prefix, 'bin') - -@@ -528,7 +528,7 @@ class Qt4Dependency(QtBaseDependency): - applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease'] - for application in applications: - try: -- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {})) -+ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}, use_native=True)) - except MesonException: - pass - -@@ -538,7 +538,7 @@ class Qt5Dependency(QtBaseDependency): - QtBaseDependency.__init__(self, 'qt5', env, kwargs) - - def get_pkgconfig_host_bins(self, core): -- return core.get_pkgconfig_variable('host_bins', {}) -+ return core.get_pkgconfig_variable('host_bins', {}, use_native=True) - - def get_private_includes(self, mod_inc_dir, module): - return _qt_get_private_includes(mod_inc_dir, module, self.version) diff --git a/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch b/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch new file mode 100644 index 000000000..76daf019b --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch @@ -0,0 +1,412 @@ +From 4e312c19e693a69b0650ce6c8a8903163c959996 Mon Sep 17 00:00:00 2001 +From: Xavier Claessens +Date: Tue, 11 May 2021 09:18:47 -0400 +Subject: [PATCH] gnome: Fix gtkdoc generation + +install_scripts used to replace @BUILD_ROOT@ and @SOURCE_ROOT@ but it +was not documented and got removed in Meson 0.58.0. gnome.gtkdoc() was +relying on that behaviour, but it has always been broken in the case the +source or build directory contains spaces. + +Fix this by changing get_include_args() to substitue paths directly +which will then get escaped correctly. + +Add a unit test that builds GObject documentation which is where this +issue has been spotted. + +Fixes: #8744 +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin +--- + mesonbuild/modules/__init__.py | 54 +++++++++---------- + mesonbuild/modules/gnome.py | 15 +++--- + mesonbuild/modules/hotdoc.py | 3 +- + mesonbuild/modules/qt.py | 4 +- + mesonbuild/modules/windows.py | 5 +- + .../10 gtk-doc/doc/foobar1/foobar-docs.sgml | 2 +- + .../doc/foobar1/foobar-sections.txt | 16 ++++++ + .../10 gtk-doc/doc/foobar1/foobar.types | 4 ++ + .../10 gtk-doc/doc/foobar1/meson.build | 6 ++- + test cases/frameworks/10 gtk-doc/foo.c | 30 +++++++++++ + .../frameworks/10 gtk-doc/include/foo.h | 18 +++++++ + test cases/frameworks/10 gtk-doc/meson.build | 12 +++++ + test cases/frameworks/10 gtk-doc/test.json | 4 +- + 13 files changed, 127 insertions(+), 46 deletions(-) + create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt + create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types + create mode 100644 test cases/frameworks/10 gtk-doc/foo.c + +diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py +index ddb5e3e6cf3..c0970294c34 100644 +--- a/mesonbuild/modules/__init__.py ++++ b/mesonbuild/modules/__init__.py +@@ -56,6 +56,33 @@ def __init__(self, interpreter: 'Interpreter') -> None: + self.target_machine = interpreter.builtin['target_machine'].held_object + self.current_node = interpreter.current_node + ++ def get_include_args(self, include_dirs, prefix='-I'): ++ if not include_dirs: ++ return [] ++ ++ srcdir = self.environment.get_source_dir() ++ builddir = self.environment.get_build_dir() ++ ++ dirs_str = [] ++ for dirs in unholder(include_dirs): ++ if isinstance(dirs, str): ++ dirs_str += [f'{prefix}{dirs}'] ++ continue ++ ++ # Should be build.IncludeDirs object. ++ basedir = dirs.get_curdir() ++ for d in dirs.get_incdirs(): ++ expdir = os.path.join(basedir, d) ++ srctreedir = os.path.join(srcdir, expdir) ++ buildtreedir = os.path.join(builddir, expdir) ++ dirs_str += [f'{prefix}{buildtreedir}', ++ f'{prefix}{srctreedir}'] ++ for d in dirs.get_extra_build_dirs(): ++ dirs_str += [f'{prefix}{d}'] ++ ++ return dirs_str ++ ++ + class ModuleObject: + """Base class for all objects returned by modules + """ +@@ -71,33 +98,6 @@ def __init__(self, interpreter: T.Optional['Interpreter'] = None) -> None: + class ExtensionModule(ModuleObject): + pass + +-def get_include_args(include_dirs, prefix='-I'): +- ''' +- Expand include arguments to refer to the source and build dirs +- by using @SOURCE_ROOT@ and @BUILD_ROOT@ for later substitution +- ''' +- if not include_dirs: +- return [] +- +- dirs_str = [] +- for dirs in unholder(include_dirs): +- if isinstance(dirs, str): +- dirs_str += [f'{prefix}{dirs}'] +- continue +- +- # Should be build.IncludeDirs object. +- basedir = dirs.get_curdir() +- for d in dirs.get_incdirs(): +- expdir = os.path.join(basedir, d) +- srctreedir = os.path.join('@SOURCE_ROOT@', expdir) +- buildtreedir = os.path.join('@BUILD_ROOT@', expdir) +- dirs_str += [f'{prefix}{buildtreedir}', +- f'{prefix}{srctreedir}'] +- for d in dirs.get_extra_build_dirs(): +- dirs_str += [f'{prefix}{d}'] +- +- return dirs_str +- + def is_module_library(fname): + ''' + Check if the file is a library-like file generated by a module-specific +diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py +index d0b053d4f76..c91cda66f8b 100644 +--- a/mesonbuild/modules/gnome.py ++++ b/mesonbuild/modules/gnome.py +@@ -26,7 +26,6 @@ + from .. import mesonlib + from .. import interpreter + from . import GResourceTarget, GResourceHeaderTarget, GirTarget, TypelibTarget, VapiTarget +-from . import get_include_args + from . import ExtensionModule + from . import ModuleReturnValue + from ..mesonlib import ( +@@ -394,7 +393,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False, + gi_includes.update([girdir]) + if isinstance(dep, InternalDependency): + cflags.update(dep.get_compile_args()) +- cflags.update(get_include_args(dep.include_directories)) ++ cflags.update(state.get_include_args(dep.include_directories)) + for lib in unholder(dep.libraries): + if isinstance(lib, build.SharedLibrary): + internal_ldflags.update(self._get_link_args(state, lib, depends, include_rpath)) +@@ -443,7 +442,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False, + else: + external_ldflags.update([lib]) + elif isinstance(dep, (build.StaticLibrary, build.SharedLibrary)): +- cflags.update(get_include_args(dep.get_include_dirs())) ++ cflags.update(state.get_include_args(dep.get_include_dirs())) + depends.append(dep) + else: + mlog.log(f'dependency {dep!r} not handled to build gir files') +@@ -853,7 +852,7 @@ def generate_gir(self, state, args, kwargs): + scan_command += self._scan_header(kwargs) + scan_command += self._scan_extra_args(kwargs) + scan_command += ['-I' + srcdir, '-I' + builddir] +- scan_command += get_include_args(girtargets_inc_dirs) ++ scan_command += state.get_include_args(girtargets_inc_dirs) + scan_command += ['--filelist=' + self._make_gir_filelist(state, srcdir, ns, nsversion, girtargets, libsources)] + scan_command += self._scan_link_withs(state, depends, kwargs) + scan_command += self._scan_include(state, depends, gir_inc_dirs, kwargs) +@@ -863,8 +862,8 @@ def generate_gir(self, state, args, kwargs): + scan_command += ['--cflags-begin'] + scan_command += cflags + scan_command += ['--cflags-end'] +- scan_command += get_include_args(inc_dirs) +- scan_command += get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=') ++ scan_command += state.get_include_args(inc_dirs) ++ scan_command += state.get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=') + scan_command += list(internal_ldflags) + scan_command += self._scan_gir_targets(state, girtargets) + scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers]) +@@ -886,7 +885,7 @@ def generate_gir(self, state, args, kwargs): + + typelib_output = f'{ns}-{nsversion}.typelib' + typelib_cmd = [gicompiler, scan_target, '--output', '@OUTPUT@'] +- typelib_cmd += get_include_args(gir_inc_dirs, prefix='--includedir=') ++ typelib_cmd += state.get_include_args(gir_inc_dirs, prefix='--includedir=') + + for incdir in typelib_includes: + typelib_cmd += ["--includedir=" + incdir] +@@ -1127,7 +1126,7 @@ def _get_build_args(self, kwargs, state, depends): + 'Gir include dirs should be include_directories().') + + cflags.extend(deps_cflags) +- cflags.extend(get_include_args(inc_dirs)) ++ cflags.extend(state.get_include_args(inc_dirs)) + ldflags = [] + ldflags.extend(internal_ldflags) + ldflags.extend(external_ldflags) +diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py +index bf8cd229c0d..89a5d938ea7 100644 +--- a/mesonbuild/modules/hotdoc.py ++++ b/mesonbuild/modules/hotdoc.py +@@ -22,7 +22,6 @@ + from mesonbuild.coredata import MesonException + from . import ModuleReturnValue + from . import ExtensionModule +-from . import get_include_args + from ..dependencies import Dependency, InternalDependency + from ..interpreterbase import FeatureNew, InvalidArguments, noPosargs, noKwargs + from ..interpreter import CustomTargetHolder +@@ -191,7 +190,7 @@ def process_dependencies(self, deps): + for dep in mesonlib.listify(ensure_list(deps)): + dep = getattr(dep, "held_object", dep) + if isinstance(dep, InternalDependency): +- inc_args = get_include_args(dep.include_directories) ++ inc_args = self.state.get_include_args(dep.include_directories) + cflags.update([self.replace_dirs_in_string(x) + for x in inc_args]) + cflags.update(self.process_dependencies(dep.libraries)) +diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py +index b7389bd59af..1bf0099d1df 100644 +--- a/mesonbuild/modules/qt.py ++++ b/mesonbuild/modules/qt.py +@@ -23,7 +23,7 @@ + from ..mesonlib import MesonException, extract_as_list, File, unholder, version_compare + from ..dependencies import Dependency + import xml.etree.ElementTree as ET +-from . import ModuleReturnValue, get_include_args, ExtensionModule ++from . import ModuleReturnValue, ExtensionModule + from ..interpreterbase import noPosargs, permittedKwargs, FeatureNew, FeatureNewKwargs + from ..interpreter import extract_required_kwarg + from ..programs import NonExistingExternalProgram +@@ -239,7 +239,7 @@ def preprocess(self, state, args, kwargs): + ui_gen = build.Generator([self.uic], ui_kwargs) + ui_output = ui_gen.process_files(f'Qt{self.qt_version} ui', ui_files, state) + sources.append(ui_output) +- inc = get_include_args(include_dirs=include_directories) ++ inc = state.get_include_args(include_dirs=include_directories) + compile_args = [] + for dep in unholder(dependencies): + if isinstance(dep, Dependency): +diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py +index d7a86380885..c4fdc196681 100644 +--- a/mesonbuild/modules/windows.py ++++ b/mesonbuild/modules/windows.py +@@ -19,7 +19,6 @@ + from .. import mlog + from .. import mesonlib, build + from ..mesonlib import MachineChoice, MesonException, extract_as_list, unholder +-from . import get_include_args + from . import ModuleReturnValue + from . import ExtensionModule + from ..interpreter import CustomTargetHolder +@@ -83,12 +82,12 @@ def compile_resources(self, state, args, kwargs): + wrc_depends = extract_as_list(kwargs, 'depends', pop = True) + for d in wrc_depends: + if isinstance(d, CustomTargetHolder): +- extra_args += get_include_args([d.outdir_include()]) ++ extra_args += state.get_include_args([d.outdir_include()]) + inc_dirs = extract_as_list(kwargs, 'include_directories', pop = True) + for incd in inc_dirs: + if not isinstance(incd.held_object, (str, build.IncludeDirs)): + raise MesonException('Resource include dirs should be include_directories().') +- extra_args += get_include_args(inc_dirs) ++ extra_args += state.get_include_args(inc_dirs) + + rescomp, rescomp_type = self._find_resource_compiler(state) + if rescomp_type == ResourceCompilerType.rc: +diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml +index 95f73efdf45..6ccd087dc18 100644 +--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml ++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml +@@ -35,7 +35,7 @@ + + + +- ++ + + + +diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt +new file mode 100644 +index 00000000000..d14c8dab010 +--- /dev/null ++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt +@@ -0,0 +1,16 @@ ++
++foo ++FooObj ++FooObj ++FooObjClass ++foo_do_something ++
++ ++
++version ++version ++FOO_MAJOR_VERSION ++FOO_MINOR_VERSION ++FOO_MICRO_VERSION ++
++ +diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types +new file mode 100644 +index 00000000000..0a9c046f3ed +--- /dev/null ++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types +@@ -0,0 +1,4 @@ ++% This include is useless it's a regression test for https://github.com/mesonbuild/meson/issues/8744 ++#include ++ ++foo_obj_get_type +diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build +index 149c6e956aa..f4b3724dbae 100644 +--- a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build ++++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build +@@ -1,5 +1,9 @@ + gnome.gtkdoc('foobar', +- src_dir : inc, ++ src_dir : [inc, '.'], + main_sgml : 'foobar-docs.sgml', + content_files : [docbook, version_xml], ++ dependencies: foo_dep, ++ # Manually written types file for regression test: ++ # https://github.com/mesonbuild/meson/issues/8744 ++ gobject_typesfile: 'foobar.types', + install : true) +diff --git a/test cases/frameworks/10 gtk-doc/foo.c b/test cases/frameworks/10 gtk-doc/foo.c +new file mode 100644 +index 00000000000..36c0639ec08 +--- /dev/null ++++ b/test cases/frameworks/10 gtk-doc/foo.c +@@ -0,0 +1,30 @@ ++#include ++ ++ ++struct _FooObj { ++ GObject parent; ++ int dummy; ++}; ++ ++G_DEFINE_TYPE(FooObj, foo_obj, G_TYPE_OBJECT) ++ ++static void foo_obj_init (FooObj *self) ++{ ++} ++ ++static void foo_obj_class_init (FooObjClass *klass) ++{ ++} ++ ++/** ++ * foo_do_something: ++ * @self: self ++ * ++ * Useless function. ++ * ++ * Returns: 0. ++ */ ++int foo_do_something(FooObj *self) ++{ ++ return 0; ++} +diff --git a/test cases/frameworks/10 gtk-doc/include/foo.h b/test cases/frameworks/10 gtk-doc/include/foo.h +index 7b8946b6a86..510f3d1ecb5 100644 +--- a/test cases/frameworks/10 gtk-doc/include/foo.h ++++ b/test cases/frameworks/10 gtk-doc/include/foo.h +@@ -1,5 +1,7 @@ + #pragma once + ++#include ++ + /** + * FooIndecision: + * @FOO_MAYBE: Something maybe +@@ -13,3 +15,19 @@ typedef enum { + FOO_POSSIBLY, + } FooIndecision; + ++/** ++ * FooObjClass: ++ * ++ * The class ++ */ ++ ++/** ++ * FooObj: ++ * ++ * The instance ++ */ ++ ++#define FOO_TYPE_OBJ foo_obj_get_type() ++G_DECLARE_FINAL_TYPE(FooObj, foo_obj, FOO, OBJ, GObject) ++ ++int foo_do_something(FooObj *self); +diff --git a/test cases/frameworks/10 gtk-doc/meson.build b/test cases/frameworks/10 gtk-doc/meson.build +index 5c22ad0afa4..292980fafa7 100644 +--- a/test cases/frameworks/10 gtk-doc/meson.build ++++ b/test cases/frameworks/10 gtk-doc/meson.build +@@ -24,4 +24,16 @@ if gtkdoc_ver.version_compare('<1.26') + error('MESON_SKIP_TEST gtk-doc test requires gtkdoc >= 1.26.') + endif + ++gobject = dependency('gobject-2.0') ++ ++libfoo = library('foo', 'foo.c', ++ include_directories: inc, ++ dependencies: gobject, ++) ++ ++foo_dep = declare_dependency( ++ link_with: libfoo, ++ include_directories: inc, ++) ++ + subdir('doc') +diff --git a/test cases/frameworks/10 gtk-doc/test.json b/test cases/frameworks/10 gtk-doc/test.json +index c44126cc741..03ad0595817 100644 +--- a/test cases/frameworks/10 gtk-doc/test.json ++++ b/test cases/frameworks/10 gtk-doc/test.json +@@ -4,8 +4,8 @@ + {"type": "file", "file": "usr/share/gtk-doc/html/foobar/BAR.html"}, + {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.devhelp2"}, + {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.html"}, +- {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo.html"}, +- {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo-version.html"}, ++ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/FooObj.html"}, ++ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foo-version.html"}, + {"type": "file", "file": "usr/share/gtk-doc/html/foobar/home.png"}, + {"type": "file", "file": "usr/share/gtk-doc/html/foobar/index.html"}, + {"type": "file", "file": "usr/share/gtk-doc/html/foobar/left.png"}, diff --git a/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch b/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch deleted file mode 100644 index 772395e87..000000000 --- a/poky/meta/recipes-devtools/meson/meson/cross-prop-default.patch +++ /dev/null @@ -1,23 +0,0 @@ -meson.build files that use cc.run() in native builds can silently fallback to -meson.get_cross_property() in cross builds without an exe-wrapper, but there's -no way to know that this is happening. - -As the defaults may be pessimistic (for example, disabling the support for a -feature that should be enabled) emit a warning when the default is used, so that -the recipe can explicitly set the cross property as relevant. - -Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/5071] -Signed-off-by: Ross Burton - -diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py -index 3c3cfae0..10e741ae 100644 ---- a/mesonbuild/interpreter.py -+++ b/mesonbuild/interpreter.py -@@ -1890,6 +1890,7 @@ class MesonMain(InterpreterObject): - return props[propname] - except Exception: - if len(args) == 2: -+ mlog.warning('Cross property %s is using default value %s' % (propname, args[1])) - return args[1] - raise InterpreterException('Unknown cross property: %s.' % propname) - diff --git a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch index 25b30ca27..29e164ccc 100644 --- a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch +++ b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch @@ -3,7 +3,7 @@ to be executed) but *host* gobject-introspection libraries, as otherwise the native pkg-config can be used and the build will try to link native and host binaries together. -Upstream-Status: Pending +Upstream-Status: Backport [589236226856f591c9e8daf0cb7aa1aef8862388] Signed-off-by: Ross Burton diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py diff --git a/poky/meta/recipes-devtools/meson/meson_0.57.1.bb b/poky/meta/recipes-devtools/meson/meson_0.57.1.bb deleted file mode 100644 index de9b905c1..000000000 --- a/poky/meta/recipes-devtools/meson/meson_0.57.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -include meson.inc - -BBCLASSEXTEND = "native" - diff --git a/poky/meta/recipes-devtools/meson/meson_0.58.0.bb b/poky/meta/recipes-devtools/meson/meson_0.58.0.bb new file mode 100644 index 000000000..de9b905c1 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson_0.58.0.bb @@ -0,0 +1,4 @@ +include meson.inc + +BBCLASSEXTEND = "native" + diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb deleted file mode 100644 index 8778cab12..000000000 --- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb +++ /dev/null @@ -1,66 +0,0 @@ -include meson.inc - -inherit siteinfo -inherit nativesdk - -SRC_URI += "file://meson-setup.py \ - file://meson-wrapper" - -def meson_endian(prefix, d): - arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS") - sitedata = siteinfo_data_for_machine(arch, os, d) - if "endian-little" in sitedata: - return "little" - elif "endian-big" in sitedata: - return "big" - else: - bb.fatal("Cannot determine endianism for %s-%s" % (arch, os)) - -# The cross file logic is similar but not identical to that in meson.bbclass, -# since it's generating for an SDK rather than a cross-compile. Important -# differences are: -# - We can't set vars like CC, CXX, etc. yet because they will be filled in with -# real paths by meson-setup.sh when the SDK is extracted. -# - Some overrides aren't needed, since the SDK injects paths that take care of -# them. -do_install_append() { - install -d ${D}${datadir}/meson - cat >${D}${datadir}/meson/meson.cross.template <${D}${datadir}/meson/meson.cross.template < -Date: 2011/01/24 - -Index: mklibs/configure.ac -=================================================================== ---- mklibs.orig/configure.ac 2010-02-21 17:34:56.000000000 -0800 -+++ mklibs/configure.ac 2011-01-24 18:52:19.943242079 -0800 -@@ -1,4 +1,4 @@ --AC_INIT([mklibs],m4_esyscmd(dpkg-parsechangelog | perl -ne 'print $1 if m/^Version: (.*)$/;')) -+AC_INIT([mklibs], MKLIBS_VERSION) - AM_INIT_AUTOMAKE([foreign no-define]) - AC_CONFIG_HEADERS([config.h]) - AM_MAINTAINER_MODE diff --git a/poky/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch b/poky/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch deleted file mode 100644 index 17d9af4de..000000000 --- a/poky/meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch +++ /dev/null @@ -1,103 +0,0 @@ -From dcb45256970b15b672d0004533826c94083356e5 Mon Sep 17 00:00:00 2001 -From: Yuanjie Huang -Date: Fri, 17 Apr 2015 14:48:20 +0800 -Subject: [PATCH 4/6] avoid failure on symbol provided by application - -Upstream-Status: Pending - -Undefined symbols in a library can be provided by the application -that links to the library, such as `logsink' in libmultipath.so.0. -This fix checks the type of object in which the symbol is needed -and the existence of the symbol in application, when a symbol -cannot be provided by libraries. It prevents false alarm on absence -of symbols. - -Signed-off-by: Yuanjie Huang - ---- - src/mklibs | 28 ++++++++++++++++++++++++---- - 1 file changed, 24 insertions(+), 4 deletions(-) - -diff --git a/src/mklibs b/src/mklibs -index a3533c0..66b7a09 100755 ---- a/src/mklibs -+++ b/src/mklibs -@@ -133,9 +133,9 @@ class Symbol(object): - return '@'.join(ret) - - class UndefinedSymbol(Symbol): -- def __init__(self, name, weak, version, library): -+ def __init__(self, name, weak, version, library, object): - super(UndefinedSymbol, self).__init__(name, version, library) -- self.weak, self.library = weak, library -+ self.weak, self.library, self.object = weak, library, object - - def symbol_is_blacklisted(name): - # The ARM Embedded ABI spec states symbols under this namespace as -@@ -152,6 +152,11 @@ def undefined_symbols(obj): - - output = command("mklibs-readelf", "--print-symbols-undefined", obj) - -+ if len(obj) > len(dest_path) and obj[:len(dest_path)] == dest_path: -+ object = obj[len(dest_path) + 1:-len('-so-stripped')] -+ else: -+ object = obj -+ - result = [] - for line in output: - name, weak_string, version_string, library_string = line.split()[:4] -@@ -171,7 +176,7 @@ def undefined_symbols(obj): - if library_string.lower() != 'none': - library = library_string - -- result.append(UndefinedSymbol(name, weak, version, library)) -+ result.append(UndefinedSymbol(name, weak, version, library, object)) - - return result - -@@ -498,12 +503,13 @@ while 1: - and re.search("^ps_", str(symbol))) - and not (re.search("ld-linux.so.3$", str(symbol))) - and not (re.search("^__gnu_local_gp", str(symbol)))): -- debug(DEBUG_SPAM, "needed_symbols adding %s, weak: %s" % (symbol, symbol.weak)) -+ debug(DEBUG_SPAM, "needed_symbols adding %s, weak: %s, for %s" % (symbol, symbol.weak, obj)) - needed_symbols[str(symbol)] = symbol - libraries.update(library_depends(obj)) - - # calculate what symbols are present in small_libs and available_libs - present_symbols = {} -+ present_symbol_progs = {} - checked_libs = small_libs - checked_libs.extend(available_libs) - checked_libs.append(sysroot + ldlib) -@@ -513,6 +519,12 @@ while 1: - names = symbol.base_names() - for name in names: - present_symbols[name] = symbol -+ if not so_pattern.match(lib): -+ debug(DEBUG_SPAM, "present_symbol_progs adding %s, from executable %s" % (' '.join(names), lib)) -+ for name in names: -+ progs = present_symbol_progs.get(name, set()) -+ progs.add(lib) -+ present_symbol_progs[name] = progs - - # are we finished? - num_unresolved = 0 -@@ -568,6 +580,14 @@ while 1: - for name in needed_symbols: - if not name in symbol_provider: - if not needed_symbols[name].weak: -+ # WORKAROUND: Undefined symbols in a library can be provided by the application -+ # that links to the library. So if the object which requires the symbol is a library -+ # and some application can provide the symbol, the undefined symbol is skipped. -+ symbol = needed_symbols[name] -+ if so_pattern.match(symbol.object) and present_symbol_progs.get(name, None): -+ debug(DEBUG_SPAM, "symbol %s in library %s is provided by executable %s" \ -+ % (name, symbol.object, ' '.join(present_symbol_progs[name]))) -+ continue - raise Exception("No library provides non-weak %s" % name) - else: - lib = symbol_provider[name] --- -2.16.1 - diff --git a/poky/meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch b/poky/meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch deleted file mode 100644 index d27a48916..000000000 --- a/poky/meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch +++ /dev/null @@ -1,26 +0,0 @@ -The libc6-dev in Ubuntu 9.04 is so old that the elf.h doesn't -define STT_GNU_IFUNC, so we have to define it ourselves. - -Upstream-Status: Inappropriate [other] - old release specific, maybe removable - --- Dexuan Cui (dexuan.cui@intel.com) Feb 16, 2011. - -diff --git a/src/mklibs-readelf/main.cpp b/src/mklibs-readelf/main.cpp -index 2444c39..56d93f8 100644 ---- a/src/mklibs-readelf/main.cpp -+++ b/src/mklibs-readelf/main.cpp -@@ -6,6 +6,14 @@ - #include - - #include -+/* -+ * The /usr/include/elf.h in some distributions(like Ubuntu 9.04) doesn't -+ * define the macro. We need to define it here. -+ */ -+#ifndef STT_GNU_IFUNC -+#define STT_GNU_IFUNC 10 /* Symbol is indirect code object */ -+#endif -+ - #include - - #include "elf.hpp" diff --git a/poky/meta/recipes-devtools/mklibs/files/fix_cross_compile.patch b/poky/meta/recipes-devtools/mklibs/files/fix_cross_compile.patch deleted file mode 100644 index 13e4606b8..000000000 --- a/poky/meta/recipes-devtools/mklibs/files/fix_cross_compile.patch +++ /dev/null @@ -1,81 +0,0 @@ -Remove dependency on dpkg - -Upstream-Status: Submitted - -Asking the host OS whether it supports multiarch is not useful -in a cross-compilation environment, or if the user has specified -a libdir explicitly. So this patch, based on the work of Mentor -Graphics, removes mklibs's dependency on dpkg package. - -Signed-off-by: Yuanjie Huang - src/mklibs | 30 +++++++++++++++++++----------- - 1 file changed, 19 insertions(+), 11 deletions(-) - -diff --git a/src/mklibs b/src/mklibs -index d9b784b..c5614ea 100755 ---- a/src/mklibs -+++ b/src/mklibs -@@ -261,6 +261,11 @@ def extract_soname(so_file): - return "" - - def multiarch(paths): -+ # Asking the host OS whether it supports multiarch is not useful -+ # in a cross-compilation environment, or if the user has specified -+ # a libdir explicitly. -+ if sysroot != "" or libdir != "": -+ return paths - devnull = open('/dev/null', 'w') - dpkg_architecture = subprocess.Popen( - ['dpkg-architecture', '-qDEB_HOST_MULTIARCH'], -@@ -340,7 +345,7 @@ lib_path = [] - dest_path = "DEST" - ldlib = "LDLIB" - include_default_lib_path = "yes" --default_lib_path = multiarch(["/lib/", "/usr/lib/", "/usr/X11R6/lib/"]) -+default_lib_path = ["/lib/", "/usr/lib/", "/usr/X11R6/lib/"] - libc_extras_dir = "/usr/lib/libc_pic" - libc_extras_dir_default = True - libdir = "lib" -@@ -386,7 +391,7 @@ for opt, arg in optlist: - elif opt == "--libdir": - libdir = arg - elif opt in ("--help", "-h"): -- usage(0) -+ usage(0) - sys.exit(0) - elif opt in ("--version", "-V"): - version(vers) -@@ -395,6 +400,7 @@ for opt, arg in optlist: - print "WARNING: unknown option: " + opt + "\targ: " + arg - - if include_default_lib_path == "yes": -+ default_lib_path = multiarch(default_lib_path) - lib_path.extend([a.replace("/lib/", "/" + libdir + "/") for a in default_lib_path]) - - if libc_extras_dir_default: -@@ -661,16 +669,16 @@ ld_path_name = os.path.dirname(ldlib) - ld_full_path = "../" + ldlib - ld_file = find_lib(ld_file_name) - --if ld_path_name != "/lib": -- if os.access(dest_path + "/" + ld_file_name, os.F_OK): -- os.remove(dest_path + "/" + ld_file_name) -+#if ld_path_name != "/lib": -+# if os.access(dest_path + "/" + ld_file_name, os.F_OK): -+# os.remove(dest_path + "/" + ld_file_name) - --if not os.path.exists(dest_path + "/../" + ld_path_name): -- os.mkdir(dest_path + "/../" + ld_path_name) -+#if not os.path.exists(dest_path + "/../" + ld_path_name): -+# os.mkdir(dest_path + "/../" + ld_path_name) - --if not os.access(dest_path + "/" + ld_full_path, os.F_OK): -- debug(DEBUG_NORMAL, "I: stripping and copying dynamic linker to " + ld_full_path) -+if not os.access(dest_path + "/" + ld_file_name, os.F_OK): -+ debug(DEBUG_NORMAL, "I: stripping and copying dynamic linker to " + ld_file_name) - command(target + "objcopy", "--strip-unneeded -R .note -R .comment", -- ld_file, dest_path + "/" + ld_full_path) -+ ld_file, dest_path + "/" + ld_file_name) - --os.chmod(dest_path + "/" + ld_full_path, 0755) -+os.chmod(dest_path + "/" + ld_file_name, 0755) diff --git a/poky/meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch b/poky/meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch deleted file mode 100644 index bc56593e6..000000000 --- a/poky/meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch +++ /dev/null @@ -1,34 +0,0 @@ -From eddf04c7f8312e9c29cdb24e431b7e4fb2cc70ed Mon Sep 17 00:00:00 2001 -From: Yuanjie Huang -Date: Wed, 15 Apr 2015 14:00:06 +0800 -Subject: [PATCH] Show GNU unique symbols as provided symbols - -Upstream-Status: Submitted - -GNU Unique symbol is a GNU extension employed by new version of GCC -by default. Even Standard C++ library in GCC 4.9 provides some symbols, -such as _ZNSs4_Rep20_S_empty_rep_storageE in this binding type instead -of ELF standard weak binding. -This patch adds support of this new binding type to mklibs-readelf. - -Signed-off-by: Yuanjie Huang ---- - src/mklibs-readelf/main.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/mklibs-readelf/main.cpp b/src/mklibs-readelf/main.cpp -index 56d93f8..0134530 100644 ---- a/src/mklibs-readelf/main.cpp -+++ b/src/mklibs-readelf/main.cpp -@@ -88,7 +88,7 @@ static void process_symbols_provided (const Elf::section_typeget_type (); - const std::string &name = symbol->get_name_string (); - -- if (bind != STB_GLOBAL && bind != STB_WEAK) -+ if (bind != STB_GLOBAL && bind != STB_WEAK && bind != STB_GNU_UNIQUE) - continue; - if (shndx == SHN_UNDEF || shndx == SHN_ABS) - continue; --- -1.8.5.2.233.g932f7e4 - diff --git a/poky/meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch b/poky/meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch deleted file mode 100644 index 75500a029..000000000 --- a/poky/meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch +++ /dev/null @@ -1,18 +0,0 @@ -In cross builds we will have to respect sysroot - -Signed-off-by: Khem Raj -Upstream-Status: Pending - -Index: mklibs-0.1.39/src/mklibs -=================================================================== ---- mklibs-0.1.39.orig/src/mklibs 2014-03-01 18:25:36.000000000 +0000 -+++ mklibs-0.1.39/src/mklibs 2014-10-19 00:51:46.813534596 +0000 -@@ -495,7 +495,7 @@ - present_symbols = {} - checked_libs = small_libs - checked_libs.extend(available_libs) -- checked_libs.append(ldlib) -+ checked_libs.append(sysroot + ldlib) - for lib in checked_libs: - for symbol in provided_symbols(lib): - debug(DEBUG_SPAM, "present_symbols adding %s" % symbol) diff --git a/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb b/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb deleted file mode 100644 index 1784af1f4..000000000 --- a/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Shared library optimisation tool" -DESCRIPTION = "mklibs produces cut-down shared libraries that contain only the routines required by a particular set of executables." -HOMEPAGE = "https://launchpad.net/mklibs" -SECTION = "devel" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=98d31037b13d896e33890738ef01af64" - -SRC_URI = "http://snapshot.debian.org/archive/debian/20180828T214102Z/pool/main/m/mklibs/mklibs_${PV}.tar.xz \ - file://ac_init_fix.patch\ - file://fix_STT_GNU_IFUNC.patch\ - file://sysrooted-ldso.patch \ - file://avoid-failure-on-symbol-provided-by-application.patch \ - file://show-GNU-unique-symbols-as-provided-symbols.patch \ - file://fix_cross_compile.patch \ -" - -SRC_URI[md5sum] = "6b6eeb9b4016c6a7317acc28c89e32cc" -SRC_URI[sha256sum] = "3af0b6bd35e5b6fc58d8b68827fbae2ff6b7e20dd2b238ccb9b49d84722066c2" - -UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/m/mklibs/" - -inherit autotools gettext native diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch b/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch deleted file mode 100644 index 12707357b..000000000 --- a/poky/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 04fbe6ddb5f1e02efbcae3cdf5beb16757a98948 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 10 May 2019 12:58:01 -0700 -Subject: [PATCH] mmc_cmd.c: Use extra braces when initializing subobjects - -clang warns with -Werror,-Wmissing-braces, as following error -| mmc_cmds.c:1886:36: error: suggest braces around initialization of subobject [-Werror,-W -missing-braces] -| struct rpmb_frame frame_status = {0}; -| ^ -| {} - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - mmc_cmds.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mmc_cmds.c b/mmc_cmds.c -index 19a9da1..838e8c3 100644 ---- a/mmc_cmds.c -+++ b/mmc_cmds.c -@@ -1883,7 +1883,7 @@ static int do_rpmb_op(int fd, - u_int16_t rpmb_type; - struct mmc_ioc_multi_cmd *mioc; - struct mmc_ioc_cmd *ioc; -- struct rpmb_frame frame_status = {0}; -+ struct rpmb_frame frame_status = {{0}}; - - if (!frame_in || !frame_out || !out_cnt) - return -EINVAL; diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb index 8fe606915..bdd0bf7f1 100644 --- a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb +++ b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb @@ -5,13 +5,11 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d" SRCBRANCH ?= "master" -SRCREV = "73d6c59af8d1bcedf5de4aa1f5d5b7f765f545f5" +SRCREV = "43282e80e174cc73b09b81a4d17cb3a7b4dc5cfc" PV = "0.1+git${SRCPV}" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH} \ - file://0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch \ - " +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH}" UPSTREAM_CHECK_COMMITS = "1" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb deleted file mode 100644 index c44ee6340..000000000 --- a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Skip tests when modules not available" -DESCRIPTION = "Skip test scripts if modules are not available. \ -The requested modules will be loaded, and optionally have their versions \ -checked. If the module is missing, the test script will be skipped. Modules \ -that are found but fail to compile will exit with an error rather than skip." - -HOMEPAGE = "https://metacpan.org/release/Test-Needs" -SECTION = "libs" -LICENSE = "Artistic-1.0 | GPL-1.0+" - -CPAN_NAME = "Test-Needs" -CPAN_AUTHOR = "HAARG" - -LIC_FILES_CHKSUM = "file://README;md5=3f3ccd21a0a48aa313db212cc3b1bc09;beginline=88;endline=89" - -DEPENDS += "perl" - -SRC_URI = "https://cpan.metacpan.org/authors/id/H/HA/${CPAN_AUTHOR}/${CPAN_NAME}-${PV}.tar.gz" - -SRC_URI[md5sum] = "d5c96d51d8d5510f7c0b7f354c49af1c" -SRC_URI[sha256sum] = "77f9fff0c96c5e09f34d0416b3533c3319f7cd0bb1f7fe8f8072ad59f433f0e5" - -S = "${WORKDIR}/${CPAN_NAME}-${PV}" - -inherit cpan ptest-perl - -RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-ipc-open3 perl-module-lib perl-module-version" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb new file mode 100644 index 000000000..2234f6a74 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb @@ -0,0 +1,29 @@ +SUMMARY = "Skip tests when modules not available" +DESCRIPTION = "Skip test scripts if modules are not available. \ +The requested modules will be loaded, and optionally have their versions \ +checked. If the module is missing, the test script will be skipped. Modules \ +that are found but fail to compile will exit with an error rather than skip." + +HOMEPAGE = "https://metacpan.org/release/Test-Needs" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" + +CPAN_NAME = "Test-Needs" +CPAN_AUTHOR = "HAARG" + +LIC_FILES_CHKSUM = "file://README;md5=3f3ccd21a0a48aa313db212cc3b1bc09;beginline=88;endline=89" + +DEPENDS += "perl" + +SRC_URI = "https://cpan.metacpan.org/authors/id/H/HA/${CPAN_AUTHOR}/${CPAN_NAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "5643cd323afb77d20363acbaf9b12bcc" +SRC_URI[sha256sum] = "571c21193ad16195df58b06b268798796a391b398c443271721d2cc0fb7c4ac3" + +S = "${WORKDIR}/${CPAN_NAME}-${PV}" + +inherit cpan ptest-perl + +RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-ipc-open3 perl-module-lib perl-module-version" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb deleted file mode 100644 index 12496c384..000000000 --- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb +++ /dev/null @@ -1,67 +0,0 @@ -SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks." -DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \ -flags for development frameworks. It is similar to pkg-config from \ -freedesktop.org, providing additional functionality while also maintaining \ -compatibility." -HOMEPAGE = "http://pkgconf.org" -BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues" -SECTION = "devel" -PROVIDES += "pkgconfig" -RPROVIDES_${PN} += "pkgconfig" - -# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or -# ISC, but has different wording, so needs its own name. -LICENSE = "pkgconf" -LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0" - -SRC_URI = "\ - https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \ - file://pkg-config-wrapper \ - file://pkg-config-native.in \ - file://pkg-config-esdk.in \ -" -SRC_URI[sha256sum] = "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0" - -inherit autotools - -EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'" - -do_install_append () { - # Install a wrapper which deals, as much as possible with pkgconf vs - # pkg-config compatibility issues. - install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config" -} - -do_install_append_class-native () { - # Install a pkg-config-native wrapper that will use the native sysroot instead - # of the MACHINE sysroot, for using pkg-config when building native tools. - sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ - < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native - install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native - sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ - -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ - < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk - install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk -} - -# When using the RPM generated automatic package dependencies, some packages -# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by -# specifying an appropriate provide. -RPROVIDES_${PN} += "pkgconfig(pkg-config)" - -# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev -FILES_${PN}-dev_remove = "${datadir}/aclocal" -FILES_${PN} += "${datadir}/aclocal" - -BBCLASSEXTEND += "native nativesdk" - -pkgconf_sstate_fixup_esdk () { - if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then - pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}" - mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real - lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config - sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native - fi -} - -SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk" diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb new file mode 100644 index 000000000..93832105f --- /dev/null +++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb @@ -0,0 +1,67 @@ +SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks." +DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \ +flags for development frameworks. It is similar to pkg-config from \ +freedesktop.org, providing additional functionality while also maintaining \ +compatibility." +HOMEPAGE = "http://pkgconf.org" +BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues" +SECTION = "devel" +PROVIDES += "pkgconfig" +RPROVIDES_${PN} += "pkgconfig" + +# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or +# ISC, but has different wording, so needs its own name. +LICENSE = "pkgconf" +LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0" + +SRC_URI = "\ + https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \ + file://pkg-config-wrapper \ + file://pkg-config-native.in \ + file://pkg-config-esdk.in \ +" +SRC_URI[sha256sum] = "d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab" + +inherit autotools + +EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'" + +do_install_append () { + # Install a wrapper which deals, as much as possible with pkgconf vs + # pkg-config compatibility issues. + install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config" +} + +do_install_append_class-native () { + # Install a pkg-config-native wrapper that will use the native sysroot instead + # of the MACHINE sysroot, for using pkg-config when building native tools. + sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ + < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native + install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native + sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ + -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ + < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk + install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk +} + +# When using the RPM generated automatic package dependencies, some packages +# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by +# specifying an appropriate provide. +RPROVIDES_${PN} += "pkgconfig(pkg-config)" + +# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev +FILES_${PN}-dev_remove = "${datadir}/aclocal" +FILES_${PN} += "${datadir}/aclocal" + +BBCLASSEXTEND += "native nativesdk" + +pkgconf_sstate_fixup_esdk () { + if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then + pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}" + mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real + lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config + sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native + fi +} + +SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk" diff --git a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index 72db876ad..964d85fa3 100644 --- a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRCREV = "edf8e6f0ea77ede073f07bff0d2ae1fc7a38103b" PV = "0.29.2+git${SRCPV}" -SRC_URI = "git://anongit.freedesktop.org/pkg-config \ +SRC_URI = "git://gitlab.freedesktop.org/pkg-config/pkg-config.git;branch=master;protocol=https \ file://pkg-config-esdk.in \ file://pkg-config-native.in \ file://fix-glib-configure-libtool-usage.patch \ diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb deleted file mode 100644 index 0a60ca746..000000000 --- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.2.bb +++ /dev/null @@ -1,58 +0,0 @@ -SUMMARY = "A sophisticated Numeric Processing Package for Python" -HOMEPAGE = "https://numpy.org/" -DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python." -SECTION = "devel/python" -LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=aa1ecaef18152f75bfae546b29c49d3c" - -SRCNAME = "numpy" - -SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ - file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ - file://0001-numpy-core-Define-RISCV-32-support.patch \ - file://run-ptest \ -" -SRC_URI[sha256sum] = "c049f410c78e76ffb0af830a8afbdf8baac09897b4152b97b1a3b8345ee338ff" - -UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" - -DEPENDS += "python3-cython-native" - -inherit ptest setuptools3 - -S = "${WORKDIR}/numpy-${PV}" - -CLEANBROKEN = "1" - -FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a" - -# install what is needed for numpy.test() -RDEPENDS_${PN} = "${PYTHON_PN}-unittest \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-mmap \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pydoc \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-multiprocessing \ -" -RDEPENDS_${PN}-ptest += "${PYTHON_PN}-pytest \ - ${PYTHON_PN}-hypothesis \ - ${PYTHON_PN}-sortedcontainers \ - ${PYTHON_PN}-resource \ - ldd \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb new file mode 100644 index 000000000..d160fd655 --- /dev/null +++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb @@ -0,0 +1,58 @@ +SUMMARY = "A sophisticated Numeric Processing Package for Python" +HOMEPAGE = "https://numpy.org/" +DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python." +SECTION = "devel/python" +LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=aa1ecaef18152f75bfae546b29c49d3c" + +SRCNAME = "numpy" + +SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${SRCNAME}-${PV}.tar.gz \ + file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \ + file://0001-numpy-core-Define-RISCV-32-support.patch \ + file://run-ptest \ +" +SRC_URI[sha256sum] = "b7340f0628ce1823c151e3d2a2a8cba2a3ff1357fba4475a24b1816e75c21f90" + +UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases" +UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" + +DEPENDS += "python3-cython-native" + +inherit ptest setuptools3 + +S = "${WORKDIR}/numpy-${PV}" + +CLEANBROKEN = "1" + +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a" + +# install what is needed for numpy.test() +RDEPENDS_${PN} = "${PYTHON_PN}-unittest \ + ${PYTHON_PN}-difflib \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-mmap \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pydoc \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-multiprocessing \ +" +RDEPENDS_${PN}-ptest += "${PYTHON_PN}-pytest \ + ${PYTHON_PN}-hypothesis \ + ${PYTHON_PN}-sortedcontainers \ + ${PYTHON_PN}-resource \ + ldd \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch index 680edbe70..1082fe79b 100644 --- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch +++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch @@ -1,4 +1,4 @@ -From 6380cc63f79abe8b8404c9be5ed5f213a70c8c6a Mon Sep 17 00:00:00 2001 +From f6afc18e08a6c428ce8becd114c535a6840f1b9f Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Tue, 17 Jul 2018 10:13:38 +0800 Subject: [PATCH] conditionally do not fetch code by easy_install @@ -15,7 +15,7 @@ Signed-off-by: Hongxu Jia 1 file changed, 5 insertions(+) diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py -index eeb21b5..eca1edd 100644 +index 45adb6a..9ac3342 100644 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -636,6 +636,11 @@ class easy_install(Command): diff --git a/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb deleted file mode 100644 index 55cfda718..000000000 --- a/poky/meta/recipes-devtools/python/python3-attrs_20.3.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Classes Without Boilerplate" -HOMEPAGE = "http://www.attrs.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff" - -SRC_URI[sha256sum] = "832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700" -SRC_URI[md5sum] = "4fe38f89297b2b446d83190fce189f29" - -inherit pypi setuptools3 - -RDEPENDS_${PN}_class-target += " \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-ctypes \ -" -RDEPENDS_${PN}_class-nativesdk += " \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-ctypes \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-attrs_21.2.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_21.2.0.bb new file mode 100644 index 000000000..e89fbc96f --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-attrs_21.2.0.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Classes Without Boilerplate" +HOMEPAGE = "http://www.attrs.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff" + +SRC_URI[sha256sum] = "ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb" + +inherit pypi setuptools3 + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-ctypes \ +" +RDEPENDS_${PN}_class-nativesdk += " \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-ctypes \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.14.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.14.bb deleted file mode 100644 index 911c8f148..000000000 --- a/poky/meta/recipes-devtools/python/python3-git_3.1.14.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Python library used to interact with Git repositories" -DESCRIPTION = "GitPython provides object model read and write access to \ -a git repository. Access repository information conveniently, alter the \ -index directly, handle remotes, or go down to low-level object database \ -access with big-files support." -HOMEPAGE = "http://github.com/gitpython-developers/GitPython" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" - -PYPI_PACKAGE = "GitPython" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "be27633e7509e58391f10207cd32b2a6cf5b908f92d9cd30da2e514e1137af61" - -DEPENDS += " ${PYTHON_PN}-gitdb" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-gitdb \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-unixadmin \ - git \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.17.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.17.bb new file mode 100644 index 000000000..009cac660 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-git_3.1.17.bb @@ -0,0 +1,32 @@ +SUMMARY = "Python library used to interact with Git repositories" +DESCRIPTION = "GitPython provides object model read and write access to \ +a git repository. Access repository information conveniently, alter the \ +index directly, handle remotes, or go down to low-level object database \ +access with big-files support." +HOMEPAGE = "http://github.com/gitpython-developers/GitPython" +SECTION = "devel/python" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" + +PYPI_PACKAGE = "GitPython" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "ee24bdc93dce357630764db659edaf6b8d664d4ff5447ccfeedd2dc5c253f41e" + +DEPENDS += " ${PYTHON_PN}-gitdb" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-gitdb \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-unixadmin \ + git \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb new file mode 100644 index 000000000..7688ff6d1 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb @@ -0,0 +1,14 @@ +SUMMARY = "A library for property-based testing" +HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c" + +PYPI_PACKAGE = "hypothesis" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "262bb8cee0293ad06c453e78cf89bddcb613b91f82ea5587f3787611ee62861b" + +RDEPENDS_${PN} += "python3-attrs python3-core python3-sortedcontainers" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.2.0.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.2.0.bb deleted file mode 100644 index be9418386..000000000 --- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.2.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "A library for property-based testing" -HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c" - -PYPI_PACKAGE = "hypothesis" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "c16fbde26b65c98a2464c48209b066c2f6dab5e8e38acd9d959021eb8d58b6c0" - -RDEPENDS_${PN} += "python3-attrs python3-core python3-sortedcontainers" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.4.0.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.4.0.bb deleted file mode 100644 index 81f24e55c..000000000 --- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_3.4.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Read metadata from Python packages" -HOMEPAGE = "https://pypi.org/project/importlib-metadata/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "importlib_metadata" -UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P(\d+[\.\-_]*)+)/" - -SRC_URI[sha256sum] = "fa5daa4477a7414ae34e95942e4dd07f62adf589143c875c133c1e53c4eff38d" - -S = "${WORKDIR}/importlib_metadata-${PV}" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" -RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2" -RDEPENDS_${PN}_append_class-target = " python3-misc" -RDEPENDS_${PN}_append_class-nativesdk = " python3-misc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb new file mode 100644 index 000000000..f4ac3c44e --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Read metadata from Python packages" +HOMEPAGE = "https://pypi.org/project/importlib-metadata/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "importlib_metadata" +UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P(\d+[\.\-_]*)+)/" + +SRC_URI[sha256sum] = "c4646abbce80191bb548636f846e353ff1edc46a06bc536ea0a60d53211dc690" + +S = "${WORKDIR}/importlib_metadata-${PV}" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" +RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2" +RDEPENDS_${PN}_append_class-target = " python3-misc" +RDEPENDS_${PN}_append_class-nativesdk = " python3-misc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb b/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb deleted file mode 100644 index 11a4d5432..000000000 --- a/poky/meta/recipes-devtools/python/python3-jinja2_2.11.3.bb +++ /dev/null @@ -1,48 +0,0 @@ -DESCRIPTION = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python." -HOMEPAGE = "https://pypi.org/project/Jinja/" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" - -SRC_URI[sha256sum] = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6" - -PYPI_PACKAGE = "Jinja2" - -CVE_PRODUCT = "jinja2 jinja" - -CLEANBROKEN = "1" - -inherit pypi setuptools3 -inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} - -SRC_URI += " \ - file://run-ptest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-toml \ - ${PYTHON_PN}-unixadmin \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-asyncio \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-markupsafe \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers\ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-threading \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb b/poky/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb new file mode 100644 index 000000000..b37a043cc --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-jinja2_3.0.1.bb @@ -0,0 +1,48 @@ +DESCRIPTION = "Python Jinja2: A small but fast and easy to use stand-alone template engine written in pure python." +HOMEPAGE = "https://pypi.org/project/Jinja/" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" + +SRC_URI[sha256sum] = "703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4" + +PYPI_PACKAGE = "Jinja2" + +CVE_PRODUCT = "jinja2 jinja" + +CLEANBROKEN = "1" + +inherit pypi setuptools3 +inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} + +SRC_URI += " \ + file://run-ptest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-toml \ + ${PYTHON_PN}-unixadmin \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-asyncio \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-markupsafe \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers\ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-threading \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb deleted file mode 100644 index 3a2d8733e..000000000 --- a/poky/meta/recipes-devtools/python/python3-libarchive-c_2.9.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Python interface to libarchive" -DESCRIPTION = "A Python interface to libarchive. It uses the standard ctypes module to \ - dynamically load and access the C library." -HOMEPAGE = "https://github.com/Changaco/python-libarchive-c" -LICENSE = "CC0-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bcab380227a83bc147350b40a81e6ffc" - -PYPI_PACKAGE = "libarchive-c" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "083bd2cb0043c1e22a52cb9a05e31532" -SRC_URI[sha256sum] = "9919344cec203f5db6596a29b5bc26b07ba9662925a05e24980b84709232ef60" - -RDEPENDS_${PN} += "\ - libarchive \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-mmap \ -" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb new file mode 100644 index 000000000..d29195545 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Python interface to libarchive" +DESCRIPTION = "A Python interface to libarchive. It uses the standard ctypes module to \ + dynamically load and access the C library." +HOMEPAGE = "https://github.com/Changaco/python-libarchive-c" +LICENSE = "CC0-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bcab380227a83bc147350b40a81e6ffc" + +PYPI_PACKAGE = "libarchive-c" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "920885f5910aa8245e30896996e0415b" +SRC_URI[sha256sum] = "6f12fa9cf0e44579e5f45bbf11aa455a930fbfdb13ea0ce3c3dfe7b9b9a452ba" + +RDEPENDS_${PN} += "\ + libarchive \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-mmap \ +" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.3.4.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.3.4.bb new file mode 100644 index 000000000..47cccbe5b --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-markdown_3.3.4.bb @@ -0,0 +1,13 @@ +SUMMARY = "A Python implementation of John Gruber's Markdown." +HOMEPAGE = "https://python-markdown.github.io/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "Markdown" +SRC_URI[sha256sum] = "31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49" + +BBCLASSEXTEND = "native" + +RDEPENDS_${PN} += "${PYTHON_PN}-logging ${PYTHON_PN}-setuptools" diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb deleted file mode 100644 index cade4e0f5..000000000 --- a/poky/meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESCRIPTION = "Implements a XML/HTML/XHTML Markup safe string for Python" -HOMEPAGE = "http://github.com/mitsuhiko/markupsafe" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" - -SRC_URI[md5sum] = "43fd756864fe42063068e092e220c57b" -SRC_URI[sha256sum] = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b" - -PYPI_PACKAGE = "MarkupSafe" -inherit pypi setuptools3 -inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} - -RDEPENDS_${PN} += "${PYTHON_PN}-stringold" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -f ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb b/poky/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb new file mode 100644 index 000000000..5be43b6c5 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Implements a XML/HTML/XHTML Markup safe string for Python" +HOMEPAGE = "http://github.com/mitsuhiko/markupsafe" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" + +SRC_URI[sha256sum] = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a" + +PYPI_PACKAGE = "MarkupSafe" +inherit pypi setuptools3 +inherit ${@bb.utils.filter('DISTRO_FEATURES', 'ptest', d)} + +RDEPENDS_${PN} += "${PYTHON_PN}-stringold" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -f ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_8.7.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_8.7.0.bb deleted file mode 100644 index 0cb61915b..000000000 --- a/poky/meta/recipes-devtools/python/python3-more-itertools_8.7.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "More routines for operating on iterables, beyond itertools" -HOMEPAGE = "https://github.com/erikrose/more-itertools" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5" - -SRC_URI[sha256sum] = "c5d6da9ca3ff65220c3bfd2a8db06d698f05d4d2b9be57e1deb2be5a45019713" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb new file mode 100644 index 000000000..1c0e84d27 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "More routines for operating on iterables, beyond itertools" +HOMEPAGE = "https://github.com/erikrose/more-itertools" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5" + +SRC_URI[sha256sum] = "83f0308e05477c68f56ea3a888172c78ed5d5b3c282addb67508e7ba6c8f813a" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-asyncio \ + " + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + " + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb deleted file mode 100644 index a2e008348..000000000 --- a/poky/meta/recipes-devtools/python/python3-pygments_2.8.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "Pygments is a syntax highlighting package written in Python." -DESCRIPTION = "Pygments is a syntax highlighting package written in Python." -HOMEPAGE = "http://pygments.org/" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=98419e351433ac106a24e3ad435930bc" - -inherit setuptools3 -SRC_URI[sha256sum] = "2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94" - -DEPENDS += "\ - ${PYTHON_PN} \ - " - -PYPI_PACKAGE = "Pygments" - -inherit pypi - -BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb new file mode 100644 index 000000000..7fedcb5a8 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "Pygments is a syntax highlighting package written in Python." +DESCRIPTION = "Pygments is a syntax highlighting package written in Python." +HOMEPAGE = "http://pygments.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=98419e351433ac106a24e3ad435930bc" + +inherit setuptools3 +SRC_URI[sha256sum] = "a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f" + +DEPENDS += "\ + ${PYTHON_PN} \ + " + +PYPI_PACKAGE = "Pygments" + +inherit pypi + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb b/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb deleted file mode 100644 index d221cbcd7..000000000 --- a/poky/meta/recipes-devtools/python/python3-pytest_6.2.2.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Simple powerful testing with python" -HOMEPAGE = "https://pypi.org/project/pytest/" -DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b" - -SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch " - -SRC_URI[sha256sum] = "9d1edf9e7d0b84d72ea3dbcdfd22b35fb543a5e8f2a60092dd578936bf63d7f9" - -inherit update-alternatives pypi setuptools3 - -RDEPENDS_${PN}_class-target += " \ - ${PYTHON_PN}-atomicwrites \ - ${PYTHON_PN}-attrs \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-doctest \ - ${PYTHON_PN}-importlib-metadata \ - ${PYTHON_PN}-iniconfig \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-more-itertools \ - ${PYTHON_PN}-packaging \ - ${PYTHON_PN}-pathlib2 \ - ${PYTHON_PN}-pluggy \ - ${PYTHON_PN}-py \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-toml \ - ${PYTHON_PN}-wcwidth \ -" - -ALTERNATIVE_${PN} += "py.test pytest" - -NATIVE_LINK_NAME[pytest] = "${bindir}/pytest" -ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest" - -ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test" -ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb b/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb new file mode 100644 index 000000000..fa43e6ebf --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb @@ -0,0 +1,41 @@ +SUMMARY = "Simple powerful testing with python" +HOMEPAGE = "https://pypi.org/project/pytest/" +DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b" + +SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch " + +SRC_URI[sha256sum] = "50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b" + +inherit update-alternatives pypi setuptools3 + +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-atomicwrites \ + ${PYTHON_PN}-attrs \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-doctest \ + ${PYTHON_PN}-importlib-metadata \ + ${PYTHON_PN}-iniconfig \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-more-itertools \ + ${PYTHON_PN}-packaging \ + ${PYTHON_PN}-pathlib2 \ + ${PYTHON_PN}-pluggy \ + ${PYTHON_PN}-py \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-toml \ + ${PYTHON_PN}-wcwidth \ +" + +ALTERNATIVE_${PN} += "py.test pytest" + +NATIVE_LINK_NAME[pytest] = "${bindir}/pytest" +ALTERNATIVE_TARGET[pytest] = "${bindir}/pytest" + +ALTERNATIVE_LINK_NAME[py.test] = "${bindir}/py.test" +ALTERNATIVE_TARGET[py.test] = "${bindir}/py.test" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb deleted file mode 100644 index ead80da7b..000000000 --- a/poky/meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "the blessed package to manage your versions by scm tags" -HOMEPAGE = "https://pypi.org/project/setuptools-scm/" -DESCRIPTION = "setuptools_scm handles managing your Python package versions in SCM metadata instead of declaring them as the version argument or in a SCM managed file." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" - -SRC_URI[sha256sum] = "c85b6b46d0edd40d2301038cdea96bb6adc14d62ef943e75afb08b3e7bcf142a" - -PYPI_PACKAGE = "setuptools_scm" -inherit pypi setuptools3 - -UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P.*)\.tar" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-py \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-toml \ -" -RDEPENDS_${PN}_class-native = "\ - ${PYTHON_PN}-setuptools-native \ - ${PYTHON_PN}-toml-native \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb new file mode 100644 index 000000000..24409eddc --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "the blessed package to manage your versions by scm tags" +HOMEPAGE = "https://pypi.org/project/setuptools-scm/" +DESCRIPTION = "setuptools_scm handles managing your Python package versions in SCM metadata instead of declaring them as the version argument or in a SCM managed file." +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +SRC_URI[sha256sum] = "d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92" + +PYPI_PACKAGE = "setuptools_scm" +inherit pypi setuptools3 + +UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P.*)\.tar" + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-py \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-toml \ +" +RDEPENDS_${PN}_class-native = "\ + ${PYTHON_PN}-setuptools-native \ + ${PYTHON_PN}-toml-native \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch b/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch new file mode 100644 index 000000000..149d8ad5c --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-setuptools/reproducibility.patch @@ -0,0 +1,40 @@ +The License-File lines in PKG-INFO change ordering depending on the order on disk, +for example for python-packaging, one build shows: + +License-File: LICENSE +License-File: LICENSE.APACHE +License-File: LICENSE.BSD + +and the other shows: + +License-File: LICENSE +License-File: LICENSE.BSD +License-File: LICENSE.APACHE + +This is because glob uses os.listdir() which is unsorted. Sort the result to avoid this. + +Upstream-Status: Submitted [https://github.com/pypa/setuptools/issues/2691] +Signed-off-by: Richard Purdie + +Index: setuptools-57.0.0/setuptools/dist.py +=================================================================== +--- setuptools-57.0.0.orig/setuptools/dist.py ++++ setuptools-57.0.0/setuptools/dist.py +@@ -15,7 +15,7 @@ import distutils.command + from distutils.util import strtobool + from distutils.debug import DEBUG + from distutils.fancy_getopt import translate_longopt +-from glob import iglob ++from glob import glob + import itertools + import textwrap + from typing import List, Optional, TYPE_CHECKING +@@ -603,7 +603,7 @@ class Distribution(_Distribution): + return ( + path + for pattern in patterns +- for path in iglob(pattern) ++ for path in sorted(glob(pattern)) + if not path.endswith('~') + and os.path.isfile(path) + ) diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb deleted file mode 100644 index 07a82ad21..000000000 --- a/poky/meta/recipes-devtools/python/python3-setuptools_56.0.0.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" -HOMEPAGE = "https://pypi.org/project/setuptools" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6" - -inherit pypi setuptools3 - -SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" - -SRC_URI += "file://0001-change-shebang-to-python3.patch" - -SRC_URI[sha256sum] = "08a1c0f99455307c48690f00d5c2ac2c1ccfab04df00454fef854ec145b81302" - -DEPENDS += "${PYTHON_PN}" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-2to3 \ - ${PYTHON_PN}-compile \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pkg-resources \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-plistlib \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ -" - -do_install_prepend() { - install -d ${D}${PYTHON_SITEPACKAGES_DIR} -} - -BBCLASSEXTEND = "native nativesdk" - -# The pkg-resources module can be used by itself, without the package downloader -# and easy_install. Ship it in a separate package so that it can be used by -# minimal distributions. -PACKAGES =+ "${PYTHON_PN}-pkg-resources " -FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" -RDEPENDS_${PYTHON_PN}-pkg-resources = "\ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-plistlib \ - ${PYTHON_PN}-pprint \ -" diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb new file mode 100644 index 000000000..a15b51e31 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-setuptools_57.0.0.bb @@ -0,0 +1,56 @@ +SUMMARY = "Download, build, install, upgrade, and uninstall Python packages" +HOMEPAGE = "https://pypi.org/project/setuptools" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6" + +inherit pypi setuptools3 + +SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch" + +SRC_URI += "file://0001-change-shebang-to-python3.patch \ + file://reproducibility.patch" + +SRC_URI[sha256sum] = "401cbf33a7bf817d08014d51560fc003b895c4cdc1a5b521ad2969e928a07535" + +DEPENDS += "${PYTHON_PN}" + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-2to3 \ + ${PYTHON_PN}-compile \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pkg-resources \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-plistlib \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ +" + +do_install_prepend() { + install -d ${D}${PYTHON_SITEPACKAGES_DIR} +} + +BBCLASSEXTEND = "native nativesdk" + +# The pkg-resources module can be used by itself, without the package downloader +# and easy_install. Ship it in a separate package so that it can be used by +# minimal distributions. +PACKAGES =+ "${PYTHON_PN}-pkg-resources " +FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" +RDEPENDS_${PYTHON_PN}-pkg-resources = "\ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-plistlib \ + ${PYTHON_PN}-pprint \ +" diff --git a/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb deleted file mode 100644 index 6c6f3f962..000000000 --- a/poky/meta/recipes-devtools/python/python3-six_1.15.0.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit setuptools3 -require python-six.inc - -SRC_URI[md5sum] = "9f90a0eaa0ea7747fda01ca79d21ebcb" -SRC_URI[sha256sum] = "30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259" diff --git a/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb b/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb new file mode 100644 index 000000000..1ba48d4f4 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-six_1.16.0.bb @@ -0,0 +1,4 @@ +inherit setuptools3 +require python-six.inc + +SRC_URI[sha256sum] = "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926" diff --git a/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb new file mode 100644 index 000000000..ba3408247 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "Translator of plain ASCII punctuation characters into 'smart' typographic punctuation HTML entities" +HOMEPAGE = "https://pythonhosted.org/smartypants/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=977036977591ac666c728921ecc54c4f" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "smartypants" +SRC_URI[sha256sum] = "7812353a32022699a1aa8cd5626e01c94a946dcaeedaee2d0b382bae4c4cbf36" + +BBCLASSEXTEND = "native" + +UPSTREAM_CHECK_REGEX = "/${PYPI_PACKAGE}/(?P(?!2\.0\.1)(\d+[\.\-_]*)+)/" diff --git a/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb deleted file mode 100644 index 6060c0372..000000000 --- a/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "Sorted Containers is an Apache2 licensed sorted collections library, written in pure-Python, and fast as C-extensions." -HOMEPAGE = "http://www.grantjenks.com/docs/sortedcontainers/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7c7c6a1a12ec816da16c1839137d53ae" - -inherit pypi setuptools3 -SRC_URI[sha256sum] = "59cc937650cf60d677c16775597c89a960658a09cf7c1a668f86e1e4464b10a1" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb new file mode 100644 index 000000000..0755d3e17 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb @@ -0,0 +1,9 @@ +SUMMARY = "Sorted Containers is an Apache2 licensed sorted collections library, written in pure-Python, and fast as C-extensions." +HOMEPAGE = "http://www.grantjenks.com/docs/sortedcontainers/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7c7c6a1a12ec816da16c1839137d53ae" + +inherit pypi setuptools3 +SRC_URI[sha256sum] = "25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb b/poky/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb new file mode 100644 index 000000000..3becb0dd8 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-typogrify_2.0.7.bb @@ -0,0 +1,14 @@ +SUMMARY = "Filters to enhance web typography, including support for Django & Jinja templates" +HOMEPAGE = "https://github.com/mintchaos/typogrify" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12bc792d6f5415dbf421f3fd183c6dd2" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "typogrify" +SRC_URI[sha256sum] = "8be4668cda434163ce229d87ca273a11922cb1614cb359970b7dc96eed13cb38" + +BBCLASSEXTEND = "native" + +RDEPENDS_${PN} += "${PYTHON_PN}-smartypants" + diff --git a/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch b/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch index 237645bc6..9ed03858d 100644 --- a/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch +++ b/poky/meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch @@ -9,8 +9,7 @@ installs python-config there) to race, resulting in a failure due to attempting to install python-config into a nonexistent BINDIR. Ensure it also exists in the libainstall target. -Upstream-Status: Submitted [https://github.com/python/cpython/pull/13186] - +Upstream-Status: Backport [https://github.com/python/cpython/commit/a25c46bd7dd47a2f95b32d17ee2f66de214892c6] Signed-off-by: Changqing Li --- Makefile.pre.in | 2 +- diff --git a/poky/meta/recipes-devtools/python/python3_3.9.4.bb b/poky/meta/recipes-devtools/python/python3_3.9.4.bb deleted file mode 100644 index cb371ceed..000000000 --- a/poky/meta/recipes-devtools/python/python3_3.9.4.bb +++ /dev/null @@ -1,384 +0,0 @@ -SUMMARY = "The Python Programming Language" -HOMEPAGE = "http://www.python.org" -DESCRIPTION = "Python is a programming language that lets you work more quickly and integrate your systems more effectively." -LICENSE = "PSFv2" -SECTION = "devel/python" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=c22d2438294c784731bf9dd224a467b7" - -SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ - file://run-ptest \ - file://create_manifest3.py \ - file://get_module_deps3.py \ - file://python3-manifest.json \ - file://check_build_completeness.py \ - file://reformat_sysconfig.py \ - file://cgi_py.patch \ - file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \ - ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \ - file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \ - file://python-config.patch \ - file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \ - file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ - file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ - file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ - file://crosspythonpath.patch \ - file://0001-Use-FLAG_REF-always-for-interned-strings.patch \ - file://0001-test_locale.py-correct-the-test-output-format.patch \ - file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \ - file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ - file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \ - file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \ - file://0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch \ - file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \ - " - -SRC_URI_append_class-native = " \ - file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \ - file://12-distutils-prefix-is-inside-staging-area.patch \ - file://0001-Don-t-search-system-for-headers-libraries.patch \ - " -SRC_URI[sha256sum] = "4b0e6644a76f8df864ae24ac500a51bbf68bd098f6a173e27d3b61cdca9aa134" - -# exclude pre-releases for both python 2.x and 3.x -UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P\d+(\.\d+)+).tar" -UPSTREAM_CHECK_URI = "https://www.python.org/downloads/source/" - -CVE_PRODUCT = "python" - -# Upstream consider this expected behaviour -CVE_CHECK_WHITELIST += "CVE-2007-4559" -# This is not exploitable when glibc has CVE-2016-10739 fixed. -CVE_CHECK_WHITELIST += "CVE-2019-18348" - -# This is windows only issue. -CVE_CHECK_WHITELIST += "CVE-2020-15523" - -PYTHON_MAJMIN = "3.9" - -S = "${WORKDIR}/Python-${PV}" - -BBCLASSEXTEND = "native nativesdk" - -inherit autotools pkgconfig qemu ptest multilib_header update-alternatives - -MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" - -ALTERNATIVE_${PN}-dev = "python3-config" -ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config" -ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" - - -DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2 autoconf-archive-native" -DEPENDS_append_class-target = " python3-native" -DEPENDS_append_class-nativesdk = " python3-native" - -EXTRA_OECONF = " --without-ensurepip --enable-shared --with-platlibdir=${baselib}" -EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}" - -export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" - -EXTRANATIVEPATH += "python3-native" - -# LTO will be enabled via packageconfig depending upong distro features -LTO_class-target = "" - -CACHED_CONFIGUREVARS = " \ - ac_cv_file__dev_ptmx=yes \ - ac_cv_file__dev_ptc=no \ - ac_cv_working_tzset=yes \ -" - -def possibly_include_pgo(d): - # PGO currently causes builds to not be reproducible, so disable it for - # now. See YOCTO #13407 - if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1': - return 'pgo' - - return '' - -PACKAGECONFIG_class-target ??= "readline ${@possibly_include_pgo(d)} gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}" -PACKAGECONFIG_class-native ??= "readline gdbm" -PACKAGECONFIG_class-nativesdk ??= "readline gdbm" -PACKAGECONFIG[readline] = ",,readline" -# Use profile guided optimisation by running PyBench inside qemu-user -PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" -PACKAGECONFIG[tk] = ",,tk" -PACKAGECONFIG[gdbm] = ",,gdbm" -PACKAGECONFIG[lto] = "--with-lto,," - -do_configure_prepend () { - mkdir -p ${B}/Modules - cat > ${B}/Modules/Setup.local << EOF -*disabled* -${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} -${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)} -EOF -} - -CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" - -EXTRA_OEMAKE = '\ - STAGING_LIBDIR=${STAGING_LIBDIR} \ - STAGING_INCDIR=${STAGING_INCDIR} \ - LIB=${baselib} \ -' - -do_compile_prepend_class-target() { - if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then - qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" - cat >pgo-wrapper < ${B}/Modules/Setup.local << EOF +*disabled* +${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} +${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)} +EOF +} + +CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" + +EXTRA_OEMAKE = '\ + STAGING_LIBDIR=${STAGING_LIBDIR} \ + STAGING_INCDIR=${STAGING_INCDIR} \ + LIB=${baselib} \ +' + +do_compile_prepend_class-target() { + if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then + qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" + cat >pgo-wrapper < configure | 4 ++++ 1 file changed, 4 insertions(+) -Index: qemu-5.2.0/configure +Index: qemu-6.0.0/configure =================================================================== ---- qemu-5.2.0.orig/configure -+++ qemu-5.2.0/configure -@@ -1525,6 +1525,10 @@ for opt do +--- qemu-6.0.0.orig/configure ++++ qemu-6.0.0/configure +@@ -1565,6 +1565,10 @@ for opt do ;; - --disable-libdaxctl) libdaxctl=no + --disable-gio) gio=no ;; + --enable-libudev) libudev="yes" + ;; diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch new file mode 100644 index 000000000..8bffc3129 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch @@ -0,0 +1,50 @@ +From 464cfc64201b21386030b8f353fe9724a3413a85 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Wed, 5 May 2021 10:15:34 -0400 +Subject: [PATCH] configure: fix detection of gdbus-codegen + +"pkg-config --variable=gdbus_codegen gio-2.0" returns "gdbus-codegen", +and it does not pass test -x (which does not walk the path). + +Meson 0.58.0 notices that something is iffy, as the dbus_vmstate1 +assignment in tests/qtest/meson.build uses an empty string as the +command, and fails very eloquently: + +../tests/qtest/meson.build:92:2: ERROR: No program name specified. + +Use the "has" function instead of test -x, and fix the generation +of config-host.mak since meson.build expects that GDBUS_CODEGEN +is absent, rather than empty, if the tool is unavailable. + +Reported-by: Sebastian Mitterle +Fixes: #178 +Signed-off-by: Paolo Bonzini +Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commitdiff;h=5ecfb76ccc056eb6127e44268e475827ae73b9e0] +(not in 6.0.0, should be kept when upgrading) +Signed-off-by: Alexander Kanavin +--- + configure | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +Index: qemu-6.0.0/configure +=================================================================== +--- qemu-6.0.0.orig/configure ++++ qemu-6.0.0/configure +@@ -3366,7 +3366,7 @@ if ! test "$gio" = "no"; then + gio_cflags=$($pkg_config --cflags gio-2.0) + gio_libs=$($pkg_config --libs gio-2.0) + gdbus_codegen=$($pkg_config --variable=gdbus_codegen gio-2.0) +- if [ ! -x "$gdbus_codegen" ]; then ++ if ! has "$gdbus_codegen"; then + gdbus_codegen= + fi + # Check that the libraries actually work -- Ubuntu 18.04 ships +@@ -5704,6 +5704,8 @@ if test "$gio" = "yes" ; then + echo "CONFIG_GIO=y" >> $config_host_mak + echo "GIO_CFLAGS=$gio_cflags" >> $config_host_mak + echo "GIO_LIBS=$gio_libs" >> $config_host_mak ++fi ++if test "$gdbus_codegen" != "" ; then + echo "GDBUS_CODEGEN=$gdbus_codegen" >> $config_host_mak + fi + echo "CONFIG_TLS_PRIORITY=\"$tls_priority\"" >> $config_host_mak diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch index 8ce12bdb4..2f2d19f53 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch @@ -20,10 +20,10 @@ Signed-off-by: Sakib Sajal hw/usb/dev-wacom.c | 94 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 93 insertions(+), 1 deletion(-) -Index: qemu-5.2.0/hw/usb/dev-wacom.c +Index: qemu-6.0.0/hw/usb/dev-wacom.c =================================================================== ---- qemu-5.2.0.orig/hw/usb/dev-wacom.c -+++ qemu-5.2.0/hw/usb/dev-wacom.c +--- qemu-6.0.0.orig/hw/usb/dev-wacom.c ++++ qemu-6.0.0/hw/usb/dev-wacom.c @@ -69,6 +69,89 @@ static const USBDescStrings desc_strings [STR_SERIALNUMBER] = "1", }; diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch index 3fe9aa6eb..b8d288d3a 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch @@ -15,11 +15,11 @@ Signed-off-by: Sakib Sajal linux-user/syscall.c | 2 ++ 1 file changed, 2 insertions(+) -Index: qemu-5.2.0/linux-user/syscall.c +Index: qemu-6.0.0/linux-user/syscall.c =================================================================== ---- qemu-5.2.0.orig/linux-user/syscall.c -+++ qemu-5.2.0/linux-user/syscall.c -@@ -109,7 +109,9 @@ +--- qemu-6.0.0.orig/linux-user/syscall.c ++++ qemu-6.0.0/linux-user/syscall.c +@@ -113,7 +113,9 @@ #include #include #include @@ -28,4 +28,4 @@ Index: qemu-5.2.0/linux-user/syscall.c +#endif #include #include - #ifdef CONFIG_BTRFS + #ifdef HAVE_BTRFS_H diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch index 5cb5757c3..d5e1ab4d5 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch @@ -16,19 +16,16 @@ Signed-off-by: Changqing Li tests/meson.build | 2 +- 1 files changed, 1 insertions(+), 1 deletion(-) -diff --git a/tests/meson.build b/tests/meson.build -index afeb6be..54684b5 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -113,7 +113,7 @@ tests = { +Index: qemu-6.0.0/tests/unit/meson.build +=================================================================== +--- qemu-6.0.0.orig/tests/unit/meson.build ++++ qemu-6.0.0/tests/unit/meson.build +@@ -42,7 +42,7 @@ tests = { 'test-keyval': [testqapi], 'test-logging': [], 'test-uuid': [], - 'ptimer-test': ['ptimer-test-stubs.c', meson.source_root() / 'hw/core/ptimer.c'], -+ 'ptimer-test': ['ptimer-test-stubs.c', '../hw/core/ptimer.c'], ++ 'ptimer-test': ['ptimer-test-stubs.c', '../../hw/core/ptimer.c'], 'test-qapi-util': [], } --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch index fd54f96b0..733789be2 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch @@ -18,13 +18,13 @@ Signed-off-by: Roy Li hw/mips/malta.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: qemu-5.2.0/hw/mips/malta.c +Index: qemu-6.0.0/hw/mips/malta.c =================================================================== ---- qemu-5.2.0.orig/hw/mips/malta.c -+++ qemu-5.2.0/hw/mips/malta.c -@@ -62,7 +62,7 @@ - - #define ENVP_ADDR 0x80002000l +--- qemu-6.0.0.orig/hw/mips/malta.c ++++ qemu-6.0.0/hw/mips/malta.c +@@ -65,7 +65,7 @@ + #define ENVP_PADDR 0x2000 + #define ENVP_VADDR cpu_mips_phys_to_kseg0(NULL, ENVP_PADDR) #define ENVP_NB_ENTRIES 16 -#define ENVP_ENTRY_SIZE 256 +#define ENVP_ENTRY_SIZE 1024 diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch index a0bd1c5eb..330bcaef0 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch @@ -12,11 +12,11 @@ Signed-off-by: Ross Burton configure | 9 --------- 1 file changed, 9 deletions(-) -Index: qemu-5.2.0/configure +Index: qemu-6.0.0/configure =================================================================== ---- qemu-5.2.0.orig/configure -+++ qemu-5.2.0/configure -@@ -5001,15 +5001,6 @@ fi +--- qemu-6.0.0.orig/configure ++++ qemu-6.0.0/configure +@@ -4648,15 +4648,6 @@ fi # check if we have valgrind/valgrind.h valgrind_h=no diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch index 201125c1f..05dc849da 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch @@ -51,11 +51,11 @@ Signed-off-by: Patrick Ohly qapi/char.json | 5 +++ 3 files changed, 109 insertions(+) -Index: qemu-5.2.0/chardev/char-socket.c +Index: qemu-6.0.0/chardev/char-socket.c =================================================================== ---- qemu-5.2.0.orig/chardev/char-socket.c -+++ qemu-5.2.0/chardev/char-socket.c -@@ -1308,6 +1308,67 @@ static bool qmp_chardev_validate_socket( +--- qemu-6.0.0.orig/chardev/char-socket.c ++++ qemu-6.0.0/chardev/char-socket.c +@@ -1362,6 +1362,67 @@ static bool qmp_chardev_validate_socket( return true; } @@ -123,7 +123,7 @@ Index: qemu-5.2.0/chardev/char-socket.c static void qmp_chardev_open_socket(Chardev *chr, ChardevBackend *backend, -@@ -1316,6 +1377,9 @@ static void qmp_chardev_open_socket(Char +@@ -1370,6 +1431,9 @@ static void qmp_chardev_open_socket(Char { SocketChardev *s = SOCKET_CHARDEV(chr); ChardevSocket *sock = backend->u.socket.data; @@ -133,7 +133,7 @@ Index: qemu-5.2.0/chardev/char-socket.c bool do_nodelay = sock->has_nodelay ? sock->nodelay : false; bool is_listen = sock->has_server ? sock->server : true; bool is_telnet = sock->has_telnet ? sock->telnet : false; -@@ -1381,6 +1445,14 @@ static void qmp_chardev_open_socket(Char +@@ -1446,6 +1510,14 @@ static void qmp_chardev_open_socket(Char update_disconnected_filename(s); @@ -148,7 +148,7 @@ Index: qemu-5.2.0/chardev/char-socket.c if (s->is_listen) { if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270, is_waitconnect, errp) < 0) { -@@ -1400,6 +1472,9 @@ static void qemu_chr_parse_socket(QemuOp +@@ -1465,6 +1537,9 @@ static void qemu_chr_parse_socket(QemuOp const char *host = qemu_opt_get(opts, "host"); const char *port = qemu_opt_get(opts, "port"); const char *fd = qemu_opt_get(opts, "fd"); @@ -158,7 +158,7 @@ Index: qemu-5.2.0/chardev/char-socket.c #ifdef CONFIG_LINUX bool tight = qemu_opt_get_bool(opts, "tight", true); bool abstract = qemu_opt_get_bool(opts, "abstract", false); -@@ -1407,6 +1482,20 @@ static void qemu_chr_parse_socket(QemuOp +@@ -1472,6 +1547,20 @@ static void qemu_chr_parse_socket(QemuOp SocketAddressLegacy *addr; ChardevSocket *sock; @@ -179,7 +179,7 @@ Index: qemu-5.2.0/chardev/char-socket.c if ((!!path + !!fd + !!host) != 1) { error_setg(errp, "Exactly one of 'path', 'fd' or 'host' required"); -@@ -1448,13 +1537,24 @@ static void qemu_chr_parse_socket(QemuOp +@@ -1522,13 +1611,24 @@ static void qemu_chr_parse_socket(QemuOp sock->tls_creds = g_strdup(qemu_opt_get(opts, "tls-creds")); sock->has_tls_authz = qemu_opt_get(opts, "tls-authz"); sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz")); @@ -204,11 +204,11 @@ Index: qemu-5.2.0/chardev/char-socket.c #ifdef CONFIG_LINUX q_unix->has_tight = true; q_unix->tight = tight; -Index: qemu-5.2.0/chardev/char.c +Index: qemu-6.0.0/chardev/char.c =================================================================== ---- qemu-5.2.0.orig/chardev/char.c -+++ qemu-5.2.0/chardev/char.c -@@ -839,6 +839,9 @@ QemuOptsList qemu_chardev_opts = { +--- qemu-6.0.0.orig/chardev/char.c ++++ qemu-6.0.0/chardev/char.c +@@ -840,6 +840,9 @@ QemuOptsList qemu_chardev_opts = { .name = "path", .type = QEMU_OPT_STRING, },{ @@ -218,10 +218,10 @@ Index: qemu-5.2.0/chardev/char.c .name = "host", .type = QEMU_OPT_STRING, },{ -Index: qemu-5.2.0/qapi/char.json +Index: qemu-6.0.0/qapi/char.json =================================================================== ---- qemu-5.2.0.orig/qapi/char.json -+++ qemu-5.2.0/qapi/char.json +--- qemu-6.0.0.orig/qapi/char.json ++++ qemu-6.0.0/qapi/char.json @@ -250,6 +250,10 @@ # # @addr: socket address to listen on (server=true) diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch index 294cf5129..3491fa8a5 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch @@ -29,11 +29,11 @@ Signed-off-by: He Zhe hw/intc/apic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: qemu-5.2.0/hw/intc/apic.c +Index: qemu-6.0.0/hw/intc/apic.c =================================================================== ---- qemu-5.2.0.orig/hw/intc/apic.c -+++ qemu-5.2.0/hw/intc/apic.c -@@ -605,7 +605,7 @@ int apic_accept_pic_intr(DeviceState *de +--- qemu-6.0.0.orig/hw/intc/apic.c ++++ qemu-6.0.0/hw/intc/apic.c +@@ -606,7 +606,7 @@ int apic_accept_pic_intr(DeviceState *de APICCommonState *s = APIC(dev); uint32_t lvt0; diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch index c5d206b91..cc6a5fe75 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch @@ -14,11 +14,11 @@ Signed-off-by: He Zhe configure | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) -Index: qemu-5.2.0/configure +Index: qemu-6.0.0/configure =================================================================== ---- qemu-5.2.0.orig/configure -+++ qemu-5.2.0/configure -@@ -2956,6 +2956,30 @@ has_libgcrypt() { +--- qemu-6.0.0.orig/configure ++++ qemu-6.0.0/configure +@@ -2847,6 +2847,30 @@ has_libgcrypt() { return 0 } @@ -49,7 +49,7 @@ Index: qemu-5.2.0/configure if test "$nettle" != "no"; then pass="no" -@@ -2994,7 +3018,14 @@ fi +@@ -2885,7 +2909,14 @@ fi if test "$gcrypt" != "no"; then pass="no" @@ -65,7 +65,7 @@ Index: qemu-5.2.0/configure gcrypt_cflags=$(libgcrypt-config --cflags) gcrypt_libs=$(libgcrypt-config --libs) # Debian has removed -lgpg-error from libgcrypt-config -@@ -3004,12 +3035,12 @@ if test "$gcrypt" != "no"; then +@@ -2895,12 +2926,12 @@ if test "$gcrypt" != "no"; then then gcrypt_libs="$gcrypt_libs -lgpg-error" fi diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch deleted file mode 100644 index 58622f048..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-27821.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 279f90a9ab07304f0a49fc10e4bfd1243a8cddbe Mon Sep 17 00:00:00 2001 -From: Paolo Bonzini -Date: Tue, 1 Dec 2020 09:29:56 -0500 -Subject: [PATCH 1/2] memory: clamp cached translation in case it points to an - MMIO region - -In using the address_space_translate_internal API, address_space_cache_init -forgot one piece of advice that can be found in the code for -address_space_translate_internal: - - /* MMIO registers can be expected to perform full-width accesses based only - * on their address, without considering adjacent registers that could - * decode to completely different MemoryRegions. When such registers - * exist (e.g. I/O ports 0xcf8 and 0xcf9 on most PC chipsets), MMIO - * regions overlap wildly. For this reason we cannot clamp the accesses - * here. - * - * If the length is small (as is the case for address_space_ldl/stl), - * everything works fine. If the incoming length is large, however, - * the caller really has to do the clamping through memory_access_size. - */ - -address_space_cache_init is exactly one such case where "the incoming length -is large", therefore we need to clamp the resulting length---not to -memory_access_size though, since we are not doing an access yet, but to -the size of the resulting section. This ensures that subsequent accesses -to the cached MemoryRegionSection will be in range. - -With this patch, the enclosed testcase notices that the used ring does -not fit into the MSI-X table and prints a "qemu-system-x86_64: Cannot map used" -error. - -Signed-off-by: Paolo Bonzini - -Upstream-Status: Backport [4bfb024bc76973d40a359476dc0291f46e435442] -CVE: CVE-2020-27821 - -Signed-off-by: Sakib Sajal ---- - softmmu/physmem.c | 10 ++++++++ - tests/qtest/fuzz-test.c | 51 +++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 61 insertions(+) - -diff --git a/softmmu/physmem.c b/softmmu/physmem.c -index 3027747c0..2cd1de4a2 100644 ---- a/softmmu/physmem.c -+++ b/softmmu/physmem.c -@@ -3255,6 +3255,7 @@ int64_t address_space_cache_init(MemoryRegionCache *cache, - AddressSpaceDispatch *d; - hwaddr l; - MemoryRegion *mr; -+ Int128 diff; - - assert(len > 0); - -@@ -3263,6 +3264,15 @@ int64_t address_space_cache_init(MemoryRegionCache *cache, - d = flatview_to_dispatch(cache->fv); - cache->mrs = *address_space_translate_internal(d, addr, &cache->xlat, &l, true); - -+ /* -+ * cache->xlat is now relative to cache->mrs.mr, not to the section itself. -+ * Take that into account to compute how many bytes are there between -+ * cache->xlat and the end of the section. -+ */ -+ diff = int128_sub(cache->mrs.size, -+ int128_make64(cache->xlat - cache->mrs.offset_within_region)); -+ l = int128_get64(int128_min(diff, int128_make64(l))); -+ - mr = cache->mrs.mr; - memory_region_ref(mr); - if (memory_access_is_direct(mr, is_write)) { -diff --git a/tests/qtest/fuzz-test.c b/tests/qtest/fuzz-test.c -index 9cb4c42bd..28739248e 100644 ---- a/tests/qtest/fuzz-test.c -+++ b/tests/qtest/fuzz-test.c -@@ -47,6 +47,55 @@ static void test_lp1878642_pci_bus_get_irq_level_assert(void) - qtest_outl(s, 0x5d02, 0xebed205d); - } - -+/* -+ * Here a MemoryRegionCache pointed to an MMIO region but had a -+ * larger size than the underlying region. -+ */ -+static void test_mmio_oob_from_memory_region_cache(void) -+{ -+ QTestState *s; -+ -+ s = qtest_init("-M pc-q35-5.2 -display none -m 512M " -+ "-device virtio-scsi,num_queues=8,addr=03.0 "); -+ -+ qtest_outl(s, 0xcf8, 0x80001811); -+ qtest_outb(s, 0xcfc, 0x6e); -+ qtest_outl(s, 0xcf8, 0x80001824); -+ qtest_outl(s, 0xcf8, 0x80001813); -+ qtest_outl(s, 0xcfc, 0xa080000); -+ qtest_outl(s, 0xcf8, 0x80001802); -+ qtest_outl(s, 0xcfc, 0x5a175a63); -+ qtest_outb(s, 0x6e08, 0x9e); -+ qtest_writeb(s, 0x9f003, 0xff); -+ qtest_writeb(s, 0x9f004, 0x01); -+ qtest_writeb(s, 0x9e012, 0x0e); -+ qtest_writeb(s, 0x9e01b, 0x0e); -+ qtest_writeb(s, 0x9f006, 0x01); -+ qtest_writeb(s, 0x9f008, 0x01); -+ qtest_writeb(s, 0x9f00a, 0x01); -+ qtest_writeb(s, 0x9f00c, 0x01); -+ qtest_writeb(s, 0x9f00e, 0x01); -+ qtest_writeb(s, 0x9f010, 0x01); -+ qtest_writeb(s, 0x9f012, 0x01); -+ qtest_writeb(s, 0x9f014, 0x01); -+ qtest_writeb(s, 0x9f016, 0x01); -+ qtest_writeb(s, 0x9f018, 0x01); -+ qtest_writeb(s, 0x9f01a, 0x01); -+ qtest_writeb(s, 0x9f01c, 0x01); -+ qtest_writeb(s, 0x9f01e, 0x01); -+ qtest_writeb(s, 0x9f020, 0x01); -+ qtest_writeb(s, 0x9f022, 0x01); -+ qtest_writeb(s, 0x9f024, 0x01); -+ qtest_writeb(s, 0x9f026, 0x01); -+ qtest_writeb(s, 0x9f028, 0x01); -+ qtest_writeb(s, 0x9f02a, 0x01); -+ qtest_writeb(s, 0x9f02c, 0x01); -+ qtest_writeb(s, 0x9f02e, 0x01); -+ qtest_writeb(s, 0x9f030, 0x01); -+ qtest_outb(s, 0x6e10, 0x00); -+ qtest_quit(s); -+} -+ - int main(int argc, char **argv) - { - const char *arch = qtest_get_arch(); -@@ -58,6 +107,8 @@ int main(int argc, char **argv) - test_lp1878263_megasas_zero_iov_cnt); - qtest_add_func("fuzz/test_lp1878642_pci_bus_get_irq_level_assert", - test_lp1878642_pci_bus_get_irq_level_assert); -+ qtest_add_func("fuzz/test_mmio_oob_from_memory_region_cache", -+ test_mmio_oob_from_memory_region_cache); - } - - return g_test_run(); --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch deleted file mode 100644 index c72324fce..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-29443.patch +++ /dev/null @@ -1,107 +0,0 @@ -From c9a71afe182be5b62bd2ccdaf861695e0ec0731a Mon Sep 17 00:00:00 2001 -From: Prasad J Pandit -Date: Mon, 18 Jan 2021 17:21:30 +0530 -Subject: [PATCH] ide: atapi: check logical block address and read size - (CVE-2020-29443) - -While processing ATAPI cmd_read/cmd_read_cd commands, -Logical Block Address (LBA) maybe invalid OR closer to the last block, -leading to an OOB access issues. Add range check to avoid it. - -Fixes: CVE-2020-29443 -Reported-by: Wenxiang Qian -Suggested-by: Paolo Bonzini -Reviewed-by: Paolo Bonzini -Signed-off-by: Prasad J Pandit -Message-Id: <20210118115130.457044-1-ppandit@redhat.com> -Signed-off-by: Paolo Bonzini - -Upstream-Status: Backport [b8d7f1bc59276fec85e4d09f1567613a3e14d31e] -CVE: CVE-2020-29443 - -Signed-off-by: Sakib Sajal ---- - hw/ide/atapi.c | 30 ++++++++++++++++++++++++------ - 1 file changed, 24 insertions(+), 6 deletions(-) - -diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c -index e79157863..b626199e3 100644 ---- a/hw/ide/atapi.c -+++ b/hw/ide/atapi.c -@@ -322,6 +322,8 @@ static void ide_atapi_cmd_reply(IDEState *s, int size, int max_size) - static void ide_atapi_cmd_read_pio(IDEState *s, int lba, int nb_sectors, - int sector_size) - { -+ assert(0 <= lba && lba < (s->nb_sectors >> 2)); -+ - s->lba = lba; - s->packet_transfer_size = nb_sectors * sector_size; - s->elementary_transfer_size = 0; -@@ -420,6 +422,8 @@ eot: - static void ide_atapi_cmd_read_dma(IDEState *s, int lba, int nb_sectors, - int sector_size) - { -+ assert(0 <= lba && lba < (s->nb_sectors >> 2)); -+ - s->lba = lba; - s->packet_transfer_size = nb_sectors * sector_size; - s->io_buffer_size = 0; -@@ -973,35 +977,49 @@ static void cmd_prevent_allow_medium_removal(IDEState *s, uint8_t* buf) - - static void cmd_read(IDEState *s, uint8_t* buf) - { -- int nb_sectors, lba; -+ unsigned int nb_sectors, lba; -+ -+ /* Total logical sectors of ATAPI_SECTOR_SIZE(=2048) bytes */ -+ uint64_t total_sectors = s->nb_sectors >> 2; - - if (buf[0] == GPCMD_READ_10) { - nb_sectors = lduw_be_p(buf + 7); - } else { - nb_sectors = ldl_be_p(buf + 6); - } -- -- lba = ldl_be_p(buf + 2); - if (nb_sectors == 0) { - ide_atapi_cmd_ok(s); - return; - } - -+ lba = ldl_be_p(buf + 2); -+ if (lba >= total_sectors || lba + nb_sectors - 1 >= total_sectors) { -+ ide_atapi_cmd_error(s, ILLEGAL_REQUEST, ASC_LOGICAL_BLOCK_OOR); -+ return; -+ } -+ - ide_atapi_cmd_read(s, lba, nb_sectors, 2048); - } - - static void cmd_read_cd(IDEState *s, uint8_t* buf) - { -- int nb_sectors, lba, transfer_request; -+ unsigned int nb_sectors, lba, transfer_request; - -- nb_sectors = (buf[6] << 16) | (buf[7] << 8) | buf[8]; -- lba = ldl_be_p(buf + 2); -+ /* Total logical sectors of ATAPI_SECTOR_SIZE(=2048) bytes */ -+ uint64_t total_sectors = s->nb_sectors >> 2; - -+ nb_sectors = (buf[6] << 16) | (buf[7] << 8) | buf[8]; - if (nb_sectors == 0) { - ide_atapi_cmd_ok(s); - return; - } - -+ lba = ldl_be_p(buf + 2); -+ if (lba >= total_sectors || lba + nb_sectors - 1 >= total_sectors) { -+ ide_atapi_cmd_error(s, ILLEGAL_REQUEST, ASC_LOGICAL_BLOCK_OOR); -+ return; -+ } -+ - transfer_request = buf[9] & 0xf8; - if (transfer_request == 0x00) { - /* nothing */ --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch deleted file mode 100644 index 73a4cb206..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 8afaaee976965b7fb90ec225a51d60f35c5f173c Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi -Date: Thu, 4 Feb 2021 15:02:06 +0000 -Subject: [PATCH] virtiofsd: extract lo_do_open() from lo_open() - -Both lo_open() and lo_create() have similar code to open a file. Extract -a common lo_do_open() function from lo_open() that will be used by -lo_create() in a later commit. - -Since lo_do_open() does not otherwise need fuse_req_t req, convert -lo_add_fd_mapping() to use struct lo_data *lo instead. - -Signed-off-by: Stefan Hajnoczi -Message-Id: <20210204150208.367837-2-stefanha@redhat.com> -Reviewed-by: Greg Kurz -Signed-off-by: Dr. David Alan Gilbert - -Upstream-Status: Backport -[https://github.com/qemu/qemu/commit/8afaaee976965b7fb90ec225a51d60f35c5f173c] - -CVE: CVE-2020-35517 - -Signed-off-by: Dr. David Alan Gilbert -Signed-off-by: Khairul Rohaizzat Jamaluddin ---- - tools/virtiofsd/passthrough_ll.c | 73 +++++++++++++++++++++++++--------------- - 1 file changed, 46 insertions(+), 27 deletions(-) - -diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c -index 5fb36d9..f14fa51 100644 ---- a/tools/virtiofsd/passthrough_ll.c -+++ b/tools/virtiofsd/passthrough_ll.c -@@ -459,17 +459,17 @@ static void lo_map_remove(struct lo_map *map, size_t key) - } - - /* Assumes lo->mutex is held */ --static ssize_t lo_add_fd_mapping(fuse_req_t req, int fd) -+static ssize_t lo_add_fd_mapping(struct lo_data *lo, int fd) - { - struct lo_map_elem *elem; - -- elem = lo_map_alloc_elem(&lo_data(req)->fd_map); -+ elem = lo_map_alloc_elem(&lo->fd_map); - if (!elem) { - return -1; - } - - elem->fd = fd; -- return elem - lo_data(req)->fd_map.elems; -+ return elem - lo->fd_map.elems; - } - - /* Assumes lo->mutex is held */ -@@ -1651,6 +1651,38 @@ static void update_open_flags(int writeback, int allow_direct_io, - } - } - -+static int lo_do_open(struct lo_data *lo, struct lo_inode *inode, -+ struct fuse_file_info *fi) -+{ -+ char buf[64]; -+ ssize_t fh; -+ int fd; -+ -+ update_open_flags(lo->writeback, lo->allow_direct_io, fi); -+ -+ sprintf(buf, "%i", inode->fd); -+ fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW); -+ if (fd == -1) { -+ return errno; -+ } -+ -+ pthread_mutex_lock(&lo->mutex); -+ fh = lo_add_fd_mapping(lo, fd); -+ pthread_mutex_unlock(&lo->mutex); -+ if (fh == -1) { -+ close(fd); -+ return ENOMEM; -+ } -+ -+ fi->fh = fh; -+ if (lo->cache == CACHE_NONE) { -+ fi->direct_io = 1; -+ } else if (lo->cache == CACHE_ALWAYS) { -+ fi->keep_cache = 1; -+ } -+ return 0; -+} -+ - static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, - mode_t mode, struct fuse_file_info *fi) - { -@@ -1691,7 +1723,7 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, - ssize_t fh; - - pthread_mutex_lock(&lo->mutex); -- fh = lo_add_fd_mapping(req, fd); -+ fh = lo_add_fd_mapping(lo, fd); - pthread_mutex_unlock(&lo->mutex); - if (fh == -1) { - close(fd); -@@ -1892,38 +1924,25 @@ static void lo_fsyncdir(fuse_req_t req, fuse_ino_t ino, int datasync, - - static void lo_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) - { -- int fd; -- ssize_t fh; -- char buf[64]; - struct lo_data *lo = lo_data(req); -+ struct lo_inode *inode = lo_inode(req, ino); -+ int err; - - fuse_log(FUSE_LOG_DEBUG, "lo_open(ino=%" PRIu64 ", flags=%d)\n", ino, - fi->flags); - -- update_open_flags(lo->writeback, lo->allow_direct_io, fi); -- -- sprintf(buf, "%i", lo_fd(req, ino)); -- fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW); -- if (fd == -1) { -- return (void)fuse_reply_err(req, errno); -- } -- -- pthread_mutex_lock(&lo->mutex); -- fh = lo_add_fd_mapping(req, fd); -- pthread_mutex_unlock(&lo->mutex); -- if (fh == -1) { -- close(fd); -- fuse_reply_err(req, ENOMEM); -+ if (!inode) { -+ fuse_reply_err(req, EBADF); - return; - } - -- fi->fh = fh; -- if (lo->cache == CACHE_NONE) { -- fi->direct_io = 1; -- } else if (lo->cache == CACHE_ALWAYS) { -- fi->keep_cache = 1; -+ err = lo_do_open(lo, inode, fi); -+ lo_inode_put(lo, &inode); -+ if (err) { -+ fuse_reply_err(req, err); -+ } else { -+ fuse_reply_open(req, fi); - } -- fuse_reply_open(req, fi); - } - - static void lo_release(fuse_req_t req, fuse_ino_t ino, --- -1.8.3.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch deleted file mode 100644 index bf11bdb6f..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 22d2ece71e533310da31f2857ebc4a00d91968b3 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi -Date: Thu, 4 Feb 2021 15:02:07 +0000 -Subject: [PATCH] virtiofsd: optionally return inode pointer from - lo_do_lookup() - -lo_do_lookup() finds an existing inode or allocates a new one. It -increments nlookup so that the inode stays alive until the client -releases it. - -Existing callers don't need the struct lo_inode so the function doesn't -return it. Extend the function to optionally return the inode. The next -commit will need it. - -Signed-off-by: Stefan Hajnoczi -Reviewed-by: Greg Kurz -Message-Id: <20210204150208.367837-3-stefanha@redhat.com> -Signed-off-by: Dr. David Alan Gilbert - -Upstream-Status: Backport -[https://github.com/qemu/qemu/commit/22d2ece71e533310da31f2857ebc4a00d91968b3] - -CVE: CVE-2020-35517 - -Signed-off-by: Dr. David Alan Gilbert -Signed-off-by: Khairul Rohaizzat Jamaluddin ---- - tools/virtiofsd/passthrough_ll.c | 29 +++++++++++++++++++++-------- - 1 file changed, 21 insertions(+), 8 deletions(-) - -diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c -index f14fa51..aa35fc6 100644 ---- a/tools/virtiofsd/passthrough_ll.c -+++ b/tools/virtiofsd/passthrough_ll.c -@@ -831,11 +831,13 @@ static int do_statx(struct lo_data *lo, int dirfd, const char *pathname, - } - - /* -- * Increments nlookup and caller must release refcount using -- * lo_inode_put(&parent). -+ * Increments nlookup on the inode on success. unref_inode_lolocked() must be -+ * called eventually to decrement nlookup again. If inodep is non-NULL, the -+ * inode pointer is stored and the caller must call lo_inode_put(). - */ - static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name, -- struct fuse_entry_param *e) -+ struct fuse_entry_param *e, -+ struct lo_inode **inodep) - { - int newfd; - int res; -@@ -845,6 +847,10 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name, - struct lo_inode *inode = NULL; - struct lo_inode *dir = lo_inode(req, parent); - -+ if (inodep) { -+ *inodep = NULL; -+ } -+ - /* - * name_to_handle_at() and open_by_handle_at() can reach here with fuse - * mount point in guest, but we don't have its inode info in the -@@ -913,7 +919,14 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name, - pthread_mutex_unlock(&lo->mutex); - } - e->ino = inode->fuse_ino; -- lo_inode_put(lo, &inode); -+ -+ /* Transfer ownership of inode pointer to caller or drop it */ -+ if (inodep) { -+ *inodep = inode; -+ } else { -+ lo_inode_put(lo, &inode); -+ } -+ - lo_inode_put(lo, &dir); - - fuse_log(FUSE_LOG_DEBUG, " %lli/%s -> %lli\n", (unsigned long long)parent, -@@ -948,7 +961,7 @@ static void lo_lookup(fuse_req_t req, fuse_ino_t parent, const char *name) - return; - } - -- err = lo_do_lookup(req, parent, name, &e); -+ err = lo_do_lookup(req, parent, name, &e, NULL); - if (err) { - fuse_reply_err(req, err); - } else { -@@ -1056,7 +1069,7 @@ static void lo_mknod_symlink(fuse_req_t req, fuse_ino_t parent, - goto out; - } - -- saverr = lo_do_lookup(req, parent, name, &e); -+ saverr = lo_do_lookup(req, parent, name, &e, NULL); - if (saverr) { - goto out; - } -@@ -1534,7 +1547,7 @@ static void lo_do_readdir(fuse_req_t req, fuse_ino_t ino, size_t size, - - if (plus) { - if (!is_dot_or_dotdot(name)) { -- err = lo_do_lookup(req, ino, name, &e); -+ err = lo_do_lookup(req, ino, name, &e, NULL); - if (err) { - goto error; - } -@@ -1732,7 +1745,7 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, - } - - fi->fh = fh; -- err = lo_do_lookup(req, parent, name, &e); -+ err = lo_do_lookup(req, parent, name, &e, NULL); - } - if (lo->cache == CACHE_NONE) { - fi->direct_io = 1; --- -1.8.3.1 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch deleted file mode 100644 index f348f3f2b..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch +++ /dev/null @@ -1,303 +0,0 @@ -From a3fdbbc7f271bff7d53d0501b29d910ece0b3789 Mon Sep 17 00:00:00 2001 -From: Stefan Hajnoczi -Date: Thu, 4 Feb 2021 15:02:08 +0000 -Subject: [PATCH] virtiofsd: prevent opening of special files (CVE-2020-35517) - -A well-behaved FUSE client does not attempt to open special files with -FUSE_OPEN because they are handled on the client side (e.g. device nodes -are handled by client-side device drivers). - -The check to prevent virtiofsd from opening special files is missing in -a few cases, most notably FUSE_OPEN. A malicious client can cause -virtiofsd to open a device node, potentially allowing the guest to -escape. This can be exploited by a modified guest device driver. It is -not exploitable from guest userspace since the guest kernel will handle -special files inside the guest instead of sending FUSE requests. - -This patch fixes this issue by introducing the lo_inode_open() function -to check the file type before opening it. This is a short-term solution -because it does not prevent a compromised virtiofsd process from opening -device nodes on the host. - -Restructure lo_create() to try O_CREAT | O_EXCL first. Note that O_CREAT -| O_EXCL does not follow symlinks, so O_NOFOLLOW masking is not -necessary here. If the file exists and the user did not specify O_EXCL, -open it via lo_do_open(). - -Reported-by: Alex Xu -Fixes: CVE-2020-35517 -Reviewed-by: Dr. David Alan Gilbert -Reviewed-by: Vivek Goyal -Reviewed-by: Greg Kurz -Signed-off-by: Stefan Hajnoczi -Message-Id: <20210204150208.367837-4-stefanha@redhat.com> -Signed-off-by: Dr. David Alan Gilbert - -Upstream-Status: Backport -[https://github.com/qemu/qemu/commit/a3fdbbc7f271bff7d53d0501b29d910ece0b3789] - -CVE: CVE-2020-35517 - -Signed-off-by: Dr. David Alan Gilbert -Signed-off-by: Khairul Rohaizzat Jamaluddin ---- - tools/virtiofsd/passthrough_ll.c | 144 ++++++++++++++++++++----------- - 1 file changed, 92 insertions(+), 52 deletions(-) - -diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c -index aa35fc6ba5a5..147b59338a18 100644 ---- a/tools/virtiofsd/passthrough_ll.c -+++ b/tools/virtiofsd/passthrough_ll.c -@@ -555,6 +555,38 @@ static int lo_fd(fuse_req_t req, fuse_ino_t ino) - return fd; - } - -+/* -+ * Open a file descriptor for an inode. Returns -EBADF if the inode is not a -+ * regular file or a directory. -+ * -+ * Use this helper function instead of raw openat(2) to prevent security issues -+ * when a malicious client opens special files such as block device nodes. -+ * Symlink inodes are also rejected since symlinks must already have been -+ * traversed on the client side. -+ */ -+static int lo_inode_open(struct lo_data *lo, struct lo_inode *inode, -+ int open_flags) -+{ -+ g_autofree char *fd_str = g_strdup_printf("%d", inode->fd); -+ int fd; -+ -+ if (!S_ISREG(inode->filetype) && !S_ISDIR(inode->filetype)) { -+ return -EBADF; -+ } -+ -+ /* -+ * The file is a symlink so O_NOFOLLOW must be ignored. We checked earlier -+ * that the inode is not a special file but if an external process races -+ * with us then symlinks are traversed here. It is not possible to escape -+ * the shared directory since it is mounted as "/" though. -+ */ -+ fd = openat(lo->proc_self_fd, fd_str, open_flags & ~O_NOFOLLOW); -+ if (fd < 0) { -+ return -errno; -+ } -+ return fd; -+} -+ - static void lo_init(void *userdata, struct fuse_conn_info *conn) - { - struct lo_data *lo = (struct lo_data *)userdata; -@@ -684,9 +716,9 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr, - if (fi) { - truncfd = fd; - } else { -- sprintf(procname, "%i", ifd); -- truncfd = openat(lo->proc_self_fd, procname, O_RDWR); -+ truncfd = lo_inode_open(lo, inode, O_RDWR); - if (truncfd < 0) { -+ errno = -truncfd; - goto out_err; - } - } -@@ -848,7 +880,7 @@ static int lo_do_lookup(fuse_req_t req, fuse_ino_t parent, const char *name, - struct lo_inode *dir = lo_inode(req, parent); - - if (inodep) { -- *inodep = NULL; -+ *inodep = NULL; /* in case there is an error */ - } - - /* -@@ -1664,19 +1696,26 @@ static void update_open_flags(int writeback, int allow_direct_io, - } - } - -+/* -+ * Open a regular file, set up an fd mapping, and fill out the struct -+ * fuse_file_info for it. If existing_fd is not negative, use that fd instead -+ * opening a new one. Takes ownership of existing_fd. -+ * -+ * Returns 0 on success or a positive errno. -+ */ - static int lo_do_open(struct lo_data *lo, struct lo_inode *inode, -- struct fuse_file_info *fi) -+ int existing_fd, struct fuse_file_info *fi) - { -- char buf[64]; - ssize_t fh; -- int fd; -+ int fd = existing_fd; - - update_open_flags(lo->writeback, lo->allow_direct_io, fi); - -- sprintf(buf, "%i", inode->fd); -- fd = openat(lo->proc_self_fd, buf, fi->flags & ~O_NOFOLLOW); -- if (fd == -1) { -- return errno; -+ if (fd < 0) { -+ fd = lo_inode_open(lo, inode, fi->flags); -+ if (fd < 0) { -+ return -fd; -+ } - } - - pthread_mutex_lock(&lo->mutex); -@@ -1699,9 +1738,10 @@ static int lo_do_open(struct lo_data *lo, struct lo_inode *inode, - static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, - mode_t mode, struct fuse_file_info *fi) - { -- int fd; -+ int fd = -1; - struct lo_data *lo = lo_data(req); - struct lo_inode *parent_inode; -+ struct lo_inode *inode = NULL; - struct fuse_entry_param e; - int err; - struct lo_cred old = {}; -@@ -1727,36 +1767,38 @@ static void lo_create(fuse_req_t req, fuse_ino_t parent, const char *name, - - update_open_flags(lo->writeback, lo->allow_direct_io, fi); - -- fd = openat(parent_inode->fd, name, (fi->flags | O_CREAT) & ~O_NOFOLLOW, -- mode); -+ /* Try to create a new file but don't open existing files */ -+ fd = openat(parent_inode->fd, name, fi->flags | O_CREAT | O_EXCL, mode); - err = fd == -1 ? errno : 0; -- lo_restore_cred(&old); - -- if (!err) { -- ssize_t fh; -+ lo_restore_cred(&old); - -- pthread_mutex_lock(&lo->mutex); -- fh = lo_add_fd_mapping(lo, fd); -- pthread_mutex_unlock(&lo->mutex); -- if (fh == -1) { -- close(fd); -- err = ENOMEM; -- goto out; -- } -+ /* Ignore the error if file exists and O_EXCL was not given */ -+ if (err && (err != EEXIST || (fi->flags & O_EXCL))) { -+ goto out; -+ } - -- fi->fh = fh; -- err = lo_do_lookup(req, parent, name, &e, NULL); -+ err = lo_do_lookup(req, parent, name, &e, &inode); -+ if (err) { -+ goto out; - } -- if (lo->cache == CACHE_NONE) { -- fi->direct_io = 1; -- } else if (lo->cache == CACHE_ALWAYS) { -- fi->keep_cache = 1; -+ -+ err = lo_do_open(lo, inode, fd, fi); -+ fd = -1; /* lo_do_open() takes ownership of fd */ -+ if (err) { -+ /* Undo lo_do_lookup() nlookup ref */ -+ unref_inode_lolocked(lo, inode, 1); - } - - out: -+ lo_inode_put(lo, &inode); - lo_inode_put(lo, &parent_inode); - - if (err) { -+ if (fd >= 0) { -+ close(fd); -+ } -+ - fuse_reply_err(req, err); - } else { - fuse_reply_create(req, &e, fi); -@@ -1770,7 +1812,6 @@ static struct lo_inode_plock *lookup_create_plock_ctx(struct lo_data *lo, - pid_t pid, int *err) - { - struct lo_inode_plock *plock; -- char procname[64]; - int fd; - - plock = -@@ -1787,12 +1828,10 @@ static struct lo_inode_plock *lookup_create_plock_ctx(struct lo_data *lo, - } - - /* Open another instance of file which can be used for ofd locks. */ -- sprintf(procname, "%i", inode->fd); -- - /* TODO: What if file is not writable? */ -- fd = openat(lo->proc_self_fd, procname, O_RDWR); -- if (fd == -1) { -- *err = errno; -+ fd = lo_inode_open(lo, inode, O_RDWR); -+ if (fd < 0) { -+ *err = -fd; - free(plock); - return NULL; - } -@@ -1949,7 +1988,7 @@ static void lo_open(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) - return; - } - -- err = lo_do_open(lo, inode, fi); -+ err = lo_do_open(lo, inode, -1, fi); - lo_inode_put(lo, &inode); - if (err) { - fuse_reply_err(req, err); -@@ -2014,39 +2053,40 @@ static void lo_flush(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi) - static void lo_fsync(fuse_req_t req, fuse_ino_t ino, int datasync, - struct fuse_file_info *fi) - { -+ struct lo_inode *inode = lo_inode(req, ino); -+ struct lo_data *lo = lo_data(req); - int res; - int fd; -- char *buf; - - fuse_log(FUSE_LOG_DEBUG, "lo_fsync(ino=%" PRIu64 ", fi=0x%p)\n", ino, - (void *)fi); - -- if (!fi) { -- struct lo_data *lo = lo_data(req); -- -- res = asprintf(&buf, "%i", lo_fd(req, ino)); -- if (res == -1) { -- return (void)fuse_reply_err(req, errno); -- } -+ if (!inode) { -+ fuse_reply_err(req, EBADF); -+ return; -+ } - -- fd = openat(lo->proc_self_fd, buf, O_RDWR); -- free(buf); -- if (fd == -1) { -- return (void)fuse_reply_err(req, errno); -+ if (!fi) { -+ fd = lo_inode_open(lo, inode, O_RDWR); -+ if (fd < 0) { -+ res = -fd; -+ goto out; - } - } else { - fd = lo_fi_fd(req, fi); - } - - if (datasync) { -- res = fdatasync(fd); -+ res = fdatasync(fd) == -1 ? errno : 0; - } else { -- res = fsync(fd); -+ res = fsync(fd) == -1 ? errno : 0; - } - if (!fi) { - close(fd); - } -- fuse_reply_err(req, res == -1 ? errno : 0); -+out: -+ lo_inode_put(lo, &inode); -+ fuse_reply_err(req, res); - } - - static void lo_read(fuse_req_t req, fuse_ino_t ino, size_t size, off_t offset, diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch deleted file mode 100644 index 1b8c77f83..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20181.patch +++ /dev/null @@ -1,81 +0,0 @@ -From c2d2d14e8deece958bbc4fc649d22c3564bc4e7e Mon Sep 17 00:00:00 2001 -From: Greg Kurz -Date: Thu, 14 Jan 2021 17:04:12 +0100 -Subject: [PATCH] 9pfs: Fully restart unreclaim loop (CVE-2021-20181) - -Depending on the client activity, the server can be asked to open a huge -number of file descriptors and eventually hit RLIMIT_NOFILE. This is -currently mitigated using a reclaim logic : the server closes the file -descriptors of idle fids, based on the assumption that it will be able -to re-open them later. This assumption doesn't hold of course if the -client requests the file to be unlinked. In this case, we loop on the -entire fid list and mark all related fids as unreclaimable (the reclaim -logic will just ignore them) and, of course, we open or re-open their -file descriptors if needed since we're about to unlink the file. - -This is the purpose of v9fs_mark_fids_unreclaim(). Since the actual -opening of a file can cause the coroutine to yield, another client -request could possibly add a new fid that we may want to mark as -non-reclaimable as well. The loop is thus restarted if the re-open -request was actually transmitted to the backend. This is achieved -by keeping a reference on the first fid (head) before traversing -the list. - -This is wrong in several ways: -- a potential clunk request from the client could tear the first - fid down and cause the reference to be stale. This leads to a - use-after-free error that can be detected with ASAN, using a - custom 9p client -- fids are added at the head of the list : restarting from the - previous head will always miss fids added by a some other - potential request - -All these problems could be avoided if fids were being added at the -end of the list. This can be achieved with a QSIMPLEQ, but this is -probably too much change for a bug fix. For now let's keep it -simple and just restart the loop from the current head. - -Fixes: CVE-2021-20181 -Buglink: https://bugs.launchpad.net/qemu/+bug/1911666 -Reported-by: Zero Day Initiative -Reviewed-by: Christian Schoenebeck -Reviewed-by: Stefano Stabellini -Message-Id: <161064025265.1838153.15185571283519390907.stgit@bahia.lan> -Signed-off-by: Greg Kurz - -Upstream-Status: Backport [89fbea8737e8f7b954745a1ffc4238d377055305] -CVE: CVE-2021-20181 - -Signed-off-by: Sakib Sajal ---- - hw/9pfs/9p.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c -index 94df440fc..6026b51a1 100644 ---- a/hw/9pfs/9p.c -+++ b/hw/9pfs/9p.c -@@ -502,9 +502,9 @@ static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path) - { - int err; - V9fsState *s = pdu->s; -- V9fsFidState *fidp, head_fid; -+ V9fsFidState *fidp; - -- head_fid.next = s->fid_list; -+again: - for (fidp = s->fid_list; fidp; fidp = fidp->next) { - if (fidp->path.size != path->size) { - continue; -@@ -524,7 +524,7 @@ static int coroutine_fn v9fs_mark_fids_unreclaim(V9fsPDU *pdu, V9fsPath *path) - * switched to the worker thread - */ - if (err == 0) { -- fidp = &head_fid; -+ goto again; - } - } - } --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch deleted file mode 100644 index 269c6f129..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch +++ /dev/null @@ -1,73 +0,0 @@ -From: Prasad J Pandit - -While activating device in vmxnet3_acticate_device(), it does not -validate guest supplied configuration values against predefined -minimum - maximum limits. This may lead to integer overflow or -OOB access issues. Add checks to avoid it. - -Fixes: CVE-2021-20203 -Buglink: https://bugs.launchpad.net/qemu/+bug/1913873 -Reported-by: Gaoning Pan -Signed-off-by: Prasad J Pandit - -Upstream-Status: Acepted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg07935.html] -CVE: CVE-2021-20203 -Signed-off-by: Minjae Kim ---- - hw/net/vmxnet3.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c -index eff299f629..4a910ca971 100644 ---- a/hw/net/vmxnet3.c -+++ b/hw/net/vmxnet3.c -@@ -1420,6 +1420,7 @@ static void vmxnet3_activate_device(VMXNET3State *s) - vmxnet3_setup_rx_filtering(s); - /* Cache fields from shared memory */ - s->mtu = VMXNET3_READ_DRV_SHARED32(d, s->drv_shmem, devRead.misc.mtu); -+ assert(VMXNET3_MIN_MTU <= s->mtu && s->mtu < VMXNET3_MAX_MTU); - VMW_CFPRN("MTU is %u", s->mtu); - - s->max_rx_frags = -@@ -1473,6 +1474,9 @@ static void vmxnet3_activate_device(VMXNET3State *s) - /* Read rings memory locations for TX queues */ - pa = VMXNET3_READ_TX_QUEUE_DESCR64(d, qdescr_pa, conf.txRingBasePA); - size = VMXNET3_READ_TX_QUEUE_DESCR32(d, qdescr_pa, conf.txRingSize); -+ if (size > VMXNET3_TX_RING_MAX_SIZE) { -+ size = VMXNET3_TX_RING_MAX_SIZE; -+ } - - vmxnet3_ring_init(d, &s->txq_descr[i].tx_ring, pa, size, - sizeof(struct Vmxnet3_TxDesc), false); -@@ -1483,6 +1487,9 @@ static void vmxnet3_activate_device(VMXNET3State *s) - /* TXC ring */ - pa = VMXNET3_READ_TX_QUEUE_DESCR64(d, qdescr_pa, conf.compRingBasePA); - size = VMXNET3_READ_TX_QUEUE_DESCR32(d, qdescr_pa, conf.compRingSize); -+ if (size > VMXNET3_TC_RING_MAX_SIZE) { -+ size = VMXNET3_TC_RING_MAX_SIZE; -+ } - vmxnet3_ring_init(d, &s->txq_descr[i].comp_ring, pa, size, - sizeof(struct Vmxnet3_TxCompDesc), true); - VMXNET3_RING_DUMP(VMW_CFPRN, "TXC", i, &s->txq_descr[i].comp_ring); -@@ -1524,6 +1531,9 @@ static void vmxnet3_activate_device(VMXNET3State *s) - /* RX rings */ - pa = VMXNET3_READ_RX_QUEUE_DESCR64(d, qd_pa, conf.rxRingBasePA[j]); - size = VMXNET3_READ_RX_QUEUE_DESCR32(d, qd_pa, conf.rxRingSize[j]); -+ if (size > VMXNET3_RX_RING_MAX_SIZE) { -+ size = VMXNET3_RX_RING_MAX_SIZE; -+ } - vmxnet3_ring_init(d, &s->rxq_descr[i].rx_ring[j], pa, size, - sizeof(struct Vmxnet3_RxDesc), false); - VMW_CFPRN("RX queue %d:%d: Base: %" PRIx64 ", Size: %d", -@@ -1533,6 +1543,9 @@ static void vmxnet3_activate_device(VMXNET3State *s) - /* RXC ring */ - pa = VMXNET3_READ_RX_QUEUE_DESCR64(d, qd_pa, conf.compRingBasePA); - size = VMXNET3_READ_RX_QUEUE_DESCR32(d, qd_pa, conf.compRingSize); -+ if (size > VMXNET3_RC_RING_MAX_SIZE) { -+ size = VMXNET3_RC_RING_MAX_SIZE; -+ } - vmxnet3_ring_init(d, &s->rxq_descr[i].comp_ring, pa, size, - sizeof(struct Vmxnet3_RxCompDesc), true); - VMW_CFPRN("RXC queue %d: Base: %" PRIx64 ", Size: %d", i, pa, size); --- -2.29.2 diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch deleted file mode 100644 index d762a51d0..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20221.patch +++ /dev/null @@ -1,70 +0,0 @@ -From e428bcfb86fb46d9773ae11e69712052dcff3d45 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= -Date: Sun, 31 Jan 2021 11:34:01 +0100 -Subject: [PATCH] hw/intc/arm_gic: Fix interrupt ID in GICD_SGIR register -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Per the ARM Generic Interrupt Controller Architecture specification -(document "ARM IHI 0048B.b (ID072613)"), the SGIINTID field is 4 bit, -not 10: - - - 4.3 Distributor register descriptions - - 4.3.15 Software Generated Interrupt Register, GICD_SG - - - Table 4-21 GICD_SGIR bit assignments - - The Interrupt ID of the SGI to forward to the specified CPU - interfaces. The value of this field is the Interrupt ID, in - the range 0-15, for example a value of 0b0011 specifies - Interrupt ID 3. - -Correct the irq mask to fix an undefined behavior (which eventually -lead to a heap-buffer-overflow, see [Buglink]): - - $ echo 'writel 0x8000f00 0xff4affb0' | qemu-system-aarch64 -M virt,accel=qtest -qtest stdio - [I 1612088147.116987] OPENED - [R +0.278293] writel 0x8000f00 0xff4affb0 - ../hw/intc/arm_gic.c:1498:13: runtime error: index 944 out of bounds for type 'uint8_t [16][8]' - SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../hw/intc/arm_gic.c:1498:13 - -This fixes a security issue when running with KVM on Arm with -kernel-irqchip=off. (The default is kernel-irqchip=on, which is -unaffected, and which is also the correct choice for performance.) - -Cc: qemu-stable@nongnu.org -Fixes: CVE-2021-20221 -Fixes: 9ee6e8bb853 ("ARMv7 support.") -Buglink: https://bugs.launchpad.net/qemu/+bug/1913916 -Buglink: https://bugs.launchpad.net/qemu/+bug/1913917 -Reported-by: Alexander Bulekov -Signed-off-by: Philippe Mathieu-Daudé -Message-id: 20210131103401.217160-1-f4bug@amsat.org -Reviewed-by: Peter Maydell -Signed-off-by: Peter Maydell - -Upstream-Status: Backport [edfe2eb4360cde4ed5d95bda7777edcb3510f76a] -CVE: CVE-2021-20221 - -Signed-off-by: Sakib Sajal ---- - hw/intc/arm_gic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/intc/arm_gic.c b/hw/intc/arm_gic.c -index c60dc6b5e..fbde60de0 100644 ---- a/hw/intc/arm_gic.c -+++ b/hw/intc/arm_gic.c -@@ -1474,7 +1474,7 @@ static void gic_dist_writel(void *opaque, hwaddr offset, - int target_cpu; - - cpu = gic_get_current_cpu(s); -- irq = value & 0x3ff; -+ irq = value & 0xf; - switch ((value >> 24) & 3) { - case 0: - mask = (value >> 16) & ALL_CPU_MASK; --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch deleted file mode 100644 index 7175b24e9..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20257.patch +++ /dev/null @@ -1,55 +0,0 @@ -From affdf476543405045c281a7c67d1eaedbcea8135 Mon Sep 17 00:00:00 2001 -From: Jason Wang -Date: Wed, 24 Feb 2021 13:45:28 +0800 -Subject: [PATCH] e1000: fail early for evil descriptor - -During procss_tx_desc(), driver can try to chain data descriptor with -legacy descriptor, when will lead underflow for the following -calculation in process_tx_desc() for bytes: - - if (tp->size + bytes > msh) - bytes = msh - tp->size; - -This will lead a infinite loop. So check and fail early if tp->size if -greater or equal to msh. - -Reported-by: Alexander Bulekov -Reported-by: Cheolwoo Myung -Reported-by: Ruhr-University Bochum -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Signed-off-by: Jason Wang - -Upstream-Status: Backport [3de46e6fc489c52c9431a8a832ad8170a7569bd8] -CVE: CVE-2021-20257 - -Signed-off-by: Sakib Sajal ---- - hw/net/e1000.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/hw/net/e1000.c b/hw/net/e1000.c -index cf22c4f07..c3564c7ce 100644 ---- a/hw/net/e1000.c -+++ b/hw/net/e1000.c -@@ -670,6 +670,9 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) - msh = tp->tso_props.hdr_len + tp->tso_props.mss; - do { - bytes = split_size; -+ if (tp->size >= msh) { -+ goto eop; -+ } - if (tp->size + bytes > msh) - bytes = msh - tp->size; - -@@ -695,6 +698,7 @@ process_tx_desc(E1000State *s, struct e1000_tx_desc *dp) - tp->size += split_size; - } - -+eop: - if (!(txd_lower & E1000_TXD_CMD_EOP)) - return; - if (!(tp->cptse && tp->size < tp->tso_props.hdr_len)) { --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch deleted file mode 100644 index 4f9a91f0c..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-20263.patch +++ /dev/null @@ -1,214 +0,0 @@ -From aaa5f8e00c2e85a893b972f1e243fb14c26b70dc Mon Sep 17 00:00:00 2001 -From: "Dr. David Alan Gilbert" -Date: Wed, 24 Feb 2021 19:56:25 +0000 -Subject: [PATCH 2/2] virtiofs: drop remapped security.capability xattr as - needed - -On Linux, the 'security.capability' xattr holds a set of -capabilities that can change when an executable is run, giving -a limited form of privilege escalation to those programs that -the writer of the file deemed worthy. - -Any write causes the 'security.capability' xattr to be dropped, -stopping anyone from gaining privilege by modifying a blessed -file. - -Fuse relies on the daemon to do this dropping, and in turn the -daemon relies on the host kernel to drop the xattr for it. However, -with the addition of -o xattrmap, the xattr that the guest -stores its capabilities in is now not the same as the one that -the host kernel automatically clears. - -Where the mapping changes 'security.capability', explicitly clear -the remapped name to preserve the same behaviour. - -This bug is assigned CVE-2021-20263. - -Signed-off-by: Dr. David Alan Gilbert -Reviewed-by: Vivek Goyal - -Upstream-Status: Backport [e586edcb410543768ef009eaa22a2d9dd4a53846] -CVE: CVE-2021-20263 - -Signed-off-by: Sakib Sajal ---- - docs/tools/virtiofsd.rst | 4 ++ - tools/virtiofsd/passthrough_ll.c | 77 +++++++++++++++++++++++++++++++- - 2 files changed, 80 insertions(+), 1 deletion(-) - -diff --git a/docs/tools/virtiofsd.rst b/docs/tools/virtiofsd.rst -index 866b7db3e..00554c75b 100644 ---- a/docs/tools/virtiofsd.rst -+++ b/docs/tools/virtiofsd.rst -@@ -228,6 +228,10 @@ The 'map' type adds a number of separate rules to add **prepend** as a prefix - to the matched **key** (or all attributes if **key** is empty). - There may be at most one 'map' rule and it must be the last rule in the set. - -+Note: When the 'security.capability' xattr is remapped, the daemon has to do -+extra work to remove it during many operations, which the host kernel normally -+does itself. -+ - xattr-mapping Examples - ---------------------- - -diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c -index 03c5e0d13..c9197da86 100644 ---- a/tools/virtiofsd/passthrough_ll.c -+++ b/tools/virtiofsd/passthrough_ll.c -@@ -160,6 +160,7 @@ struct lo_data { - int posix_lock; - int xattr; - char *xattrmap; -+ char *xattr_security_capability; - char *source; - char *modcaps; - double timeout; -@@ -226,6 +227,8 @@ static __thread bool cap_loaded = 0; - - static struct lo_inode *lo_find(struct lo_data *lo, struct stat *st, - uint64_t mnt_id); -+static int xattr_map_client(const struct lo_data *lo, const char *client_name, -+ char **out_name); - - static int is_dot_or_dotdot(const char *name) - { -@@ -365,6 +368,37 @@ out: - return ret; - } - -+/* -+ * The host kernel normally drops security.capability xattr's on -+ * any write, however if we're remapping xattr names we need to drop -+ * whatever the clients security.capability is actually stored as. -+ */ -+static int drop_security_capability(const struct lo_data *lo, int fd) -+{ -+ if (!lo->xattr_security_capability) { -+ /* We didn't remap the name, let the host kernel do it */ -+ return 0; -+ } -+ if (!fremovexattr(fd, lo->xattr_security_capability)) { -+ /* All good */ -+ return 0; -+ } -+ -+ switch (errno) { -+ case ENODATA: -+ /* Attribute didn't exist, that's fine */ -+ return 0; -+ -+ case ENOTSUP: -+ /* FS didn't support attribute anyway, also fine */ -+ return 0; -+ -+ default: -+ /* Hmm other error */ -+ return errno; -+ } -+} -+ - static void lo_map_init(struct lo_map *map) - { - map->elems = NULL; -@@ -717,6 +751,11 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr, - uid_t uid = (valid & FUSE_SET_ATTR_UID) ? attr->st_uid : (uid_t)-1; - gid_t gid = (valid & FUSE_SET_ATTR_GID) ? attr->st_gid : (gid_t)-1; - -+ saverr = drop_security_capability(lo, ifd); -+ if (saverr) { -+ goto out_err; -+ } -+ - res = fchownat(ifd, "", uid, gid, AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW); - if (res == -1) { - goto out_err; -@@ -735,6 +774,14 @@ static void lo_setattr(fuse_req_t req, fuse_ino_t ino, struct stat *attr, - } - } - -+ saverr = drop_security_capability(lo, truncfd); -+ if (saverr) { -+ if (!fi) { -+ close(truncfd); -+ } -+ goto out_err; -+ } -+ - res = ftruncate(truncfd, attr->st_size); - if (!fi) { - saverr = errno; -@@ -1726,6 +1773,13 @@ static int lo_do_open(struct lo_data *lo, struct lo_inode *inode, - if (fd < 0) { - return -fd; - } -+ if (fi->flags & (O_TRUNC)) { -+ int err = drop_security_capability(lo, fd); -+ if (err) { -+ close(fd); -+ return err; -+ } -+ } - } - - pthread_mutex_lock(&lo->mutex); -@@ -2114,6 +2168,12 @@ static void lo_write_buf(fuse_req_t req, fuse_ino_t ino, - "lo_write_buf(ino=%" PRIu64 ", size=%zd, off=%lu)\n", ino, - out_buf.buf[0].size, (unsigned long)off); - -+ res = drop_security_capability(lo_data(req), out_buf.buf[0].fd); -+ if (res) { -+ fuse_reply_err(req, res); -+ return; -+ } -+ - /* - * If kill_priv is set, drop CAP_FSETID which should lead to kernel - * clearing setuid/setgid on file. -@@ -2353,6 +2413,7 @@ static void parse_xattrmap(struct lo_data *lo) - { - const char *map = lo->xattrmap; - const char *tmp; -+ int ret; - - lo->xattr_map_nentries = 0; - while (*map) { -@@ -2383,7 +2444,7 @@ static void parse_xattrmap(struct lo_data *lo) - * the last entry. - */ - parse_xattrmap_map(lo, map, sep); -- return; -+ break; - } else { - fuse_log(FUSE_LOG_ERR, - "%s: Unexpected type;" -@@ -2452,6 +2513,19 @@ static void parse_xattrmap(struct lo_data *lo) - fuse_log(FUSE_LOG_ERR, "Empty xattr map\n"); - exit(1); - } -+ -+ ret = xattr_map_client(lo, "security.capability", -+ &lo->xattr_security_capability); -+ if (ret) { -+ fuse_log(FUSE_LOG_ERR, "Failed to map security.capability: %s\n", -+ strerror(ret)); -+ exit(1); -+ } -+ if (!strcmp(lo->xattr_security_capability, "security.capability")) { -+ /* 1-1 mapping, don't need to do anything */ -+ free(lo->xattr_security_capability); -+ lo->xattr_security_capability = NULL; -+ } - } - - /* -@@ -3480,6 +3554,7 @@ static void fuse_lo_data_cleanup(struct lo_data *lo) - - free(lo->xattrmap); - free_xattrmap(lo); -+ free(lo->xattr_security_capability); - free(lo->source); - } - --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch deleted file mode 100644 index af94cff7e..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3392.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 3791642c8d60029adf9b00bcb4e34d7d8a1aea4d Mon Sep 17 00:00:00 2001 -From: Michael Tokarev -Date: Mon, 19 Apr 2021 15:42:47 +0200 -Subject: [PATCH] mptsas: Remove unused MPTSASState 'pending' field - (CVE-2021-3392) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -While processing SCSI i/o requests in mptsas_process_scsi_io_request(), -the Megaraid emulator appends new MPTSASRequest object 'req' to -the 's->pending' queue. In case of an error, this same object gets -dequeued in mptsas_free_request() only if SCSIRequest object -'req->sreq' is initialised. This may lead to a use-after-free issue. - -Since s->pending is actually not used, simply remove it from -MPTSASState. - -Cc: qemu-stable@nongnu.org -Signed-off-by: Michael Tokarev -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Philippe Mathieu-Daudé -Reported-by: Cheolwoo Myung -Message-id: 20210419134247.1467982-1-f4bug@amsat.org -Message-Id: <20210416102243.1293871-1-mjt@msgid.tls.msk.ru> -Suggested-by: Paolo Bonzini -Reported-by: Cheolwoo Myung -BugLink: https://bugs.launchpad.net/qemu/+bug/1914236 (CVE-2021-3392) -Fixes: e351b826112 ("hw: Add support for LSI SAS1068 (mptsas) device") -[PMD: Reworded description, added more tags] -Signed-off-by: Philippe Mathieu-Daudé -Reviewed-by: Peter Maydell -Signed-off-by: Peter Maydell - -CVE: CVE-2021-3392 -Upstream-Status: Backport [https://git.qemu.org/?p=qemu.git;a=commit;h=3791642c8d60029adf9b00bcb4e34d7d8a1aea4d] -Signed-off-by: Anuj Mittal ---- - hw/scsi/mptsas.c | 6 ------ - hw/scsi/mptsas.h | 1 - - 2 files changed, 7 deletions(-) - -diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c -index 7416e7870614..db3219e7d206 100644 ---- a/hw/scsi/mptsas.c -+++ b/hw/scsi/mptsas.c -@@ -251,13 +251,10 @@ static int mptsas_build_sgl(MPTSASState *s, MPTSASRequest *req, hwaddr addr) - - static void mptsas_free_request(MPTSASRequest *req) - { -- MPTSASState *s = req->dev; -- - if (req->sreq != NULL) { - req->sreq->hba_private = NULL; - scsi_req_unref(req->sreq); - req->sreq = NULL; -- QTAILQ_REMOVE(&s->pending, req, next); - } - qemu_sglist_destroy(&req->qsg); - g_free(req); -@@ -303,7 +300,6 @@ static int mptsas_process_scsi_io_request(MPTSASState *s, - } - - req = g_new0(MPTSASRequest, 1); -- QTAILQ_INSERT_TAIL(&s->pending, req, next); - req->scsi_io = *scsi_io; - req->dev = s; - -@@ -1319,8 +1315,6 @@ static void mptsas_scsi_realize(PCIDevice *dev, Error **errp) - - s->request_bh = qemu_bh_new(mptsas_fetch_requests, s); - -- QTAILQ_INIT(&s->pending); -- - scsi_bus_new(&s->bus, sizeof(s->bus), &dev->qdev, &mptsas_scsi_info, NULL); - } - -diff --git a/hw/scsi/mptsas.h b/hw/scsi/mptsas.h -index b85ac1a5fcc7..c046497db719 100644 ---- a/hw/scsi/mptsas.h -+++ b/hw/scsi/mptsas.h -@@ -79,7 +79,6 @@ struct MPTSASState { - uint16_t reply_frame_size; - - SCSIBus bus; -- QTAILQ_HEAD(, MPTSASRequest) pending; - }; - - void mptsas_fix_scsi_io_endianness(MPIMsgSCSIIORequest *req); diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch deleted file mode 100644 index f9395add4..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_1.patch +++ /dev/null @@ -1,56 +0,0 @@ -From c01ae9a35b3c6b4a8e1f1bfa0a0caafe394f8b5c Mon Sep 17 00:00:00 2001 -From: Bin Meng -Date: Tue, 16 Feb 2021 11:46:52 +0800 -Subject: [PATCH 1/6] hw/sd: sdhci: Simplify updating s->prnsts in - sdhci_sdma_transfer_multi_blocks() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -s->prnsts is updated in both branches of the if () else () statement. -Move the common bits outside so that it is cleaner. - -Signed-off-by: Bin Meng -Tested-by: Alexander Bulekov -Reviewed-by: Alexander Bulekov -Reviewed-by: Philippe Mathieu-Daudé -Message-Id: <1613447214-81951-5-git-send-email-bmeng.cn@gmail.com> -Signed-off-by: Philippe Mathieu-Daudé - -Upstream-Status: Backport [8bc1f1aa51d32c3184e7b19d5b94c35ecc06f056] -CVE: CVE-2021-3409 - -Signed-off-by: Sakib Sajal ---- - hw/sd/sdhci.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c -index 2f8b74a84..f83c5e295 100644 ---- a/hw/sd/sdhci.c -+++ b/hw/sd/sdhci.c -@@ -596,9 +596,9 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s) - page_aligned = true; - } - -+ s->prnsts |= SDHC_DATA_INHIBIT | SDHC_DAT_LINE_ACTIVE; - if (s->trnmod & SDHC_TRNS_READ) { -- s->prnsts |= SDHC_DOING_READ | SDHC_DATA_INHIBIT | -- SDHC_DAT_LINE_ACTIVE; -+ s->prnsts |= SDHC_DOING_READ; - while (s->blkcnt) { - if (s->data_count == 0) { - sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size); -@@ -625,8 +625,7 @@ static void sdhci_sdma_transfer_multi_blocks(SDHCIState *s) - } - } - } else { -- s->prnsts |= SDHC_DOING_WRITE | SDHC_DATA_INHIBIT | -- SDHC_DAT_LINE_ACTIVE; -+ s->prnsts |= SDHC_DOING_WRITE; - while (s->blkcnt) { - begin = s->data_count; - if (((boundary_count + begin) < block_size) && page_aligned) { --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch deleted file mode 100644 index f3d2bb137..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_2.patch +++ /dev/null @@ -1,92 +0,0 @@ -From b9bb4700798bce98888c51d7b6dbc19ec49159d5 Mon Sep 17 00:00:00 2001 -From: Bin Meng -Date: Wed, 3 Mar 2021 20:26:35 +0800 -Subject: [PATCH 2/6] hw/sd: sdhci: Don't transfer any data when command time - out -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -At the end of sdhci_send_command(), it starts a data transfer if the -command register indicates data is associated. But the data transfer -should only be initiated when the command execution has succeeded. - -With this fix, the following reproducer: - -outl 0xcf8 0x80001810 -outl 0xcfc 0xe1068000 -outl 0xcf8 0x80001804 -outw 0xcfc 0x7 -write 0xe106802c 0x1 0x0f -write 0xe1068004 0xc 0x2801d10101fffffbff28a384 -write 0xe106800c 0x1f 0x9dacbbcad9e8f7061524334251606f7e8d9cabbac9d8e7f60514233241505f -write 0xe1068003 0x28 0x80d000251480d000252280d000253080d000253e80d000254c80d000255a80d000256880d0002576 -write 0xe1068003 0x1 0xfe - -cannot be reproduced with the following QEMU command line: - -$ qemu-system-x86_64 -nographic -M pc-q35-5.0 \ - -device sdhci-pci,sd-spec-version=3 \ - -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \ - -device sd-card,drive=mydrive \ - -monitor none -serial none -qtest stdio - -Cc: qemu-stable@nongnu.org -Fixes: CVE-2020-17380 -Fixes: CVE-2020-25085 -Fixes: CVE-2021-3409 -Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller") -Reported-by: Alexander Bulekov -Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum) -Reported-by: Sergej Schumilo (Ruhr-Universität Bochum) -Reported-by: Simon Wörner (Ruhr-Universität Bochum) -Buglink: https://bugs.launchpad.net/qemu/+bug/1892960 -Buglink: https://bugs.launchpad.net/qemu/+bug/1909418 -Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146 -Acked-by: Alistair Francis -Tested-by: Alexander Bulekov -Tested-by: Philippe Mathieu-Daudé -Signed-off-by: Bin Meng -Message-Id: <20210303122639.20004-2-bmeng.cn@gmail.com> -Signed-off-by: Philippe Mathieu-Daudé - -Upstream-Status: Backport [b263d8f928001b5cfa2a993ea43b7a5b3a1811e8] -CVE: CVE-2021-3409 - -Signed-off-by: Sakib Sajal ---- - hw/sd/sdhci.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c -index f83c5e295..44f8a82ea 100644 ---- a/hw/sd/sdhci.c -+++ b/hw/sd/sdhci.c -@@ -326,6 +326,7 @@ static void sdhci_send_command(SDHCIState *s) - SDRequest request; - uint8_t response[16]; - int rlen; -+ bool timeout = false; - - s->errintsts = 0; - s->acmd12errsts = 0; -@@ -349,6 +350,7 @@ static void sdhci_send_command(SDHCIState *s) - trace_sdhci_response16(s->rspreg[3], s->rspreg[2], - s->rspreg[1], s->rspreg[0]); - } else { -+ timeout = true; - trace_sdhci_error("timeout waiting for command response"); - if (s->errintstsen & SDHC_EISEN_CMDTIMEOUT) { - s->errintsts |= SDHC_EIS_CMDTIMEOUT; -@@ -369,7 +371,7 @@ static void sdhci_send_command(SDHCIState *s) - - sdhci_update_irq(s); - -- if (s->blksize && (s->cmdreg & SDHC_CMD_DATA_PRESENT)) { -+ if (!timeout && s->blksize && (s->cmdreg & SDHC_CMD_DATA_PRESENT)) { - s->data_count = 0; - sdhci_data_transfer(s); - } --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch deleted file mode 100644 index c3b37ed61..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_3.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 405ca416ccc8135544a4fe5732974497244128c9 Mon Sep 17 00:00:00 2001 -From: Bin Meng -Date: Wed, 3 Mar 2021 20:26:36 +0800 -Subject: [PATCH 3/6] hw/sd: sdhci: Don't write to SDHC_SYSAD register when - transfer is in progress -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Per "SD Host Controller Standard Specification Version 7.00" -chapter 2.2.1 SDMA System Address Register: - -This register can be accessed only if no transaction is executing -(i.e., after a transaction has stopped). - -With this fix, the following reproducer: - -outl 0xcf8 0x80001010 -outl 0xcfc 0xfbefff00 -outl 0xcf8 0x80001001 -outl 0xcfc 0x06000000 -write 0xfbefff2c 0x1 0x05 -write 0xfbefff0f 0x1 0x37 -write 0xfbefff0a 0x1 0x01 -write 0xfbefff0f 0x1 0x29 -write 0xfbefff0f 0x1 0x02 -write 0xfbefff0f 0x1 0x03 -write 0xfbefff04 0x1 0x01 -write 0xfbefff05 0x1 0x01 -write 0xfbefff07 0x1 0x02 -write 0xfbefff0c 0x1 0x33 -write 0xfbefff0e 0x1 0x20 -write 0xfbefff0f 0x1 0x00 -write 0xfbefff2a 0x1 0x01 -write 0xfbefff0c 0x1 0x00 -write 0xfbefff03 0x1 0x00 -write 0xfbefff05 0x1 0x00 -write 0xfbefff2a 0x1 0x02 -write 0xfbefff0c 0x1 0x32 -write 0xfbefff01 0x1 0x01 -write 0xfbefff02 0x1 0x01 -write 0xfbefff03 0x1 0x01 - -cannot be reproduced with the following QEMU command line: - -$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \ - -nodefaults -device sdhci-pci,sd-spec-version=3 \ - -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \ - -device sd-card,drive=mydrive -qtest stdio - -Cc: qemu-stable@nongnu.org -Fixes: CVE-2020-17380 -Fixes: CVE-2020-25085 -Fixes: CVE-2021-3409 -Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller") -Reported-by: Alexander Bulekov -Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum) -Reported-by: Sergej Schumilo (Ruhr-Universität Bochum) -Reported-by: Simon Wörner (Ruhr-Universität Bochum) -Buglink: https://bugs.launchpad.net/qemu/+bug/1892960 -Buglink: https://bugs.launchpad.net/qemu/+bug/1909418 -Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146 -Tested-by: Alexander Bulekov -Signed-off-by: Bin Meng -Message-Id: <20210303122639.20004-3-bmeng.cn@gmail.com> -Signed-off-by: Philippe Mathieu-Daudé - -Upstream-Status: Backport [8be45cc947832b3c02144c9d52921f499f2d77fe] -CVE: CVE-2021-3409 - -Signed-off-by: Sakib Sajal ---- - hw/sd/sdhci.c | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c -index 44f8a82ea..d8a46f307 100644 ---- a/hw/sd/sdhci.c -+++ b/hw/sd/sdhci.c -@@ -1121,15 +1121,17 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) - - switch (offset & ~0x3) { - case SDHC_SYSAD: -- s->sdmasysad = (s->sdmasysad & mask) | value; -- MASKED_WRITE(s->sdmasysad, mask, value); -- /* Writing to last byte of sdmasysad might trigger transfer */ -- if (!(mask & 0xFF000000) && TRANSFERRING_DATA(s->prnsts) && s->blkcnt && -- s->blksize && SDHC_DMA_TYPE(s->hostctl1) == SDHC_CTRL_SDMA) { -- if (s->trnmod & SDHC_TRNS_MULTI) { -- sdhci_sdma_transfer_multi_blocks(s); -- } else { -- sdhci_sdma_transfer_single_block(s); -+ if (!TRANSFERRING_DATA(s->prnsts)) { -+ s->sdmasysad = (s->sdmasysad & mask) | value; -+ MASKED_WRITE(s->sdmasysad, mask, value); -+ /* Writing to last byte of sdmasysad might trigger transfer */ -+ if (!(mask & 0xFF000000) && s->blkcnt && s->blksize && -+ SDHC_DMA_TYPE(s->hostctl1) == SDHC_CTRL_SDMA) { -+ if (s->trnmod & SDHC_TRNS_MULTI) { -+ sdhci_sdma_transfer_multi_blocks(s); -+ } else { -+ sdhci_sdma_transfer_single_block(s); -+ } - } - } - break; --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch deleted file mode 100644 index d5be99759..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_4.patch +++ /dev/null @@ -1,75 +0,0 @@ -From b672bcaf5522294a4d8de3e88e0932d55585ee3b Mon Sep 17 00:00:00 2001 -From: Bin Meng -Date: Wed, 3 Mar 2021 20:26:37 +0800 -Subject: [PATCH 4/6] hw/sd: sdhci: Correctly set the controller status for - ADMA -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When an ADMA transfer is started, the codes forget to set the -controller status to indicate a transfer is in progress. - -With this fix, the following 2 reproducers: - -https://paste.debian.net/plain/1185136 -https://paste.debian.net/plain/1185141 - -cannot be reproduced with the following QEMU command line: - -$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \ - -nodefaults -device sdhci-pci,sd-spec-version=3 \ - -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \ - -device sd-card,drive=mydrive -qtest stdio - -Cc: qemu-stable@nongnu.org -Fixes: CVE-2020-17380 -Fixes: CVE-2020-25085 -Fixes: CVE-2021-3409 -Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller") -Reported-by: Alexander Bulekov -Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum) -Reported-by: Sergej Schumilo (Ruhr-Universität Bochum) -Reported-by: Simon Wörner (Ruhr-Universität Bochum) -Buglink: https://bugs.launchpad.net/qemu/+bug/1892960 -Buglink: https://bugs.launchpad.net/qemu/+bug/1909418 -Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146 -Tested-by: Alexander Bulekov -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Bin Meng -Message-Id: <20210303122639.20004-4-bmeng.cn@gmail.com> -Signed-off-by: Philippe Mathieu-Daudé - -Upstream-Status: Backport [bc6f28995ff88f5d82c38afcfd65406f0ae375aa] -CVE: CVE-2021-3409 - -Signed-off-by: Sakib Sajal ---- - hw/sd/sdhci.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c -index d8a46f307..7de03c6dd 100644 ---- a/hw/sd/sdhci.c -+++ b/hw/sd/sdhci.c -@@ -768,7 +768,9 @@ static void sdhci_do_adma(SDHCIState *s) - - switch (dscr.attr & SDHC_ADMA_ATTR_ACT_MASK) { - case SDHC_ADMA_ATTR_ACT_TRAN: /* data transfer */ -+ s->prnsts |= SDHC_DATA_INHIBIT | SDHC_DAT_LINE_ACTIVE; - if (s->trnmod & SDHC_TRNS_READ) { -+ s->prnsts |= SDHC_DOING_READ; - while (length) { - if (s->data_count == 0) { - sdbus_read_data(&s->sdbus, s->fifo_buffer, block_size); -@@ -796,6 +798,7 @@ static void sdhci_do_adma(SDHCIState *s) - } - } - } else { -+ s->prnsts |= SDHC_DOING_WRITE; - while (length) { - begin = s->data_count; - if ((length + begin) < block_size) { --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch deleted file mode 100644 index 719905683..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_5.patch +++ /dev/null @@ -1,56 +0,0 @@ -From c2298884cf6bcf2b047b4bae5f78432b052b5729 Mon Sep 17 00:00:00 2001 -From: Bin Meng -Date: Wed, 3 Mar 2021 20:26:38 +0800 -Subject: [PATCH 5/6] hw/sd: sdhci: Limit block size only when SDHC_BLKSIZE - register is writable -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The codes to limit the maximum block size is only necessary when -SDHC_BLKSIZE register is writable. - -Tested-by: Alexander Bulekov -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Bin Meng -Message-Id: <20210303122639.20004-5-bmeng.cn@gmail.com> -Signed-off-by: Philippe Mathieu-Daudé - -Upstream-Status: Backport [5cd7aa3451b76bb19c0f6adc2b931f091e5d7fcd] -CVE: CVE-2021-3409 - -Signed-off-by: Sakib Sajal ---- - hw/sd/sdhci.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c -index 7de03c6dd..6c780126e 100644 ---- a/hw/sd/sdhci.c -+++ b/hw/sd/sdhci.c -@@ -1142,15 +1142,15 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) - if (!TRANSFERRING_DATA(s->prnsts)) { - MASKED_WRITE(s->blksize, mask, extract32(value, 0, 12)); - MASKED_WRITE(s->blkcnt, mask >> 16, value >> 16); -- } - -- /* Limit block size to the maximum buffer size */ -- if (extract32(s->blksize, 0, 12) > s->buf_maxsz) { -- qemu_log_mask(LOG_GUEST_ERROR, "%s: Size 0x%x is larger than " -- "the maximum buffer 0x%x\n", __func__, s->blksize, -- s->buf_maxsz); -+ /* Limit block size to the maximum buffer size */ -+ if (extract32(s->blksize, 0, 12) > s->buf_maxsz) { -+ qemu_log_mask(LOG_GUEST_ERROR, "%s: Size 0x%x is larger than " -+ "the maximum buffer 0x%x\n", __func__, s->blksize, -+ s->buf_maxsz); - -- s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz); -+ s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz); -+ } - } - - break; --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch deleted file mode 100644 index 624c1f649..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3409_6.patch +++ /dev/null @@ -1,99 +0,0 @@ -From db916870a839346767b6d5ca7d0eed3128ba5fea Mon Sep 17 00:00:00 2001 -From: Bin Meng -Date: Wed, 3 Mar 2021 20:26:39 +0800 -Subject: [PATCH 6/6] hw/sd: sdhci: Reset the data pointer of s->fifo_buffer[] - when a different block size is programmed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -If the block size is programmed to a different value from the -previous one, reset the data pointer of s->fifo_buffer[] so that -s->fifo_buffer[] can be filled in using the new block size in -the next transfer. - -With this fix, the following reproducer: - -outl 0xcf8 0x80001010 -outl 0xcfc 0xe0000000 -outl 0xcf8 0x80001001 -outl 0xcfc 0x06000000 -write 0xe000002c 0x1 0x05 -write 0xe0000005 0x1 0x02 -write 0xe0000007 0x1 0x01 -write 0xe0000028 0x1 0x10 -write 0x0 0x1 0x23 -write 0x2 0x1 0x08 -write 0xe000000c 0x1 0x01 -write 0xe000000e 0x1 0x20 -write 0xe000000f 0x1 0x00 -write 0xe000000c 0x1 0x32 -write 0xe0000004 0x2 0x0200 -write 0xe0000028 0x1 0x00 -write 0xe0000003 0x1 0x40 - -cannot be reproduced with the following QEMU command line: - -$ qemu-system-x86_64 -nographic -machine accel=qtest -m 512M \ - -nodefaults -device sdhci-pci,sd-spec-version=3 \ - -drive if=sd,index=0,file=null-co://,format=raw,id=mydrive \ - -device sd-card,drive=mydrive -qtest stdio - -Cc: qemu-stable@nongnu.org -Fixes: CVE-2020-17380 -Fixes: CVE-2020-25085 -Fixes: CVE-2021-3409 -Fixes: d7dfca0807a0 ("hw/sdhci: introduce standard SD host controller") -Reported-by: Alexander Bulekov -Reported-by: Cornelius Aschermann (Ruhr-Universität Bochum) -Reported-by: Sergej Schumilo (Ruhr-Universität Bochum) -Reported-by: Simon Wörner (Ruhr-Universität Bochum) -Buglink: https://bugs.launchpad.net/qemu/+bug/1892960 -Buglink: https://bugs.launchpad.net/qemu/+bug/1909418 -Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1928146 -Tested-by: Alexander Bulekov -Signed-off-by: Bin Meng -Message-Id: <20210303122639.20004-6-bmeng.cn@gmail.com> -Signed-off-by: Philippe Mathieu-Daudé - -Upstream-Status: Backport [cffb446e8fd19a14e1634c7a3a8b07be3f01d5c9] -CVE: CVE-2021-3409 - -Signed-off-by: Sakib Sajal ---- - hw/sd/sdhci.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c -index 6c780126e..216842420 100644 ---- a/hw/sd/sdhci.c -+++ b/hw/sd/sdhci.c -@@ -1140,6 +1140,8 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) - break; - case SDHC_BLKSIZE: - if (!TRANSFERRING_DATA(s->prnsts)) { -+ uint16_t blksize = s->blksize; -+ - MASKED_WRITE(s->blksize, mask, extract32(value, 0, 12)); - MASKED_WRITE(s->blkcnt, mask >> 16, value >> 16); - -@@ -1151,6 +1153,16 @@ sdhci_write(void *opaque, hwaddr offset, uint64_t val, unsigned size) - - s->blksize = deposit32(s->blksize, 0, 12, s->buf_maxsz); - } -+ -+ /* -+ * If the block size is programmed to a different value from -+ * the previous one, reset the data pointer of s->fifo_buffer[] -+ * so that s->fifo_buffer[] can be filled in using the new block -+ * size in the next transfer. -+ */ -+ if (blksize != s->blksize) { -+ s->data_count = 0; -+ } - } - - break; --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch deleted file mode 100644 index 5bacd6748..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_1.patch +++ /dev/null @@ -1,177 +0,0 @@ -From 4b1988a29d67277d6c8ce1df52975f5616592913 Mon Sep 17 00:00:00 2001 -From: Jason Wang -Date: Wed, 24 Feb 2021 11:44:36 +0800 -Subject: [PATCH 01/10] net: introduce qemu_receive_packet() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Some NIC supports loopback mode and this is done by calling -nc->info->receive() directly which in fact suppresses the effort of -reentrancy check that is done in qemu_net_queue_send(). - -Unfortunately we can't use qemu_net_queue_send() here since for -loopback there's no sender as peer, so this patch introduce a -qemu_receive_packet() which is used for implementing loopback mode -for a NIC with this check. - -NIC that supports loopback mode will be converted to this helper. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Reviewed-by: Philippe Mathieu-Daudé -Cc: qemu-stable@nongnu.org -Signed-off-by: Jason Wang - -Upstream-Status: Backport [705df5466c98f3efdd2b68d3b31dad86858acad7] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - include/net/net.h | 5 +++++ - include/net/queue.h | 8 ++++++++ - net/net.c | 38 +++++++++++++++++++++++++++++++------- - net/queue.c | 22 ++++++++++++++++++++++ - 4 files changed, 66 insertions(+), 7 deletions(-) - -diff --git a/include/net/net.h b/include/net/net.h -index 778fc787c..03f058ecb 100644 ---- a/include/net/net.h -+++ b/include/net/net.h -@@ -143,12 +143,17 @@ void *qemu_get_nic_opaque(NetClientState *nc); - void qemu_del_net_client(NetClientState *nc); - typedef void (*qemu_nic_foreach)(NICState *nic, void *opaque); - void qemu_foreach_nic(qemu_nic_foreach func, void *opaque); -+int qemu_can_receive_packet(NetClientState *nc); - int qemu_can_send_packet(NetClientState *nc); - ssize_t qemu_sendv_packet(NetClientState *nc, const struct iovec *iov, - int iovcnt); - ssize_t qemu_sendv_packet_async(NetClientState *nc, const struct iovec *iov, - int iovcnt, NetPacketSent *sent_cb); - ssize_t qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size); -+ssize_t qemu_receive_packet(NetClientState *nc, const uint8_t *buf, int size); -+ssize_t qemu_receive_packet_iov(NetClientState *nc, -+ const struct iovec *iov, -+ int iovcnt); - ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size); - ssize_t qemu_send_packet_async(NetClientState *nc, const uint8_t *buf, - int size, NetPacketSent *sent_cb); -diff --git a/include/net/queue.h b/include/net/queue.h -index c0269bb1d..9f2f289d7 100644 ---- a/include/net/queue.h -+++ b/include/net/queue.h -@@ -55,6 +55,14 @@ void qemu_net_queue_append_iov(NetQueue *queue, - - void qemu_del_net_queue(NetQueue *queue); - -+ssize_t qemu_net_queue_receive(NetQueue *queue, -+ const uint8_t *data, -+ size_t size); -+ -+ssize_t qemu_net_queue_receive_iov(NetQueue *queue, -+ const struct iovec *iov, -+ int iovcnt); -+ - ssize_t qemu_net_queue_send(NetQueue *queue, - NetClientState *sender, - unsigned flags, -diff --git a/net/net.c b/net/net.c -index 6a2c3d956..5e15e5d27 100644 ---- a/net/net.c -+++ b/net/net.c -@@ -528,6 +528,17 @@ int qemu_set_vnet_be(NetClientState *nc, bool is_be) - #endif - } - -+int qemu_can_receive_packet(NetClientState *nc) -+{ -+ if (nc->receive_disabled) { -+ return 0; -+ } else if (nc->info->can_receive && -+ !nc->info->can_receive(nc)) { -+ return 0; -+ } -+ return 1; -+} -+ - int qemu_can_send_packet(NetClientState *sender) - { - int vm_running = runstate_is_running(); -@@ -540,13 +551,7 @@ int qemu_can_send_packet(NetClientState *sender) - return 1; - } - -- if (sender->peer->receive_disabled) { -- return 0; -- } else if (sender->peer->info->can_receive && -- !sender->peer->info->can_receive(sender->peer)) { -- return 0; -- } -- return 1; -+ return qemu_can_receive_packet(sender->peer); - } - - static ssize_t filter_receive_iov(NetClientState *nc, -@@ -679,6 +684,25 @@ ssize_t qemu_send_packet(NetClientState *nc, const uint8_t *buf, int size) - return qemu_send_packet_async(nc, buf, size, NULL); - } - -+ssize_t qemu_receive_packet(NetClientState *nc, const uint8_t *buf, int size) -+{ -+ if (!qemu_can_receive_packet(nc)) { -+ return 0; -+ } -+ -+ return qemu_net_queue_receive(nc->incoming_queue, buf, size); -+} -+ -+ssize_t qemu_receive_packet_iov(NetClientState *nc, const struct iovec *iov, -+ int iovcnt) -+{ -+ if (!qemu_can_receive_packet(nc)) { -+ return 0; -+ } -+ -+ return qemu_net_queue_receive_iov(nc->incoming_queue, iov, iovcnt); -+} -+ - ssize_t qemu_send_packet_raw(NetClientState *nc, const uint8_t *buf, int size) - { - return qemu_send_packet_async_with_flags(nc, QEMU_NET_PACKET_FLAG_RAW, -diff --git a/net/queue.c b/net/queue.c -index 19e32c80f..c872d51df 100644 ---- a/net/queue.c -+++ b/net/queue.c -@@ -182,6 +182,28 @@ static ssize_t qemu_net_queue_deliver_iov(NetQueue *queue, - return ret; - } - -+ssize_t qemu_net_queue_receive(NetQueue *queue, -+ const uint8_t *data, -+ size_t size) -+{ -+ if (queue->delivering) { -+ return 0; -+ } -+ -+ return qemu_net_queue_deliver(queue, NULL, 0, data, size); -+} -+ -+ssize_t qemu_net_queue_receive_iov(NetQueue *queue, -+ const struct iovec *iov, -+ int iovcnt) -+{ -+ if (queue->delivering) { -+ return 0; -+ } -+ -+ return qemu_net_queue_deliver_iov(queue, NULL, 0, iov, iovcnt); -+} -+ - ssize_t qemu_net_queue_send(NetQueue *queue, - NetClientState *sender, - unsigned flags, --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch deleted file mode 100644 index 7deec1a34..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_10.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 65b851efd3d0280425c202f4e5880c48f8334dae Mon Sep 17 00:00:00 2001 -From: Alexander Bulekov -Date: Mon, 1 Mar 2021 14:35:30 -0500 -Subject: [PATCH 10/10] lan9118: switch to use qemu_receive_packet() for - loopback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_packet() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Jason Wang - -Upstream-Status: Backport [37cee01784ff0df13e5209517e1b3594a5e792d1] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/lan9118.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c -index ab57c02c8..75f18ae2d 100644 ---- a/hw/net/lan9118.c -+++ b/hw/net/lan9118.c -@@ -669,7 +669,7 @@ static void do_tx_packet(lan9118_state *s) - /* FIXME: Honor TX disable, and allow queueing of packets. */ - if (s->phy_control & 0x4000) { - /* This assumes the receive routine doesn't touch the VLANClient. */ -- lan9118_receive(qemu_get_queue(s->nic), s->txp->data, s->txp->len); -+ qemu_receive_packet(qemu_get_queue(s->nic), s->txp->data, s->txp->len); - } else { - qemu_send_packet(qemu_get_queue(s->nic), s->txp->data, s->txp->len); - } --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch deleted file mode 100644 index 5e53e20ba..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_2.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e2a48a3c7cc33dbbe89f896e0f07462cb04ff6b5 Mon Sep 17 00:00:00 2001 -From: Jason Wang -Date: Wed, 24 Feb 2021 12:13:22 +0800 -Subject: [PATCH 02/10] e1000: switch to use qemu_receive_packet() for loopback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_packet() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Jason Wang - -Upstream-Status: Backport [1caff0340f49c93d535c6558a5138d20d475315c] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/e1000.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/net/e1000.c b/hw/net/e1000.c -index d7d05ae30..cf22c4f07 100644 ---- a/hw/net/e1000.c -+++ b/hw/net/e1000.c -@@ -546,7 +546,7 @@ e1000_send_packet(E1000State *s, const uint8_t *buf, int size) - - NetClientState *nc = qemu_get_queue(s->nic); - if (s->phy_reg[PHY_CTRL] & MII_CR_LOOPBACK) { -- nc->info->receive(nc, buf, size); -+ qemu_receive_packet(nc, buf, size); - } else { - qemu_send_packet(nc, buf, size); - } --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch deleted file mode 100644 index 3fc469e3e..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch +++ /dev/null @@ -1,43 +0,0 @@ -From c041a4da1ff119715e0ccf2d4a7af62568f17b93 Mon Sep 17 00:00:00 2001 -From: Jason Wang -Date: Wed, 24 Feb 2021 12:57:40 +0800 -Subject: [PATCH 03/10] dp8393x: switch to use qemu_receive_packet() for - loopback packet -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_packet() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Reviewed-by: Philippe Mathieu-Daudé - -Upstream-Status: Backport [331d2ac9ea307c990dc86e6493e8f0c48d14bb33] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/dp8393x.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c -index 205c0decc..533a8304d 100644 ---- a/hw/net/dp8393x.c -+++ b/hw/net/dp8393x.c -@@ -506,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) - s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; - if (nc->info->can_receive(nc)) { - s->loopback_packet = 1; -- nc->info->receive(nc, s->tx_buffer, tx_len); -+ qemu_receive_packet(nc, s->tx_buffer, tx_len); - } - } else { - /* Transmit packet */ --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch deleted file mode 100644 index e14f37735..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_4.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9ac5345344b75995bc96d171eaa5dc8d26bf0e21 Mon Sep 17 00:00:00 2001 -From: Jason Wang -Date: Wed, 24 Feb 2021 13:00:01 +0800 -Subject: [PATCH 04/10] msf2-mac: switch to use qemu_receive_packet() for - loopback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_packet() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Jason Wang - -Upstream-Status: Backport [26194a58f4eb83c5bdf4061a1628508084450ba1] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/msf2-emac.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/net/msf2-emac.c b/hw/net/msf2-emac.c -index 32ba9e841..3e6206044 100644 ---- a/hw/net/msf2-emac.c -+++ b/hw/net/msf2-emac.c -@@ -158,7 +158,7 @@ static void msf2_dma_tx(MSF2EmacState *s) - * R_CFG1 bit 0 is set. - */ - if (s->regs[R_CFG1] & R_CFG1_LB_EN_MASK) { -- nc->info->receive(nc, buf, size); -+ qemu_receive_packet(nc, buf, size); - } else { - qemu_send_packet(nc, buf, size); - } --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch deleted file mode 100644 index c3f8f9759..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_5.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d465dc79c9ee729d91ef086b993e956b1935be69 Mon Sep 17 00:00:00 2001 -From: Jason Wang -Date: Wed, 24 Feb 2021 13:14:35 +0800 -Subject: [PATCH 05/10] sungem: switch to use qemu_receive_packet() for - loopback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_packet() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Reviewed-by: Mark Cave-Ayland -Reviewed-by: Philippe Mathieu-Daudé -Reviewed-by: Alistair Francis -Signed-off-by: Jason Wang - -Upstream-Status: Backport [8c92060d3c0248bd4d515719a35922cd2391b9b4] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/sungem.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/net/sungem.c b/hw/net/sungem.c -index 33c3722df..3684a4d73 100644 ---- a/hw/net/sungem.c -+++ b/hw/net/sungem.c -@@ -306,7 +306,7 @@ static void sungem_send_packet(SunGEMState *s, const uint8_t *buf, - NetClientState *nc = qemu_get_queue(s->nic); - - if (s->macregs[MAC_XIFCFG >> 2] & MAC_XIFCFG_LBCK) { -- nc->info->receive(nc, buf, size); -+ qemu_receive_packet(nc, buf, size); - } else { - qemu_send_packet(nc, buf, size); - } --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch deleted file mode 100644 index 855c6970f..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_6.patch +++ /dev/null @@ -1,43 +0,0 @@ -From c0010f9b2bafe866fe32e3c2688454bc24147136 Mon Sep 17 00:00:00 2001 -From: Jason Wang -Date: Wed, 24 Feb 2021 13:27:52 +0800 -Subject: [PATCH 06/10] tx_pkt: switch to use qemu_receive_packet_iov() for - loopback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_receive_iov() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Jason Wang - -Upstream-Status: Backport [8c552542b81e56ff532dd27ec6e5328954bdda73] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/net_tx_pkt.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c -index da262edc3..1f9aa59ec 100644 ---- a/hw/net/net_tx_pkt.c -+++ b/hw/net/net_tx_pkt.c -@@ -553,7 +553,7 @@ static inline void net_tx_pkt_sendv(struct NetTxPkt *pkt, - NetClientState *nc, const struct iovec *iov, int iov_cnt) - { - if (pkt->is_loopback) { -- nc->info->receive_iov(nc, iov, iov_cnt); -+ qemu_receive_packet_iov(nc, iov, iov_cnt); - } else { - qemu_sendv_packet(nc, iov, iov_cnt); - } --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch deleted file mode 100644 index 4e1115de0..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_7.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 64b38675c728354e4015e4bec3d975cd4cb8a981 Mon Sep 17 00:00:00 2001 -From: Alexander Bulekov -Date: Fri, 26 Feb 2021 13:47:53 -0500 -Subject: [PATCH 07/10] rtl8139: switch to use qemu_receive_packet() for - loopback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_packet() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Buglink: https://bugs.launchpad.net/qemu/+bug/1910826 -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Jason Wang - -Upstream-Status: Backport [5311fb805a4403bba024e83886fa0e7572265de4] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/rtl8139.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c -index ba5ace1ab..d2dd03e6a 100644 ---- a/hw/net/rtl8139.c -+++ b/hw/net/rtl8139.c -@@ -1795,7 +1795,7 @@ static void rtl8139_transfer_frame(RTL8139State *s, uint8_t *buf, int size, - } - - DPRINTF("+++ transmit loopback mode\n"); -- rtl8139_do_receive(qemu_get_queue(s->nic), buf, size, do_interrupt); -+ qemu_receive_packet(qemu_get_queue(s->nic), buf, size); - - if (iov) { - g_free(buf2); --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch deleted file mode 100644 index ed716468d..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_8.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 023ce62f0a788ad3a8233c7a828554bceeafd031 Mon Sep 17 00:00:00 2001 -From: Alexander Bulekov -Date: Mon, 1 Mar 2021 10:33:34 -0500 -Subject: [PATCH 08/10] pcnet: switch to use qemu_receive_packet() for loopback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_packet() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Buglink: https://bugs.launchpad.net/qemu/+bug/1917085 -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Jason Wang - -Upstream-Status: Backport [99ccfaa1edafd79f7a3a0ff7b58ae4da7c514928] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/pcnet.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c -index f3f18d859..dcd3fc494 100644 ---- a/hw/net/pcnet.c -+++ b/hw/net/pcnet.c -@@ -1250,7 +1250,7 @@ txagain: - if (BCR_SWSTYLE(s) == 1) - add_crc = !GET_FIELD(tmd.status, TMDS, NOFCS); - s->looptest = add_crc ? PCNET_LOOPTEST_CRC : PCNET_LOOPTEST_NOCRC; -- pcnet_receive(qemu_get_queue(s->nic), s->buffer, s->xmit_pos); -+ qemu_receive_packet(qemu_get_queue(s->nic), s->buffer, s->xmit_pos); - s->looptest = 0; - } else { - if (s->nic) { --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch deleted file mode 100644 index 39d32b33a..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_9.patch +++ /dev/null @@ -1,46 +0,0 @@ -From ecf7e62bb2cb02c9bd40082504ae376f3e19ffd2 Mon Sep 17 00:00:00 2001 -From: Alexander Bulekov -Date: Mon, 1 Mar 2021 14:33:43 -0500 -Subject: [PATCH 09/10] cadence_gem: switch to use qemu_receive_packet() for - loopback -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch switches to use qemu_receive_packet() which can detect -reentrancy and return early. - -This is intended to address CVE-2021-3416. - -Cc: Prasad J Pandit -Cc: qemu-stable@nongnu.org -Reviewed-by: Philippe Mathieu-Daudé -Signed-off-by: Alexander Bulekov -Signed-off-by: Jason Wang - -Upstream-Status: Backport [e73adfbeec9d4e008630c814759052ed945c3fed] -CVE: CVE-2021-3416 - -Signed-off-by: Sakib Sajal ---- - hw/net/cadence_gem.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c -index 7a534691f..43b760e3f 100644 ---- a/hw/net/cadence_gem.c -+++ b/hw/net/cadence_gem.c -@@ -1275,8 +1275,8 @@ static void gem_transmit(CadenceGEMState *s) - /* Send the packet somewhere */ - if (s->phy_loop || (s->regs[GEM_NWCTRL] & - GEM_NWCTRL_LOCALLOOP)) { -- gem_receive(qemu_get_queue(s->nic), s->tx_packet, -- total_bytes); -+ qemu_receive_packet(qemu_get_queue(s->nic), s->tx_packet, -+ total_bytes); - } else { - qemu_send_packet(qemu_get_queue(s->nic), s->tx_packet, - total_bytes); --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/cross.patch b/poky/meta/recipes-devtools/qemu/qemu/cross.patch index 438c1ad08..a0fc39e5e 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/cross.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/cross.patch @@ -6,19 +6,19 @@ Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?] Signed-off-by: Richard Purdie -Index: qemu-5.2.0/configure +Index: qemu-6.0.0/configure =================================================================== ---- qemu-5.2.0.orig/configure -+++ qemu-5.2.0/configure -@@ -6973,7 +6973,6 @@ if has $sdl2_config; then +--- qemu-6.0.0.orig/configure ++++ qemu-6.0.0/configure +@@ -6371,7 +6371,6 @@ if has $sdl2_config; then fi echo "strip = [$(meson_quote $strip)]" >> $cross echo "windres = [$(meson_quote $windres)]" >> $cross --if test -n "$cross_prefix"; then +-if test "$cross_compile" = "yes"; then cross_arg="--cross-file config-meson.cross" echo "[host_machine]" >> $cross if test "$mingw32" = "yes" ; then -@@ -6999,9 +6998,6 @@ if test -n "$cross_prefix"; then +@@ -6403,9 +6402,6 @@ if test "$cross_compile" = "yes"; then else echo "endian = 'little'" >> $cross fi diff --git a/poky/meta/recipes-devtools/qemu/qemu/determinism.patch b/poky/meta/recipes-devtools/qemu/qemu/determinism.patch index cb1c90777..330a31204 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/determinism.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/determinism.patch @@ -4,38 +4,19 @@ qemu build are not reproducible due to either full buildpaths or timestamps. Replace the full paths with relative ones. I couldn't figure out how to get meson to pass relative paths but we can fix that in the script. -For the keymaps, omit the timestamps as they don't matter to us. - Upstream-Status: Pending [some version of all/part of this may be accepted] RP 2021/3/1 -Index: qemu-5.2.0/scripts/decodetree.py +Index: qemu-6.0.0/scripts/decodetree.py =================================================================== ---- qemu-5.2.0.orig/scripts/decodetree.py -+++ qemu-5.2.0/scripts/decodetree.py -@@ -1303,8 +1303,8 @@ def main(): +--- qemu-6.0.0.orig/scripts/decodetree.py ++++ qemu-6.0.0/scripts/decodetree.py +@@ -1304,7 +1304,7 @@ def main(): toppat = ExcMultiPattern(0) for filename in args: - input_file = filename -- f = open(filename, 'r') + input_file = os.path.relpath(filename) -+ f = open(input_file, 'r') + f = open(filename, 'rt', encoding='utf-8') parse_file(f, toppat) f.close() - -Index: qemu-5.2.0/ui/keycodemapdb/tools/keymap-gen -=================================================================== ---- qemu-5.2.0.orig/ui/keycodemapdb/tools/keymap-gen -+++ qemu-5.2.0/ui/keycodemapdb/tools/keymap-gen -@@ -317,9 +317,8 @@ class LanguageGenerator(object): - raise NotImplementedError() - - def generate_header(self, database, args): -- today = time.strftime("%Y-%m-%d %H:%M") - self._boilerplate([ -- "This file is auto-generated from keymaps.csv on %s" % today, -+ "This file is auto-generated from keymaps.csv", - "Database checksum sha256(%s)" % database.mapchecksum, - "To re-generate, run:", - " %s" % args, diff --git a/poky/meta/recipes-devtools/qemu/qemu/mingwfix.patch b/poky/meta/recipes-devtools/qemu/qemu/mingwfix.patch deleted file mode 100644 index 8d76cef63..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/mingwfix.patch +++ /dev/null @@ -1,21 +0,0 @@ -OE assumes that mingw files are in a unix like file layout. The -'flattening' done by configure in qemu for mingw32 breaks things -for us. We are discussing with upstream but for now, hack this to -disable it and use the unix like layout everywhere. - -Signed-off-by: Richard Purdie -Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg01073.html] - -Index: qemu-5.2.0/configure -=================================================================== ---- qemu-5.2.0.orig/configure -+++ qemu-5.2.0/configure -@@ -1541,7 +1541,7 @@ libdir="${libdir:-$prefix/lib}" - libexecdir="${libexecdir:-$prefix/libexec}" - includedir="${includedir:-$prefix/include}" - --if test "$mingw32" = "yes" ; then -+if test "$mingw32" = "dontwantthis" ; then - mandir="$prefix" - datadir="$prefix" - docdir="$prefix" diff --git a/poky/meta/recipes-devtools/qemu/qemu/mmap.patch b/poky/meta/recipes-devtools/qemu/qemu/mmap.patch deleted file mode 100644 index edd9734f3..000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/mmap.patch +++ /dev/null @@ -1,29 +0,0 @@ -If mremap() is called without the MREMAP_MAYMOVE flag with a start address -just before the end of memory (reserved_va) where new_size would exceed -GUEST_ADD_MAX, the assert(end - 1 <= GUEST_ADDR_MAX) in page_set_flags() -would trigger. - -Add an extra guard to the guest_range_valid() checks to prevent this and -avoid asserting binaries when reserved_va is set. - -This meant a test case now gives the same behaviour regardless of whether -reserved_va is set or not. - -Upstream-Status: Backport [https://github.com/qemu/qemu/commit/ccc5ccc17f8cfbfd87d9aede5d12a2d47c56e712] -Signed-off-by: Richard Purdie -Date: Thu, 13 Apr 2017 15:02:53 +0200 -Subject: [PATCH] Add Node 7.x aka V8 5.2+ support - -* Use WeakCallbackInfo instead of WeakCallbackData -* Use GetPrivate instead of GetHiddenValue -* Adopted new signature for SetWeak to support destructor calling -* SetAccessor deprecation fixed -* Proper version checks where applicable - -Upstream-Status: Submitted [https://github.com/swig/swig/pull/968] - -Signed-off-by: Paul Eggleton ---- - Lib/javascript/v8/javascriptcode.swg | 27 +++++++++++++++++----- - Lib/javascript/v8/javascripthelpers.swg | 29 +++++++++++++++++++++--- - Lib/javascript/v8/javascriptinit.swg | 16 +++++++++++-- - Lib/javascript/v8/javascriptrun.swg | 40 ++++++++++++++++++++++++++++----- - 4 files changed, 95 insertions(+), 17 deletions(-) - -diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg -index fb7d55c..b8c5089 100644 ---- a/Lib/javascript/v8/javascriptcode.swg -+++ b/Lib/javascript/v8/javascriptcode.swg -@@ -133,10 +133,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - static void $jswrapper(v8::Isolate *isolate, v8::Persistent *object, SWIGV8_Proxy *proxy) { --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - static void $jswrapper(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SWIGV8_Proxy *proxy = data.GetParameter(); -+#else -+ static void $jswrapper(const v8::WeakCallbackInfo &data) { -+ SWIGV8_Proxy *proxy = data.GetParameter(); - #endif - - if(proxy->swigCMemOwn && proxy->swigCObject) { -@@ -147,7 +150,9 @@ static void $jswrapper(const v8::WeakCallbackData &dat - } - delete proxy; - -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - object.Clear(); -+#endif - - #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) - object.Dispose(); -@@ -155,7 +160,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat - object.Dispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100) - object->Dispose(isolate); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - object->Dispose(); - #endif - } -@@ -177,10 +182,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent object, v - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) { --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - static void $jswrapper(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SWIGV8_Proxy *proxy = data.GetParameter(); -+#else -+static void $jswrapper(const v8::WeakCallbackInfo &data) { -+ SWIGV8_Proxy *proxy = data.GetParameter(); - #endif - - if(proxy->swigCMemOwn && proxy->swigCObject) { -@@ -197,7 +205,7 @@ static void $jswrapper(const v8::WeakCallbackData &dat - object->Dispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - object->Dispose(); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - object.Clear(); - #endif - } -@@ -211,7 +219,11 @@ static void $jswrapper(const v8::WeakCallbackData &dat - * ----------------------------------------------------------------------------- */ - %fragment("js_getter", "templates") - %{ -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { -+#else -+static SwigV8ReturnValue $jswrapper(v8::Local property, const SwigV8PropertyCallbackInfo &info) { -+#endif - SWIGV8_HANDLESCOPE(); - - v8::Handle jsresult; -@@ -233,8 +245,11 @@ fail: - * ----------------------------------------------------------------------------- */ - %fragment("js_setter", "templates") - %{ --static void $jswrapper(v8::Local property, v8::Local value, -- const SwigV8PropertyCallbackInfoVoid &info) { -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { -+#else -+static void $jswrapper(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid &info) { -+#endif - SWIGV8_HANDLESCOPE(); - - $jslocals -diff --git a/Lib/javascript/v8/javascripthelpers.swg b/Lib/javascript/v8/javascripthelpers.swg -index 091467d..7461079 100644 ---- a/Lib/javascript/v8/javascripthelpers.swg -+++ b/Lib/javascript/v8/javascripthelpers.swg -@@ -6,11 +6,16 @@ typedef v8::InvocationCallback SwigV8FunctionCallback; - typedef v8::AccessorGetter SwigV8AccessorGetterCallback; - typedef v8::AccessorSetter SwigV8AccessorSetterCallback; - typedef v8::AccessorInfo SwigV8PropertyCallbackInfoVoid; --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - typedef v8::FunctionCallback SwigV8FunctionCallback; - typedef v8::AccessorGetterCallback SwigV8AccessorGetterCallback; - typedef v8::AccessorSetterCallback SwigV8AccessorSetterCallback; - typedef v8::PropertyCallbackInfo SwigV8PropertyCallbackInfoVoid; -+#else -+typedef v8::FunctionCallback SwigV8FunctionCallback; -+typedef v8::AccessorNameGetterCallback SwigV8AccessorGetterCallback; -+typedef v8::AccessorNameSetterCallback SwigV8AccessorSetterCallback; -+typedef v8::PropertyCallbackInfo SwigV8PropertyCallbackInfoVoid; - #endif - - /** -@@ -65,18 +70,36 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(v8::Handle obj, const char - */ - SWIGRUNTIME void SWIGV8_AddStaticVariable(v8::Handle obj, const char* symbol, - SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) { -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter); -+#else -+ obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter); -+#endif - } - --SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, -- const SwigV8PropertyCallbackInfoVoid& info) -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) -+SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) -+#else -+SWIGRUNTIME void JS_veto_set_variable(v8::Local property, v8::Local value, const SwigV8PropertyCallbackInfoVoid& info) -+#endif - { - char buffer[256]; - char msg[512]; - int res; - -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - property->WriteUtf8(buffer, 256); - res = sprintf(msg, "Tried to write read-only variable: %s.", buffer); -+#else -+ v8::Local sproperty; -+ if (property->ToString(SWIGV8_CURRENT_CONTEXT()).ToLocal(&sproperty)) { -+ sproperty->WriteUtf8(buffer, 256); -+ res = sprintf(msg, "Tried to write read-only variable: %s.", buffer); -+ } -+ else { -+ res = -1; -+ } -+#endif - - if(res<0) { - SWIG_exception(SWIG_ERROR, "Tried to write read-only variable."); -diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg -index 34befa7..86008d9 100644 ---- a/Lib/javascript/v8/javascriptinit.swg -+++ b/Lib/javascript/v8/javascriptinit.swg -@@ -7,15 +7,27 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) { - v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); - v8::Local mod = SWIGV8_EXTERNAL_NEW(swig_module); - assert(!mod.IsEmpty()); -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod); -+#else -+ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); -+ global_obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, mod); -+#endif - } - - SWIGRUNTIME swig_module_info * - SWIG_V8_GetModule(void *) { - v8::Local global_obj = SWIGV8_CURRENT_CONTEXT()->Global(); -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - v8::Local moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data")); -+#else -+ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data")); -+ v8::Local moduleinfo; -+ if (!global_obj->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&moduleinfo)) -+ return 0; -+#endif - -- if (moduleinfo.IsEmpty()) -+ if (moduleinfo.IsEmpty() || moduleinfo->IsNull() || moduleinfo->IsUndefined()) - { - // It's not yet loaded - return 0; -@@ -23,7 +35,7 @@ SWIG_V8_GetModule(void *) { - - v8::Local moduleinfo_extern = v8::Local::Cast(moduleinfo); - -- if (moduleinfo_extern.IsEmpty()) -+ if (moduleinfo_extern.IsEmpty() || moduleinfo_extern->IsNull() || moduleinfo_extern->IsUndefined()) - { - // Something's not right - return 0; -diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg -index 5ac52a5..30002c0 100644 ---- a/Lib/javascript/v8/javascriptrun.swg -+++ b/Lib/javascript/v8/javascriptrun.swg -@@ -193,8 +193,10 @@ public: - void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - void (*dtor) (const v8::WeakCallbackData &data); -+#else -+ void (*dtor) (const v8::WeakCallbackInfo &data); - #endif - }; - -@@ -241,9 +243,12 @@ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Val - SWIGV8_Proxy *proxy = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) { --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData &data) { - SWIGV8_Proxy *proxy = data.GetParameter(); -+#else -+SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackInfo &data) { -+ SWIGV8_Proxy *proxy = data.GetParameter(); - #endif - - delete proxy; -@@ -312,12 +317,18 @@ SWIGRUNTIME void SWIGV8_SetPrivateData(v8::Handle obj, void *ptr, sw - } else { - cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor); - } --#else -+#elifif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) { - cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor); - } else { - cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor); - } -+#else -+ if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) { -+ cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor, v8::WeakCallbackType::kParameter); -+ } else { -+ cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor, v8::WeakCallbackType::kParameter); -+ } - #endif - - #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) -@@ -470,7 +481,14 @@ int SwigV8Packed_Check(v8::Handle valRef) { - - v8::Handle objRef = valRef->ToObject(); - if(objRef->InternalFieldCount() < 1) return false; -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - v8::Handle flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__")); -+#else -+ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); -+ v8::Local flag; -+ if (!objRef->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&flag)) -+ return false; -+#endif - return (flag->IsBoolean() && flag->BooleanValue()); - } - -@@ -519,10 +537,13 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persist - SwigV8PackedData *cdata = static_cast(parameter); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent *object, SwigV8PackedData *cdata) { --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData &data) { - v8::Local object = data.GetValue(); - SwigV8PackedData *cdata = data.GetParameter(); -+#else -+SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackInfo &data) { -+ SwigV8PackedData *cdata = data.GetParameter(); - #endif - - delete cdata; -@@ -537,7 +558,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackDataDispose(isolate); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - object->Dispose(); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - object.Clear(); - #endif - } -@@ -550,7 +571,12 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf - // v8::Handle obj = SWIGV8_OBJECT_NEW(); - v8::Local obj = SWIGV8_OBJECT_NEW(); - -+#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true)); -+#else -+ v8::Local privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__")); -+ obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, SWIGV8_BOOLEAN_NEW(true)); -+#endif - - #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511) - obj->SetPointerInInternalField(0, cdata); -@@ -573,9 +599,11 @@ v8::Handle SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf - cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete); - #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION) - cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete); --#else -+#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2) - cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete); - // v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete); -+#else -+ cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete, v8::WeakCallbackType::kParameter); - #endif - - #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710) --- -2.9.5 - diff --git a/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch b/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch deleted file mode 100644 index f4ed782a8..000000000 --- a/poky/meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch +++ /dev/null @@ -1,179 +0,0 @@ -From 90ba174fcea1618af57aa594199541d47a89b7f6 Mon Sep 17 00:00:00 2001 -From: William S Fulton -Date: Sun, 17 Sep 2017 19:02:55 +0100 -Subject: [PATCH 1/2] Fix generated code for constant expressions containing - wchar_t L literals. - -Such as: - # define __WCHAR_MAX (0x7fffffff + L'\0') - -Reported on swig-user mailing list. ---- - CHANGES.current | 5 +++++ - Examples/test-suite/csharp/preproc_constants_c_runme.cs | 3 ++- - Examples/test-suite/csharp/preproc_constants_runme.cs | 2 ++ - Examples/test-suite/d/preproc_constants_c_runme.1.d | 2 ++ - Examples/test-suite/d/preproc_constants_c_runme.2.d | 2 ++ - Examples/test-suite/d/preproc_constants_runme.1.d | 2 ++ - Examples/test-suite/d/preproc_constants_runme.2.d | 2 ++ - Examples/test-suite/php/preproc_constants_c_runme.php | 2 ++ - Examples/test-suite/php/preproc_constants_runme.php | 2 ++ - Examples/test-suite/php5/preproc_constants_c_runme.php | 2 ++ - Examples/test-suite/php5/preproc_constants_runme.php | 2 ++ - Examples/test-suite/preproc_constants.i | 3 +++ - Source/CParse/parser.y | 2 +- - 13 files changed, 29 insertions(+), 2 deletions(-) - -Upstream-Status: Backport -[https://github.com/swig/swig/commit/90ba174fcea1618af57aa594199541d47a89b7f6] -Signed-off-by: Luca Boccassi - -diff --git a/Examples/test-suite/csharp/preproc_constants_c_runme.cs b/Examples/test-suite/csharp/preproc_constants_c_runme.cs -index 76c684d..1c28e49 100644 ---- a/Examples/test-suite/csharp/preproc_constants_c_runme.cs -+++ b/Examples/test-suite/csharp/preproc_constants_c_runme.cs -@@ -61,7 +61,8 @@ public class runme { - assert( typeof(int) == preproc_constants_c.EXPR_LAND.GetType() ); - assert( typeof(int) == preproc_constants_c.EXPR_LOR.GetType() ); - assert( typeof(double) == preproc_constants_c.EXPR_CONDITIONAL.GetType() ); -- -+ assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MAX.GetType() ); -+ assert( typeof(int) == preproc_constants_c.EXPR_WCHAR_MIN.GetType() ); - } - static void assert(bool assertion) { - if (!assertion) -diff --git a/Examples/test-suite/csharp/preproc_constants_runme.cs b/Examples/test-suite/csharp/preproc_constants_runme.cs -index 9fae591..6b02e30 100644 ---- a/Examples/test-suite/csharp/preproc_constants_runme.cs -+++ b/Examples/test-suite/csharp/preproc_constants_runme.cs -@@ -60,6 +60,8 @@ public class runme { - assert( typeof(bool) == preproc_constants.EXPR_LAND.GetType() ); - assert( typeof(bool) == preproc_constants.EXPR_LOR.GetType() ); - assert( typeof(double) == preproc_constants.EXPR_CONDITIONAL.GetType() ); -+ assert( typeof(int) == preproc_constants.EXPR_WCHAR_MAX.GetType() ); -+ assert( typeof(int) == preproc_constants.EXPR_WCHAR_MIN.GetType() ); - - } - static void assert(bool assertion) { -diff --git a/Examples/test-suite/d/preproc_constants_c_runme.1.d b/Examples/test-suite/d/preproc_constants_c_runme.1.d -index d846c71..2b349af 100644 ---- a/Examples/test-suite/d/preproc_constants_c_runme.1.d -+++ b/Examples/test-suite/d/preproc_constants_c_runme.1.d -@@ -61,4 +61,6 @@ void main() { - static assert(is(int == typeof(EXPR_LAND()))); - static assert(is(int == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MAX()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_c_runme.2.d b/Examples/test-suite/d/preproc_constants_c_runme.2.d -index 9bdbb93..1bac525 100644 ---- a/Examples/test-suite/d/preproc_constants_c_runme.2.d -+++ b/Examples/test-suite/d/preproc_constants_c_runme.2.d -@@ -61,4 +61,6 @@ void main() { - static assert(is(int == typeof(EXPR_LAND()))); - static assert(is(int == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MAX()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_runme.1.d b/Examples/test-suite/d/preproc_constants_runme.1.d -index 009405f..f743f48 100644 ---- a/Examples/test-suite/d/preproc_constants_runme.1.d -+++ b/Examples/test-suite/d/preproc_constants_runme.1.d -@@ -60,4 +60,6 @@ void main() { - static assert(is(bool == typeof(EXPR_LAND()))); - static assert(is(bool == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MAX()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/d/preproc_constants_runme.2.d b/Examples/test-suite/d/preproc_constants_runme.2.d -index 2d92ef0..0d96c37 100644 ---- a/Examples/test-suite/d/preproc_constants_runme.2.d -+++ b/Examples/test-suite/d/preproc_constants_runme.2.d -@@ -60,4 +60,6 @@ void main() { - static assert(is(bool == typeof(EXPR_LAND()))); - static assert(is(bool == typeof(EXPR_LOR()))); - static assert(is(double == typeof(EXPR_CONDITIONAL()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MAX()))); -+ static assert(is(int == typeof(EXPR_WCHAR_MIN()))); - } -diff --git a/Examples/test-suite/php/preproc_constants_c_runme.php b/Examples/test-suite/php/preproc_constants_c_runme.php -index af9b76e..e59fe18 100644 ---- a/Examples/test-suite/php/preproc_constants_c_runme.php -+++ b/Examples/test-suite/php/preproc_constants_c_runme.php -@@ -62,5 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant - check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - - ?> -diff --git a/Examples/test-suite/php/preproc_constants_runme.php b/Examples/test-suite/php/preproc_constants_runme.php -index 5c9119b..8e117ea 100644 ---- a/Examples/test-suite/php/preproc_constants_runme.php -+++ b/Examples/test-suite/php/preproc_constants_runme.php -@@ -61,5 +61,7 @@ check::equal(gettype(preproc_constants::EXPR_OR), "integer", "preproc_constants. - check::equal(gettype(preproc_constants::EXPR_LAND), "boolean", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_LOR), "boolean", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - - ?> -diff --git a/Examples/test-suite/php5/preproc_constants_c_runme.php b/Examples/test-suite/php5/preproc_constants_c_runme.php -index 1ea0195..d978fab 100644 ---- a/Examples/test-suite/php5/preproc_constants_c_runme.php -+++ b/Examples/test-suite/php5/preproc_constants_c_runme.php -@@ -62,5 +62,7 @@ check::equal(gettype(preproc_constants_c::EXPR_OR), "integer", "preproc_constant - check::equal(gettype(preproc_constants_c::EXPR_LAND), "integer", "preproc_constants.EXPR_LAND has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - check::equal(gettype(preproc_constants_c::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); -+check::equal(gettype(preproc_constants_c::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - - ?> -diff --git a/Examples/test-suite/php5/preproc_constants_runme.php b/Examples/test-suite/php5/preproc_constants_runme.php -index fb9ee4f..7527026 100644 ---- a/Examples/test-suite/php5/preproc_constants_runme.php -+++ b/Examples/test-suite/php5/preproc_constants_runme.php -@@ -70,5 +70,7 @@ check::equal(gettype(preproc_constants::EXPR_LAND), "integer", "preproc_constant - check::equal(gettype(preproc_constants::EXPR_LOR), "integer", "preproc_constants.EXPR_LOR has unexpected type"); - - check::equal(gettype(preproc_constants::EXPR_CONDITIONAL), "double", "preproc_constants.EXPR_CONDITIONAL has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_WCHAR_MAX), "integer", "preproc_constants.EXPR_WCHAR_MAX has unexpected type"); -+check::equal(gettype(preproc_constants::EXPR_WCHAR_MIN), "integer", "preproc_constants.EXPR_WCHAR_MIN has unexpected type"); - - ?> -diff --git a/Examples/test-suite/preproc_constants.i b/Examples/test-suite/preproc_constants.i -index 3a999ad..16b44c9 100644 ---- a/Examples/test-suite/preproc_constants.i -+++ b/Examples/test-suite/preproc_constants.i -@@ -87,6 +87,9 @@ - #define EXPR_LOR 0xFF || 1 - #define EXPR_CONDITIONAL true ? 2 : 2.2 - -+#define EXPR_WCHAR_MAX (0x7fffffff + L'\0') -+#define EXPR_WCHAR_MIN (-EXPR_WCHAR_MAX - 1) -+ - #define EXPR_CHAR_COMPOUND_ADD 'A' + 12 - #define EXPR_CHAR_COMPOUND_LSHIFT 'B' << 6 - #define H_SUPPRESS_SCALING_MAGIC (('s'<<24) | ('u'<<16) | ('p'<<8) | 'p') -diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y -index 2e92cd0..273dadb 100644 ---- a/Source/CParse/parser.y -+++ b/Source/CParse/parser.y -@@ -194,7 +194,7 @@ int SWIG_cparse_template_reduce(int treduce) { - * ----------------------------------------------------------------------------- */ - - static int promote_type(int t) { -- if (t <= T_UCHAR || t == T_CHAR) return T_INT; -+ if (t <= T_UCHAR || t == T_CHAR || t == T_WCHAR) return T_INT; - return t; - } - --- -2.9.5 - diff --git a/poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch b/poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch index 81df3e264..f27f80ea1 100644 --- a/poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch +++ b/poky/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch @@ -13,13 +13,11 @@ http://sourceforge.net/mailarchive/message.php?msg_id=29179733 Source/Modules/main.cxx | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) -diff --git a/Source/Modules/main.cxx b/Source/Modules/main.cxx -index d2f5d3b..cbb0a12 100644 --- a/Source/Modules/main.cxx +++ b/Source/Modules/main.cxx -@@ -26,6 +26,11 @@ char cvsroot_main_cxx[] = "$Id$"; - #include "cparse.h" +@@ -25,6 +25,11 @@ #include + #include #include // for INT_MAX +#ifndef _WIN32 +#include @@ -29,7 +27,7 @@ index d2f5d3b..cbb0a12 100644 // Global variables -@@ -902,9 +907,9 @@ int SWIG_main(int argc, char *argv[], Language *l) { +@@ -934,9 +939,9 @@ int SWIG_main(int argc, char *argv[], co // Check for SWIG_LIB environment variable if ((c = getenv("SWIG_LIB")) == (char *) 0) { @@ -40,7 +38,7 @@ index d2f5d3b..cbb0a12 100644 if (!(GetModuleFileName(0, buf, MAX_PATH) == 0 || (p = strrchr(buf, '\\')) == 0)) { *(p + 1) = '\0'; SwigLib = NewStringf("%sLib", buf); // Native windows installation path -@@ -914,7 +919,22 @@ int SWIG_main(int argc, char *argv[], Language *l) { +@@ -946,7 +951,22 @@ int SWIG_main(int argc, char *argv[], co if (Len(SWIG_LIB_WIN_UNIX) > 0) SwigLibWinUnix = NewString(SWIG_LIB_WIN_UNIX); // Unix installation path using a drive letter (for msys/mingw) #else @@ -64,6 +62,3 @@ index d2f5d3b..cbb0a12 100644 #endif } else { SwigLib = NewString(c); --- -1.7.9.5 - diff --git a/poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch b/poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch index 1b1128aca..114de7ed9 100644 --- a/poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch +++ b/poky/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch @@ -9,11 +9,9 @@ Upstream-Status: pending configure.ac | 38 +++++++------------------------------- 1 file changed, 7 insertions(+), 31 deletions(-) -diff --git a/configure.ac b/configure.ac -index 0c984b7..6edcec1 100644 --- a/configure.ac +++ b/configure.ac -@@ -70,38 +70,14 @@ AC_MSG_RESULT([$with_pcre]) +@@ -52,38 +52,14 @@ AC_MSG_RESULT([$with_pcre]) dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script if test x"${with_pcre}" = xyes ; then @@ -59,6 +57,3 @@ index 0c984b7..6edcec1 100644 dnl CCache --- -1.9.3 - diff --git a/poky/meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch b/poky/meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch deleted file mode 100644 index a91385916..000000000 --- a/poky/meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch +++ /dev/null @@ -1,191 +0,0 @@ -From b6c0ef4b8f6e5c089ac7104b3aaba8f1d17b8b82 Mon Sep 17 00:00:00 2001 -From: Olly Betts -Date: Mon, 11 Jun 2018 15:51:53 +1200 -Subject: [PATCH] [Python] Fix new GCC8 warnings in generated code - -Avoid casts between incompatible function types where possible (when -keyword args are in use, it is not possible to avoid such warnings as -they are inherent in the design of Python's C API in that particular -case). Fixes #1259. - -Upstream-Status: Backport -[https://github.com/swig/swig/commit/7f9883011029674553a2a4b623d459f02b512458] - -Signed-off-by: Yi Zhao ---- - Lib/python/pyinit.swg | 4 ++-- - Lib/python/pyrun.swg | 34 ++++++++++++++++++++++++++-------- - Source/Modules/python.cxx | 26 +++++++++++++------------- - 3 files changed, 41 insertions(+), 23 deletions(-) - -diff --git a/Lib/python/pyinit.swg b/Lib/python/pyinit.swg -index 2cc5828..6bf68c1 100644 ---- a/Lib/python/pyinit.swg -+++ b/Lib/python/pyinit.swg -@@ -368,8 +368,8 @@ SWIG_init(void) { - (char *)"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL - }; - static SwigPyGetSet thisown_getset_closure = { -- (PyCFunction) SwigPyObject_own, -- (PyCFunction) SwigPyObject_own -+ SwigPyObject_own, -+ SwigPyObject_own - }; - static PyGetSetDef thisown_getset_def = { - (char *)"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure -diff --git a/Lib/python/pyrun.swg b/Lib/python/pyrun.swg -index ab1237f..3d0b1b3 100644 ---- a/Lib/python/pyrun.swg -+++ b/Lib/python/pyrun.swg -@@ -465,6 +465,14 @@ SwigPyObject_repr(SwigPyObject *v, PyObject *args) - return repr; - } - -+/* We need a version taking two PyObject* parameters so it's a valid -+ * PyCFunction to use in swigobject_methods[]. */ -+SWIGRUNTIME PyObject * -+SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args)) -+{ -+ return SwigPyObject_repr((SwigPyObject*)v); -+} -+ - SWIGRUNTIME int - SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w) - { -@@ -594,11 +602,7 @@ SwigPyObject_append(PyObject* v, PyObject* next) - } - - SWIGRUNTIME PyObject* --#ifdef METH_NOARGS --SwigPyObject_next(PyObject* v) --#else - SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) --#endif - { - SwigPyObject *sobj = (SwigPyObject *) v; - if (sobj->next) { -@@ -633,6 +637,20 @@ SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) - return SWIG_Py_Void(); - } - -+#ifdef METH_NOARGS -+static PyObject* -+SwigPyObject_disown2(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -+{ -+ return SwigPyObject_disown(v); -+} -+ -+static PyObject* -+SwigPyObject_acquire2(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) -+{ -+ return SwigPyObject_acquire(v); -+} -+#endif -+ - SWIGINTERN PyObject* - SwigPyObject_own(PyObject *v, PyObject *args) - { -@@ -673,12 +691,12 @@ SwigPyObject_own(PyObject *v, PyObject *args) - #ifdef METH_O - static PyMethodDef - swigobject_methods[] = { -- {(char *)"disown", (PyCFunction)SwigPyObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"}, -- {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_NOARGS, (char *)"acquires ownership of the pointer"}, -+ {(char *)"disown", (PyCFunction)SwigPyObject_disown2, METH_NOARGS, (char *)"releases ownership of the pointer"}, -+ {(char *)"acquire", (PyCFunction)SwigPyObject_acquire2,METH_NOARGS, (char *)"acquires ownership of the pointer"}, - {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, - {(char *)"append", (PyCFunction)SwigPyObject_append, METH_O, (char *)"appends another 'this' object"}, - {(char *)"next", (PyCFunction)SwigPyObject_next, METH_NOARGS, (char *)"returns the next 'this' object"}, -- {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_NOARGS, (char *)"returns object representation"}, -+ {(char *)"__repr__",(PyCFunction)SwigPyObject_repr2, METH_NOARGS, (char *)"returns object representation"}, - {0, 0, 0, 0} - }; - #else -@@ -689,7 +707,7 @@ swigobject_methods[] = { - {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, - {(char *)"append", (PyCFunction)SwigPyObject_append, METH_VARARGS, (char *)"appends another 'this' object"}, - {(char *)"next", (PyCFunction)SwigPyObject_next, METH_VARARGS, (char *)"returns the next 'this' object"}, -- {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_VARARGS, (char *)"returns object representation"}, -+ {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_VARARGS, (char *)"returns object representation"}, - {0, 0, 0, 0} - }; - #endif -diff --git a/Source/Modules/python.cxx b/Source/Modules/python.cxx -index a6801fc..72eaa77 100644 ---- a/Source/Modules/python.cxx -+++ b/Source/Modules/python.cxx -@@ -1109,7 +1109,7 @@ public: - * ------------------------------------------------------------ */ - int add_pyinstancemethod_new() { - String *name = NewString("SWIG_PyInstanceMethod_New"); -- Printf(methods, "\t { (char *)\"%s\", (PyCFunction)%s, METH_O, NULL},\n", name, name); -+ Printf(methods, "\t { \"%s\", %s, METH_O, NULL},\n", name, name); - Delete(name); - return 0; - } -@@ -2479,17 +2479,17 @@ public: - if (!kw) { - if (n && funpack) { - if (num_required == 0 && num_arguments == 0) { -- Printf(methods, "\t { (char *)\"%s\", (PyCFunction)%s, METH_NOARGS, ", name, function); -+ Printf(methods, "\t { \"%s\", %s, METH_NOARGS, ", name, function); - } else if (num_required == 1 && num_arguments == 1) { -- Printf(methods, "\t { (char *)\"%s\", (PyCFunction)%s, METH_O, ", name, function); -+ Printf(methods, "\t { \"%s\", %s, METH_O, ", name, function); - } else { -- Printf(methods, "\t { (char *)\"%s\", %s, METH_VARARGS, ", name, function); -+ Printf(methods, "\t { \"%s\", %s, METH_VARARGS, ", name, function); - } - } else { -- Printf(methods, "\t { (char *)\"%s\", %s, METH_VARARGS, ", name, function); -+ Printf(methods, "\t { \"%s\", %s, METH_VARARGS, ", name, function); - } - } else { -- Printf(methods, "\t { (char *)\"%s\", (PyCFunction) %s, METH_VARARGS | METH_KEYWORDS, ", name, function); -+ Printf(methods, "\t { \"%s\", (PyCFunction)%s, METH_VARARGS|METH_KEYWORDS, ", name, function); - } - - if (!n) { -@@ -3857,7 +3857,7 @@ public: - if (shadow) { - if (builtin) { - String *rname = SwigType_namestr(real_classname); -- Printf(builtin_methods, " { \"__disown__\", (PyCFunction) Swig::Director::swig_pyobj_disown< %s >, METH_NOARGS, \"\" },\n", rname); -+ Printf(builtin_methods, " { \"__disown__\", Swig::Director::swig_pyobj_disown< %s >, METH_NOARGS, \"\" },\n", rname); - Delete(rname); - } else { - String *symname = Getattr(n, "sym:name"); -@@ -4694,13 +4694,13 @@ public: - int argcount = Getattr(n, "python:argcount") ? atoi(Char(Getattr(n, "python:argcount"))) : 2; - String *ds = have_docstring(n) ? cdocstring(n, AUTODOC_FUNC) : NewString(""); - if (check_kwargs(n)) { -- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, METH_VARARGS|METH_KEYWORDS, (char *) \"%s\" },\n", symname, wname, ds); -+ Printf(builtin_methods, " { \"%s\", (PyCFunction)%s, METH_VARARGS|METH_KEYWORDS, \"%s\" },\n", symname, wname, ds); - } else if (argcount == 0) { -- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, METH_NOARGS, (char *) \"%s\" },\n", symname, wname, ds); -+ Printf(builtin_methods, " { \"%s\", %s, METH_NOARGS, \"%s\" },\n", symname, wname, ds); - } else if (argcount == 1) { -- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, METH_O, (char *) \"%s\" },\n", symname, wname, ds); -+ Printf(builtin_methods, " { \"%s\", %s, METH_O, \"%s\" },\n", symname, wname, ds); - } else { -- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, METH_VARARGS, (char *) \"%s\" },\n", symname, wname, ds); -+ Printf(builtin_methods, " { \"%s\", %s, METH_VARARGS, \"%s\" },\n", symname, wname, ds); - } - Delete(fullname); - Delete(wname); -@@ -4801,10 +4801,10 @@ public: - Append(pyflags, "METH_VARARGS"); - if (have_docstring(n)) { - String *ds = cdocstring(n, AUTODOC_STATICFUNC); -- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, %s, (char *) \"%s\" },\n", symname, wname, pyflags, ds); -+ Printf(builtin_methods, " { \"%s\", (PyCFunction)%s, %s, \"%s\" },\n", symname, wname, pyflags, ds); - Delete(ds); - } else { -- Printf(builtin_methods, " { \"%s\", (PyCFunction) %s, %s, \"\" },\n", symname, wname, pyflags); -+ Printf(builtin_methods, " { \"%s\", (PyCFunction)%s, %s, \"\" },\n", symname, wname, pyflags); - } - Delete(fullname); - Delete(wname); --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/swig/swig/determinism.patch b/poky/meta/recipes-devtools/swig/swig/determinism.patch index 8ffb4bce8..84c399182 100644 --- a/poky/meta/recipes-devtools/swig/swig/determinism.patch +++ b/poky/meta/recipes-devtools/swig/swig/determinism.patch @@ -5,11 +5,9 @@ Upstream-Status: Inappropriate [OE reproducibiity fix upstream unlikely to take] RP 2021/3/1 -Index: swig-3.0.12/Source/Modules/main.cxx -=================================================================== ---- swig-3.0.12.orig/Source/Modules/main.cxx -+++ swig-3.0.12/Source/Modules/main.cxx -@@ -636,7 +636,6 @@ void SWIG_getoptions(int argc, char *arg +--- a/Source/Modules/main.cxx ++++ b/Source/Modules/main.cxx +@@ -642,7 +642,6 @@ static void getoptions(int argc, char *a } } else if (strcmp(argv[i], "-version") == 0) { fprintf(stdout, "\nSWIG Version %s\n", Swig_package_version()); diff --git a/poky/meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch b/poky/meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch deleted file mode 100644 index 10e4afd1b..000000000 --- a/poky/meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 9825fcbab5c4ddd867432f9922bebfbec7b78af0 Mon Sep 17 00:00:00 2001 -From: Mark Dufour -Date: Tue, 14 Feb 2017 10:34:37 +0100 -Subject: [PATCH] [Coverity] fix issue reported for SWIG_Python_FixMethods - -Fix Coverity issue reported for SWIG_Python_FixMethods: - -"buffer_size: Calling strncpy with a source string whose length -(10 chars) is greater than or equal to the size argument (10) -will fail to null-terminate buff." - -The issue is only reported for the "swig_ptr: " line, but for -consistency we replace both occurrences of strncpy with memcpy. ---- -Signed-off-by: Khem Raj -Upstream-Status: Backport [https://github.com/swig/swig/pull/898] - - Lib/python/pyinit.swg | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: swig-3.0.12/Lib/python/pyinit.swg -=================================================================== ---- swig-3.0.12.orig/Lib/python/pyinit.swg -+++ swig-3.0.12/Lib/python/pyinit.swg -@@ -306,9 +306,9 @@ SWIG_Python_FixMethods(PyMethodDef *meth - char *ndoc = (char*)malloc(ldoc + lptr + 10); - if (ndoc) { - char *buff = ndoc; -- strncpy(buff, methods[i].ml_doc, ldoc); -+ memcpy(buff, methods[i].ml_doc, ldoc); - buff += ldoc; -- strncpy(buff, "swig_ptr: ", 10); -+ memcpy(buff, "swig_ptr: ", 10); - buff += 10; - SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); - methods[i].ml_doc = ndoc; diff --git a/poky/meta/recipes-devtools/swig/swig_3.0.12.bb b/poky/meta/recipes-devtools/swig/swig_3.0.12.bb deleted file mode 100644 index 090aaa811..000000000 --- a/poky/meta/recipes-devtools/swig/swig_3.0.12.bb +++ /dev/null @@ -1,13 +0,0 @@ -require ${BPN}.inc - -SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch \ - file://0001-configure-use-pkg-config-for-pcre-detection.patch \ - file://0001-Add-Node-7.x-aka-V8-5.2-support.patch \ - file://swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch \ - file://Python-Fix-new-GCC8-warnings-in-generated-code.patch \ - file://0001-Fix-generated-code-for-constant-expressions-containi.patch \ - file://determinism.patch \ - " -SRC_URI[md5sum] = "82133dfa7bba75ff9ad98a7046be687c" -SRC_URI[sha256sum] = "7cf9f447ae7ed1c51722efc45e7f14418d15d7a1e143ac9f09a668999f4fc94d" - diff --git a/poky/meta/recipes-devtools/swig/swig_4.0.2.bb b/poky/meta/recipes-devtools/swig/swig_4.0.2.bb new file mode 100644 index 000000000..718ad89a5 --- /dev/null +++ b/poky/meta/recipes-devtools/swig/swig_4.0.2.bb @@ -0,0 +1,7 @@ +require ${BPN}.inc + +SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch \ + file://0001-configure-use-pkg-config-for-pcre-detection.patch \ + file://determinism.patch \ + " +SRC_URI[sha256sum] = "d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc" diff --git a/poky/meta/recipes-devtools/unfs3/unfs3_git.bb b/poky/meta/recipes-devtools/unfs3/unfs3_git.bb index a21fb5839..f9bae720c 100644 --- a/poky/meta/recipes-devtools/unfs3/unfs3_git.bb +++ b/poky/meta/recipes-devtools/unfs3/unfs3_git.bb @@ -37,7 +37,7 @@ BBCLASSEXTEND = "native nativesdk" inherit autotools EXTRA_OECONF_append_class-native = " --sbindir=${bindir}" CFLAGS_append = " -I${STAGING_INCDIR}/tirpc" -LDFLAGS_append = " -ltirpc" +EXTRA_OECONF_append = " LIBS=-ltirpc" # Turn off these header detects else the inode search # will walk entire file systems and this is a real problem diff --git a/poky/meta/recipes-devtools/vala/vala_0.50.4.bb b/poky/meta/recipes-devtools/vala/vala_0.50.4.bb deleted file mode 100644 index 438163551..000000000 --- a/poky/meta/recipes-devtools/vala/vala_0.50.4.bb +++ /dev/null @@ -1,5 +0,0 @@ -require ${BPN}.inc - -SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch" - -SRC_URI[sha256sum] = "58fc31fa8bf492035b11d1a7d514801710afc65bd458b24c0f8d00280a92a38c" diff --git a/poky/meta/recipes-devtools/vala/vala_0.52.3.bb b/poky/meta/recipes-devtools/vala/vala_0.52.3.bb new file mode 100644 index 000000000..133dc9efa --- /dev/null +++ b/poky/meta/recipes-devtools/vala/vala_0.52.3.bb @@ -0,0 +1,5 @@ +require ${BPN}.inc + +SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch" + +SRC_URI[sha256sum] = "037ea1a92bf0f1ab04a71b52a01d50aca1945ad1017b6189d9614f84f5c9b2d9" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb index ebbd83dd3..d0c60d0a3 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb @@ -130,7 +130,7 @@ RDEPENDS_${PN} += "perl" # redirect functions like strlen. RRECOMMENDS_${PN} += "${TCLIBC}-dbg" -RDEPENDS_${PN}-ptest += " bash coreutils file \ +RDEPENDS_${PN}-ptest += " bash coreutils curl file \ gdb libgomp \ perl \ perl-module-file-basename perl-module-file-glob perl-module-getopt-long \ diff --git a/poky/meta/recipes-extended/at/at_3.2.1.bb b/poky/meta/recipes-extended/at/at_3.2.1.bb deleted file mode 100644 index ae15df866..000000000 --- a/poky/meta/recipes-extended/at/at_3.2.1.bb +++ /dev/null @@ -1,75 +0,0 @@ -SUMMARY = "Delayed job execution and batch processing" -HOMEPAGE = "http://blog.calhariz.com/" -DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \ -the system load levels drop to a particular level." -SECTION = "base" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" -DEPENDS = "flex flex-native bison-native \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" - -PACKAGECONFIG ?= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ -" - -PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux," - -RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \ -" - -PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits" - -RCONFLICTS_${PN} = "atd" -RREPLACES_${PN} = "atd" - -SRC_URI = "http://software.calhariz.com/at/${BPN}_${PV}.orig.tar.gz \ - file://fix_parallel_build_error.patch \ - file://posixtm.c \ - file://posixtm.h \ - file://file_replacement_with_gplv2.patch \ - file://atd.init \ - file://atd.service \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - file://makefile-fix-parallel.patch \ - file://0001-remove-glibc-assumption.patch \ - " - -PAM_SRC_URI = "file://pam.conf.patch \ - file://configure-add-enable-pam.patch" - -SRC_URI[sha256sum] = "aabe6e5cb6dd19fe9fb25c2747492f2db38762b95ea41b86f949609c39fb55c4" - -EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ - --with-daemon_username=root \ - --with-daemon_groupname=root \ - --with-jobdir=/var/spool/at/jobs \ - --with-atspool=/var/spool/at/spool \ - ac_cv_header_security_pam_appl_h=${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)} " - -inherit autotools-brokensep systemd update-rc.d - -INITSCRIPT_NAME = "atd" -INITSCRIPT_PARAMS = "defaults" - -SYSTEMD_SERVICE_${PN} = "atd.service" - -copy_sources() { - cp -f ${WORKDIR}/posixtm.[ch] ${S} -} -do_patch[postfuncs] += "copy_sources" - -do_install () { - oe_runmake -e "IROOT=${D}" install - - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd - - # install systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/atd.service - - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then - install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd - fi -} diff --git a/poky/meta/recipes-extended/at/at_3.2.2.bb b/poky/meta/recipes-extended/at/at_3.2.2.bb new file mode 100644 index 000000000..5c2018774 --- /dev/null +++ b/poky/meta/recipes-extended/at/at_3.2.2.bb @@ -0,0 +1,76 @@ +SUMMARY = "Delayed job execution and batch processing" +HOMEPAGE = "http://blog.calhariz.com/" +DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \ +the system load levels drop to a particular level." +SECTION = "base" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" +DEPENDS = "flex flex-native bison-native \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +PACKAGECONFIG ?= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ +" + +PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux," + +RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \ +" + +PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits" + +RCONFLICTS_${PN} = "atd" +RREPLACES_${PN} = "atd" + +SRC_URI = "http://software.calhariz.com/at/${BPN}_${PV}.orig.tar.gz \ + file://fix_parallel_build_error.patch \ + file://posixtm.c \ + file://posixtm.h \ + file://file_replacement_with_gplv2.patch \ + file://atd.init \ + file://atd.service \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://makefile-fix-parallel.patch \ + file://0001-remove-glibc-assumption.patch \ + " + +PAM_SRC_URI = "file://pam.conf.patch \ + file://configure-add-enable-pam.patch" + +SRC_URI[sha256sum] = "2211da14914fde1f9cc83592838fb6385a32fb11fcecb7816c77700df6559088" + +EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ + --with-daemon_username=root \ + --with-daemon_groupname=root \ + --with-jobdir=/var/spool/at/jobs \ + --with-atspool=/var/spool/at/spool \ + ac_cv_header_security_pam_appl_h=${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)} " + +inherit autotools-brokensep systemd update-rc.d + +INITSCRIPT_NAME = "atd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_SERVICE_${PN} = "atd.service" + +copy_sources() { + cp -f ${WORKDIR}/posixtm.[ch] ${S} +} +do_patch[postfuncs] += "copy_sources" + +do_install () { + oe_runmake -e "IROOT=${D}" install + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd + + # install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/atd.service + + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then + install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd + fi + rm -f ${D}${datadir}/at/batch-job +} diff --git a/poky/meta/recipes-extended/cpio/cpio_2.13.bb b/poky/meta/recipes-extended/cpio/cpio_2.13.bb index 94d86100c..f4df826ed 100644 --- a/poky/meta/recipes-extended/cpio/cpio_2.13.bb +++ b/poky/meta/recipes-extended/cpio/cpio_2.13.bb @@ -16,6 +16,9 @@ SRC_URI[sha256sum] = "e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8 inherit autotools gettext texinfo +# Issue applies to use of cpio in SUSE/OBS, doesn't apply to us +CVE_CHECK_WHITELIST += "CVE-2010-4226" + EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}" do_install () { diff --git a/poky/meta/recipes-extended/cronie/cronie_1.5.5.bb b/poky/meta/recipes-extended/cronie/cronie_1.5.5.bb deleted file mode 100644 index 0def4a187..000000000 --- a/poky/meta/recipes-extended/cronie/cronie_1.5.5.bb +++ /dev/null @@ -1,84 +0,0 @@ -SUMMARY = "Cron daemon for executing programs at set times" -DESCRIPTION = "Cronie contains the standard UNIX daemon crond that runs \ -specified programs at scheduled times and related tools. It is based on the \ -original cron and has security and configuration enhancements like the \ -ability to use pam and SELinux." -HOMEPAGE = "https://github.com/cronie-crond/cronie/" -BUGTRACKER = "https://bugzilla.redhat.com" - -# Internet Systems Consortium License -LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \ - file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \ - file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9" - -SECTION = "utils" - -UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/" - -SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \ - file://crond.init \ - file://crontab \ - file://crond.service \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}" - -PAM_SRC_URI = "file://crond_pam_config.patch" -PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" - -SRC_URI[md5sum] = "351a37d0b5bd0144816724b4482747ad" -SRC_URI[sha256sum] = "be34c79505e5544323281854744b9955ff16b160ee569f9df7c0dddae5720eac" - -inherit autotools update-rc.d useradd systemd - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" - -PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit," -PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}" -PACKAGECONFIG[anacron] = "--enable-anacron,--disable-anacron,anacron" - -INITSCRIPT_NAME = "crond" -INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ." - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system crontab" - -SYSTEMD_SERVICE_${PN} = "crond.service" - -do_install_append () { - install -d ${D}${sysconfdir}/sysconfig/ - install -d ${D}${sysconfdir}/init.d/ - install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond - install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond - - # install systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system - sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${systemd_unitdir}/system/crond.service - - # below are necessary for a complete cron environment - install -d ${D}${localstatedir}/spool/cron - install -m 0755 ${WORKDIR}/crontab ${D}${sysconfdir}/ - mkdir -p ${D}${sysconfdir}/cron.d - mkdir -p ${D}${sysconfdir}/cron.hourly - mkdir -p ${D}${sysconfdir}/cron.daily - mkdir -p ${D}${sysconfdir}/cron.weekly - mkdir -p ${D}${sysconfdir}/cron.monthly - touch ${D}${sysconfdir}/cron.deny - - # below setting is necessary to allow normal user using crontab - - # setgid for crontab binary - chown root:crontab ${D}${bindir}/crontab - chmod 2755 ${D}${bindir}/crontab - - # allow 'crontab' group write to /var/spool/cron - chown root:crontab ${D}${localstatedir}/spool/cron - chmod 770 ${D}${localstatedir}/spool/cron - - chmod 600 ${D}${sysconfdir}/crontab -} - -FILES_${PN} += "${sysconfdir}/cron*" -CONFFILES_${PN} += "${sysconfdir}/crontab" diff --git a/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb b/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb new file mode 100644 index 000000000..d0abdd839 --- /dev/null +++ b/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb @@ -0,0 +1,83 @@ +SUMMARY = "Cron daemon for executing programs at set times" +DESCRIPTION = "Cronie contains the standard UNIX daemon crond that runs \ +specified programs at scheduled times and related tools. It is based on the \ +original cron and has security and configuration enhancements like the \ +ability to use pam and SELinux." +HOMEPAGE = "https://github.com/cronie-crond/cronie/" +BUGTRACKER = "https://bugzilla.redhat.com" + +# Internet Systems Consortium License +LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \ + file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \ + file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9" + +SECTION = "utils" + +UPSTREAM_CHECK_URI = "https://github.com/cronie-crond/${BPN}/releases/" + +SRC_URI = "https://github.com/cronie-crond/cronie/releases/download/cronie-${PV}/cronie-${PV}.tar.gz \ + file://crond.init \ + file://crontab \ + file://crond.service \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}" + +PAM_SRC_URI = "file://crond_pam_config.patch" +PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" + +SRC_URI[sha256sum] = "538bcfaf2e986e5ae1edf6d1472a77ea8271d6a9005aee2497a9ed6e13320eb3" + +inherit autotools update-rc.d useradd systemd + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" + +PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit," +PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}" +PACKAGECONFIG[anacron] = "--enable-anacron,--disable-anacron,anacron" + +INITSCRIPT_NAME = "crond" +INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ." + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system crontab" + +SYSTEMD_SERVICE_${PN} = "crond.service" + +do_install_append () { + install -d ${D}${sysconfdir}/sysconfig/ + install -d ${D}${sysconfdir}/init.d/ + install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond + install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond + + # install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/crond.service + + # below are necessary for a complete cron environment + install -d ${D}${localstatedir}/spool/cron + install -m 0755 ${WORKDIR}/crontab ${D}${sysconfdir}/ + mkdir -p ${D}${sysconfdir}/cron.d + mkdir -p ${D}${sysconfdir}/cron.hourly + mkdir -p ${D}${sysconfdir}/cron.daily + mkdir -p ${D}${sysconfdir}/cron.weekly + mkdir -p ${D}${sysconfdir}/cron.monthly + touch ${D}${sysconfdir}/cron.deny + + # below setting is necessary to allow normal user using crontab + + # setgid for crontab binary + chown root:crontab ${D}${bindir}/crontab + chmod 2755 ${D}${bindir}/crontab + + # allow 'crontab' group write to /var/spool/cron + chown root:crontab ${D}${localstatedir}/spool/cron + chmod 770 ${D}${localstatedir}/spool/cron + + chmod 600 ${D}${sysconfdir}/crontab +} + +FILES_${PN} += "${sysconfdir}/cron*" +CONFFILES_${PN} += "${sysconfdir}/crontab" diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc index 9faac0810..be5a11c94 100644 --- a/poky/meta/recipes-extended/cups/cups.inc +++ b/poky/meta/recipes-extended/cups/cups.inc @@ -127,3 +127,7 @@ SYSROOT_PREPROCESS_FUNCS += "cups_sysroot_preprocess" cups_sysroot_preprocess () { sed -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/cups-config -e 's:cups_datadir=.*:cups_datadir=${datadir}/cups:' -e 's:cups_serverbin=.*:cups_serverbin=${libexecdir}/cups:' } + +# -25317 concerns /var/log/cups having lp ownership. Our /var/log/cups is +# root:root, so this doesn't apply. +CVE_CHECK_WHITELIST += "CVE-2021-25317" \ No newline at end of file diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb index 9ace037aa..81f8d615a 100644 --- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb +++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb @@ -19,6 +19,10 @@ DEPENDS_class-native = "libpng-native" UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases" UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" +# As of ghostscript 9.54.0 the jpeg issue in the CVE is present in the gs jpeg sources +# however we use an external jpeg which doesn't have the issue. +CVE_CHECK_WHITELIST += "CVE-2013-6629" + def gs_verdir(v): return "".join(v.split(".")) diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.61.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.61.bb deleted file mode 100644 index 459a62a83..000000000 --- a/poky/meta/recipes-extended/hdparm/hdparm_9.61.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "Utility for viewing/manipulating IDE disk drive/driver parameters" -HOMEPAGE = "http://sourceforge.net/projects/hdparm/" -DESCRIPTION = "hdparm is a Linux shell utility for viewing \ -and manipulating various IDE drive and driver parameters." -SECTION = "console/utils" - -LICENSE = "BSD & GPLv2" -LICENSE_${PN} = "BSD" -LICENSE_${PN}-dbg = "BSD" -LICENSE_wiper = "GPLv2" - -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \ - file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \ - file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \ - file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09" - - -PACKAGES =+ "wiper" - -FILES_wiper = "${bindir}/wiper.sh" - -RDEPENDS_wiper = "bash gawk coreutils" - -SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \ - file://wiper.sh-fix-stat-path.patch \ - " - -SRC_URI[md5sum] = "3ef06831e83890f0ba48f7a252b93325" -SRC_URI[sha256sum] = "da1a1c3887f10b8397e8e02013caa61142e0e72cb0d73997421ca2f2f4df5343" - -EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"' - -inherit update-alternatives - -ALTERNATIVE_${PN} = "hdparm" -ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm" -ALTERNATIVE_PRIORITY = "100" - -do_install () { - install -d ${D}/${base_sbindir} ${D}/${mandir}/man8 ${D}/${bindir} - oe_runmake 'DESTDIR=${D}' 'sbindir=${base_sbindir}' install - cp ${S}/wiper/wiper.sh ${D}/${bindir} -} diff --git a/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb b/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb new file mode 100644 index 000000000..026772351 --- /dev/null +++ b/poky/meta/recipes-extended/hdparm/hdparm_9.62.bb @@ -0,0 +1,42 @@ +SUMMARY = "Utility for viewing/manipulating IDE disk drive/driver parameters" +HOMEPAGE = "http://sourceforge.net/projects/hdparm/" +DESCRIPTION = "hdparm is a Linux shell utility for viewing \ +and manipulating various IDE drive and driver parameters." +SECTION = "console/utils" + +LICENSE = "BSD & GPLv2" +LICENSE_${PN} = "BSD" +LICENSE_${PN}-dbg = "BSD" +LICENSE_wiper = "GPLv2" + +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \ + file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \ + file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \ + file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09" + + +PACKAGES =+ "wiper" + +FILES_wiper = "${bindir}/wiper.sh" + +RDEPENDS_wiper = "bash gawk coreutils" + +SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \ + file://wiper.sh-fix-stat-path.patch \ + " + +SRC_URI[sha256sum] = "2c0f9d75cdbeda928a25a128cd3d0b7120445ec0910c0b29d4c1038ed1be777f" + +EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"' + +inherit update-alternatives + +ALTERNATIVE_${PN} = "hdparm" +ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm" +ALTERNATIVE_PRIORITY = "100" + +do_install () { + install -d ${D}/${base_sbindir} ${D}/${mandir}/man8 ${D}/${bindir} + oe_runmake 'DESTDIR=${D}' 'sbindir=${base_sbindir}' install + cp ${S}/wiper/wiper.sh ${D}/${bindir} +} diff --git a/poky/meta/recipes-extended/less/less_563.bb b/poky/meta/recipes-extended/less/less_563.bb deleted file mode 100644 index 123522b5d..000000000 --- a/poky/meta/recipes-extended/less/less_563.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Text file viewer similar to more" -DESCRIPTION = "Less is a program similar to more, i.e. a terminal \ -based program for viewing text files and the output from other \ -programs. Less offers many features beyond those that more does." -HOMEPAGE = "http://www.greenwoodsoftware.com/" -SECTION = "console/utils" - -# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less -# Including email author giving permissing to use BSD -# -# From: Mark Nudelman -# To: Elizabeth Flanagan = 418)) | less +# Including email author giving permissing to use BSD +# +# From: Mark Nudelman +# To: Elizabeth Flanagan + +diff --git a/help2man b/help2man +index 13015c2..63439db 100755 +--- a/help2man ++++ b/help2man +@@ -173,7 +173,14 @@ my ($help_text, $version_text) = map { + or die "$this_program: can't get `--$_' info from $ARGV[0]\n" + } qw(help), $opt_version_key; + +-my $date = strftime "%B %Y", localtime; ++my $epoch_secs = time; ++if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/) ++{ ++ $epoch_secs = $1; ++ $ENV{TZ} = 'UTC0'; ++} ++ ++my $date = strftime "%B %Y", localtime $epoch_secs; + (my $program = $ARGV[0]) =~ s!.*/!!; + my $package = $program; + my $version; diff --git a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb index 3e8f7a13e..bafc18fcc 100644 --- a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb +++ b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb @@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf" SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \ file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \ file://0001-Remove-timestamp-from-manpage.patch \ + file://help2man-reproducibility.patch \ " SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4" diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch b/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch deleted file mode 100644 index c2a70dcb6..000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 2d1d6350af1db28ec520e26d0069a0518950b0a1 Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Tue, 9 Mar 2021 15:21:11 +0000 -Subject: [PATCH 1/3] open_posix_testsuite/generate-makefiles.sh: Avoid - inconsistencies with make version - -With make 4.1, INSTALL_TARGETS+= will add a space to the variable whereas -with make 4.3, it will not. This leads to differing run.sh files in installed -in packages which is undesireable. If tests is empty we don't have to add -the line to the makefiles at all which seems like the easiest way to -avoid the differences in make behaviour. - -Signed-off-by: Richard Purdie -Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021386.html] - ---- - .../open_posix_testsuite/scripts/generate-makefiles.sh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh -index 200a631db..4b3aaa4a0 100755 ---- a/testcases/open_posix_testsuite/scripts/generate-makefiles.sh -+++ b/testcases/open_posix_testsuite/scripts/generate-makefiles.sh -@@ -148,8 +148,12 @@ EOF - - fi - -- cat >> "$makefile.2" <> "$makefile.2" <> "$makefile.2" < -Date: Tue, 9 Mar 2021 15:21:36 +0000 -Subject: [PATCH 2/3] Makefile: Avoid wildcard determinism issues - -wildcard used in Makefiles preserves the order of the files on disk -which leads to differences in the order the binaries are linked. - -This patch tweaks the usage of wildcard to also have a sort, making -the binaries reproducible. A previous patch massively improved -the situation but wider testing showed that these other changes can -have an effect on some binaries, this patch avoids those issues as -exposed by our wider testing. - -Signed-off-by: Richard Purdie -Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021388.html] - ---- - include/mk/env_post.mk | 2 +- - include/mk/module.mk | 2 +- - runtest/Makefile | 2 +- - scenario_groups/Makefile | 2 +- - testcases/commands/ldd/datafiles/Makefile | 2 +- - testcases/kernel/hotplug/memory_hotplug/Makefile | 3 ++- - testcases/kernel/io/disktest/Makefile | 2 +- - testcases/kernel/io/disktest/Makefile.linux | 4 ++-- - testcases/kernel/sched/hyperthreading/ht_affinity/Makefile | 2 +- - testcases/kernel/sched/hyperthreading/ht_enabled/Makefile | 2 +- - testcases/kernel/sched/sched_stress/Makefile | 2 +- - testcases/kernel/syscalls/lchown/Makefile | 2 +- - testcases/kernel/syscalls/migrate_pages/Makefile | 2 +- - testcases/kernel/syscalls/move_pages/Makefile | 2 +- - testcases/kernel/syscalls/utils/compat_16.mk | 2 +- - testcases/kernel/syscalls/utils/newer_64.mk | 2 +- - testcases/misc/math/float/Makefile | 2 +- - testcases/network/nfs/nfs_stress/nfs05_make_tree.c | 4 ++-- - testcases/network/nfsv4/locks/Makefile | 2 +- - utils/sctp/func_tests/Makefile | 2 +- - 20 files changed, 23 insertions(+), 22 deletions(-) - -diff --git a/include/mk/env_post.mk b/include/mk/env_post.mk -index d52ad9f0b..1d22f9c53 100644 ---- a/include/mk/env_post.mk -+++ b/include/mk/env_post.mk -@@ -47,7 +47,7 @@ LDFLAGS += -L$(top_builddir)/lib/android_libpthread - LDFLAGS += -L$(top_builddir)/lib/android_librt - endif - --MAKE_TARGETS ?= $(notdir $(patsubst %.c,%,$(wildcard $(abs_srcdir)/*.c))) -+MAKE_TARGETS ?= $(notdir $(patsubst %.c,%,$(sort $(wildcard $(abs_srcdir)/*.c)))) - MAKE_TARGETS := $(filter-out $(FILTER_OUT_MAKE_TARGETS),$(MAKE_TARGETS)) - - # with only *.dwo, .[0-9]+.dwo can not be cleaned -diff --git a/include/mk/module.mk b/include/mk/module.mk -index 95fb8336a..6c8814b96 100644 ---- a/include/mk/module.mk -+++ b/include/mk/module.mk -@@ -42,7 +42,7 @@ endif - - ifneq ($(filter install clean,$(MAKECMDGOALS)),) - MAKE_TARGETS := $(filter-out %.ko, $(MAKE_TARGETS)) --MAKE_TARGETS += $(wildcard *.ko) -+MAKE_TARGETS += $(sort $(wildcard *.ko)) - endif - - CLEAN_TARGETS += .dep_modules *.mod built-in.a -diff --git a/runtest/Makefile b/runtest/Makefile -index b7caaee06..6a1565b6a 100644 ---- a/runtest/Makefile -+++ b/runtest/Makefile -@@ -36,7 +36,7 @@ ifneq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes) - UNWANTED_FILES += power_management_tests - endif - --INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*)))) -+INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*))))) - - MAKE_TARGETS := - -diff --git a/scenario_groups/Makefile b/scenario_groups/Makefile -index 2978675d9..fcbc92708 100644 ---- a/scenario_groups/Makefile -+++ b/scenario_groups/Makefile -@@ -31,7 +31,7 @@ UNWANTED_FILES := Makefile - - INSTALL_MODE := 00644 - --INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(wildcard $(abs_srcdir)/*)))) -+INSTALL_TARGETS := $(filter-out $(UNWANTED_FILES),$(notdir $(patsubst $(abs_srcdir)/%,%,$(sort $(wildcard $(abs_srcdir)/*))))) - - MAKE_TARGETS := - -diff --git a/testcases/commands/ldd/datafiles/Makefile b/testcases/commands/ldd/datafiles/Makefile -index d8bcf5c06..01c352052 100644 ---- a/testcases/commands/ldd/datafiles/Makefile -+++ b/testcases/commands/ldd/datafiles/Makefile -@@ -21,7 +21,7 @@ CPPFLAGS += -fpic - - INSTALL_TARGETS := ldd*.so lddfile.out - --LDD_C_FILES := $(wildcard $(abs_srcdir)/lddfile*.c) -+LDD_C_FILES := $(sort $(wildcard $(abs_srcdir)/lddfile*.c)) - LDD_SO_FILES := $(patsubst $(abs_srcdir)/%.c,%.obj.so,$(LDD_C_FILES)) - MAKE_TARGETS := lddfile.out - CLEAN_TARGETS += *.obj $(LDD_SO_FILES) -diff --git a/testcases/kernel/hotplug/memory_hotplug/Makefile b/testcases/kernel/hotplug/memory_hotplug/Makefile -index d1ba65e65..38a77a2ba 100644 ---- a/testcases/kernel/hotplug/memory_hotplug/Makefile -+++ b/testcases/kernel/hotplug/memory_hotplug/Makefile -@@ -31,6 +31,7 @@ LDLIBS := $(filter-out -lltp,$(LDLIBS)) - - MAKE_TARGETS := memtoy - --memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c)) -+memtoy: $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c))) -+ - - include $(top_srcdir)/include/mk/generic_leaf_target.mk -diff --git a/testcases/kernel/io/disktest/Makefile b/testcases/kernel/io/disktest/Makefile -index d10d98434..3a3a9cbf0 100644 ---- a/testcases/kernel/io/disktest/Makefile -+++ b/testcases/kernel/io/disktest/Makefile -@@ -209,7 +209,7 @@ LDLIBS += -lpthread - - MAKE_TARGETS := disktest - --OBJS := $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c)) -+OBJS := $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c))) - - disktest-$(VER): - mkdir -p "$@" -diff --git a/testcases/kernel/io/disktest/Makefile.linux b/testcases/kernel/io/disktest/Makefile.linux -index ea45b5a57..0f3aab622 100644 ---- a/testcases/kernel/io/disktest/Makefile.linux -+++ b/testcases/kernel/io/disktest/Makefile.linux -@@ -167,8 +167,8 @@ mandir=/usr/share/man - - VER=`grep VER_STR main.h | awk -F\" '{print $$2}'` - GBLHDRS=main.h globals.h defs.h --ALLHDRS=$(wildcard *.h) --SRCS=$(wildcard *.c) -+ALLHDRS=$(sort $(wildcard *.h)) -+SRCS=$(sort $(wildcard *.c)) - OBJS=$(SRCS:.c=.o) - - CFLAGS += -g -Wall -O -D"LINUX" -D"_THREAD_SAFE" -D"_GNU_SOURCE" -D"_LARGE_FILES" -D"_LARGEFILE64_SOURCE" -D"_FILE_OFFSET_BITS=64" $(RPM_OPT_FLAGS) -diff --git a/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile b/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile -index 10fec96dc..6b64bd261 100644 ---- a/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile -+++ b/testcases/kernel/sched/hyperthreading/ht_affinity/Makefile -@@ -28,6 +28,6 @@ INSTALL_TARGETS := smt_smp_affinity.sh - - MAKE_TARGETS := ht_affinity - --$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c)) -+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c))) - - include $(top_srcdir)/include/mk/generic_leaf_target.mk -diff --git a/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile b/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile -index 9c1e139d6..585ff1383 100644 ---- a/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile -+++ b/testcases/kernel/sched/hyperthreading/ht_enabled/Makefile -@@ -28,6 +28,6 @@ INSTALL_TARGETS := smt_smp_enabled.sh - - MAKE_TARGETS := ht_enabled - --$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c)) -+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c))) - - include $(top_srcdir)/include/mk/generic_leaf_target.mk -diff --git a/testcases/kernel/sched/sched_stress/Makefile b/testcases/kernel/sched/sched_stress/Makefile -index b76126c73..4dbbf3477 100644 ---- a/testcases/kernel/sched/sched_stress/Makefile -+++ b/testcases/kernel/sched/sched_stress/Makefile -@@ -10,7 +10,7 @@ INSTALL_TARGETS := sched_stress.sh - - LDLIBS += -lpthread - --MAKE_TARGETS := $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c))) -+MAKE_TARGETS := $(filter-out sched,$(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c)))) - - RM += -r - -diff --git a/testcases/kernel/syscalls/lchown/Makefile b/testcases/kernel/syscalls/lchown/Makefile -index 13d39cb81..305fee281 100644 ---- a/testcases/kernel/syscalls/lchown/Makefile -+++ b/testcases/kernel/syscalls/lchown/Makefile -@@ -5,7 +5,7 @@ top_srcdir ?= ../../../.. - - include $(top_srcdir)/include/mk/testcases.mk - --SRCS := $(wildcard $(abs_srcdir)/lchown*.c) -+SRCS := $(sort $(wildcard $(abs_srcdir)/lchown*.c)) - - include $(abs_srcdir)/../utils/compat_16.mk - -diff --git a/testcases/kernel/syscalls/migrate_pages/Makefile b/testcases/kernel/syscalls/migrate_pages/Makefile -index 46912b025..9cf3ce526 100644 ---- a/testcases/kernel/syscalls/migrate_pages/Makefile -+++ b/testcases/kernel/syscalls/migrate_pages/Makefile -@@ -5,7 +5,7 @@ top_srcdir ?= ../../../.. - - include $(top_srcdir)/include/mk/testcases.mk - --MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c)) -+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c))) - $(MAKE_TARGETS): %: migrate_pages_common.o - - CPPFLAGS += -I$(abs_srcdir)/../utils/ -diff --git a/testcases/kernel/syscalls/move_pages/Makefile b/testcases/kernel/syscalls/move_pages/Makefile -index cd7ff6349..4b22160ed 100644 ---- a/testcases/kernel/syscalls/move_pages/Makefile -+++ b/testcases/kernel/syscalls/move_pages/Makefile -@@ -7,7 +7,7 @@ include $(top_srcdir)/include/mk/testcases.mk - - CPPFLAGS += -I$(abs_srcdir)/../utils - --MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*[0-9].c)) -+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*[0-9].c))) - - $(MAKE_TARGETS): %: move_pages_support.o - -diff --git a/testcases/kernel/syscalls/utils/compat_16.mk b/testcases/kernel/syscalls/utils/compat_16.mk -index a0ff8f558..e81a00c40 100644 ---- a/testcases/kernel/syscalls/utils/compat_16.mk -+++ b/testcases/kernel/syscalls/utils/compat_16.mk -@@ -50,7 +50,7 @@ - - CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils - --SRCS ?= $(wildcard $(abs_srcdir)/*.c) -+SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c)) - - MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS))) - MAKE_TARGETS_OBJS_WO_COMPAT_16 := $(addsuffix .o,$(MAKE_TARGETS)) -diff --git a/testcases/kernel/syscalls/utils/newer_64.mk b/testcases/kernel/syscalls/utils/newer_64.mk -index 8cd7e03c8..5e798057a 100644 ---- a/testcases/kernel/syscalls/utils/newer_64.mk -+++ b/testcases/kernel/syscalls/utils/newer_64.mk -@@ -25,7 +25,7 @@ - - CPPFLAGS += -I$(abs_srcdir) -I$(abs_srcdir)/../utils - --SRCS ?= $(wildcard $(abs_srcdir)/*.c) -+SRCS ?= $(sort $(wildcard $(abs_srcdir)/*.c)) - - MAKE_TARGETS := $(notdir $(patsubst %.c,%,$(SRCS))) - -diff --git a/testcases/misc/math/float/Makefile b/testcases/misc/math/float/Makefile -index 79dda35d6..5f4cb0f6c 100644 ---- a/testcases/misc/math/float/Makefile -+++ b/testcases/misc/math/float/Makefile -@@ -27,6 +27,6 @@ include $(top_srcdir)/include/mk/testcases.mk - LDLIBS += -lpthread -lm - - # main.c doesn't compile... --MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/float*.c)) -+MAKE_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/float*.c))) - - include $(top_srcdir)/include/mk/generic_trunk_target.mk -diff --git a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c -index 12c86799d..23c520d9d 100644 ---- a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c -+++ b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c -@@ -104,7 +104,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNUSED void *args) - "\treturn 0;\n}\n"; - - const char make_buf_n[] = "CFLAGS := -O -w -g\n" -- "SRCS=$(wildcard *.c)\n" -+ "SRCS=$(sort $(wildcard *.c))\n" - "TARGETS=$(SRCS:.c=)\n" - "all: $(TARGETS)\n" - "$(TARGETS): %: %.c\n" -@@ -114,7 +114,7 @@ static void *thread_fn(LTP_ATTRIBUTE_UNUSED void *args) - - const char make_buf[] = "CFLAGS := -O -w -g\n" - "SUBDIR = dir\n" -- "SRCS=$(wildcard *.c)\n" -+ "SRCS=$(sort $(wildcard *.c))\n" - "TARGETS=$(SRCS:.c=)\n" - "all: $(SUBDIR) $(TARGETS)\n" - "$(TARGETS): %: %.c\n" -diff --git a/testcases/network/nfsv4/locks/Makefile b/testcases/network/nfsv4/locks/Makefile -index 5812dea3a..05941c892 100644 ---- a/testcases/network/nfsv4/locks/Makefile -+++ b/testcases/network/nfsv4/locks/Makefile -@@ -28,6 +28,6 @@ MAKE_TARGETS := locktests - - LDLIBS += -lpthread - --$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(wildcard $(abs_srcdir)/*.c)) -+$(MAKE_TARGETS): $(patsubst $(abs_srcdir)/%.c,%.o,$(sort $(wildcard $(abs_srcdir)/*.c))) - - include $(top_srcdir)/include/mk/generic_leaf_target.mk -diff --git a/utils/sctp/func_tests/Makefile b/utils/sctp/func_tests/Makefile -index d296c652a..a17107853 100644 ---- a/utils/sctp/func_tests/Makefile -+++ b/utils/sctp/func_tests/Makefile -@@ -30,7 +30,7 @@ LDFLAGS += $(addprefix -L$(abs_builddir)/../,lib testlib) - - LDLIBS += -lsctputil -lsctp -lpthread - --V4_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(wildcard $(abs_srcdir)/*.c)) -+V4_TARGETS := $(patsubst $(abs_srcdir)/%.c,%,$(sort $(wildcard $(abs_srcdir)/*.c))) - - V6_TARGETS := test_basic_v6 test_fragments_v6 test_getname_v6 \ - test_inaddr_any_v6 test_peeloff_v6 \ --- -2.27.0 - diff --git a/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch b/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch deleted file mode 100644 index 5ace82dba..000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 0653f1d809d0cc13f84facb9d2d82d984ac4d0ac Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Tue, 9 Mar 2021 15:25:16 +0000 -Subject: [PATCH 3/3] syscalls/swapon/swapoff: Move common library to libs/ - -There is a race/determinism issue with libswapon currently as depending on -which makefile path builds it, the debug paths may be "../swapon/libswapon.c" -or "libswapon.c". To avoid the determinism issue, move libswapon to libs/ -and use it from the shared location. - -The header is moved to the common includes directory to match and -the Makefile.inc fragment can be dropped. - -Signed-off-by: Richard Purdie -Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021387.html] - ---- - .../kernel/syscalls/swapon => include}/libswapon.h | 0 - libs/libltpswapon/Makefile | 12 ++++++++++++ - .../swapon => libs/libltpswapon}/libswapon.c | 0 - testcases/kernel/syscalls/swapoff/Makefile | 7 +++++-- - testcases/kernel/syscalls/swapoff/Makefile.inc | 6 ------ - testcases/kernel/syscalls/swapoff/swapoff01.c | 2 +- - testcases/kernel/syscalls/swapoff/swapoff02.c | 2 +- - testcases/kernel/syscalls/swapon/Makefile | 6 +++--- - 8 files changed, 22 insertions(+), 13 deletions(-) - rename {testcases/kernel/syscalls/swapon => include}/libswapon.h (100%) - create mode 100644 libs/libltpswapon/Makefile - rename {testcases/kernel/syscalls/swapon => libs/libltpswapon}/libswapon.c (100%) - delete mode 100644 testcases/kernel/syscalls/swapoff/Makefile.inc - -diff --git a/testcases/kernel/syscalls/swapon/libswapon.h b/include/libswapon.h -similarity index 100% -rename from testcases/kernel/syscalls/swapon/libswapon.h -rename to include/libswapon.h -diff --git a/libs/libltpswapon/Makefile b/libs/libltpswapon/Makefile -new file mode 100644 -index 000000000..8f738338b ---- /dev/null -+++ b/libs/libltpswapon/Makefile -@@ -0,0 +1,12 @@ -+# SPDX-License-Identifier: GPL-2.0-or-later -+# -+# Copyright (C) Richard Purdie -+ -+top_srcdir ?= ../.. -+ -+include $(top_srcdir)/include/mk/env_pre.mk -+ -+INTERNAL_LIB := libltpswapon.a -+ -+include $(top_srcdir)/include/mk/lib.mk -+include $(top_srcdir)/include/mk/generic_leaf_target.mk -diff --git a/testcases/kernel/syscalls/swapon/libswapon.c b/libs/libltpswapon/libswapon.c -similarity index 100% -rename from testcases/kernel/syscalls/swapon/libswapon.c -rename to libs/libltpswapon/libswapon.c -diff --git a/testcases/kernel/syscalls/swapoff/Makefile b/testcases/kernel/syscalls/swapoff/Makefile -index fbfbe0441..a74374605 100644 ---- a/testcases/kernel/syscalls/swapoff/Makefile -+++ b/testcases/kernel/syscalls/swapoff/Makefile -@@ -3,7 +3,10 @@ - - top_srcdir ?= ../../../.. - -+LTPLIBS = ltpswapon -+ - include $(top_srcdir)/include/mk/testcases.mk --include $(abs_srcdir)/./Makefile.inc -+ -+LTPLDLIBS = -lltpswapon -+ - include $(top_srcdir)/include/mk/generic_leaf_target.mk --$(MAKE_TARGETS): %: ../swapon/libswapon.o -diff --git a/testcases/kernel/syscalls/swapoff/Makefile.inc b/testcases/kernel/syscalls/swapoff/Makefile.inc -deleted file mode 100644 -index 65350cbeb..000000000 ---- a/testcases/kernel/syscalls/swapoff/Makefile.inc -+++ /dev/null -@@ -1,6 +0,0 @@ --LIBDIR += ../swapon/ --LIBSWAPON := $(LIBDIR)/libswapon.o --$(LIBSWAPON): -- $(MAKE) -C $(LIBDIR) --CPPFLAGS += -I$(abs_srcdir)/$(LIBDIR) --LDFLAGS += -L$(abs_builddir)/$(LIBDIR) -diff --git a/testcases/kernel/syscalls/swapoff/swapoff01.c b/testcases/kernel/syscalls/swapoff/swapoff01.c -index e115269c0..87a217a89 100644 ---- a/testcases/kernel/syscalls/swapoff/swapoff01.c -+++ b/testcases/kernel/syscalls/swapoff/swapoff01.c -@@ -25,7 +25,7 @@ - #include - #include "config.h" - #include "lapi/syscalls.h" --#include "../swapon/libswapon.h" -+#include "libswapon.h" - - static void setup(void); - static void cleanup(void); -diff --git a/testcases/kernel/syscalls/swapoff/swapoff02.c b/testcases/kernel/syscalls/swapoff/swapoff02.c -index 8954f975f..60cd66c26 100644 ---- a/testcases/kernel/syscalls/swapoff/swapoff02.c -+++ b/testcases/kernel/syscalls/swapoff/swapoff02.c -@@ -33,7 +33,7 @@ - #include "test.h" - #include "lapi/syscalls.h" - #include "safe_macros.h" --#include "../swapon/libswapon.h" -+#include "libswapon.h" - - static void setup(void); - static void cleanup(void); -diff --git a/testcases/kernel/syscalls/swapon/Makefile b/testcases/kernel/syscalls/swapon/Makefile -index 97113a447..57ec45d48 100644 ---- a/testcases/kernel/syscalls/swapon/Makefile -+++ b/testcases/kernel/syscalls/swapon/Makefile -@@ -8,10 +8,10 @@ endif - - top_srcdir ?= ../../../.. - -+LTPLIBS = ltpswapon -+ - include $(top_srcdir)/include/mk/testcases.mk - --FILTER_OUT_MAKE_TARGETS := libswapon -+LTPLDLIBS = -lltpswapon - - include $(top_srcdir)/include/mk/generic_leaf_target.mk -- --$(MAKE_TARGETS): %: libswapon.o --- -2.27.0 - diff --git a/poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch b/poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch deleted file mode 100644 index 0e7264574..000000000 --- a/poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f4fafbdffae3a63c81f65cef98c72dda26283e06 Mon Sep 17 00:00:00 2001 -From: Dengke Du -Date: Wed, 8 Feb 2017 16:17:17 +0800 -Subject: [PATCH] Fix test_proc_kill hanging - -Sometimes the signal is delivered to memcg_process before the framework took -into consideration its pid entered in the tasks. Fixed by delaying the signal -send command. - -Upstream-Status: Pending - -Signed-off-by: George Nita -Signed-off-by: Dengke Du ---- - testcases/kernel/controllers/memcg/functional/memcg_lib.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh -index aadaae4..deea5d6 100755 ---- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh -+++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh -@@ -291,6 +291,7 @@ test_proc_kill() - pid=$! - TST_CHECKPOINT_WAIT 0 - echo $pid > tasks -+ sleep 1 - - signal_memcg_process $pid $3 - --- -2.7.4 - diff --git a/poky/meta/recipes-extended/ltp/ltp/determinism.patch b/poky/meta/recipes-extended/ltp/ltp/determinism.patch deleted file mode 100644 index 76d40721b..000000000 --- a/poky/meta/recipes-extended/ltp/ltp/determinism.patch +++ /dev/null @@ -1,43 +0,0 @@ -open_posix_testsuite/generate-makefiles.sh: Fix determinism issue - -Currently the list of tests is generated by the order of the files found -within the directories. This results in differences in the run.sh and -Makefiles. Within Yocto Project this results in differing target -test packages. The fix is simple, just sort the output from locate-test. - -mk/lib.mk: Sort wildcard expansion for determinism - -The order of the objects linked into libltp.a varies depending on the -order of the files found on disk. This results in most ltp binaries -differing depending on that order too. - -Sort the wildcard expansion of *.c which leads to reproducible binaries. - -Signed-off-by: Richard Purdie -Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021272.html http://lists.linux.it/pipermail/ltp/2021-March/021273.html] - -Index: git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh -=================================================================== ---- git.orig/testcases/open_posix_testsuite/scripts/generate-makefiles.sh -+++ git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh -@@ -24,7 +24,7 @@ generate_locate_test_makefile() { - - echo "Generating $maketype Makefiles" - -- locate-test --$maketype | sed -e 's,^./,,g' > make-gen.$maketype -+ locate-test --$maketype | sed -e 's,^./,,g' | sort > make-gen.$maketype - - generate_makefiles make-gen.$maketype $* - -Index: git/include/mk/lib.mk -=================================================================== ---- git.orig/include/mk/lib.mk -+++ git/include/mk/lib.mk -@@ -50,6 +50,7 @@ endif - MAKE_TARGETS += $(LIB) - - LIBSRCS ?= $(wildcard $(abs_srcdir)/*.c) -+LIBSRCS := $(sort $(LIBSRCS)) - LIBSRCS := $(abspath $(LIBSRCS)) - LIBSRCS := $(subst $(abs_srcdir)/,,$(wildcard $(LIBSRCS))) - LIBSRCS := $(filter-out $(FILTER_OUT_LIBSRCS),$(LIBSRCS)) diff --git a/poky/meta/recipes-extended/ltp/ltp/disable_hanging_tests.patch b/poky/meta/recipes-extended/ltp/ltp/disable_hanging_tests.patch new file mode 100644 index 000000000..113ac0fef --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp/disable_hanging_tests.patch @@ -0,0 +1,45 @@ +This patch disables tests which we've found "hang" on our infrastructure. + +cgroup_xattr: +https://autobuilder.yoctoproject.org/typhoon/#/builders/95/builds/1926 (x86) +https://autobuilder.yoctoproject.org/typhoon/#/builders/95/builds/1898 (x86) +https://autobuilder.yoctoproject.org/typhoon/#/builders/95/builds/1916 (x86) + +proc01: +https://autobuilder.yoctoproject.org/typhoon/#/builders/96/builds/1748 (arm) +https://autobuilder.yoctoproject.org/typhoon/#/builders/96/builds/1781 (arm) +(in the latter was trying to read /proc/kmsg) +(the above test looks horrible anyway) + +Upstream-Status: Inappropriate [OE Configuration] +Signed-off-by: Richard Purdie + +Index: git/runtest/controllers +=================================================================== +--- git.orig/runtest/controllers ++++ git/runtest/controllers +@@ -352,8 +352,6 @@ cpuset_memory_spread cpuset_memory_sprea + + cpuset_regression_test cpuset_regression_test.sh + +-cgroup_xattr cgroup_xattr +- + pids_1_1 pids.sh 1 1 0 + pids_1_2 pids.sh 1 2 0 + pids_1_10 pids.sh 1 10 0 +Index: git/runtest/fs +=================================================================== +--- git.orig/runtest/fs ++++ git/runtest/fs +@@ -64,11 +64,6 @@ writetest01 writetest + #Also run the fs_di (Data Integrity tests) + fs_di fs_di -d $TMPDIR + +-# Read every file in /proc. Not likely to crash, but does enough +-# to disturb the kernel. A good kernel latency killer too. +-# Was not sure why it should reside in runtest/crashme and won't get tested ever +-proc01 proc01 -m 128 +- + read_all_dev read_all -d /dev -p -q -r 3 + read_all_proc read_all -d /proc -q -r 3 + read_all_sys read_all -d /sys -q -r 3 diff --git a/poky/meta/recipes-extended/ltp/ltp/libswapon.patch b/poky/meta/recipes-extended/ltp/ltp/libswapon.patch deleted file mode 100644 index 07b0dcefc..000000000 --- a/poky/meta/recipes-extended/ltp/ltp/libswapon.patch +++ /dev/null @@ -1,368 +0,0 @@ -Index: git/libs/libltpswapon/Makefile -=================================================================== ---- /dev/null -+++ git/libs/libltpswapon/Makefile -@@ -0,0 +1,12 @@ -+# SPDX-License-Identifier: GPL-2.0-or-later -+# -+# Copyright (C) Richard Purdie -+ -+top_srcdir ?= ../.. -+ -+include $(top_srcdir)/include/mk/env_pre.mk -+ -+INTERNAL_LIB := libltpswapon.a -+ -+include $(top_srcdir)/include/mk/lib.mk -+include $(top_srcdir)/include/mk/generic_leaf_target.mk -Index: git/libs/libltpswapon/libswapon.c -=================================================================== ---- /dev/null -+++ git/libs/libltpswapon/libswapon.c -@@ -0,0 +1,90 @@ -+/* -+ * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved. -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of -+ * the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it would be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ * -+ * Author: Stanislav Kholmanskikh -+ * -+ */ -+ -+#include -+#include "lapi/syscalls.h" -+#include "test.h" -+#include "libswapon.h" -+ -+/* -+ * Make a swap file -+ */ -+int make_swapfile(void (cleanup)(void), const char *swapfile, int safe) -+{ -+ if (!tst_fs_has_free(NULL, ".", sysconf(_SC_PAGESIZE) * 10, -+ TST_BYTES)) { -+ tst_brkm(TBROK, cleanup, -+ "Insufficient disk space to create swap file"); -+ } -+ -+ /* create file */ -+ if (tst_fill_file(swapfile, 0, -+ sysconf(_SC_PAGESIZE), 10) != 0) { -+ tst_brkm(TBROK, cleanup, "Failed to create swapfile"); -+ } -+ -+ /* make the file swapfile */ -+ const char *argv[2 + 1]; -+ argv[0] = "mkswap"; -+ argv[1] = swapfile; -+ argv[2] = NULL; -+ -+ return tst_cmd(cleanup, argv, "/dev/null", "/dev/null", safe); -+} -+ -+/* -+ * Check swapon/swapoff support status of filesystems or files -+ * we are testing on. -+ */ -+void is_swap_supported(void (cleanup)(void), const char *filename) -+{ -+ int fibmap = tst_fibmap(filename); -+ long fs_type = tst_fs_type(cleanup, filename); -+ const char *fstype = tst_fs_type_name(fs_type); -+ -+ int ret = make_swapfile(NULL, filename, 1); -+ if (ret != 0) { -+ if (fibmap == 1) { -+ tst_brkm(TCONF, cleanup, -+ "mkswap on %s not supported", fstype); -+ } else { -+ tst_brkm(TFAIL, cleanup, -+ "mkswap on %s failed", fstype); -+ } -+ } -+ -+ TEST(ltp_syscall(__NR_swapon, filename, 0)); -+ if (TEST_RETURN == -1) { -+ if (fibmap == 1 && errno == EINVAL) { -+ tst_brkm(TCONF, cleanup, -+ "Swapfile on %s not implemented", fstype); -+ } else { -+ tst_brkm(TFAIL | TERRNO, cleanup, -+ "swapon on %s failed", fstype); -+ } -+ } -+ -+ TEST(ltp_syscall(__NR_swapoff, filename, 0)); -+ if (TEST_RETURN == -1) { -+ tst_brkm(TFAIL | TERRNO, cleanup, -+ "swapoff on %s failed", fstype); -+ } -+} -Index: git/testcases/kernel/syscalls/swapoff/Makefile -=================================================================== ---- git.orig/testcases/kernel/syscalls/swapoff/Makefile -+++ git/testcases/kernel/syscalls/swapoff/Makefile -@@ -3,7 +3,11 @@ - - top_srcdir ?= ../../../.. - -+LTPLIBS = ltpswapon -+ - include $(top_srcdir)/include/mk/testcases.mk --include $(abs_srcdir)/./Makefile.inc -+ -+LTPLDLIBS = -lltpswapon -+ - include $(top_srcdir)/include/mk/generic_leaf_target.mk --$(MAKE_TARGETS): %: ../swapon/libswapon.o -+ -Index: git/testcases/kernel/syscalls/swapoff/Makefile.inc -=================================================================== ---- git.orig/testcases/kernel/syscalls/swapoff/Makefile.inc -+++ /dev/null -@@ -1,6 +0,0 @@ --LIBDIR += ../swapon/ --LIBSWAPON := $(LIBDIR)/libswapon.o --$(LIBSWAPON): -- $(MAKE) -C $(LIBDIR) --CPPFLAGS += -I$(abs_srcdir)/$(LIBDIR) --LDFLAGS += -L$(abs_builddir)/$(LIBDIR) -Index: git/testcases/kernel/syscalls/swapon/Makefile -=================================================================== ---- git.orig/testcases/kernel/syscalls/swapon/Makefile -+++ git/testcases/kernel/syscalls/swapon/Makefile -@@ -8,10 +8,10 @@ endif - - top_srcdir ?= ../../../.. - -+LTPLIBS = ltpswapon -+ - include $(top_srcdir)/include/mk/testcases.mk - --FILTER_OUT_MAKE_TARGETS := libswapon -+LTPLDLIBS = -lltpswapon - - include $(top_srcdir)/include/mk/generic_leaf_target.mk -- --$(MAKE_TARGETS): %: libswapon.o -Index: git/testcases/kernel/syscalls/swapon/libswapon.c -=================================================================== ---- git.orig/testcases/kernel/syscalls/swapon/libswapon.c -+++ /dev/null -@@ -1,90 +0,0 @@ --/* -- * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved. -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of -- * the License, or (at your option) any later version. -- * -- * This program is distributed in the hope that it would be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * You should have received a copy of the GNU General Public License -- * along with this program; if not, write the Free Software Foundation, -- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -- * -- * Author: Stanislav Kholmanskikh -- * -- */ -- --#include --#include "lapi/syscalls.h" --#include "test.h" --#include "libswapon.h" -- --/* -- * Make a swap file -- */ --int make_swapfile(void (cleanup)(void), const char *swapfile, int safe) --{ -- if (!tst_fs_has_free(NULL, ".", sysconf(_SC_PAGESIZE) * 10, -- TST_BYTES)) { -- tst_brkm(TBROK, cleanup, -- "Insufficient disk space to create swap file"); -- } -- -- /* create file */ -- if (tst_fill_file(swapfile, 0, -- sysconf(_SC_PAGESIZE), 10) != 0) { -- tst_brkm(TBROK, cleanup, "Failed to create swapfile"); -- } -- -- /* make the file swapfile */ -- const char *argv[2 + 1]; -- argv[0] = "mkswap"; -- argv[1] = swapfile; -- argv[2] = NULL; -- -- return tst_cmd(cleanup, argv, "/dev/null", "/dev/null", safe); --} -- --/* -- * Check swapon/swapoff support status of filesystems or files -- * we are testing on. -- */ --void is_swap_supported(void (cleanup)(void), const char *filename) --{ -- int fibmap = tst_fibmap(filename); -- long fs_type = tst_fs_type(cleanup, filename); -- const char *fstype = tst_fs_type_name(fs_type); -- -- int ret = make_swapfile(NULL, filename, 1); -- if (ret != 0) { -- if (fibmap == 1) { -- tst_brkm(TCONF, cleanup, -- "mkswap on %s not supported", fstype); -- } else { -- tst_brkm(TFAIL, cleanup, -- "mkswap on %s failed", fstype); -- } -- } -- -- TEST(ltp_syscall(__NR_swapon, filename, 0)); -- if (TEST_RETURN == -1) { -- if (fibmap == 1 && errno == EINVAL) { -- tst_brkm(TCONF, cleanup, -- "Swapfile on %s not implemented", fstype); -- } else { -- tst_brkm(TFAIL | TERRNO, cleanup, -- "swapon on %s failed", fstype); -- } -- } -- -- TEST(ltp_syscall(__NR_swapoff, filename, 0)); -- if (TEST_RETURN == -1) { -- tst_brkm(TFAIL | TERRNO, cleanup, -- "swapoff on %s failed", fstype); -- } --} -Index: git/testcases/kernel/syscalls/swapon/libswapon.h -=================================================================== ---- git.orig/testcases/kernel/syscalls/swapon/libswapon.h -+++ /dev/null -@@ -1,39 +0,0 @@ --/* -- * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved. -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of -- * the License, or (at your option) any later version. -- * -- * This program is distributed in the hope that it would be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- * GNU General Public License for more details. -- * -- * You should have received a copy of the GNU General Public License -- * along with this program; if not, write the Free Software Foundation, -- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -- * -- * Author: Stanislav Kholmanskikh -- * -- */ -- --/* -- * Contains common content for all swapon tests -- */ -- --#ifndef __LIBSWAPON_H__ --#define __LIBSWAPON_H__ -- --/* -- * Make a swap file -- */ --int make_swapfile(void (cleanup)(void), const char *swapfile, int safe); -- --/* -- * Check swapon/swapoff support status of filesystems or files -- * we are testing on. -- */ --void is_swap_supported(void (cleanup)(void), const char *filename); --#endif /* __LIBSWAPON_H__ */ -Index: git/testcases/kernel/syscalls/swapoff/swapoff01.c -=================================================================== ---- git.orig/testcases/kernel/syscalls/swapoff/swapoff01.c -+++ git/testcases/kernel/syscalls/swapoff/swapoff01.c -@@ -25,7 +25,7 @@ - #include - #include "config.h" - #include "lapi/syscalls.h" --#include "../swapon/libswapon.h" -+#include "libswapon.h" - - static void setup(void); - static void cleanup(void); -Index: git/testcases/kernel/syscalls/swapoff/swapoff02.c -=================================================================== ---- git.orig/testcases/kernel/syscalls/swapoff/swapoff02.c -+++ git/testcases/kernel/syscalls/swapoff/swapoff02.c -@@ -33,7 +33,7 @@ - #include "test.h" - #include "lapi/syscalls.h" - #include "safe_macros.h" --#include "../swapon/libswapon.h" -+#include "libswapon.h" - - static void setup(void); - static void cleanup(void); -Index: git/include/libswapon.h -=================================================================== ---- /dev/null -+++ git/include/libswapon.h -@@ -0,0 +1,39 @@ -+/* -+ * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved. -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of -+ * the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it would be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ * -+ * Author: Stanislav Kholmanskikh -+ * -+ */ -+ -+/* -+ * Contains common content for all swapon tests -+ */ -+ -+#ifndef __LIBSWAPON_H__ -+#define __LIBSWAPON_H__ -+ -+/* -+ * Make a swap file -+ */ -+int make_swapfile(void (cleanup)(void), const char *swapfile, int safe); -+ -+/* -+ * Check swapon/swapoff support status of filesystems or files -+ * we are testing on. -+ */ -+void is_swap_supported(void (cleanup)(void), const char *filename); -+#endif /* __LIBSWAPON_H__ */ diff --git a/poky/meta/recipes-extended/ltp/ltp_20210121.bb b/poky/meta/recipes-extended/ltp/ltp_20210121.bb deleted file mode 100644 index ffda71076..000000000 --- a/poky/meta/recipes-extended/ltp/ltp_20210121.bb +++ /dev/null @@ -1,147 +0,0 @@ -SUMMARY = "Linux Test Project" -DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." -HOMEPAGE = "https://linux-test-project.github.io/" -SECTION = "console/utils" -LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ - file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ - file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ - file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \ - file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ - file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ -" - -DEPENDS = "attr libaio libcap acl openssl zip-native" -DEPENDS_append_libc-musl = " fts " -EXTRA_OEMAKE_append_libc-musl = " LIBC=musl " -EXTRA_OECONF_append_libc-musl = " LIBS=-lfts " - -# since ltp contains x86-64 assembler which uses the frame-pointer register, -# set -fomit-frame-pointer x86-64 to handle cases where optimisation -# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer -# earlier in CFLAGS, etc. -CFLAGS_append_x86-64 = " -fomit-frame-pointer" - -CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__" -CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" -SRCREV = "4d005621edd109d119627eb9210b224a63bf22cb" - -# remove at next version upgrade or when output changes -PR = "r4" -HASHEQUIV_HASH_VERSION .= ".4" - -SRC_URI = "git://github.com/linux-test-project/ltp.git \ - file://0007-Fix-test_proc_kill-hanging.patch \ - file://0001-Remove-OOM-tests-from-runtest-mm.patch \ - file://determinism.patch \ - file://0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch \ - file://0002-Makefile-Avoid-wildcard-determinism-issues.patch \ - file://0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch \ - " - -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig - -TARGET_CC_ARCH += "${LDFLAGS}" - -export prefix = "/opt/${PN}" -export exec_prefix = "/opt/${PN}" - -PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," -EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" -EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite " -# ltp network/rpc test cases ftbfs when libtirpc is found -EXTRA_OECONF += " --without-tirpc " - -do_install(){ - install -d ${D}${prefix}/ - oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install - - # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run - # as it lacks dependency on some perl moudle such as LWP::Simple - # And this script previously works as a tool for analyzing failures from LTP - # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses - # http://khack.osdl.org to retrieve ltp test results run on - # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible - rm -rf ${D}${prefix}/bin/STPfailure_report.pl - - # Copy POSIX test suite into ${D}${prefix}/testcases by manual - cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases - - # Makefile were configured in the build system - find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \ - -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ - -e 's@[^ ]*--sysroot=[^ "]*@@g' - - # The controllers memcg_stree test seems to cause us hangs and takes 900s - # (maybe we expect more regular output?), anyhow, skip it - sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers -} - -RDEPENDS_${PN} = "\ - attr \ - bash \ - bc \ - coreutils \ - cpio \ - cronie \ - curl \ - e2fsprogs \ - e2fsprogs-mke2fs \ - expect \ - file \ - gawk \ - gdb \ - gzip \ - iproute2 \ - ldd \ - libaio \ - logrotate \ - net-tools \ - perl \ - python3-core \ - procps \ - quota \ - unzip \ - util-linux \ - which \ - tar \ -" - -FILES_${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a" - -# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail -INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01" -INSANE_SKIP_${PN} += "already-stripped staticdev" - -remove_broken_musl_sources() { - [ "${TCLIBC}" = "musl" ] || return 0 - - cd ${S} - echo "WARNING: remove unsupported tests (until they're fixed)" - - # sync with upstream - # https://github.com/linux-test-project/ltp/blob/master/travis/alpine.sh#L33 - rm -rfv \ - testcases/kernel/sched/process_stress/process.c \ - testcases/kernel/syscalls/confstr/confstr01.c \ - testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \ - testcases/kernel/syscalls/getcontext/getcontext01.c \ - testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \ - testcases/kernel/syscalls/timer_create/timer_create01.c \ - testcases/kernel/syscalls/timer_create/timer_create03.c \ - utils/benchmark/ebizzy-0.3 -} -do_patch[postfuncs] += "remove_broken_musl_sources" - -# Avoid file dependency scans, as LTP checks for things that may or may not -# exist on the running system. For instance it has specific checks for -# csh and ksh which are not typically part of OpenEmbedded systems (but -# can be added via additional layers.) -SKIP_FILEDEPS_${PN} = '1' diff --git a/poky/meta/recipes-extended/ltp/ltp_20210524.bb b/poky/meta/recipes-extended/ltp/ltp_20210524.bb new file mode 100644 index 000000000..4328b1efe --- /dev/null +++ b/poky/meta/recipes-extended/ltp/ltp_20210524.bb @@ -0,0 +1,139 @@ +SUMMARY = "Linux Test Project" +DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features." +HOMEPAGE = "https://linux-test-project.github.io/" +SECTION = "console/utils" +LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \ + file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \ + file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \ + file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ + file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ +" + +DEPENDS = "attr libaio libcap acl openssl zip-native" +DEPENDS_append_libc-musl = " fts " +EXTRA_OEMAKE_append_libc-musl = " LIBC=musl " +EXTRA_OECONF_append_libc-musl = " LIBS=-lfts " + +# since ltp contains x86-64 assembler which uses the frame-pointer register, +# set -fomit-frame-pointer x86-64 to handle cases where optimisation +# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer +# earlier in CFLAGS, etc. +CFLAGS_append_x86-64 = " -fomit-frame-pointer" + +CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__" +CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__" +SRCREV = "0fb171f2beddaf64bd27597577c206c0f892b3cd" + +SRC_URI = "git://github.com/linux-test-project/ltp.git \ + file://0001-Remove-OOM-tests-from-runtest-mm.patch \ + file://disable_hanging_tests.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig + +TARGET_CC_ARCH += "${LDFLAGS}" + +export prefix = "/opt/${PN}" +export exec_prefix = "/opt/${PN}" + +PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," +EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" +EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite " +# ltp network/rpc test cases ftbfs when libtirpc is found +EXTRA_OECONF += " --without-tirpc " + +do_install(){ + install -d ${D}${prefix}/ + oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install + + # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run + # as it lacks dependency on some perl moudle such as LWP::Simple + # And this script previously works as a tool for analyzing failures from LTP + # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses + # http://khack.osdl.org to retrieve ltp test results run on + # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible + rm -rf ${D}${prefix}/bin/STPfailure_report.pl + + # Copy POSIX test suite into ${D}${prefix}/testcases by manual + cp -r testcases/open_posix_testsuite ${D}${prefix}/testcases + + # Makefile were configured in the build system + find ${D}${prefix} -name Makefile | xargs -n 1 sed -i \ + -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \ + -e 's@[^ ]*--sysroot=[^ "]*@@g' + + # The controllers memcg_stree test seems to cause us hangs and takes 900s + # (maybe we expect more regular output?), anyhow, skip it + sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers +} + +RDEPENDS_${PN} = "\ + attr \ + bash \ + bc \ + coreutils \ + cpio \ + cronie \ + curl \ + e2fsprogs \ + e2fsprogs-mke2fs \ + expect \ + file \ + gawk \ + gdb \ + gzip \ + iproute2 \ + ldd \ + libaio \ + logrotate \ + net-tools \ + perl \ + python3-core \ + procps \ + quota \ + unzip \ + util-linux \ + which \ + tar \ +" + +FILES_${PN} += "${prefix}/* ${prefix}/runtest/* ${prefix}/scenario_groups/* ${prefix}/testcases/bin/* ${prefix}/testcases/bin/*/bin/* ${prefix}/testscripts/* ${prefix}/testcases/open_posix_testsuite/* ${prefix}/testcases/open_posix_testsuite/conformance/* ${prefix}/testcases/open_posix_testsuite/Documentation/* ${prefix}/testcases/open_posix_testsuite/functional/* ${prefix}/testcases/open_posix_testsuite/include/* ${prefix}/testcases/open_posix_testsuite/scripts/* ${prefix}/testcases/open_posix_testsuite/stress/* ${prefix}/testcases/open_posix_testsuite/tools/* ${prefix}/testcases/data/nm01/lib.a ${prefix}/lib/libmem.a" + +# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail +INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01" +INSANE_SKIP_${PN} += "already-stripped staticdev" + +remove_broken_musl_sources() { + [ "${TCLIBC}" = "musl" ] || return 0 + + cd ${S} + echo "WARNING: remove unsupported tests (until they're fixed)" + + # sync with upstream + # https://github.com/linux-test-project/ltp/blob/master/travis/alpine.sh#L33 + rm -rfv \ + testcases/kernel/sched/process_stress/process.c \ + testcases/kernel/syscalls/confstr/confstr01.c \ + testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \ + testcases/kernel/syscalls/getcontext/getcontext01.c \ + testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \ + testcases/kernel/syscalls/timer_create/timer_create01.c \ + testcases/kernel/syscalls/timer_create/timer_create03.c \ + utils/benchmark/ebizzy-0.3 +} +do_patch[postfuncs] += "remove_broken_musl_sources" + +# Avoid file dependency scans, as LTP checks for things that may or may not +# exist on the running system. For instance it has specific checks for +# csh and ksh which are not typically part of OpenEmbedded systems (but +# can be added via additional layers.) +SKIP_FILEDEPS_${PN} = '1' diff --git a/poky/meta/recipes-extended/parted/parted_3.4.bb b/poky/meta/recipes-extended/parted/parted_3.4.bb index c15f5aeb0..fb583489f 100644 --- a/poky/meta/recipes-extended/parted/parted_3.4.bb +++ b/poky/meta/recipes-extended/parted/parted_3.4.bb @@ -47,7 +47,7 @@ do_install_ptest() { sed -e 's| ../parted||' -i $t/tests/*.sh } -RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3 make gawk e2fsprogs-mke2fs python3-core" +RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python3 make gawk e2fsprogs-mke2fs python3-core dosfstools" RRECOMMENDS_${PN}-ptest = "kernel-module-scsi-debug" RDEPENDS_${PN}-ptest_append_libc-glibc = "\ glibc-utils \ diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch b/poky/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch index 434b6b1c4..535f9ce20 100644 --- a/poky/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch +++ b/poky/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch @@ -15,7 +15,7 @@ Signed-off-by: Yi Zhao 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/man/rpcbind.8 b/man/rpcbind.8 -index af6200f..2e6146b 100644 +index fbf0ace..66f7c08 100644 --- a/man/rpcbind.8 +++ b/man/rpcbind.8 @@ -11,7 +11,7 @@ @@ -27,17 +27,17 @@ index af6200f..2e6146b 100644 .Sh DESCRIPTION The .Nm -@@ -107,6 +107,8 @@ will automatically add +@@ -96,6 +96,8 @@ will automatically add and if IPv6 is enabled, .Li ::1 to the list. +.It Fl p +Bind for fixed UDP port number - .It Fl i - .Dq Insecure - mode. + If no + .Fl h + option is specified, diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c -index 8aef9e5..c2632a4 100644 +index 1743dad..07a1c75 100644 --- a/src/rpcb_svc_com.c +++ b/src/rpcb_svc_com.c @@ -48,6 +48,7 @@ @@ -60,8 +60,8 @@ index 8aef9e5..c2632a4 100644 int fd; struct rmtcallfd_list *rmt; SVCXPRT *xprt; -+ struct __rpc_sockinfo si; -+ struct t_bind taddr; ++ struct __rpc_sockinfo si; ++ struct t_bind taddr; if ((fd = __rpc_nconf2fd(nconf)) == -1) { if (debugging) @@ -70,23 +70,23 @@ index 8aef9e5..c2632a4 100644 return (-1); } + -+ if (fixed_port) { -+ __rpc_fd2sockinfo(fd, &si); -+ memset(&taddr, 0, sizeof(taddr)); -+ taddr.addr.maxlen = taddr.addr.len = si.si_alen; -+ taddr.addr.buf = malloc(si.si_alen); -+ if (taddr.addr.buf == NULL) { -+ return -1; -+ } -+ *(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af; -+ *(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port); -+ xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE); -+ } else ++ if (fixed_port) { ++ __rpc_fd2sockinfo(fd, &si); ++ memset(&taddr, 0, sizeof(taddr)); ++ taddr.addr.maxlen = taddr.addr.len = si.si_alen; ++ taddr.addr.buf = malloc(si.si_alen); ++ if (taddr.addr.buf == NULL) { ++ return -1; ++ } ++ *(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af; ++ *(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port); ++ xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE); ++ } else xprt = svc_tli_create(fd, 0, (struct t_bind *) 0, 0, 0); if (xprt == NULL) { if (debugging) diff --git a/src/rpcbind.c b/src/rpcbind.c -index 137011b..dc3d2d6 100644 +index 25d8a90..36a95b9 100644 --- a/src/rpcbind.c +++ b/src/rpcbind.c @@ -111,6 +111,7 @@ int runasdaemon = 0; @@ -97,7 +97,7 @@ index 137011b..dc3d2d6 100644 char **hosts = NULL; int nhosts = 0; -@@ -869,7 +870,7 @@ parseargs(int argc, char *argv[]) +@@ -884,7 +885,7 @@ parseargs(int argc, char *argv[]) { int c; oldstyle_local = 1; @@ -106,25 +106,25 @@ index 137011b..dc3d2d6 100644 switch (c) { case 'a': doabort = 1; /* when debugging, do an abort on */ -@@ -887,6 +888,9 @@ parseargs(int argc, char *argv[]) +@@ -902,6 +903,9 @@ parseargs(int argc, char *argv[]) if (hosts[nhosts - 1] == NULL) errx(1, "Out of memory"); break; -+ case 'p': -+ fixed_port = atoi(optarg); -+ break; ++ case 'p': ++ fixed_port = atoi(optarg); ++ break; case 'i': insecure = 1; break; -@@ -905,7 +909,7 @@ parseargs(int argc, char *argv[]) +@@ -920,7 +924,7 @@ parseargs(int argc, char *argv[]) break; #endif default: /* error */ - fprintf(stderr, "usage: rpcbind [-adhilswf]\n"); -+ fprintf(stderr, "usage: rpcbind [-adhpilswf]\n"); ++ fprintf(stderr, "usage: rpcbind [-adhpilswf]\n"); exit (1); } } -- -1.9.1 +2.25.1 diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb deleted file mode 100644 index ec8f9e48b..000000000 --- a/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Universal Addresses to RPC Program Number Mapper" -DESCRIPTION = "The rpcbind utility is a server that converts RPC \ - program numbers into universal addresses." -SECTION = "console/network" -HOMEPAGE = "http://sourceforge.net/projects/rpcbind/" -BUGTRACKER = "http://sourceforge.net/tracker/?group_id=201237&atid=976751" -DEPENDS = "libtirpc quota" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \ - file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24" - -SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \ - file://init.d \ - file://rpcbind.conf \ - file://rpcbind_add_option_to_fix_port_number.patch \ - file://0001-systemd-use-EnvironmentFile.patch \ - " -SRC_URI[md5sum] = "ed46f09b9c0fa2d49015f6431bc5ea7b" -SRC_URI[sha256sum] = "2ce360683963b35c19c43f0ee2c7f18aa5b81ef41c3fdbd15ffcb00b8bffda7a" - -inherit autotools update-rc.d systemd pkgconfig update-alternatives - -PACKAGECONFIG ??= "tcp-wrappers" -PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" - -INITSCRIPT_NAME = "rpcbind" -INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ." - -SYSTEMD_SERVICE_${PN} = "rpcbind.service rpcbind.socket" - -inherit useradd - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \ - --shell /bin/false --user-group rpc" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \ - --without-systemdsystemunitdir, \ - systemd \ -" - -EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc" - -do_install_append () { - install -d ${D}${sysconfdir}/init.d - sed -e 's,/etc/,${sysconfdir}/,g' \ - -e 's,/sbin/,${sbindir}/,g' \ - ${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind - chmod 0755 ${D}${sysconfdir}/init.d/rpcbind -} - -ALTERNATIVE_${PN} = "rpcinfo" -ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo" diff --git a/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb new file mode 100644 index 000000000..b02638b2c --- /dev/null +++ b/poky/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb @@ -0,0 +1,54 @@ +SUMMARY = "Universal Addresses to RPC Program Number Mapper" +DESCRIPTION = "The rpcbind utility is a server that converts RPC \ + program numbers into universal addresses." +SECTION = "console/network" +HOMEPAGE = "http://sourceforge.net/projects/rpcbind/" +BUGTRACKER = "http://sourceforge.net/tracker/?group_id=201237&atid=976751" +DEPENDS = "libtirpc quota" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \ + file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24" + +SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \ + file://init.d \ + file://rpcbind.conf \ + file://rpcbind_add_option_to_fix_port_number.patch \ + file://0001-systemd-use-EnvironmentFile.patch \ + " +SRC_URI[sha256sum] = "5613746489cae5ae23a443bb85c05a11741a5f12c8f55d2bb5e83b9defeee8de" + +inherit autotools update-rc.d systemd pkgconfig update-alternatives + +PACKAGECONFIG ??= "tcp-wrappers" +PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers" + +INITSCRIPT_NAME = "rpcbind" +INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ." + +SYSTEMD_SERVICE_${PN} = "rpcbind.service rpcbind.socket" + +inherit useradd + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \ + --shell /bin/false --user-group rpc" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \ + --without-systemdsystemunitdir, \ + systemd \ +" + +EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc" + +do_install_append () { + install -d ${D}${sysconfdir}/init.d + sed -e 's,/etc/,${sysconfdir}/,g' \ + -e 's,/sbin/,${sbindir}/,g' \ + ${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind + chmod 0755 ${D}${sysconfdir}/init.d/rpcbind +} + +ALTERNATIVE_${PN} = "rpcinfo" +ALTERNATIVE_LINK_NAME[rpcinfo] = "${bindir}/rpcinfo" diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch index c860c717a..2ee0be54b 100644 --- a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch +++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch @@ -1,21 +1,22 @@ -From bbc85a439672120fa1d36be79e959b28fe840919 Mon Sep 17 00:00:00 2001 +From f14d9d8184753dfbff99d7a51939145355627dcd Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Tue, 30 Jul 2019 18:38:03 +0200 Subject: [PATCH] Do not preserve ownership when installing example jobs Upstream-Status: Pending Signed-off-by: Alexander Kanavin + --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index f36e57e..20488af 100644 +index 91d8ed4..72d0ca0 100644 --- a/Makefile +++ b/Makefile -@@ -452,6 +452,6 @@ install: stress-ng stress-ng.1.gz - mkdir -p ${DESTDIR}${MANDIR} - cp stress-ng.1.gz ${DESTDIR}${MANDIR} +@@ -502,6 +502,6 @@ else + cp stress-ng.1 ${DESTDIR}${MANDIR} + endif mkdir -p ${DESTDIR}${JOBDIR} - cp -rp example-jobs/*.job ${DESTDIR}${JOBDIR} + cp -r example-jobs/*.job ${DESTDIR}${JOBDIR} diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb deleted file mode 100644 index eb6bdb4a8..000000000 --- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "System load testing utility" -DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \ -imposes a configurable amount of CPU, memory, I/O, and disk stress on the system." -HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ - file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \ - file://no_daddr_t.patch \ - " -SRC_URI[sha256sum] = "af7779aee38e6d94726ed7d5cf36384a64d50c86e42fff89c141d8609913f425" - -DEPENDS = "coreutils-native" - -PROVIDES = "stress" -RPROVIDES_${PN} = "stress" -RREPLACES_${PN} = "stress" -RCONFLICTS_${PN} = "stress" - -inherit bash-completion - -do_install() { - oe_runmake DESTDIR=${D} install - ln -s stress-ng ${D}${bindir}/stress -} - diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb new file mode 100644 index 000000000..f7e5f03e7 --- /dev/null +++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb @@ -0,0 +1,27 @@ +SUMMARY = "System load testing utility" +DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \ +imposes a configurable amount of CPU, memory, I/O, and disk stress on the system." +HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ + file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \ + file://no_daddr_t.patch \ + " +SRC_URI[sha256sum] = "cffac091082c7adbfec649be3c66941c3d622f8b96795656bcce2e20d669cfeb" + +DEPENDS = "coreutils-native" + +PROVIDES = "stress" +RPROVIDES_${PN} = "stress" +RREPLACES_${PN} = "stress" +RCONFLICTS_${PN} = "stress" + +inherit bash-completion + +do_install() { + oe_runmake DESTDIR=${D} install + ln -s stress-ng ${D}${bindir}/stress +} + diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb deleted file mode 100644 index b33345913..000000000 --- a/poky/meta/recipes-extended/sudo/sudo_1.9.6p1.bb +++ /dev/null @@ -1,59 +0,0 @@ -require sudo.inc - -SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \ - " - -PAM_SRC_URI = "file://sudo.pam" - -SRC_URI[sha256sum] = "a9e9cdc058fafeb9cd3ebfb864c81755e524d98aa022152763f25bce8ca3ca90" - -DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" - -CACHED_CONFIGUREVARS = " \ - ac_cv_type_rsize_t=no \ - ac_cv_path_MVPROG=${base_bindir}/mv \ - ac_cv_path_BSHELLPROG=${base_bindir}/sh \ - ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \ - ac_cv_path_VIPROG=${base_bindir}/vi \ - " - -EXTRA_OECONF += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \ - --with-rundir=/run/sudo \ - --with-vardir=/var/lib/sudo \ - --libexecdir=${libdir} \ - " - -do_install_append () { - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then - install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo - if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then - echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo - sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers - fi - fi - - chmod 4111 ${D}${bindir}/sudo - chmod 0440 ${D}${sysconfdir}/sudoers - - # Explicitly remove the /sudo directory to avoid QA error - rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo -} - -FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \ - ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la" - -SUDO_PACKAGES = "${PN}-sudo\ - ${PN}-lib" - -PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}" - -RDEPENDS_${PN}-sudo = "${PN}-lib" -RDEPENDS_${PN} += "${SUDO_PACKAGES}" - -FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit" -FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}" diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.7.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.7.bb new file mode 100644 index 000000000..4685ca10b --- /dev/null +++ b/poky/meta/recipes-extended/sudo/sudo_1.9.7.bb @@ -0,0 +1,59 @@ +require sudo.inc + +SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \ + " + +PAM_SRC_URI = "file://sudo.pam" + +SRC_URI[sha256sum] = "2bbe7c2d6699b84d950ef9a43f09d4d967b8bc244b73bc095c4202068ddbe549" + +DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" + +CACHED_CONFIGUREVARS = " \ + ac_cv_type_rsize_t=no \ + ac_cv_path_MVPROG=${base_bindir}/mv \ + ac_cv_path_BSHELLPROG=${base_bindir}/sh \ + ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \ + ac_cv_path_VIPROG=${base_bindir}/vi \ + " + +EXTRA_OECONF += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \ + --with-rundir=/run/sudo \ + --with-vardir=/var/lib/sudo \ + --libexecdir=${libdir} \ + " + +do_install_append () { + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then + install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo + if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then + echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo + sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers + fi + fi + + chmod 4111 ${D}${bindir}/sudo + chmod 0440 ${D}${sysconfdir}/sudoers + + # Explicitly remove the /sudo directory to avoid QA error + rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo +} + +FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \ + ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la" + +SUDO_PACKAGES = "${PN}-sudo\ + ${PN}-lib" + +PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}" + +RDEPENDS_${PN}-sudo = "${PN}-lib" +RDEPENDS_${PN} += "${SUDO_PACKAGES}" + +FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit" +FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}" diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb deleted file mode 100644 index 5dfeca532..000000000 --- a/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "System Log Daemons" -DESCRIPTION = "The sysklogd package implements system log daemons: syslogd" -HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/" -SECTION = "base" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \ - file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \ - " - -inherit update-rc.d update-alternatives systemd autotools - -SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \ - file://sysklogd \ - " - -SRCREV = "f507ed8ff3f1e9d71bb6f85acbf5d14b2fa4e5f7" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger" - -do_install_append () { - install -d ${D}${sysconfdir} - install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog -} - -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "syslogd.service" -SYSTEMD_AUTO_ENABLE = "enable" - -INITSCRIPT_NAME = "syslog" -CONFFILES_${PN} = "${sysconfdir}/syslog.conf" -RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng" - -FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}" - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE_${PN}-doc = "syslogd.8" -ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8" - -pkg_prerm_${PN} () { - if test "x$D" = "x"; then - if test "$1" = "upgrade" -o "$1" = "remove"; then - /etc/init.d/syslog stop || : - fi - fi -} - -python () { - if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): - d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") -} diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb new file mode 100644 index 000000000..be34ec7b3 --- /dev/null +++ b/poky/meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb @@ -0,0 +1,56 @@ +SUMMARY = "System Log Daemons" +DESCRIPTION = "The sysklogd package implements system log daemons: syslogd" +HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/" +SECTION = "base" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \ + file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \ + " + +inherit update-rc.d update-alternatives systemd autotools + +SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1 \ + file://sysklogd \ + " + +SRCREV = "17b68ca89ab814bb623b615c4e7088d619ed8829" + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger" + +do_install_append () { + install -d ${D}${sysconfdir} + install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog +} + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "syslogd.service" +SYSTEMD_AUTO_ENABLE = "enable" + +INITSCRIPT_NAME = "syslog" +CONFFILES_${PN} = "${sysconfdir}/syslog.conf" +RCONFLICTS_${PN} = "rsyslog busybox-syslog syslog-ng" + +FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}" + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN}-doc = "syslogd.8" +ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8" + +pkg_prerm_${PN} () { + if test "x$D" = "x"; then + if test "$1" = "upgrade" -o "$1" = "remove"; then + /etc/init.d/syslog stop || : + fi + fi +} + +python () { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") +} diff --git a/poky/meta/recipes-extended/unzip/unzip_6.0.bb b/poky/meta/recipes-extended/unzip/unzip_6.0.bb index ec69508ee..40f0346f8 100644 --- a/poky/meta/recipes-extended/unzip/unzip_6.0.bb +++ b/poky/meta/recipes-extended/unzip/unzip_6.0.bb @@ -33,6 +33,9 @@ UPSTREAM_VERSION_UNKNOWN = "1" SRC_URI[md5sum] = "62b490407489521db863b523a7f86375" SRC_URI[sha256sum] = "036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37" +# Patch from https://bugzilla.redhat.com/attachment.cgi?id=293893&action=diff applied to 6.0 source +CVE_CHECK_WHITELIST += "CVE-2008-0888" + # exclude version 5.5.2 which triggers a false positive UPSTREAM_CHECK_REGEX = "unzip(?P(?!552).+)\.tgz" diff --git a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb index 2787b270f..69d5b2f83 100644 --- a/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb +++ b/poky/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb @@ -19,6 +19,9 @@ SRCREV = "6a4af7786630ce48747d9687e2f18f45ea6684c4" S = "${WORKDIR}/git" +# https://github.com/xinetd-org/xinetd/pull/10 is merged into this git tree revision +CVE_CHECK_WHITELIST += "CVE-2013-4342" + inherit autotools update-rc.d systemd pkgconfig SYSTEMD_SERVICE_${PN} = "xinetd.service" diff --git a/poky/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch b/poky/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch index b5ffb95b7..37c5ff0cc 100644 --- a/poky/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch +++ b/poky/meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch @@ -1,4 +1,4 @@ -From 986c7917aef632745cb3388a86a2f62347d5a0a5 Mon Sep 17 00:00:00 2001 +From 77c7963c7a0f1c455f20520d5c7b1ec9b17a44fb Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 23 Dec 2020 19:14:32 +0100 Subject: [PATCH] Makefile: sort all wildcard file list expansions @@ -16,7 +16,7 @@ Signed-off-by: Alexander Kanavin 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/programs/Makefile b/programs/Makefile -index 936f3c80..b8200fae 100644 +index 599fb02f..2c416467 100644 --- a/programs/Makefile +++ b/programs/Makefile @@ -74,11 +74,11 @@ ZSTDLEGACY_DIR := $(ZSTDDIR)/legacy @@ -45,11 +45,11 @@ index 936f3c80..b8200fae 100644 ZSTD_ALL_SRC = $(ZSTDLIB_LOCAL_SRC) $(ZSTD_CLI_SRC) diff --git a/tests/Makefile b/tests/Makefile -index f0605057..74a90b0f 100644 +index 85553007..b71cdba8 100644 --- a/tests/Makefile +++ b/tests/Makefile -@@ -49,7 +49,7 @@ ZSTD_FILES := $(ZSTDDECOMP_FILES) $(ZSTDCOMMON_FILES) $(ZSTDCOMP_FILES) - ZBUFF_FILES := $(ZSTDDIR)/deprecated/*.c +@@ -49,7 +49,7 @@ ZSTDDECOMP_FILES := $(ZSTDDIR)/decompress/*.c + ZSTD_FILES := $(ZSTDDECOMP_FILES) $(ZSTDCOMMON_FILES) $(ZSTDCOMP_FILES) ZDICT_FILES := $(ZSTDDIR)/dictBuilder/*.c -ZSTD_F1 := $(wildcard $(ZSTD_FILES)) @@ -57,7 +57,7 @@ index f0605057..74a90b0f 100644 ZSTD_OBJ1 := $(subst $(ZSTDDIR)/common/,zstdm_,$(ZSTD_F1)) ZSTD_OBJ2 := $(subst $(ZSTDDIR)/compress/,zstdc_,$(ZSTD_OBJ1)) ZSTD_OBJ3 := $(subst $(ZSTDDIR)/decompress/,zstdd_,$(ZSTD_OBJ2)) -@@ -211,7 +211,7 @@ bigdict: $(ZSTDMT_OBJECTS) $(PRGDIR)/datagen.c bigdict.c +@@ -202,7 +202,7 @@ bigdict: $(ZSTDMT_OBJECTS) $(PRGDIR)/datagen.c bigdict.c invalidDictionaries : $(ZSTD_OBJECTS) invalidDictionaries.c legacy : CPPFLAGS += -I$(ZSTDDIR)/legacy -DZSTD_LEGACY_SUPPORT=4 @@ -67,10 +67,10 @@ index f0605057..74a90b0f 100644 decodecorpus : LDLIBS += -lm decodecorpus : $(filter-out zstdc_zstd_compress.o, $(ZSTD_OBJECTS)) $(ZDICT_FILES) $(PRGDIR)/util.c $(PRGDIR)/timefn.c decodecorpus.c diff --git a/tests/fuzz/Makefile b/tests/fuzz/Makefile -index f3a561de..68a29ef0 100644 +index ccb574b7..b1cb2935 100644 --- a/tests/fuzz/Makefile +++ b/tests/fuzz/Makefile -@@ -58,7 +58,7 @@ FUZZ_SRC := \ +@@ -62,7 +62,7 @@ FUZZ_SRC := \ $(ZSTDCOMP_SRC) \ $(ZSTDDICT_SRC) \ $(ZSTDLEGACY_SRC) diff --git a/poky/meta/recipes-extended/zstd/zstd/0001-MinGW-Build-Fixes.patch b/poky/meta/recipes-extended/zstd/zstd/0001-MinGW-Build-Fixes.patch new file mode 100644 index 000000000..a0e00dca0 --- /dev/null +++ b/poky/meta/recipes-extended/zstd/zstd/0001-MinGW-Build-Fixes.patch @@ -0,0 +1,193 @@ +From ab9a34c92eec815ef214470c927ddbe2e950e7e5 Mon Sep 17 00:00:00 2001 +From: Joshua Watt +Date: Wed, 26 May 2021 09:15:40 -0500 +Subject: [PATCH] MinGW Build Fixes + +Fixes building on MinGW by + 1) Exporting the OS variable so that it is visible to sub-make + invocations + 2) Fixing the extension handling so that make correctly identifies when + targets need to be rebuilt. Without the correct handling, make would + rebuild the executable targets when running `make install` because + it couldn't find them with the correct extension. + +Upstream-Status: Submitted [https://github.com/facebook/zstd/pull/2685] +Signed-off-by: Joshua Watt +--- + Makefile | 1 + + programs/Makefile | 74 +++++++++++++++++++++++------------------------ + 2 files changed, 38 insertions(+), 37 deletions(-) + +diff --git a/Makefile b/Makefile +index c1908f0a..f9ce9504 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,6 +29,7 @@ VOID = /dev/null + # fail on other tested distros (ubuntu, debian) even + # without manually specifying the TARGET_SYSTEM. + TARGET_SYSTEM ?= $(OS) ++export OS + + ifneq (,$(filter Windows%,$(TARGET_SYSTEM))) + EXT =.exe +diff --git a/programs/Makefile b/programs/Makefile +index 599fb02f..79b45c83 100644 +--- a/programs/Makefile ++++ b/programs/Makefile +@@ -209,37 +209,37 @@ SET_CACHE_DIRECTORY = \ + + + .PHONY: all +-all: zstd ++all: zstd$(EXT) + + .PHONY: allVariants +-allVariants: zstd zstd-compress zstd-decompress zstd-small zstd-nolegacy zstd-dictBuilder ++allVariants: zstd$(EXT) zstd-compress$(EXT) zstd-decompress$(EXT) zstd-small$(EXT) zstd-nolegacy$(EXT) zstd-dictBuilder$(EXT) + + .PHONY: zstd # must always be run +-zstd : CPPFLAGS += $(THREAD_CPP) $(ZLIBCPP) $(LZMACPP) $(LZ4CPP) +-zstd : LDFLAGS += $(THREAD_LD) $(DEBUGFLAGS_LD) +-zstd : LDLIBS += $(ZLIBLD) $(LZMALD) $(LZ4LD) +-zstd : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) ++zstd$(EXT) : CPPFLAGS += $(THREAD_CPP) $(ZLIBCPP) $(LZMACPP) $(LZ4CPP) ++zstd$(EXT) : LDFLAGS += $(THREAD_LD) $(DEBUGFLAGS_LD) ++zstd$(EXT) : LDLIBS += $(ZLIBLD) $(LZMALD) $(LZ4LD) ++zstd$(EXT) : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) + ifneq (,$(filter Windows%,$(OS))) +-zstd : $(RES_FILE) ++zstd$(EXT) : $(RES_FILE) + endif + + ifndef BUILD_DIR + # generate BUILD_DIR from flags + +-zstd: ++zstd$(EXT): + $(SET_CACHE_DIRECTORY) + + else + # BUILD_DIR is defined + + ZSTD_OBJ := $(addprefix $(BUILD_DIR)/, $(ZSTD_ALL_OBJ)) +-$(BUILD_DIR)/zstd : $(ZSTD_OBJ) ++$(BUILD_DIR)/zstd$(EXT) : $(ZSTD_OBJ) + @echo "$(THREAD_MSG)" + @echo "$(ZLIB_MSG)" + @echo "$(LZMA_MSG)" + @echo "$(LZ4_MSG)" + @echo LINK $@ +- $(CC) $(FLAGS) $^ $(LDLIBS) -o $@$(EXT) ++ $(CC) $(FLAGS) $^ $(LDLIBS) -o $@ + + ifeq ($(HAVE_HASH),1) + SRCBIN_HASH = $(shell cat $(BUILD_DIR)/zstd 2> $(VOID) | $(HASH) | cut -f 1 -d " ") +@@ -249,7 +249,7 @@ else + BIN_ISDIFFERENT = 1 + endif + +-zstd : $(BUILD_DIR)/zstd ++zstd$(EXT) : $(BUILD_DIR)/zstd$(EXT) + if [ $(BIN_ISDIFFERENT) -eq 1 ]; then \ + cp -f $< $@; \ + echo zstd build completed; \ +@@ -263,46 +263,46 @@ endif # BUILD_DIR + .PHONY: zstd-release + zstd-release: DEBUGFLAGS := -DBACKTRACE_ENABLE=0 + zstd-release: DEBUGFLAGS_LD := +-zstd-release: zstd ++zstd-release: zstd$(EXT) + +-zstd32 : CPPFLAGS += $(THREAD_CPP) +-zstd32 : LDFLAGS += $(THREAD_LD) +-zstd32 : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) ++zstd32$(EXT) : CPPFLAGS += $(THREAD_CPP) ++zstd32$(EXT) : LDFLAGS += $(THREAD_LD) ++zstd32$(EXT) : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) + ifneq (,$(filter Windows%,$(OS))) +-zstd32 : $(RES32_FILE) ++zstd32$(EXT) : $(RES32_FILE) + endif +-zstd32 : $(ZSTDLIB_FULL_SRC) $(ZSTD_CLI_SRC) +- $(CC) -m32 $(FLAGS) $^ -o $@$(EXT) ++zstd32$(EXT) : $(ZSTDLIB_FULL_SRC) $(ZSTD_CLI_SRC) ++ $(CC) -m32 $(FLAGS) $^ -o $@ + + ## zstd-nolegacy: same scope as zstd, with just support of legacy formats removed +-zstd-nolegacy : LDFLAGS += $(THREAD_LD) $(ZLIBLD) $(LZMALD) $(LZ4LD) $(DEBUGFLAGS_LD) +-zstd-nolegacy : $(ZSTDLIB_CORE_SRC) $(ZDICT_SRC) $(ZSTD_CLI_OBJ) +- $(CC) $(FLAGS) $^ -o $@$(EXT) $(LDFLAGS) ++zstd-nolegacy$(EXT) : LDFLAGS += $(THREAD_LD) $(ZLIBLD) $(LZMALD) $(LZ4LD) $(DEBUGFLAGS_LD) ++zstd-nolegacy$(EXT) : $(ZSTDLIB_CORE_SRC) $(ZDICT_SRC) $(ZSTD_CLI_OBJ) ++ $(CC) $(FLAGS) $^ -o $@ $(LDFLAGS) + + .PHONY: zstd-nomt + zstd-nomt : THREAD_CPP := + zstd-nomt : THREAD_LD := + zstd-nomt : THREAD_MSG := - multi-threading disabled +-zstd-nomt : zstd ++zstd-nomt : zstd$(EXT) + + .PHONY: zstd-nogz + zstd-nogz : ZLIBCPP := + zstd-nogz : ZLIBLD := + zstd-nogz : ZLIB_MSG := - gzip support is disabled +-zstd-nogz : zstd ++zstd-nogz : zstd$(EXT) + + .PHONY: zstd-noxz + zstd-noxz : LZMACPP := + zstd-noxz : LZMALD := + zstd-noxz : LZMA_MSG := - xz/lzma support is disabled +-zstd-noxz : zstd ++zstd-noxz : zstd$(EXT) + + ## zstd-dll: zstd executable linked to dynamic library libzstd (must have same version) + .PHONY: zstd-dll + zstd-dll : LDFLAGS+= -L$(ZSTDDIR) + zstd-dll : LDLIBS += -lzstd + zstd-dll : ZSTDLIB_LOCAL_SRC = xxhash.c +-zstd-dll : zstd ++zstd-dll : zstd$(EXT) + + + ## zstd-pgo: zstd executable optimized with PGO. +@@ -321,23 +321,23 @@ zstd-pgo : + $(MAKE) zstd MOREFLAGS=-fprofile-use + + ## zstd-small: minimal target, supporting only zstd compression and decompression. no bench. no legacy. no other format. +-zstd-small: CFLAGS = -Os -s +-zstd-frugal zstd-small: $(ZSTDLIB_CORE_SRC) zstdcli.c util.c timefn.c fileio.c +- $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NOTRACE $^ -o $@$(EXT) ++zstd-small$(EXT): CFLAGS = -Os -s ++zstd-frugal$(EXT) zstd-small$(EXT): $(ZSTDLIB_CORE_SRC) zstdcli.c util.c timefn.c fileio.c ++ $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NOTRACE $^ -o $@ + +-zstd-decompress: $(ZSTDLIB_COMMON_C) $(ZSTDLIB_DECOMPRESS_C) zstdcli.c util.c timefn.c fileio.c +- $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NOCOMPRESS -DZSTD_NOTRACE $^ -o $@$(EXT) ++zstd-decompress$(EXT): $(ZSTDLIB_COMMON_C) $(ZSTDLIB_DECOMPRESS_C) zstdcli.c util.c timefn.c fileio.c ++ $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NOCOMPRESS -DZSTD_NOTRACE $^ -o $@ + +-zstd-compress: $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) zstdcli.c util.c timefn.c fileio.c +- $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NODECOMPRESS -DZSTD_NOTRACE $^ -o $@$(EXT) ++zstd-compress$(EXT): $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) zstdcli.c util.c timefn.c fileio.c ++ $(CC) $(FLAGS) -DZSTD_NOBENCH -DZSTD_NODICT -DZSTD_NODECOMPRESS -DZSTD_NOTRACE $^ -o $@ + + ## zstd-dictBuilder: executable supporting dictionary creation and compression (only) +-zstd-dictBuilder: CPPFLAGS += -DZSTD_NOBENCH -DZSTD_NODECOMPRESS -DZSTD_NOTRACE +-zstd-dictBuilder: $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) $(ZDICT_SRC) zstdcli.c util.c timefn.c fileio.c dibio.c +- $(CC) $(FLAGS) $^ -o $@$(EXT) ++zstd-dictBuilder$(EXT): CPPFLAGS += -DZSTD_NOBENCH -DZSTD_NODECOMPRESS -DZSTD_NOTRACE ++zstd-dictBuilder$(EXT): $(ZSTDLIB_COMMON_C) $(ZSTDLIB_COMPRESS_C) $(ZDICT_SRC) zstdcli.c util.c timefn.c fileio.c dibio.c ++ $(CC) $(FLAGS) $^ -o $@ + +-zstdmt: zstd +- ln -sf zstd zstdmt ++zstdmt$(EXT): zstd$(EXT) ++ ln -sf zstd$(EXT) zstdmt$(EXT) + + .PHONY: generate_res + generate_res: $(RES64_FILE) $(RES32_FILE) +-- +2.31.1 + diff --git a/poky/meta/recipes-extended/zstd/zstd_1.4.9.bb b/poky/meta/recipes-extended/zstd/zstd_1.4.9.bb deleted file mode 100644 index b86fdf8b2..000000000 --- a/poky/meta/recipes-extended/zstd/zstd_1.4.9.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Zstandard - Fast real-time compression algorithm" -DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \ -real-time compression scenarios at zlib-level and better compression ratios. \ -It's backed by a very fast entropy stage, provided by Huff0 and FSE library." -HOMEPAGE = "http://www.zstd.net/" -SECTION = "console/utils" - -LICENSE = "BSD-3-Clause & GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \ - file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0" - -SRC_URI = "git://github.com/facebook/zstd.git;branch=release \ - file://0001-Makefile-sort-all-wildcard-file-list-expansions.patch \ - " - -SRCREV = "e4558ffd1dc49399faf4ee5d85abed4386b4dcf5" -UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" - -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4" -PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz" -PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib" - -# See programs/README.md for how to use this -ZSTD_LEGACY_SUPPORT ??= "4" - -do_compile () { - oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} -} - -do_install () { - oe_runmake install 'DESTDIR=${D}' -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb b/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb new file mode 100644 index 000000000..806edb63c --- /dev/null +++ b/poky/meta/recipes-extended/zstd/zstd_1.5.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "Zstandard - Fast real-time compression algorithm" +DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \ +real-time compression scenarios at zlib-level and better compression ratios. \ +It's backed by a very fast entropy stage, provided by Huff0 and FSE library." +HOMEPAGE = "http://www.zstd.net/" +SECTION = "console/utils" + +LICENSE = "BSD-3-Clause & GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \ + file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0" + +SRC_URI = "git://github.com/facebook/zstd.git;branch=release \ + file://0001-Makefile-sort-all-wildcard-file-list-expansions.patch \ + file://0001-MinGW-Build-Fixes.patch \ + " + +SRCREV = "a488ba114ec17ea1054b9057c26a046fc122b3b6" +UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4" +PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz" +PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib" + +# See programs/README.md for how to use this +ZSTD_LEGACY_SUPPORT ??= "4" + +do_compile () { + oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} +} + +do_install () { + oe_runmake install 'DESTDIR=${D}' +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.38.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.38.3.bb deleted file mode 100644 index ce24336ac..000000000 --- a/poky/meta/recipes-gnome/epiphany/epiphany_3.38.3.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "WebKit based web browser for GNOME" -DESCRIPTION = "Epiphany is an open source web browser for the Linux desktop environment. \ -It provides a simple and easy-to-use internet browsing experience." -HOMEPAGE = "https://wiki.gnome.org/Apps/Web" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany" -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr gnutls \ - gsettings-desktop-schemas libxml2-native \ - glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings features_check upstream-version-is-even gettext mime-xdg -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ - file://0002-help-meson.build-disable-the-use-of-yelp.patch \ - file://migrator.patch \ - file://distributor.patch \ - " -SRC_URI[archive.sha256sum] = "ce62c1fa3e442a9d6131fc884a6bc9a65cf06224c30d649c49624c2ebcb0d275" - -# Developer mode enables debugging -PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false" - -FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" -RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb b/poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb new file mode 100644 index 000000000..2242e9d01 --- /dev/null +++ b/poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb @@ -0,0 +1,29 @@ +SUMMARY = "WebKit based web browser for GNOME" +DESCRIPTION = "Epiphany is an open source web browser for the Linux desktop environment. \ +It provides a simple and easy-to-use internet browsing experience." +HOMEPAGE = "https://wiki.gnome.org/Apps/Web" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr gnutls \ + gsettings-desktop-schemas libxml2-native \ + glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal \ + libarchive" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gsettings features_check gettext mime-xdg +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0002-help-meson.build-disable-the-use-of-yelp.patch \ + file://migrator.patch \ + file://distributor.patch \ + " +SRC_URI[archive.sha256sum] = "696a426b1702774af8d0f056828f5d9ff9350507aba7f4c7e3e499f07a581ad0" + +# Developer mode enables debugging +PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false" + +FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" +RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch b/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch index 118b5d182..a6c4f92c8 100644 --- a/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch +++ b/poky/meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch @@ -1,4 +1,4 @@ -From 3725c254f1d1d8204fa299e71c1e2bfd0ff6a634 Mon Sep 17 00:00:00 2001 +From 77c9f87dc2b3ad0854a678e234e22dfb31902b82 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 31 Jan 2018 15:50:38 +0200 Subject: [PATCH] help/meson.build: disable the use of yelp @@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/help/meson.build b/help/meson.build -index 484860c..d9b2e80 100644 +index ff324dd..f5e421d 100644 --- a/help/meson.build +++ b/help/meson.build -@@ -32,7 +32,7 @@ help_media = [ - 'media/epiphany-private-3-36.png' +@@ -31,7 +31,7 @@ help_media = [ + 'media/org.gnome.Epiphany.svg' ] -gnome.yelp(meson.project_name(), diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch new file mode 100644 index 000000000..a8206a450 --- /dev/null +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch @@ -0,0 +1,171 @@ +From ba73bb0f3d2023839bc3b681c49b7ec1192cceb4 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Sat, 8 May 2021 21:58:54 +0200 +Subject: [PATCH] Add use_prebuilt_tools option + +This allows using the gdk-pixbuf tools from the host to +build and install tests in a cross-compile scenarion. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/119] +Signed-off-by: Alexander Kanavin + +--- + gdk-pixbuf/meson.build | 11 +++++++++-- + meson.build | 6 +++--- + meson_options.txt | 4 ++++ + tests/meson.build | 16 ++++++++-------- + thumbnailer/meson.build | 24 ++++++++++++++++++------ + 5 files changed, 42 insertions(+), 19 deletions(-) + +diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build +index 8b0590b..7331491 100644 +--- a/gdk-pixbuf/meson.build ++++ b/gdk-pixbuf/meson.build +@@ -342,13 +342,20 @@ foreach bin: gdkpixbuf_bin + include_directories: [ root_inc, gdk_pixbuf_inc ], + c_args: common_cflags + gdk_pixbuf_cflags, + install: true) +- meson.override_find_program(bin_name, bin) ++ if not get_option('use_prebuilt_tools') ++ meson.override_find_program(bin_name, bin) ++ endif + + # Used in tests + set_variable(bin_name.underscorify(), bin) + endforeach + +-if not meson.is_cross_build() ++if get_option('use_prebuilt_tools') ++ gdk_pixbuf_query_loaders = find_program('gdk-pixbuf-query-loaders', required: true) ++ gdk_pixbuf_pixdata = find_program('gdk-pixbuf-pixdata', required: true) ++endif ++ ++if not meson.is_cross_build() or get_option('use_prebuilt_tools') + # The 'loaders.cache' used for testing, so we don't accidentally + # load the installed cache; we always build it by default + loaders_cache = custom_target('loaders.cache', +diff --git a/meson.build b/meson.build +index 7a1409b..0bc73eb 100644 +--- a/meson.build ++++ b/meson.build +@@ -403,16 +403,16 @@ subdir('gdk-pixbuf') + # i18n + subdir('po') + +-if not meson.is_cross_build() ++if not meson.is_cross_build() or get_option('use_prebuilt_tools') + subdir('tests') +- subdir('thumbnailer') + endif ++subdir('thumbnailer') + + # Documentation + build_docs = get_option('gtk_doc') or get_option('docs') + subdir('docs') + +-if not meson.is_cross_build() ++if not meson.is_cross_build() or get_option('use_prebuilt_tools') + meson.add_install_script('build-aux/post-install.py', + gdk_pixbuf_bindir, + gdk_pixbuf_libdir, +diff --git a/meson_options.txt b/meson_options.txt +index 0ee6718..cc29855 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -49,4 +49,8 @@ option('gio_sniffing', + description: 'Perform file type detection using GIO (Unused on MacOS and Windows)', + type: 'boolean', + value: true) ++option('use_prebuilt_tools', ++ description: 'Use prebuilt gdk-pixbuf tools from the host for cross-compilation', ++ type: 'boolean', ++ value: false) + +diff --git a/tests/meson.build b/tests/meson.build +index 7c6cb11..1029e6a 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -5,6 +5,12 @@ + # $PATH. Ideally we should use gnome.compile_resources() and let Meson deal with + # this problem: See https://github.com/mesonbuild/meson/issues/8266. + if enabled_loaders.contains('png') and host_system != 'windows' ++ ++ resources_deps = [loaders_cache,] ++ if not get_option('use_prebuilt_tools') ++ resources_deps += [gdk_pixbuf_pixdata,] ++ endif ++ + # Resources; we cannot use gnome.compile_resources() here, because we need to + # override the environment in order to use the utilities we just built instead + # of the system ones +@@ -21,10 +27,7 @@ if enabled_loaders.contains('png') and host_system != 'windows' + '@INPUT@', + '@OUTPUT@', + ], +- depends: [ +- gdk_pixbuf_pixdata, +- loaders_cache, +- ], ++ depends: resources_deps, + ) + + resources_h = custom_target('resources.h', +@@ -40,10 +43,7 @@ if enabled_loaders.contains('png') and host_system != 'windows' + '@INPUT@', + '@OUTPUT@', + ], +- depends: [ +- gdk_pixbuf_pixdata, +- loaders_cache, +- ], ++ depends: resources_deps, + ) + no_resources = false + else +diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build +index b6a206d..9336c21 100644 +--- a/thumbnailer/meson.build ++++ b/thumbnailer/meson.build +@@ -6,13 +6,29 @@ bin = executable('gdk-pixbuf-thumbnailer', + ], + dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ], + install: true) +-meson.override_find_program('gdk-pixbuf-thumbnailer', bin) ++if not get_option('use_prebuilt_tools') ++ meson.override_find_program('gdk-pixbuf-thumbnailer', bin) ++endif + + gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types', + 'gdk-pixbuf-print-mime-types.c', ++ install: true, + c_args: common_cflags, + dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ]) + ++if get_option('use_prebuilt_tools') ++ gdk_pixbuf_print_mime_types = find_program('gdk-pixbuf-print-mime-types', required: true) ++endif ++ ++thumbnailer_deps = [loaders_cache,] ++ ++if not get_option('use_prebuilt_tools') ++ thumbnailer_deps += [ ++ gdk_pixbuf_print_mime_types, ++ gdk_pixbuf_pixdata, ++ ] ++endif ++ + custom_target('thumbnailer', + input: 'gdk-pixbuf-thumbnailer.thumbnailer.in', + output: 'gdk-pixbuf-thumbnailer.thumbnailer', +@@ -25,10 +41,6 @@ custom_target('thumbnailer', + '@INPUT@', + '@OUTPUT@', + ], +- depends: [ +- gdk_pixbuf_print_mime_types, +- gdk_pixbuf_pixdata, +- loaders_cache, +- ], ++ depends: thumbnailer_deps, + install: true, + install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch deleted file mode 100644 index e46140491..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch +++ /dev/null @@ -1,38 +0,0 @@ -From be8a47e0c21e5577d4f5669d339dfec6299b25be Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 14 Feb 2019 18:06:25 +0100 -Subject: [PATCH] Generate loaders.cache using a native tool when - cross-compiling - -Otherwise meson would attempt to run a target binary. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin - ---- - gdk-pixbuf/meson.build | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build -index 5cddbec..78c8bd3 100644 ---- a/gdk-pixbuf/meson.build -+++ b/gdk-pixbuf/meson.build -@@ -324,8 +324,16 @@ if not meson.is_cross_build() - build_by_default: true) - loaders_dep = declare_dependency(sources: [ loaders_cache ]) - else -- loaders_cache = [] -- loaders_dep = declare_dependency() -+ loaders_cache = custom_target('loaders.cache', -+ output: 'loaders.cache', -+ capture: true, -+ command: [ -+ 'gdk-pixbuf-query-loaders', -+ dynamic_loaders, -+ ], -+ depends: dynamic_loaders_dep, -+ build_by_default: true) -+ loaders_dep = declare_dependency(sources: [ loaders_cache ]) - endif - - pkgconfig = import('pkgconfig') diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch deleted file mode 100644 index 2aa916475..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch +++ /dev/null @@ -1,95 +0,0 @@ -From dcaf3106e2cca27f728a8bd26127430500a1136e Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 22 Feb 2019 13:22:06 +0100 -Subject: [PATCH] Work-around thumbnailer and pixdata cross-compile failure - -Use native gdk-pixbuf-print-mime-types and gdk-pixbuf-pixdata -when generating the thumbnail metadata and resources. - -This works but the mime types will come from native -loader.cache (which will only contain in-tree loaders), not from the -target loader.cache. - -The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 - -Upstream-Status: Inappropriate [workaround] -Signed-off-by: Alexander Kanavin - ---- - tests/meson.build | 11 +++++++++-- - thumbnailer/meson.build | 23 ++++++++++++++++++++++- - 2 files changed, 31 insertions(+), 3 deletions(-) - -diff --git a/tests/meson.build b/tests/meson.build -index 7c6cb11..07121f1 100644 ---- a/tests/meson.build -+++ b/tests/meson.build -@@ -8,13 +8,20 @@ if enabled_loaders.contains('png') and host_system != 'windows' - # Resources; we cannot use gnome.compile_resources() here, because we need to - # override the environment in order to use the utilities we just built instead - # of the system ones -+ -+ if not meson.is_cross_build() -+ pixdata_binary = gdk_pixbuf_pixdata.full_path() -+ else -+ pixdata_binary = 'gdk-pixbuf-pixdata' -+ endif -+ - resources_c = custom_target('resources.c', - input: 'resources.gresource.xml', - output: 'resources.c', - command: [ - gen_resources, - '--glib-compile-resources=@0@'.format(glib_compile_resources.full_path()), -- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), -+ '--pixdata=@0@'.format(pixdata_binary), - '--loaders=@0@'.format(loaders_cache.full_path()), - '--sourcedir=@0@'.format(meson.current_source_dir()), - '--source', -@@ -33,7 +40,7 @@ if enabled_loaders.contains('png') and host_system != 'windows' - command: [ - gen_resources, - '--glib-compile-resources=@0@'.format(glib_compile_resources.full_path()), -- '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), -+ '--pixdata=@0@'.format(pixdata_binary), - '--loaders=@0@'.format(loaders_cache.full_path()), - '--sourcedir=@0@'.format(meson.current_source_dir()), - '--header', -diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build -index 8c741e0..5a3b52a 100644 ---- a/thumbnailer/meson.build -+++ b/thumbnailer/meson.build -@@ -14,7 +14,27 @@ gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types', - install: true, - dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ]) - --custom_target('thumbnailer', -+if meson.is_cross_build() -+ custom_target('thumbnailer', -+ input: 'gdk-pixbuf-thumbnailer.thumbnailer.in', -+ output: 'gdk-pixbuf-thumbnailer.thumbnailer', -+ command: [ -+ gen_thumbnailer, -+ '--printer=gdk-pixbuf-print-mime-types', -+ '--pixdata=@0@'.format(gdk_pixbuf_pixdata.full_path()), -+ '--loaders=@0@'.format(loaders_cache.full_path()), -+ '--bindir=@0@'.format(gdk_pixbuf_bindir), -+ '@INPUT@', -+ '@OUTPUT@', -+ ], -+ depends: [ -+ gdk_pixbuf_print_mime_types, -+ gdk_pixbuf_pixdata, -+ ], -+ install: true, -+ install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) -+else -+ custom_target('thumbnailer', - input: 'gdk-pixbuf-thumbnailer.thumbnailer.in', - output: 'gdk-pixbuf-thumbnailer.thumbnailer', - command: [ -@@ -33,3 +53,4 @@ custom_target('thumbnailer', - ], - install: true, - install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) -+endif diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch deleted file mode 100644 index 110b32a49..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8c7ced988def52654946458a3779e383b27f14f7 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 14 Feb 2019 17:56:10 +0100 -Subject: [PATCH] Work-around thumbnailer cross-compile failure - -Install gdk-pixbuf-print-mime-types that's needed for thumbnail -metadata generation. - -The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 - -Upstream-Status: Inappropriate [workaround] -Signed-off-by: Alexander Kanavin ---- - thumbnailer/meson.build | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build -index e801144..aaafec8 100644 ---- a/thumbnailer/meson.build -+++ b/thumbnailer/meson.build -@@ -10,6 +10,7 @@ executable('gdk-pixbuf-thumbnailer', - gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types', - 'gdk-pixbuf-print-mime-types.c', - c_args: common_cflags, -+ install: true, - dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ]) - - custom_target('thumbnailer', diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch deleted file mode 100644 index cd9f88bef..000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d02a8e202d2fe5caf3449683e0ccdf84a482a325 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Wed, 5 Jun 2019 14:17:55 +0200 -Subject: [PATCH] Build thumbnailer and tests also in cross builds. - -Upstream-Status: Inappropriate [relies on oe-core specific hacks] -Signed-off-by: Alexander Kanavin - ---- - meson.build | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/meson.build b/meson.build -index 73034d1..d114016 100644 ---- a/meson.build -+++ b/meson.build -@@ -378,10 +378,8 @@ subdir('gdk-pixbuf') - # i18n - subdir('po') - --if not meson.is_cross_build() -- subdir('tests') -- subdir('thumbnailer') --endif -+subdir('tests') -+subdir('thumbnailer') - - # Documentation - build_docs = get_option('gtk_doc') or get_option('docs') diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb index 2734a11f9..50d58ef80 100644 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb @@ -20,15 +20,12 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ file://run-ptest \ file://fatal-loader.patch \ - file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ - file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ - file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \ - file://0001-Work-around-thumbnailer-and-pixdata-cross-compile-fa.patch \ + file://0001-Add-use_prebuilt_tools-option.patch \ " SRC_URI[sha256sum] = "c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f" -inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package +inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gi-docgen lib_package GIR_MESON_OPTION = 'introspection' GIR_MESON_ENABLE_FLAG = "enabled" @@ -47,6 +44,14 @@ PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg" PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff" PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false" +EXTRA_OEMESON_class-target = " \ + -Duse_prebuilt_tools=true \ +" + +EXTRA_OEMESON_class-nativesdk = " \ + -Duse_prebuilt_tools=true \ +" + PACKAGES =+ "${PN}-xlib" # For GIO image type sniffing diff --git a/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb b/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb new file mode 100644 index 000000000..b6721dc4e --- /dev/null +++ b/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb @@ -0,0 +1,22 @@ +SUMMARY = "Documentation tool for GObject-based libraries" +DESCRIPTION = "GI-DocGen is a document generator for GObject-based libraries. GObject is \ +the base type system of the GNOME project. GI-Docgen reuses the \ +introspection data generated by GObject-based libraries to generate the API \ +reference of these libraries, as well as other ancillary documentation." +HOMEPAGE = "https://gnome.pages.gitlab.gnome.org/gi-docgen/" + +LICENSE = "GPLv3+ & Apache-2.0" +LIC_FILES_CHKSUM = "file://gi-docgen.py;beginline=1;endline=5;md5=2dc0f1f01202478cfe813c0e7f80b326" + +SRC_URI = "git://gitlab.gnome.org/GNOME/gi-docgen.git;protocol=https;branch=main" + +PV = "2021.6" +SRCREV = "cb76996ba9ef7a1634ab9bde30c77c3bbb47c8db" + +S = "${WORKDIR}/git" + +inherit setuptools3 + +RDEPENDS_${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-toml python3-typogrify python3-xml" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb index 6cde6fffa..61927c0dd 100644 --- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb +++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c \ file://COPYING_CCBYSA3;md5=96143d33de3a79321b1006c4e8ed07e7 \ file://COPYING_LGPL;md5=e6a600fd5e1d9cbde2d983680233ad02" -inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even +inherit allarch autotools pkgconfig gettext gtk-icon-cache MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb index a36a2b113..672fbd2b0 100644 --- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb +++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c84cac88e46fc07647ea07e6c24eeb7c \ file://COPYING_CCBYSA3;md5=96143d33de3a79321b1006c4e8ed07e7 \ file://COPYING_LGPL;md5=e6a600fd5e1d9cbde2d983680233ad02" -inherit allarch autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even +inherit allarch autotools pkgconfig gettext gtk-icon-cache MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch index 185ebc154..9071245a8 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch @@ -1,4 +1,4 @@ -From 41c3ee549787333a073a3ce6303efef625c74dce Mon Sep 17 00:00:00 2001 +From 5c606356523431769dffb02fffd2fbca8fb20232 Mon Sep 17 00:00:00 2001 From: Sascha Silbe Date: Fri, 8 Jun 2018 13:55:10 +0200 Subject: [PATCH] Relocate the repository directory for native builds diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch deleted file mode 100644 index 8fba0124c..000000000 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ef5446af0ddad6a341b47957097ac40c6cb5e6d3 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 20 Oct 2020 22:40:14 +0200 -Subject: [PATCH] meson.build: exclude girepo_dep if introspection data is - disabled - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/248] -Signed-off-by: Alexander Kanavin ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 14af2b1..a3c27c3 100644 ---- a/meson.build -+++ b/meson.build -@@ -283,7 +283,7 @@ pkg.generate( - # FIXME: meson.override_dependency() and declare_dependency()'s variable arguments - # are new in Meson 0.54.0, older versions of Meson won't be able to use g-i as - # subproject anyway --if meson.version().version_compare('>=0.54.0') -+if meson.version().version_compare('>=0.54.0') and get_option('build_introspection_data') == true - girepo_dep = declare_dependency( - sources: typelibs, - dependencies: girepo_dep, diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb deleted file mode 100644 index ebac8d3a4..000000000 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb +++ /dev/null @@ -1,207 +0,0 @@ -SUMMARY = "Middleware layer between GObject-using C libraries and language bindings" -DESCRIPTION = "GObject Introspection is a project for providing machine \ -readable introspection data of the API of C libraries. This introspection \ -data can be used in several different use cases, for example automatic code \ -generation for bindings, API verification and documentation generation." -HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/gobject-introspection/issues" -SECTION = "libs" -LICENSE = "LGPLv2+ & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ - file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \ - file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \ - file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \ - " - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ - file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \ - file://0001-meson.build-exclude-girepo_dep-if-introspection-data.patch \ - " - -SRC_URI[sha256sum] = "dd44a55ee5f426ea22b6b89624708f9e8d53f5cc94e5485c15c87cb30e06161d" - -SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" - -inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script - -GTKDOC_MESON_OPTION = "gtk_doc" - -MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" - -DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive" - -# target build needs qemu to run temporary introspection binaries created -# on the fly by g-ir-scanner and a native version of itself to run -# native versions of its own tools during build. -# Also prelink-rtld is used to find out library dependencies of introspection binaries -# (standard ldd doesn't work when cross-compiling). -DEPENDS_append_class-target = " gobject-introspection-native qemu-native prelink-native" - -# needed for writing out the qemu wrapper script -export STAGING_DIR_HOST -export B - -PACKAGECONFIG ?= "" -PACKAGECONFIG[doctool] = "-Ddoctool=enabled,-Ddoctool=disabled,python3-mako," - -# Configure target build to use native tools of itself and to use a qemu wrapper -# and optionally to generate introspection data -EXTRA_OEMESON_class-target = " \ - -Dgi_cross_use_prebuilt_gi=true \ - -Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \ - -Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \ - -Dgi_cross_pkgconfig_sysroot_path=${PKG_CONFIG_SYSROOT_DIR} \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dbuild_introspection_data=true', '-Dbuild_introspection_data=false', d)} \ - ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ -" - -# Need to ensure ld.so.conf exists so prelink-native works -# both before we build and if we install from sstate -do_configure[prefuncs] += "gobject_introspection_preconfigure" -python gobject_introspection_preconfigure () { - oe.utils.write_ld_so_conf(d) -} - -do_configure_prepend_class-native() { - # Tweak the native python scripts so that they don't refer to the - # full path of native python binary (the solution is taken from glib-2.0 recipe) - # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes) - sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in -} - -do_configure_prepend_class-target() { - # Write out a qemu wrapper that will be given to gi-scanner so that it - # can run target helper binaries through that. - qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" - cat > ${B}/g-ir-scanner-qemuwrapper << EOF -#!/bin/sh -# Use a modules directory which doesn't exist so we don't load random things -# which may then get deleted (or their dependencies) and potentially segfault -export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy - -$qemu_binary "\$@" -if [ \$? -ne 0 ]; then - echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help." - echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )" - exit 1 -fi -EOF - chmod +x ${B}/g-ir-scanner-qemuwrapper - - # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files - # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use - # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory - # from the target sysroot. - cat > ${B}/g-ir-scanner-wrapper << EOF -#!/bin/sh -# This prevents g-ir-scanner from writing cache data to $HOME -export GI_SCANNER_DISABLE_CACHE=1 - -g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@" -EOF - chmod +x ${B}/g-ir-scanner-wrapper - - # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu. - # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent. - cat > ${B}/g-ir-compiler-wrapper << EOF -#!/bin/sh -${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@" -EOF - chmod +x ${B}/g-ir-compiler-wrapper - - # Write out a wrapper to use instead of ldd, which does not work when a binary is built - # for a different architecture - cat > ${B}/g-ir-scanner-lddwrapper << EOF -#!/bin/sh -prelink-rtld --root=$STAGING_DIR_HOST "\$@" -EOF - chmod +x ${B}/g-ir-scanner-lddwrapper - - # Also tweak the target python scripts so that they don't refer to the - # native version of python binary (the solution is taken from glib-2.0 recipe) - sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in -} - -do_compile_prepend() { - # This prevents g-ir-scanner from writing cache data to $HOME - export GI_SCANNER_DISABLE_CACHE=1 - - # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise - export GIR_EXTRA_LIBS_PATH=$B/.libs -} - -do_install_prepend() { - # This prevents g-ir-scanner from writing cache data to $HOME - export GI_SCANNER_DISABLE_CACHE=1 -} - -# Our wrappers need to be available system-wide, because they will be used -# to build introspection files for all other gobject-based packages -do_install_append_class-target() { - install -d ${D}${bindir}/ - install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/ - install ${B}/g-ir-scanner-wrapper ${D}${bindir}/ - install ${B}/g-ir-compiler-wrapper ${D}${bindir}/ - install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/ -} - -# we need target versions of introspection tools in sysroot so that they can be run via qemu -# when building introspection files in other packages -SYSROOT_DIRS_append_class-target = " ${bindir}" - -SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess" -gi_binaries_sysroot_preprocess() { - # Tweak the binary names in the introspection pkgconfig file, so that it - # picks up our wrappers which do the cross-compile and qemu magic. - sed -i \ - -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \ - -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \ - ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc -} - -SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess" -gi_ldsoconf_sysroot_preprocess () { - mkdir -p ${SYSROOT_DESTDIR}${bindir} - dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN} - echo "#!/bin/sh" > $dest - echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest - echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest - echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest - chmod 755 $dest -} - -# Remove wrapper files from the package, only used for cross-compiling -PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess" -gi_package_preprocess() { - rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper - rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper - rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper - rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper -} - -SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}" - -# .typelib files are needed at runtime and so they go to the main package -FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib" - -# .gir files go to dev package, as they're needed for developing (but not for running) -# things that depends on introspection. -FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir" -FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc" - -# These are used by gobject-based packages -# to generate transient introspection binaries -FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \ - ${datadir}/gobject-introspection-1.0/Makefile.introspection" - -# These are used by dependent packages (e.g. pygobject) to build their -# testsuites. -FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \ - ${datadir}/gobject-introspection-1.0/tests/*.h" - -FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" -FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" - -RDEPENDS_${PN} = "python3-pickle python3-xml" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb new file mode 100644 index 000000000..4c986a574 --- /dev/null +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb @@ -0,0 +1,206 @@ +SUMMARY = "Middleware layer between GObject-using C libraries and language bindings" +DESCRIPTION = "GObject Introspection is a project for providing machine \ +readable introspection data of the API of C libraries. This introspection \ +data can be used in several different use cases, for example automatic code \ +generation for bindings, API verification and documentation generation." +HOMEPAGE = "https://wiki.gnome.org/action/show/Projects/GObjectIntrospection" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/gobject-introspection/issues" +SECTION = "libs" +LICENSE = "LGPLv2+ & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ + file://tools/compiler.c;endline=20;md5=fc5007fc20022720e6c0b0cdde41fabd \ + file://giscanner/sourcescanner.c;endline=22;md5=194d6e0c1d00662f32d030ce44de8d39 \ + file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \ + " + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ + file://0001-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch \ + " + +SRC_URI[sha256sum] = "d229242481a201b84a0c66716de1752bca41db4133672cfcfb37c93eb6e54a27" + +SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" + +inherit meson pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script + +GTKDOC_MESON_OPTION = "gtk_doc" + +MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" + +DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive" + +# target build needs qemu to run temporary introspection binaries created +# on the fly by g-ir-scanner and a native version of itself to run +# native versions of its own tools during build. +# Also prelink-rtld is used to find out library dependencies of introspection binaries +# (standard ldd doesn't work when cross-compiling). +DEPENDS_append_class-target = " gobject-introspection-native qemu-native prelink-native" + +# needed for writing out the qemu wrapper script +export STAGING_DIR_HOST +export B + +PACKAGECONFIG ?= "" +PACKAGECONFIG[doctool] = "-Ddoctool=enabled,-Ddoctool=disabled,python3-mako," + +# Configure target build to use native tools of itself and to use a qemu wrapper +# and optionally to generate introspection data +EXTRA_OEMESON_class-target = " \ + -Dgi_cross_use_prebuilt_gi=true \ + -Dgi_cross_binary_wrapper=${B}/g-ir-scanner-qemuwrapper \ + -Dgi_cross_ldd_wrapper=${B}/g-ir-scanner-lddwrapper \ + -Dgi_cross_pkgconfig_sysroot_path=${PKG_CONFIG_SYSROOT_DIR} \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dbuild_introspection_data=true', '-Dbuild_introspection_data=false', d)} \ + ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''} \ +" + +# Need to ensure ld.so.conf exists so prelink-native works +# both before we build and if we install from sstate +do_configure[prefuncs] += "gobject_introspection_preconfigure" +python gobject_introspection_preconfigure () { + oe.utils.write_ld_so_conf(d) +} + +do_configure_prepend_class-native() { + # Tweak the native python scripts so that they don't refer to the + # full path of native python binary (the solution is taken from glib-2.0 recipe) + # This removes the risk of exceeding Linux kernel's shebang line limit (128 bytes) + sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in +} + +do_configure_prepend_class-target() { + # Write out a qemu wrapper that will be given to gi-scanner so that it + # can run target helper binaries through that. + qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST/${libdir}','$STAGING_DIR_HOST/${base_libdir}'])}" + cat > ${B}/g-ir-scanner-qemuwrapper << EOF +#!/bin/sh +# Use a modules directory which doesn't exist so we don't load random things +# which may then get deleted (or their dependencies) and potentially segfault +export GIO_MODULE_DIR=${STAGING_LIBDIR}/gio/modules-dummy + +$qemu_binary "\$@" +if [ \$? -ne 0 ]; then + echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help." + echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )" + exit 1 +fi +EOF + chmod +x ${B}/g-ir-scanner-qemuwrapper + + # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files + # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use + # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory + # from the target sysroot. + cat > ${B}/g-ir-scanner-wrapper << EOF +#!/bin/sh +# This prevents g-ir-scanner from writing cache data to $HOME +export GI_SCANNER_DISABLE_CACHE=1 + +g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@" +EOF + chmod +x ${B}/g-ir-scanner-wrapper + + # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu. + # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent. + cat > ${B}/g-ir-compiler-wrapper << EOF +#!/bin/sh +${STAGING_BINDIR}/g-ir-scanner-qemuwrapper ${STAGING_BINDIR}/g-ir-compiler "\$@" +EOF + chmod +x ${B}/g-ir-compiler-wrapper + + # Write out a wrapper to use instead of ldd, which does not work when a binary is built + # for a different architecture + cat > ${B}/g-ir-scanner-lddwrapper << EOF +#!/bin/sh +prelink-rtld --root=$STAGING_DIR_HOST "\$@" +EOF + chmod +x ${B}/g-ir-scanner-lddwrapper + + # Also tweak the target python scripts so that they don't refer to the + # native version of python binary (the solution is taken from glib-2.0 recipe) + sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/tools/g-ir-tool-template.in +} + +do_compile_prepend() { + # This prevents g-ir-scanner from writing cache data to $HOME + export GI_SCANNER_DISABLE_CACHE=1 + + # Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise + export GIR_EXTRA_LIBS_PATH=$B/.libs +} + +do_install_prepend() { + # This prevents g-ir-scanner from writing cache data to $HOME + export GI_SCANNER_DISABLE_CACHE=1 +} + +# Our wrappers need to be available system-wide, because they will be used +# to build introspection files for all other gobject-based packages +do_install_append_class-target() { + install -d ${D}${bindir}/ + install ${B}/g-ir-scanner-qemuwrapper ${D}${bindir}/ + install ${B}/g-ir-scanner-wrapper ${D}${bindir}/ + install ${B}/g-ir-compiler-wrapper ${D}${bindir}/ + install ${B}/g-ir-scanner-lddwrapper ${D}${bindir}/ +} + +# we need target versions of introspection tools in sysroot so that they can be run via qemu +# when building introspection files in other packages +SYSROOT_DIRS_append_class-target = " ${bindir}" + +SYSROOT_PREPROCESS_FUNCS_append_class-target = " gi_binaries_sysroot_preprocess" +gi_binaries_sysroot_preprocess() { + # Tweak the binary names in the introspection pkgconfig file, so that it + # picks up our wrappers which do the cross-compile and qemu magic. + sed -i \ + -e "s|g_ir_scanner=.*|g_ir_scanner=${bindir}/g-ir-scanner-wrapper|" \ + -e "s|g_ir_compiler=.*|g_ir_compiler=${bindir}/g-ir-compiler-wrapper|" \ + ${SYSROOT_DESTDIR}${libdir}/pkgconfig/gobject-introspection-1.0.pc +} + +SYSROOT_PREPROCESS_FUNCS_append = " gi_ldsoconf_sysroot_preprocess" +gi_ldsoconf_sysroot_preprocess () { + mkdir -p ${SYSROOT_DESTDIR}${bindir} + dest=${SYSROOT_DESTDIR}${bindir}/postinst-ldsoconf-${PN} + echo "#!/bin/sh" > $dest + echo "mkdir -p ${STAGING_DIR_TARGET}${sysconfdir}" >> $dest + echo "echo ${base_libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest + echo "echo ${libdir} >> ${STAGING_DIR_TARGET}${sysconfdir}/ld.so.conf" >> $dest + chmod 755 $dest +} + +# Remove wrapper files from the package, only used for cross-compiling +PACKAGE_PREPROCESS_FUNCS += "gi_package_preprocess" +gi_package_preprocess() { + rm -f ${PKGD}${bindir}/g-ir-scanner-qemuwrapper + rm -f ${PKGD}${bindir}/g-ir-scanner-wrapper + rm -f ${PKGD}${bindir}/g-ir-compiler-wrapper + rm -f ${PKGD}${bindir}/g-ir-scanner-lddwrapper +} + +SSTATE_SCAN_FILES += "g-ir-scanner-qemuwrapper g-ir-scanner-wrapper g-ir-compiler-wrapper g-ir-scanner-lddwrapper Gio-2.0.gir postinst-ldsoconf-${PN}" + +# .typelib files are needed at runtime and so they go to the main package +FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib" + +# .gir files go to dev package, as they're needed for developing (but not for running) +# things that depends on introspection. +FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir" +FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc" + +# These are used by gobject-based packages +# to generate transient introspection binaries +FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/gdump.c \ + ${datadir}/gobject-introspection-1.0/Makefile.introspection" + +# These are used by dependent packages (e.g. pygobject) to build their +# testsuites. +FILES_${PN}-dev_append = " ${datadir}/gobject-introspection-1.0/tests/*.c \ + ${datadir}/gobject-introspection-1.0/tests/*.h" + +FILES_${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" +FILES_${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" + +RDEPENDS_${PN} = "python3-pickle python3-xml" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb deleted file mode 100644 index 34681197d..000000000 --- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "GNOME desktop-wide GSettings schemas" -DESCRIPTION = "GSettings desktop-wide schemas contains a collection of \ -GSettings schemas for settings shared by various components of a desktop." -HOMEPAGE = "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/issues" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "glib-2.0" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even - -SRC_URI[archive.sha256sum] = "5704c8266004b296036671f223c705dc046aa694a1b1abb87c67e7d2747a8c67" diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_40.0.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_40.0.bb new file mode 100644 index 000000000..89751a863 --- /dev/null +++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_40.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "GNOME desktop-wide GSettings schemas" +DESCRIPTION = "GSettings desktop-wide schemas contains a collection of \ +GSettings schemas for settings shared by various components of a desktop." +HOMEPAGE = "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/issues" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection gettext + +SRC_URI[archive.sha256sum] = "f1b83bf023c0261eacd0ed36066b76f4a520bbcb14bb69c402b7959257125685" diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.25.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.25.bb deleted file mode 100644 index 8c5426f22..000000000 --- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.25.bb +++ /dev/null @@ -1,18 +0,0 @@ -require gtk+3.inc - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ - file://0001-Hardcoded-libtool.patch \ - file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \ - file://0003-Add-disable-opengl-configure-option.patch \ - file://link_fribidi.patch \ - " -SRC_URI[sha256sum] = "87e26b111d3b8a85ff218980a56f3e814257b8dd11e5c4d9a2803b423b08297c" - -S = "${WORKDIR}/gtk+-${PV}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ - file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ - file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb new file mode 100644 index 000000000..031fbb6d6 --- /dev/null +++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb @@ -0,0 +1,18 @@ +require gtk+3.inc + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar.xz \ + file://0001-Hardcoded-libtool.patch \ + file://0002-Do-not-try-to-initialize-GL-without-libGL.patch \ + file://0003-Add-disable-opengl-configure-option.patch \ + file://link_fribidi.patch \ + " +SRC_URI[sha256sum] = "f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa" + +S = "${WORKDIR}/gtk+-${PV}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ + file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ + file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" diff --git a/poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch b/poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch new file mode 100644 index 000000000..aaec9cd20 --- /dev/null +++ b/poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch @@ -0,0 +1,44 @@ +From 078c0db2bc3adf7c665190ee7a9263d7fd1ec618 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Thu, 29 Apr 2021 13:06:12 +0200 +Subject: [PATCH] gudevenumtypes: make deterministic + +@filename@ writes the full path to the generated file, +which can vary in CI systems and make outputs non-reproducible. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/15] +Signed-off-by: Alexander Kanavin +--- + gudev/gudevenumtypes.c.template | 2 +- + gudev/gudevenumtypes.h.template | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gudev/gudevenumtypes.c.template b/gudev/gudevenumtypes.c.template +index fc30b39..4918f7e 100644 +--- a/gudev/gudevenumtypes.c.template ++++ b/gudev/gudevenumtypes.c.template +@@ -4,7 +4,7 @@ + /*** END file-header ***/ + + /*** BEGIN file-production ***/ +-/* enumerations from "@filename@" */ ++/* enumerations from "@basename@" */ + /*** END file-production ***/ + + /*** BEGIN value-header ***/ +diff --git a/gudev/gudevenumtypes.h.template b/gudev/gudevenumtypes.h.template +index d0ab339..79bf7c4 100644 +--- a/gudev/gudevenumtypes.h.template ++++ b/gudev/gudevenumtypes.h.template +@@ -9,7 +9,7 @@ G_BEGIN_DECLS + + /*** BEGIN file-production ***/ + +-/* enumerations from "@filename@" */ ++/* enumerations from "@basename@" */ + /*** END file-production ***/ + + /*** BEGIN value-header ***/ +-- +2.30.2 + diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_234.bb b/poky/meta/recipes-gnome/libgudev/libgudev_234.bb deleted file mode 100644 index 9cea36df5..000000000 --- a/poky/meta/recipes-gnome/libgudev/libgudev_234.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "GObject wrapper for libudev" -DESCRIPTION = "This library makes it much simpler to use libudev from programs \ -already using GObject. It also makes it possible to easily use libudev from \ -other programming languages, such as Javascript, because of GObject \ -introspection support." -HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues" -SRC_URI[archive.sha256sum] = "1baeacacf0db42fa073ad5183d1decce9317857416a2b0f82ce3370d711a2e37" - -DEPENDS = "glib-2.0 udev" - -EXTRA_OECONF = "--disable-umockdev" - -RCONFLICTS_${PN} = "systemd (<= 220)" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -inherit gnomebase gobject-introspection gtk-doc - -UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/" -UPSTREAM_CHECK_REGEX = "(?P(\d+))" diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_236.bb b/poky/meta/recipes-gnome/libgudev/libgudev_236.bb new file mode 100644 index 000000000..daa578ddb --- /dev/null +++ b/poky/meta/recipes-gnome/libgudev/libgudev_236.bb @@ -0,0 +1,28 @@ +SUMMARY = "GObject wrapper for libudev" +DESCRIPTION = "This library makes it much simpler to use libudev from programs \ +already using GObject. It also makes it possible to easily use libudev from \ +other programming languages, such as Javascript, because of GObject \ +introspection support." +HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues" +SRC_URI[archive.sha256sum] = "e50369d06d594bae615eb7aeb787de304ebaad07a26d1043cef8e9c7ab7c9524" + +SRC_URI_append = " file://0001-gudevenumtypes-make-deterministic.patch" + +DEPENDS = "glib-2.0 udev" + +RCONFLICTS_${PN} = "systemd (<= 220)" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gobject-introspection gtk-doc + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +GTKDOC_MESON_OPTION = "gtk_doc" + +UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/" +UPSTREAM_CHECK_REGEX = "(?P(\d+))" diff --git a/poky/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb b/poky/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb index 1ff4b2e15..d2be715ce 100644 --- a/poky/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb +++ b/poky/meta/recipes-gnome/libnotify/libnotify_0.7.9.bb @@ -9,15 +9,18 @@ SECTION = "libs" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" -DEPENDS = "dbus gtk+3 glib-2.0" +DEPENDS = "dbus glib-2.0 gdk-pixbuf" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gtk+3" GNOMEBASEBUILDCLASS = "meson" GTKDOC_MESON_OPTION = "gtk_doc" GIR_MESON_ENABLE_FLAG = "enabled" GIR_MESON_DISABLE_FLAG = "disabled" inherit gnomebase gtk-doc features_check gobject-introspection -# depends on gtk+3 -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +# depends on gtk+3 if tests are enabled +ANY_OF_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'tests', '${GTK3DISTROFEATURES}', '', d)}" SRC_URI[archive.md5sum] = "ccd9c53364174cc8d13e18a1988faa76" SRC_URI[archive.sha256sum] = "66c0517ed16df7af258e83208faaf5069727dfd66995c4bbc51c16954d674761" @@ -30,3 +33,6 @@ PROVIDES += "libnotify3" RPROVIDES_${PN} += "libnotify3" RCONFLICTS_${PN} += "libnotify3" RREPLACES_${PN} += "libnotify3" + +# -7381 is specific to the NodeJS bindings +CVE_CHECK_WHITELIST += "CVE-2013-7381" diff --git a/poky/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb b/poky/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb index acdbc1f1b..59de80a69 100644 --- a/poky/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb +++ b/poky/meta/recipes-gnome/librsvg/librsvg_2.40.21.bb @@ -25,6 +25,9 @@ SRC_URI += "file://gtk-option.patch \ SRC_URI[archive.sha256sum] = "f7628905f1cada84e87e2b14883ed57d8094dca3281d5bcb24ece4279e9a92ba" +# Issue only on windows +CVE_CHECK_WHITELIST += "CVE-2018-1000041" + CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" PACKAGECONFIG ??= "gdkpixbuf" diff --git a/poky/meta/recipes-graphics/builder/builder_0.1.bb b/poky/meta/recipes-graphics/builder/builder_0.1.bb index 0a64c31ab..9d5cd8cde 100644 --- a/poky/meta/recipes-graphics/builder/builder_0.1.bb +++ b/poky/meta/recipes-graphics/builder/builder_0.1.bb @@ -29,3 +29,5 @@ do_install () { chown builder.builder ${D}${sysconfdir}/mini_x/session.d/builder_session.sh } +# -4178 is an unrelated 'builder' +CVE_CHECK_WHITELIST = "CVE-2008-4178" diff --git a/poky/meta/recipes-graphics/cairo/cairo/CVE-2020-35492.patch b/poky/meta/recipes-graphics/cairo/cairo/CVE-2020-35492.patch new file mode 100644 index 000000000..fb6ce5cfd --- /dev/null +++ b/poky/meta/recipes-graphics/cairo/cairo/CVE-2020-35492.patch @@ -0,0 +1,60 @@ +Fix stack buffer overflow. + +CVE: CVE-2020-35492 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 +From: Heiko Lewin +Date: Tue, 15 Dec 2020 16:48:19 +0100 +Subject: [PATCH] Fix mask usage in image-compositor + +--- + src/cairo-image-compositor.c | 8 ++-- + test/Makefile.sources | 1 + + test/bug-image-compositor.c | 39 ++++++++++++++++++++ + test/reference/bug-image-compositor.ref.png | Bin 0 -> 185 bytes + 4 files changed, 44 insertions(+), 4 deletions(-) + create mode 100644 test/bug-image-compositor.c + create mode 100644 test/reference/bug-image-compositor.ref.png + +diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c +index 79ad69f68..4f8aaed99 100644 +--- a/src/cairo-image-compositor.c ++++ b/src/cairo-image-compositor.c +@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + unsigned num_spans) + { + cairo_image_span_renderer_t *r = abstract_renderer; +- uint8_t *m; ++ uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask); + int x0; + + if (num_spans == 0) + return CAIRO_STATUS_SUCCESS; + + x0 = spans[0].x; +- m = r->_buf; ++ m = base; + do { + int len = spans[1].x - spans[0].x; + if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) { +@@ -2655,7 +2655,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + spans[0].x, y, + spans[1].x - spans[0].x, h); + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else if (spans[0].coverage == 0x0) { + if (spans[0].x != x0) { +@@ -2684,7 +2684,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, + #endif + } + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else { + *m++ = spans[0].coverage; +-- diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb index 68f993d7c..9d9fbfbe0 100644 --- a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb +++ b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb @@ -27,6 +27,7 @@ SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ file://CVE-2018-19876.patch \ file://CVE-2019-6461.patch \ file://CVE-2019-6462.patch \ + file://CVE-2020-35492.patch \ " SRC_URI[md5sum] = "f19e0353828269c22bd72e271243a552" diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb deleted file mode 100644 index 8cb82ad12..000000000 --- a/poky/meta/recipes-graphics/drm/libdrm_2.4.105.bb +++ /dev/null @@ -1,60 +0,0 @@ -SUMMARY = "Userspace interface to the kernel DRM services" -DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \ -stands for \"Direct Rendering Manager\", which is the kernel portion of the \ -\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \ -accelerated OpenGL drivers." -HOMEPAGE = "http://dri.freedesktop.org" -SECTION = "x11/base" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" -PROVIDES = "drm" -DEPENDS = "libpthread-stubs" - -SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \ - " - -SRC_URI[sha256sum] = "1d1d024b7cadc63e2b59cddaca94f78864940ab440843841113fbac6afaf2a46" - -inherit meson pkgconfig manpages - -PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs" -PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false" -PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess" -PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false" -PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false" -PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false" -PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false" -PACKAGECONFIG[omap] = "-Domap=true,-Domap=false" -PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false" -PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false" -PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false" -PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false" -PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false" -PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false" -PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind" -PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false" -PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false" -PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" -PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native" - -ALLOW_EMPTY_${PN}-drivers = "1" -PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \ - ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \ - ${PN}-etnaviv" - -RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \ - ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \ - ${PN}-etnaviv" - -FILES_${PN}-tests = "${bindir}/*" -FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*" -FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*" -FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*" -FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" -FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*" -FILES_${PN}-kms = "${libdir}/libkms*.so.*" -FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*" -FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids" -FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.106.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.106.bb new file mode 100644 index 000000000..2f6348902 --- /dev/null +++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.106.bb @@ -0,0 +1,60 @@ +SUMMARY = "Userspace interface to the kernel DRM services" +DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \ +stands for \"Direct Rendering Manager\", which is the kernel portion of the \ +\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \ +accelerated OpenGL drivers." +HOMEPAGE = "http://dri.freedesktop.org" +SECTION = "x11/base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" +PROVIDES = "drm" +DEPENDS = "libpthread-stubs" + +SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \ + " + +SRC_URI[sha256sum] = "92d8ac54429b171e087e61c2894dc5399fe6a549b1fbba09fa6a3cb9d4e57bd4" + +inherit meson pkgconfig manpages + +PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs" +PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false" +PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess" +PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false" +PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false" +PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false" +PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false" +PACKAGECONFIG[omap] = "-Domap=true,-Domap=false" +PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false" +PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false" +PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false" +PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false" +PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false" +PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false" +PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind" +PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false" +PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false" +PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev" +PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native python3-docutils-native" + +ALLOW_EMPTY_${PN}-drivers = "1" +PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \ + ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \ + ${PN}-etnaviv" + +RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \ + ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \ + ${PN}-etnaviv" + +FILES_${PN}-tests = "${bindir}/*" +FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*" +FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*" +FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*" +FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" +FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*" +FILES_${PN}-kms = "${libdir}/libkms*.so.*" +FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*" +FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids" +FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb deleted file mode 100644 index b08f60255..000000000 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Text shaping library" -DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=8f787620b7d3866d9552fd1924c07572 \ - file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc" - -UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" -UPSTREAM_CHECK_REGEX = "harfbuzz-(?P\d+(\.\d+)+).tar" - -SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \ - " -SRC_URI[sha256sum] = "6ad11d653347bd25d8317589df4e431a2de372c0cf9be3543368e07ec23bb8e7" - -inherit meson pkgconfig lib_package gtk-doc gobject-introspection - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GTKDOC_MESON_ENABLE_FLAG = 'enabled' -GTKDOC_MESON_DISABLE_FLAG = 'disabled' - -PACKAGECONFIG ??= "cairo fontconfig freetype glib icu" -PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" -PACKAGECONFIG[fontconfig] = "-Dfontconfig=enabled,-Dfontconfig=disabled,fontconfig" -PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype" -PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0" -PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2" -PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu" - -PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset" - -LEAD_SONAME = "libharfbuzz.so" - -do_install_append() { - # If no tools are installed due to PACKAGECONFIG then this directory is - #still installed, so remove it to stop packaging wanings. - rmdir --ignore-fail-on-non-empty ${D}${bindir} -} - -FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" -FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ - ${libdir}/libharfbuzz-icu.so \ - ${libdir}/pkgconfig/harfbuzz-icu.pc \ -" -FILES_${PN}-subset = "${libdir}/libharfbuzz-subset.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb new file mode 100644 index 000000000..235363307 --- /dev/null +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb @@ -0,0 +1,48 @@ +SUMMARY = "Text shaping library" +DESCRIPTION = "HarfBuzz is an OpenType text shaping engine." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=8f787620b7d3866d9552fd1924c07572 \ + file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc" + +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" +UPSTREAM_CHECK_REGEX = "harfbuzz-(?P\d+(\.\d+)+).tar" + +SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \ + " +SRC_URI[sha256sum] = "4124f663ec4bf4e294d9cf230668370b4249a48ff34deaf0f06e8fc82d891300" + +inherit meson pkgconfig lib_package gtk-doc gobject-introspection + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_ENABLE_FLAG = 'enabled' +GTKDOC_MESON_DISABLE_FLAG = 'disabled' + +PACKAGECONFIG ??= "cairo freetype glib icu" +PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" +PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype" +PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0" +PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2" +PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu" + +PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset" + +LEAD_SONAME = "libharfbuzz.so" + +do_install_append() { + # If no tools are installed due to PACKAGECONFIG then this directory is + #still installed, so remove it to stop packaging wanings. + rmdir --ignore-fail-on-non-empty ${D}${bindir} +} + +FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" +FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \ + ${libdir}/libharfbuzz-icu.so \ + ${libdir}/pkgconfig/harfbuzz-icu.pc \ +" +FILES_${PN}-subset = "${libdir}/libharfbuzz-subset.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch deleted file mode 100644 index 38bd4550a..000000000 --- a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 606349860d27492c328752dca5a3784c0e9a6d24 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 27 Feb 2021 11:05:45 -0800 -Subject: [PATCH i-g-t] lib/igt_edid: Allocate raw 8-bytes for VSDB - -hdmi_vsdb is an element of cea_vsdb which makes the size of cea_vsdb to -be 8 ( 3bytes ieee_oui ) + ( 5bytes hdmi_vsdb struct), its true that we -only use 7 bytes technically we can only allocate 7byte array but since -we are writing to elements of hdmi_vsdb struct which is sitting at offet -4-8 in cea_vsdb, compiler thinks we have an element which is out of -array bounds since out allocated size is 7bytes - -This errors out -../git/lib/igt_edid.c:365:13: error: array subscript 'struct hdmi_vsdb[0]' is partly outside array bounds of 'char[7]' [-Werror=array-bounds] - 365 | hdmi->src_phy_addr[0] = 0x10; - | ^~ - -allocating one extra byte matches with size of cea_vsdb and compiler is -happy - -Upstream-Status: Submitted [https://lists.freedesktop.org/archives/igt-dev/2021-February/029446.html] -Signed-off-by: Khem Raj ---- - lib/igt_edid.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/igt_edid.c b/lib/igt_edid.c -index 1c85486d..ce09cc47 100644 ---- a/lib/igt_edid.c -+++ b/lib/igt_edid.c -@@ -351,7 +351,7 @@ void cea_sad_init_pcm(struct cea_sad *sad, int channels, - const struct cea_vsdb *cea_vsdb_get_hdmi_default(size_t *size) - { - /* We'll generate a VSDB with 2 extension fields. */ -- static char raw[CEA_VSDB_HDMI_MIN_SIZE + 2] = {0}; -+ static char raw[CEA_VSDB_HDMI_MIN_SIZE + 3] = {0}; - struct cea_vsdb *vsdb; - struct hdmi_vsdb *hdmi; - --- -2.30.1 - diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch deleted file mode 100644 index 39e36d873..000000000 --- a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch +++ /dev/null @@ -1,38 +0,0 @@ -meson: Allow source location to be configurable - -Hardcoding a build source path into a binary when cross compiling isn't -appropriate and breaks build reproducibility. Allow the srcdir to be -specified by an optional configuration option to meson. - -Signed-off-by: Richard Purdie -Upstream-Status: Submitted [https://lists.freedesktop.org/archives/igt-dev/2021-February/029443.html] - -Index: git/lib/meson.build -=================================================================== ---- git.orig/lib/meson.build -+++ git/lib/meson.build -@@ -122,7 +122,11 @@ if chamelium.found() - lib_sources += 'igt_chamelium_stream.c' - endif - --srcdir = join_paths(meson.source_root(), 'tests') -+if get_option('srcdir') != '' -+ srcdir = join_paths(get_option('srcdir'), 'tests') -+else -+ srcdir = join_paths(meson.source_root(), 'tests') -+endif - - lib_version = vcs_tag(input : 'version.h.in', output : 'version.h', - fallback : 'NO-GIT', -Index: git/meson_options.txt -=================================================================== ---- git.orig/meson_options.txt -+++ git/meson_options.txt -@@ -50,3 +50,7 @@ option('use_rpath', - type : 'boolean', - value : false, - description : 'Set runpath on installed executables for libigt.so') -+ -+option('srcdir', -+ type : 'string', -+ description : 'Path to source code to be compiled into binaries (optional)') diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb index 1cc94cf99..5ab0498f7 100644 --- a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb +++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb @@ -9,12 +9,10 @@ LICENSE = "MIT" inherit meson -SRCREV = "d16ad07e7f2a028e14d61f570931c87fa5ce404c" -PV = "1.25+git${SRCPV}" +SRCREV = "203def046b466fb2da67f9f15552d84e1c0b41f2" +PV = "1.26" -SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https \ - file://0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch \ - file://reproducibility.patch" +SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/images/core-image-weston-ptest-all.bb b/poky/meta/recipes-graphics/images/core-image-weston-ptest-all.bb deleted file mode 100644 index a622779e6..000000000 --- a/poky/meta/recipes-graphics/images/core-image-weston-ptest-all.bb +++ /dev/null @@ -1,21 +0,0 @@ -require core-image-weston-sdk.bb -require conf/distro/include/ptest-packagelists.inc - -DESCRIPTION += "Also includes ptest packages." - -# Include the full set of ptests -IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}" - -# This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live -# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the -# box) and explicitly add just 1100MB. -# strace-ptest in particular needs more than 500MB -IMAGE_OVERHEAD_FACTOR = "1.0" -IMAGE_ROOTFS_EXTRA_SPACE = "1124288" - -# ptests need more memory than standard to avoid the OOM killer -# also lttng-tools needs /tmp that has at least 1G -QB_MEM = "-m 2048" - -# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places -PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-graphics/images/core-image-weston-ptest-fast.bb b/poky/meta/recipes-graphics/images/core-image-weston-ptest-fast.bb deleted file mode 100644 index df02befb6..000000000 --- a/poky/meta/recipes-graphics/images/core-image-weston-ptest-fast.bb +++ /dev/null @@ -1,20 +0,0 @@ -require core-image-weston-sdk.bb -require conf/distro/include/ptest-packagelists.inc - -# Include only fast (< 30 sec) ptests -IMAGE_INSTALL += "${PTESTS_FAST}" - -DESCRIPTION += "Also includes ptest packages with fast execution times to allow for more automated QA." - -# This image is sufficiently large (~1.8GB) that it can't actually fit in a live -# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the -# box) and explicitly add just 1500MB. -# strace-ptest in particular needs more than 500MB -IMAGE_OVERHEAD_FACTOR = "1.0" -IMAGE_ROOTFS_EXTRA_SPACE = "1524288" - -# ptests need more memory than standard to avoid the OOM killer -QB_MEM = "-m 1024" - -# Sadly at the moment the fast set of ptests is not robust enough and sporadically fails in a couple of places -PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.5.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.5.bb deleted file mode 100644 index a404fe285..000000000 --- a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.5.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "OpenGL function pointer management library" -DESCRIPTION = "It hides the complexity of dlopen(), dlsym(), \ -glXGetProcAddress(), eglGetProcAddress(), etc. from the app developer, with \ -very little knowledge needed on their part. They get to read GL specs and \ -write code using undecorated function names like glCompileShader()." -HOMEPAGE = "https://github.com/anholt/libepoxy/" -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" - -SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \ - file://0001-dispatch_common.h-define-also-EGL_NO_X11.patch \ - " -SRC_URI[sha256sum] = "261663db21bcc1cc232b07ea683252ee6992982276536924271535875f5b0556" -UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases" - -inherit meson pkgconfig features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl" -PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no -Dx11=false, virtual/libx11 virtual/libgl" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl" - -EXTRA_OEMESON += "-Dtests=false" - -PACKAGECONFIG_class-native = "egl x11" -PACKAGECONFIG_class-nativesdk = "egl x11" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb new file mode 100644 index 000000000..2cd096a57 --- /dev/null +++ b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb @@ -0,0 +1,32 @@ +SUMMARY = "OpenGL function pointer management library" +DESCRIPTION = "It hides the complexity of dlopen(), dlsym(), \ +glXGetProcAddress(), eglGetProcAddress(), etc. from the app developer, with \ +very little knowledge needed on their part. They get to read GL specs and \ +write code using undecorated function names like glCompileShader()." +HOMEPAGE = "https://github.com/anholt/libepoxy/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b" + +SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \ + file://0001-dispatch_common.h-define-also-EGL_NO_X11.patch \ + " +SRC_URI[sha256sum] = "cf05e4901778c434aef68bb7dc01bea2bce15440c0cecb777fb446f04db6fe0d" +UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases" + +inherit meson pkgconfig features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl" +PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no -Dx11=false, virtual/libx11 virtual/libgl" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl" + +EXTRA_OEMESON += "-Dtests=false" + +PACKAGECONFIG_class-native = "egl x11" +PACKAGECONFIG_class-nativesdk = "egl x11" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch index df2346d33..eac6d4df8 100644 --- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch +++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch @@ -1,4 +1,4 @@ -From 624f430dd0a91344146a2b8d49a69f23560c2fa2 Mon Sep 17 00:00:00 2001 +From d434b9e5d29d614b57c09e164e1d084094bf2150 Mon Sep 17 00:00:00 2001 From: Alistair Francis Date: Thu, 14 Nov 2019 13:08:31 -0800 Subject: [PATCH] meson.build: make TLS ELF optional @@ -30,23 +30,23 @@ Signed-off-by: Alistair Francis 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index efc6171..8450968 100644 +index 42f448e..02f6e33 100644 --- a/meson.build +++ b/meson.build -@@ -448,7 +448,7 @@ endif - - # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS. +@@ -449,7 +449,7 @@ endif use_elf_tls = false --if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) -+if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls') + if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and + (not with_platform_android or get_option('platform-sdk-version') >= 29) and +- (not with_platform_windows or not with_shared_glapi)) ++ (not with_platform_windows or not with_shared_glapi) and get_option('elf-tls')) pre_args += '-DUSE_ELF_TLS' use_elf_tls = true endif diff --git a/meson_options.txt b/meson_options.txt -index fc73f6e..d7482c0 100644 +index a7030ab..635ec20 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -420,6 +420,12 @@ option( +@@ -421,6 +421,12 @@ option( value : true, description : 'Enable direct rendering in GLX and EGL for DRI', ) diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb deleted file mode 100644 index dff79f0be..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb +++ /dev/null @@ -1,16 +0,0 @@ -require mesa.inc - -SUMMARY += " (OpenGL only, no EGL/GLES)" - -PROVIDES = "virtual/libgl virtual/mesa" - -S = "${WORKDIR}/mesa-${PV}" - -# At least one DRI rendering engine is required to build mesa. -# When no X11 is available, use osmesa for the rendering engine. -PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" -PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" - -# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS -# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system -DRIDRIVERS ?= "" diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb new file mode 100644 index 000000000..dff79f0be --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb @@ -0,0 +1,16 @@ +require mesa.inc + +SUMMARY += " (OpenGL only, no EGL/GLES)" + +PROVIDES = "virtual/libgl virtual/mesa" + +S = "${WORKDIR}/mesa-${PV}" + +# At least one DRI rendering engine is required to build mesa. +# When no X11 is available, use osmesa for the rendering engine. +PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" +PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" + +# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS +# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system +DRIDRIVERS ?= "" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index a85f94c75..32cc997c9 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -10,7 +10,7 @@ HOMEPAGE = "http://mesa3d.org" BUGTRACKER = "https://bugs.freedesktop.org" SECTION = "x11" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9aa1bc48c9826ad9fdb16661f6930496" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=17a4ea65de7a9ab42437f3131e616a7f" PE = "2" @@ -21,7 +21,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \ " -SRC_URI[sha256sum] = "565c6f4bd2d5747b919454fc1d439963024fc78ca56fd05158c3b2cde2f6912b" +SRC_URI[sha256sum] = "eec25ea379054e8911bc5de816aeb50f581b5b708414725003d2f00386b38dd2" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" @@ -167,6 +167,8 @@ PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false" PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" +PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors" + # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb deleted file mode 100644 index 8c584d8e9..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa_21.0.3.bb +++ /dev/null @@ -1,4 +0,0 @@ -require ${BPN}.inc - -DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" -DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb b/poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb new file mode 100644 index 000000000..1993d6cbd --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb @@ -0,0 +1,5 @@ +require ${BPN}.inc + +DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" +DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" + diff --git a/poky/meta/recipes-graphics/pango/pango_1.48.2.bb b/poky/meta/recipes-graphics/pango/pango_1.48.2.bb deleted file mode 100644 index aa279bb50..000000000 --- a/poky/meta/recipes-graphics/pango/pango_1.48.2.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Framework for layout and rendering of internationalized text" -DESCRIPTION = "Pango is a library for laying out and rendering of text, \ -with an emphasis on internationalization. Pango can be used anywhere \ -that text layout is needed, though most of the work on Pango so far has \ -been done in the context of the GTK+ widget toolkit. Pango forms the \ -core of text and font handling for GTK+-2.x." -HOMEPAGE = "http://www.pango.org/" -BUGTRACKER = "http://bugzilla.gnome.org" -SECTION = "libs" -LICENSE = "LGPLv2.0+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection - -GIR_MESON_ENABLE_FLAG = "enabled" -GIR_MESON_DISABLE_FLAG = "disabled" - -SRC_URI += "file://run-ptest" - -SRC_URI[archive.sha256sum] = "d21f8b30dc8abdfc55de25656ecb88dc1105eeeb315e5e2a980dcef8010c2c80" - -DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" - -PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" -PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false" -PACKAGECONFIG[thai] = ",,libthai" - -GTKDOC_MESON_OPTION = "gtk_doc" -GIR_MESON_OPTION = 'introspection' - -do_configure_prepend() { - chmod +x ${S}/tests/*.py -} - -do_configure_prepend_toolchain-clang() { - sed -i -e "/Werror=implicit-fallthrough/d" ${S}/meson.build -} - -LEAD_SONAME = "libpango-1.0*" - -FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" - -RDEPENDS_${PN}-ptest += "cantarell-fonts" -RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" - -RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ - pango-module-basic-fc pango-module-arabic-lang" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/pango/pango_1.48.5.bb b/poky/meta/recipes-graphics/pango/pango_1.48.5.bb new file mode 100644 index 000000000..b29c3c2d9 --- /dev/null +++ b/poky/meta/recipes-graphics/pango/pango_1.48.5.bb @@ -0,0 +1,54 @@ +SUMMARY = "Framework for layout and rendering of internationalized text" +DESCRIPTION = "Pango is a library for laying out and rendering of text, \ +with an emphasis on internationalization. Pango can be used anywhere \ +that text layout is needed, though most of the work on Pango so far has \ +been done in the context of the GTK+ widget toolkit. Pango forms the \ +core of text and font handling for GTK+-2.x." +HOMEPAGE = "http://www.pango.org/" +BUGTRACKER = "http://bugzilla.gnome.org" +SECTION = "libs" +LICENSE = "LGPLv2.0+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gi-docgen ptest-gnome upstream-version-is-even gobject-introspection + +GIR_MESON_ENABLE_FLAG = "enabled" +GIR_MESON_DISABLE_FLAG = "disabled" + +SRC_URI += "file://run-ptest" + +SRC_URI[archive.sha256sum] = "501e74496173c02dcd024ded7fbb3f09efd37e2a488e248aa40799424dbb3b2a" + +DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" + +PACKAGECONFIG[x11] = ",,virtual/libx11 libxft" +PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false" +PACKAGECONFIG[thai] = ",,libthai" + +GIR_MESON_OPTION = 'introspection' + +do_configure_prepend() { + chmod +x ${S}/tests/*.py +} + +do_configure_prepend_toolchain-clang() { + sed -i -e "/Werror=implicit-fallthrough/d" ${S}/meson.build +} + +LEAD_SONAME = "libpango-1.0*" + +FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}" + +RDEPENDS_${PN}-ptest += "cantarell-fonts" +RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" + +RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \ + pango-module-basic-fc pango-module-arabic-lang" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index 14f4c75a2..b64a20a58 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -18,7 +18,7 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "d4d9353b7290ed22cb7349226a8e4017402d3f02" +SRCREV = "6a4be9e9946df310d9402f995f371c7deb8c27ba" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" diff --git a/poky/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch b/poky/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch index df670cdde..0e8ad7e4d 100644 --- a/poky/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch +++ b/poky/meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch @@ -1,17 +1,18 @@ -From 046c3c2da9c4ff66f14db5bd68e9557504a49241 Mon Sep 17 00:00:00 2001 +From d02ad48d5c9b48af70ddea2e6998081347ef82f3 Mon Sep 17 00:00:00 2001 From: Jose Quaresma Date: Sat, 13 Feb 2021 00:45:56 +0000 -Subject: [PATCH 2/3] libshaderc_util: fix glslang header file location +Subject: [PATCH] libshaderc_util: fix glslang header file location Upstream-Status: Pending Signed-off-by: Jose Quaresma + --- libshaderc_util/src/compiler.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc -index c5ce37e..4703634 100644 +index 051558b..9c4476c 100644 --- a/libshaderc_util/src/compiler.cc +++ b/libshaderc_util/src/compiler.cc @@ -20,7 +20,7 @@ @@ -21,8 +22,5 @@ index c5ce37e..4703634 100644 -#include "SPIRV/GlslangToSpv.h" +#include "glslang/SPIRV/GlslangToSpv.h" #include "libshaderc_util/format.h" - #include "libshaderc_util/io.h" + #include "libshaderc_util/io_shaderc.h" #include "libshaderc_util/message.h" --- -2.30.1 - diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2020.5.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2020.5.bb deleted file mode 100644 index ce51aab03..000000000 --- a/poky/meta/recipes-graphics/shaderc/shaderc_2020.5.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "A collection of tools, libraries and tests for shader compilation" -DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \ -source code to SPIRV modules. It has been shipping in the Android NDK since version r12b." -SECTION = "graphics" -HOMEPAGE = "https://github.com/google/shaderc" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -SRCREV = "f3e39a7eed682faececb73f0b85717f2f44ee9ba" -SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \ - file://0001-cmake-disable-building-external-dependencies.patch \ - file://0002-libshaderc_util-fix-glslang-header-file-location.patch \ - " -UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$" -S = "${WORKDIR}/git" - -inherit cmake python3native - -DEPENDS = "spirv-headers spirv-tools glslang" - -EXTRA_OECMAKE = " \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_EXTERNAL=OFF \ - -DSHADERC_SKIP_TESTS=ON \ - -DSHADERC_SKIP_EXAMPLES=ON \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2021.0.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2021.0.bb new file mode 100644 index 000000000..3d59e0c38 --- /dev/null +++ b/poky/meta/recipes-graphics/shaderc/shaderc_2021.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "A collection of tools, libraries and tests for shader compilation" +DESCRIPTION = "The Shaderc library provides an API for compiling GLSL/HLSL \ +source code to SPIRV modules. It has been shipping in the Android NDK since version r12b." +SECTION = "graphics" +HOMEPAGE = "https://github.com/google/shaderc" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRCREV = "1a3e2aaab191f44644e899e29ab7bac50bebdeb8" +SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \ + file://0001-cmake-disable-building-external-dependencies.patch \ + file://0002-libshaderc_util-fix-glslang-header-file-location.patch \ + " +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$" +S = "${WORKDIR}/git" + +inherit cmake python3native + +DEPENDS = "spirv-headers spirv-tools glslang" + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_EXTERNAL=OFF \ + -DSHADERC_SKIP_TESTS=ON \ + -DSHADERC_SKIP_EXAMPLES=ON \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_2020.7.bb b/poky/meta/recipes-graphics/spir/spirv-tools_2020.7.bb deleted file mode 100644 index 8be698533..000000000 --- a/poky/meta/recipes-graphics/spir/spirv-tools_2020.7.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "The SPIR-V Tools project provides an API and commands for \ -processing SPIR-V modules" -DESCRIPTION = "The project includes an assembler, binary module parser, \ -disassembler, validator, and optimizer for SPIR-V." -HOMEPAGE = "https://github.com/KhronosGroup/SPIRV-Tools" -SECTION = "graphics" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRCREV = "2573fd781b5408cd7fe5755a78b60d767a748ff9" -SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git \ - file://0001-fix-strncpy-bound-error.patch \ - " -UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$" -S = "${WORKDIR}/git" - -inherit cmake python3native - -DEPENDS = "spirv-headers" - -EXTRA_OECMAKE += "\ - -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \ - -DSPIRV_TOOLS_BUILD_STATIC=OFF \ - -DBUILD_SHARED_LIBS=ON \ - -DSPIRV_SKIP_TESTS=ON \ -" - -do_install_append_class-target() { - # reproducibility: remove build host path - sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \ - -e 's:${STAGING_DIR_HOST}::g' -} - -# all the libraries are unversioned, so don't pack it on PN-dev -SOLIBS = ".so" -FILES_SOLIBSDEV = "" - -PACKAGES =+ "${PN}-lesspipe" -FILES_${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh" -RDEPENDS_${PN}-lesspipe += "${PN} bash" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_2021.1.bb b/poky/meta/recipes-graphics/spir/spirv-tools_2021.1.bb new file mode 100644 index 000000000..5795d93e5 --- /dev/null +++ b/poky/meta/recipes-graphics/spir/spirv-tools_2021.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "The SPIR-V Tools project provides an API and commands for \ +processing SPIR-V modules" +DESCRIPTION = "The project includes an assembler, binary module parser, \ +disassembler, validator, and optimizer for SPIR-V." +HOMEPAGE = "https://github.com/KhronosGroup/SPIRV-Tools" +SECTION = "graphics" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "4b3707b788c84449a55f67257ae6aab3ca3552cb" +SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git \ + file://0001-fix-strncpy-bound-error.patch \ + " +UPSTREAM_CHECK_GITTAGREGEX = "^v(?P\d+(\.\d+)+)$" +S = "${WORKDIR}/git" + +inherit cmake python3native + +DEPENDS = "spirv-headers" + +EXTRA_OECMAKE += "\ + -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \ + -DSPIRV_TOOLS_BUILD_STATIC=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DSPIRV_SKIP_TESTS=ON \ +" + +do_install_append_class-target() { + # reproducibility: remove build host path + sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \ + -e 's:${STAGING_DIR_HOST}::g' +} + +# all the libraries are unversioned, so don't pack it on PN-dev +SOLIBS = ".so" +FILES_SOLIBSDEV = "" + +PACKAGES =+ "${PN}-lesspipe" +FILES_${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh" +RDEPENDS_${PN}-lesspipe += "${PN} bash" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb deleted file mode 100644 index abc216f43..000000000 --- a/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Liberation(tm) Fonts" -DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \ -created by Ascender(c) which aims at metric compatibility with \ -Arial, Times New Roman, Courier New." -HOMEPAGE = "https://releases.pagure.org/liberation-fonts/" -BUGTRACKER = "https://bugzilla.redhat.com/" - -SECTION = "x11/fonts" -LICENSE = "OFL-1.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f96db970a9a46c5369142b99f530366b" -PE = "1" - -# remove at next version upgrade or when output changes -PR = "r1" -HASHEQUIV_HASH_VERSION .= ".2" - -inherit allarch fontcache - -FONT_PACKAGES = "${PN}" - -SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \ - file://30-liberation-aliases.conf" - -S = "${WORKDIR}/liberation-fonts-ttf-${PV}" - -SRC_URI[md5sum] = "5c781723a0d9ed6188960defba8e91cf" -SRC_URI[sha256sum] = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504" - -do_install () { - install -d ${D}${datadir}/fonts/ttf/ - for i in *.ttf; do - install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} - done - - install -d ${D}${sysconfdir}/fonts/conf.d/ - install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ - - install -d ${D}${prefix}/share/doc/${BPN}/ - install -m 0644 LICENSE ${D}${datadir}/doc/${BPN}/ -} - -PACKAGES = "${PN}" -FILES_${PN} += "${sysconfdir} ${datadir}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb new file mode 100644 index 000000000..e33c4d152 --- /dev/null +++ b/poky/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb @@ -0,0 +1,38 @@ +SUMMARY = "Liberation(tm) Fonts" +DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \ +created by Ascender(c) which aims at metric compatibility with \ +Arial, Times New Roman, Courier New." +HOMEPAGE = "https://github.com/liberationfonts/liberation-fonts" +BUGTRACKER = "https://bugzilla.redhat.com/" + +SECTION = "x11/fonts" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f96db970a9a46c5369142b99f530366b" +PE = "1" + +SRC_URI = "https://github.com/liberationfonts/liberation-fonts/files/6418984/liberation-fonts-ttf-${PV}.tar.gz \ + file://30-liberation-aliases.conf" +SRC_URI[sha256sum] = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef" +UPSTREAM_CHECK_URI = "https://github.com/liberationfonts/liberation-fonts/releases" + +S = "${WORKDIR}/liberation-fonts-ttf-${PV}" + +inherit allarch fontcache + +do_install () { + install -d ${D}${datadir}/fonts/ttf/ + for i in *.ttf; do + install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} + done + + install -d ${D}${sysconfdir}/fonts/conf.d/ + install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ + + install -d ${D}${prefix}/share/doc/${BPN}/ + install -m 0644 LICENSE ${D}${datadir}/doc/${BPN}/ +} + +PACKAGES = "${PN}" +FILES_${PN} += "${sysconfdir} ${datadir}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch deleted file mode 100644 index a0ac3aefd..000000000 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3d30df8d8ccb919733b5339b2a82474305b83998 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 6 Aug 2019 01:19:48 +0000 -Subject: [PATCH] gallium: Expand libc check to be platform OS check - -endianness on musl based systems can also be detected in same way as -glibc, therefore check for __linux__ define instead of __GLIBC__ - -Fixes build on musl/mips - -| ../../../../git/src/gallium/include/pipe/p_config.h:171:2: error: #error Unknown Endianness -| #error Unknown Endianness -| ^~~~~ - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - src/gallium/include/pipe/p_config.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h -index d603681..71cdf49 100644 ---- a/src/gallium/include/pipe/p_config.h -+++ b/src/gallium/include/pipe/p_config.h -@@ -130,7 +130,7 @@ - * Endian detection. - */ - --#ifdef __GLIBC__ -+#ifdef __linux__ - #include - - #if __BYTE_ORDER == __LITTLE_ENDIAN --- -2.17.1 - diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb deleted file mode 100644 index 52821195d..000000000 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "VirGL virtual OpenGL renderer" -DESCRIPTION = "Virgil is a research project to investigate the possibility of \ -creating a virtual 3D GPU for use inside qemu virtual machines, that allows \ -the guest operating system to use the capabilities of the host GPU to \ -accelerate 3D rendering." -HOMEPAGE = "https://virgil3d.github.io/" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10" - -DEPENDS = "libdrm virtual/libgl libepoxy" -SRCREV = "7d204f3927be65fb3365dce01dbcd04d447a4985" -SRC_URI = "git://anongit.freedesktop.org/virglrenderer \ - file://0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch \ - file://0001-meson.build-use-python3-directly-for-python.patch \ - " - -S = "${WORKDIR}/git" - -inherit meson pkgconfig features_check - -BBCLASSEXTEND = "native nativesdk" - -REQUIRED_DISTRO_FEATURES = "opengl" diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb new file mode 100644 index 000000000..399189582 --- /dev/null +++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "VirGL virtual OpenGL renderer" +DESCRIPTION = "Virgil is a research project to investigate the possibility of \ +creating a virtual 3D GPU for use inside qemu virtual machines, that allows \ +the guest operating system to use the capabilities of the host GPU to \ +accelerate 3D rendering." +HOMEPAGE = "https://virgil3d.github.io/" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10" + +DEPENDS = "libdrm virtual/libgl libepoxy" +SRCREV = "363915595e05fb252e70d6514be2f0c0b5ca312b" +SRC_URI = "git://anongit.freedesktop.org/virglrenderer;branch=branch-0.9.1 \ + file://0001-meson.build-use-python3-directly-for-python.patch \ + " + +S = "${WORKDIR}/git" + +inherit meson pkgconfig features_check + +BBCLASSEXTEND = "native nativesdk" + +REQUIRED_DISTRO_FEATURES = "opengl" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb deleted file mode 100644 index 4c9c94f3d..000000000 --- a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Vulkan Header files and API registry" -DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \ -to modern GPUs with low overhead and targeting realtime graphics applications such as \ -games and interactive media. This package contains the development headers \ -for packages wanting to make use of Vulkan." -HOMEPAGE = "https://www.khronos.org/vulkan/" -BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master" - -SRCREV = "1d99b835ec3cd5a7fb2f2a2dd9a615ee2d1f0101" - -S = "${WORKDIR}/git" - -inherit cmake - -FILES_${PN} += "${datadir}/vulkan" - -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.176.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.176.0.bb new file mode 100644 index 000000000..cff654a06 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.2.176.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Vulkan Header files and API registry" +DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \ +to modern GPUs with low overhead and targeting realtime graphics applications such as \ +games and interactive media. This package contains the development headers \ +for packages wanting to make use of Vulkan." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master" + +SRCREV = "074fa3055cfee530992bcbfa0fcb23106a82c1ab" + +S = "${WORKDIR}/git" + +inherit cmake + +FILES_${PN} += "${datadir}/vulkan" + +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb deleted file mode 100644 index 6b6ed06db..000000000 --- a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "3D graphics and compute API common loader" -DESCRIPTION = "Vulkan is a new generation graphics and compute API \ -that provides efficient access to modern GPUs. These packages \ -provide only the common vendor-agnostic library loader, headers and \ -the vulkaninfo utility." -HOMEPAGE = "https://www.khronos.org/vulkan/" -BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git \ - " -SRCREV = "c5678a03db383fd0dc5bfb8e9a383043bdbcb57b" - -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = "vulkan" - -inherit cmake features_check -ANY_OF_DISTRO_FEATURES = "x11 wayland" - -DEPENDS += "vulkan-headers" - -EXTRA_OECMAKE = "\ - -DBUILD_TESTS=OFF \ - -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ - -DASSEMBLER_WORKS=FALSE \ - -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \ - -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \ - " - -# must choose x11 or wayland or both -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" - -PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" -PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" - -RRECOMMENDS_${PN} = "mesa-vulkan-drivers" - -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.176.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.176.0.bb new file mode 100644 index 000000000..e241a2f15 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.2.176.0.bb @@ -0,0 +1,41 @@ +SUMMARY = "3D graphics and compute API common loader" +DESCRIPTION = "Vulkan is a new generation graphics and compute API \ +that provides efficient access to modern GPUs. These packages \ +provide only the common vendor-agnostic library loader, headers and \ +the vulkaninfo utility." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git \ + " +SRCREV = "eb6d6f95dff809d66e95b903105da6424e75862f" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" + +inherit cmake features_check +ANY_OF_DISTRO_FEATURES = "x11 wayland" + +DEPENDS += "vulkan-headers" + +EXTRA_OECMAKE = "\ + -DBUILD_TESTS=OFF \ + -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ + -DASSEMBLER_WORKS=FALSE \ + -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \ + -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \ + " + +# must choose x11 or wayland or both +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" + +PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" +PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" + +RRECOMMENDS_${PN} = "mesa-vulkan-drivers" + +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb index b7c38f654..a177d9a39 100644 --- a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb +++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb @@ -11,7 +11,7 @@ SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "55cebd9e7cc4153a3a7b3a45d42274c0e2a17815" +SRCREV = "04278ed5f0f9847ae6897509eb56d7b21b4e8cde" UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb deleted file mode 100644 index 0c8bcaa08..000000000 --- a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Vulkan Utilities and Tools" -DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API." -HOMEPAGE = "https://www.khronos.org/vulkan/" -BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.170" -SRCREV = "88ea55de928a08ba5c5f65a93d1e7c8f666fc43f" - -S = "${WORKDIR}/git" - -inherit cmake features_check -ANY_OF_DISTRO_FEATURES = "x11 wayland" -REQUIRED_DISTRO_FEATURES = "vulkan" - -DEPENDS += "vulkan-headers vulkan-loader" - -EXTRA_OECMAKE = "\ - -DBUILD_TESTS=OFF \ - -DBUILD_CUBE=OFF \ - -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ - " - -# must choose x11 or wayland or both -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" - -PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" -PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" - -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.176.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.176.0.bb new file mode 100644 index 000000000..10fa0fdb3 --- /dev/null +++ b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.2.176.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "Vulkan Utilities and Tools" +DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.2.176" +SRCREV = "eb3d67bd17ee433e2b0a8e56a7249bd83908812e" + +S = "${WORKDIR}/git" + +inherit cmake features_check +ANY_OF_DISTRO_FEATURES = "x11 wayland" +REQUIRED_DISTRO_FEATURES = "vulkan" + +DEPENDS += "vulkan-headers vulkan-loader" + +EXTRA_OECMAKE = "\ + -DBUILD_TESTS=OFF \ + -DBUILD_CUBE=OFF \ + -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ + " + +# must choose x11 or wayland or both +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" + +PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" +PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" + +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.16.4.bb b/poky/meta/recipes-graphics/wayland/libinput_1.16.4.bb deleted file mode 100644 index 17b73e382..000000000 --- a/poky/meta/recipes-graphics/wayland/libinput_1.16.4.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Library to handle input devices in Wayland compositors" -DESCRIPTION = "libinput is a library to handle input devices in Wayland \ -compositors and to provide a generic X.Org input driver. It provides \ -device detection, device handling, input device event processing and \ -abstraction so minimize the amount of custom input code compositors need to \ -provide the common set of functionality that users expect." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" - -DEPENDS = "libevdev udev mtdev libcheck" - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ - file://run-ptest \ - file://determinism.patch \ - " -SRC_URI[sha256sum] = "65923a06d5a8970e4a999c4668797b9b689614b62b1d44432ab1c87b65e39e29" - -UPSTREAM_CHECK_REGEX = "libinput-(?P\d+\.\d+\.(?!9\d+)\d+)" - -inherit meson pkgconfig lib_package ptest - -# Patch out build directory, otherwise it leaks into ptest binary -do_configure_append() { - sed -i -e "s,${WORKDIR},,g" config.h - if [ -e "litest-config.h" ]; then - sed -i -e "s,${WORKDIR},,g" litest-config.h - fi -} - -PACKAGECONFIG ??= "" -PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" -PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" - -UDEVDIR = "`pkg-config --variable=udevdir udev`" - -EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \ - -Ddocumentation=false \ - ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true -Dinstall-tests=true', '-Dtests=false -Dinstall-tests=false', d)} \ - -Dzshcompletiondir=no" - -# package name changed in 1.8.1 upgrade: make sure package upgrades work -RPROVIDES_${PN} = "libinput" -RREPLACES_${PN} = "libinput" -RCONFLICTS_${PN} = "libinput" - -FILES_${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite" diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.17.3.bb b/poky/meta/recipes-graphics/wayland/libinput_1.17.3.bb new file mode 100644 index 000000000..ef19146f7 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/libinput_1.17.3.bb @@ -0,0 +1,49 @@ +SUMMARY = "Library to handle input devices in Wayland compositors" +DESCRIPTION = "libinput is a library to handle input devices in Wayland \ +compositors and to provide a generic X.Org input driver. It provides \ +device detection, device handling, input device event processing and \ +abstraction so minimize the amount of custom input code compositors need to \ +provide the common set of functionality that users expect." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" + +DEPENDS = "libevdev udev mtdev libcheck" + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ + file://run-ptest \ + file://determinism.patch \ + " +SRC_URI[sha256sum] = "0d010e0bf601b5d3a06b3c4d77d67751cf554f3e6448e57aa046ea9ee8f818ac" + +UPSTREAM_CHECK_REGEX = "libinput-(?P\d+\.\d+\.(?!9\d+)\d+)" + +inherit meson pkgconfig lib_package ptest + +# Patch out build directory, otherwise it leaks into ptest binary +do_configure_append() { + sed -i -e "s,${WORKDIR},,g" config.h + if [ -e "litest-config.h" ]; then + sed -i -e "s,${WORKDIR},,g" litest-config.h + fi +} + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" +PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" + +UDEVDIR = "`pkg-config --variable=udevdir udev`" + +EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \ + -Ddocumentation=false \ + ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true -Dinstall-tests=true', '-Dtests=false -Dinstall-tests=false', d)} \ + -Dzshcompletiondir=no" + +# package name changed in 1.8.1 upgrade: make sure package upgrades work +RPROVIDES_${PN} = "libinput" +RREPLACES_${PN} = "libinput" +RCONFLICTS_${PN} = "libinput" + +FILES_${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite" diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.20.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.20.bb deleted file mode 100644 index 3fb78f658..000000000 --- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.20.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Collection of additional Wayland protocols" -DESCRIPTION = "Wayland protocols that add functionality not \ -available in the Wayland core protocol. Such protocols either add \ -completely new functionality, or extend the functionality of some other \ -protocol either in Wayland core, or some other protocol in \ -wayland-protocols." -HOMEPAGE = "http://wayland.freedesktop.org" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ - file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" - -SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ - " -SRC_URI[md5sum] = "b0836533a3f2dc6585b1dae00341157f" -SRC_URI[sha256sum] = "9782b7a1a863d82d7c92478497d13c758f52e7da4f197aa16443f73de77e4de7" - -UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" - -inherit allarch autotools pkgconfig - -PACKAGES = "${PN}" -FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.21.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.21.bb new file mode 100644 index 000000000..16452f86e --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.21.bb @@ -0,0 +1,21 @@ +SUMMARY = "Collection of additional Wayland protocols" +DESCRIPTION = "Wayland protocols that add functionality not \ +available in the Wayland core protocol. Such protocols either add \ +completely new functionality, or extend the functionality of some other \ +protocol either in Wayland core, or some other protocol in \ +wayland-protocols." +HOMEPAGE = "http://wayland.freedesktop.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ + file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" + +SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ + " +SRC_URI[sha256sum] = "b99945842d8be18817c26ee77dafa157883af89268e15f4a5a1a1ff3ffa4cde5" + +UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html" + +inherit allarch autotools pkgconfig + +PACKAGES = "${PN}" +FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc" diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.19.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.19.0.bb index 8f121601c..0fda80cca 100644 --- a/poky/meta/recipes-graphics/wayland/wayland_1.19.0.bb +++ b/poky/meta/recipes-graphics/wayland/wayland_1.19.0.bb @@ -52,9 +52,11 @@ sysroot_stage_all_append_class-target () { cp ${STAGING_DATADIR_NATIVE}/aclocal/wayland-scanner.m4 ${SYSROOT_DESTDIR}/${datadir}/aclocal/ } +PACKAGES += "${PN}-tools" + FILES_${PN} = "${libdir}/*${SOLIBS}" -FILES_${PN}-dev += "${bindir} ${datadir}/wayland" +FILES_${PN}-tools += "${bindir} ${datadir}/wayland" BBCLASSEXTEND = "native nativesdk" -RDEPENDS_${PN}-ptest += "binutils sed" +RDEPENDS_${PN}-ptest += "binutils sed ${PN}-tools" diff --git a/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.4.bb b/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.4.bb deleted file mode 100644 index 44143a04c..000000000 --- a/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.4.bb +++ /dev/null @@ -1,18 +0,0 @@ -require xorg-app-common.inc - -SUMMARY = "A program to compile XKB keyboard description" - -DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \ -XKB keymap into one of several output formats. The most common use for \ -xkbcomp is to create a compiled keymap file (.xkm extension) which can \ -be read directly by XKB-capable X servers or utilities." - -LIC_FILES_CHKSUM = "file://COPYING;md5=08436e4f4476964e2e2dd7e7e41e076a" - -DEPENDS += "libxkbfile" - -BBCLASSEXTEND = "native" - -EXTRA_OECONF += "--disable-selective-werror" - -SRC_URI[sha256sum] = "59cce603a607a17722a0a1cf99010f4894e7812beb5d695abbc08474d59af27e" diff --git a/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.5.bb b/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.5.bb new file mode 100644 index 000000000..657ec7580 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-app/xkbcomp_1.4.5.bb @@ -0,0 +1,18 @@ +require xorg-app-common.inc + +SUMMARY = "A program to compile XKB keyboard description" + +DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \ +XKB keymap into one of several output formats. The most common use for \ +xkbcomp is to create a compiled keymap file (.xkm extension) which can \ +be read directly by XKB-capable X servers or utilities." + +LIC_FILES_CHKSUM = "file://COPYING;md5=be5e191f04d3f2cd80aa83b928ba984c" + +DEPENDS += "libxkbfile" + +BBCLASSEXTEND = "native" + +EXTRA_OECONF += "--disable-selective-werror" + +SRC_URI[sha256sum] = "6851086c4244b6fd0cc562880d8ff193fb2bbf1e141c73632e10731b31d4b05e" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb deleted file mode 100644 index 3faee6e49..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Xlib: C Language X Interface library" - -DESCRIPTION = "This package provides a client interface to the X Window \ -System, otherwise known as 'Xlib'. It provides a complete API for the \ -basic functions of the window system." - -require xorg-lib-common.inc - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:" - -PE = "1" - -SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \ - file://disable_tests.patch \ - " - -SRC_URI[sha256sum] = "36c8f93b6595437c8cfbc9f08618bcb3041cbd303e140a0013f88e4c2977cb54" - -PROVIDES = "virtual/libx11" - -XORG_PN = "libX11" -LICENSE = "MIT & MIT-style & BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" - -DEPENDS += "xorgproto xtrans libxcb" -DEPENDS += "xorgproto-native" - -EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont" -EXTRA_OEMAKE += 'CWARNFLAGS=""' - -PACKAGECONFIG ??= "xcms" -PACKAGECONFIG[xcms] = "--enable-xcms,--disable-xcms" - -# src/util/makekeys is built natively but needs -D_GNU_SOURCE defined. -CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE" - -PACKAGES =+ "${PN}-xcb" - -inherit gettext - -FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt" -FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" -FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb new file mode 100644 index 000000000..b5f0445e1 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb @@ -0,0 +1,45 @@ +SUMMARY = "Xlib: C Language X Interface library" + +DESCRIPTION = "This package provides a client interface to the X Window \ +System, otherwise known as 'Xlib'. It provides a complete API for the \ +basic functions of the window system." + +require xorg-lib-common.inc + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:" + +PE = "1" + +SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \ + file://disable_tests.patch \ + " + +SRC_URI[sha256sum] = "e64e43deaa562cbfb0d5ada64670ec09c6fac7935262dcd77bbc6d984a535d47" + +PROVIDES = "virtual/libx11" + +XORG_PN = "libX11" +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +DEPENDS += "xorgproto xtrans libxcb" +DEPENDS += "xorgproto-native" + +EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont" +EXTRA_OEMAKE += 'CWARNFLAGS=""' + +PACKAGECONFIG ??= "xcms" +PACKAGECONFIG[xcms] = "--enable-xcms,--disable-xcms" + +# src/util/makekeys is built natively but needs -D_GNU_SOURCE defined. +CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE" + +PACKAGES =+ "${PN}-xcb" + +inherit gettext + +FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt" +FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" +FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb deleted file mode 100644 index f0e2f606c..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "XFixes: X Fixes extension library" - -DESCRIPTION = "X applications have often needed to work around various \ -shortcomings in the core X window system. This extension is designed to \ -provide the minimal server-side support necessary to eliminate problems \ -caused by these workarounds." - -require xorg-lib-common.inc - -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0" - -DEPENDS += "virtual/libx11 xorgproto" - -PE = "1" - -XORG_PN = "libXfixes" - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[md5sum] = "07e01e046a0215574f36a3aacb148be0" -SRC_URI[sha256sum] = "de1cd33aff226e08cefd0e6759341c2c8e8c9faf8ce9ac6ec38d43e287b22ad6" - diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfixes_6.0.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxfixes_6.0.0.bb new file mode 100644 index 000000000..af7426f7b --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxfixes_6.0.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "XFixes: X Fixes extension library" + +DESCRIPTION = "X applications have often needed to work around various \ +shortcomings in the core X window system. This extension is designed to \ +provide the minimal server-side support necessary to eliminate problems \ +caused by these workarounds." + +require xorg-lib-common.inc +SRC_URI[sha256sum] = "a7c1a24da53e0b46cac5aea79094b4b2257321c621b258729bc3139149245b4c" + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0" + +DEPENDS += "virtual/libx11 xorgproto" + +PE = "1" + +XORG_PN = "libXfixes" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb deleted file mode 100644 index 99f55f4a1..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Generic XKB keymap library" -DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \ -processes a reduced subset of keymaps as defined by the XKB specification." -HOMEPAGE = "http://www.xkbcommon.org" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" -LICENSE = "MIT & MIT-style" - -DEPENDS = "util-macros flex-native bison-native" - -SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "a2202f851e072b84e64a395212cbd976ee18a8ee602008b0bad02a13247dbc52" - -UPSTREAM_CHECK_URI = "http://xkbcommon.org/" - -inherit meson pkgconfig - -EXTRA_OEMESON = "-Denable-docs=false -Denable-xkbregistry=false" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}" -PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config," -PACKAGECONFIG[wayland] = "-Denable-wayland=true,-Denable-wayland=false,wayland-native wayland wayland-protocols," - -# Fix a following runtime error: -# xkbcommon: ERROR: couldn't find a Compose file for locale "C" -RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb new file mode 100644 index 000000000..26bbaadcb --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Generic XKB keymap library" +DESCRIPTION = "libxkbcommon is a keymap compiler and support library which \ +processes a reduced subset of keymaps as defined by the XKB specification." +HOMEPAGE = "http://www.xkbcommon.org" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e525ed9809e1f8a07cf4bce8b09e8b87" +LICENSE = "MIT & MIT-style" + +DEPENDS = "util-macros flex-native bison-native" + +SRC_URI = "http://xkbcommon.org/download/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "7b09e098ea69bc3054f0c57a9a25fda571c4df22398811606e32b5fffeb75e7b" + +UPSTREAM_CHECK_URI = "http://xkbcommon.org/" + +inherit meson pkgconfig + +EXTRA_OEMESON = "-Denable-docs=false -Denable-xkbregistry=false" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}" +PACKAGECONFIG[x11] = "-Denable-x11=true,-Denable-x11=false,libxcb xkeyboard-config," +PACKAGECONFIG[wayland] = "-Denable-wayland=true,-Denable-wayland=false,wayland-native wayland wayland-protocols," + +# Fix a following runtime error: +# xkbcommon: ERROR: couldn't find a Compose file for locale "C" +RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb deleted file mode 100644 index af6bb19a2..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "XRes: X Resource extension library" - -DESCRIPTION = "libXRes provides an X Window System client interface to \ -the Resource extension to the X protocol. The Resource extension allows \ -for X clients to see and monitor the X resource usage of various clients \ -(pixmaps, et al)." - -require xorg-lib-common.inc - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=8c89441a8df261bdc56587465e13c7fa" - -DEPENDS += "libxext xorgproto" - -PE = "1" - -XORG_PN = "libXres" - -SRC_URI[md5sum] = "5d6d443d1abc8e1f6fc1c57fb27729bb" -SRC_URI[sha256sum] = "ff75c1643488e64a7cfbced27486f0f944801319c84c18d3bd3da6bf28c812d4" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.1.bb b/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.1.bb new file mode 100644 index 000000000..29a799a32 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libxres_1.2.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "XRes: X Resource extension library" + +DESCRIPTION = "libXRes provides an X Window System client interface to \ +the Resource extension to the X protocol. The Resource extension allows \ +for X clients to see and monitor the X resource usage of various clients \ +(pixmaps, et al)." + +require xorg-lib-common.inc + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=8c89441a8df261bdc56587465e13c7fa" + +DEPENDS += "libxext xorgproto" + +PE = "1" + +XORG_PN = "libXres" + +SRC_URI[sha256sum] = "b6e6fb1ebb61610e56017edd928fb89a5f53b3f4f990078309877468663b2b11" diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb deleted file mode 100644 index c71bc9038..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb +++ /dev/null @@ -1,27 +0,0 @@ - -SUMMARY = "X Window System unified protocol definitions" -DESCRIPTION = "This package provides the headers and specification documents defining \ -the core protocol and (many) extensions for the X Window System" -HOMEPAGE = "http://www.x.org" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" - -SECTION = "x11/libs" -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=b9e051107d5628966739a0b2e9b32676" - -SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2" -SRC_URI[md5sum] = "c29f4fa78f53b52b3efdc71ebd9506b6" -SRC_URI[sha256sum] = "54a153f139035a376c075845dd058049177212da94d7a9707cf9468367b699d2" - -inherit meson - -PACKAGECONFIG ??= "" -PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false" - -# Datadir only used to install pc files, $datadir/pkgconfig -datadir="${libdir}" -# ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb new file mode 100644 index 000000000..f4b089515 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "X Window System unified protocol definitions" +DESCRIPTION = "This package provides the headers and specification documents defining \ +the core protocol and (many) extensions for the X Window System" +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" + +SECTION = "x11/libs" +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=dfc4bd2b0568b31725b85b0604e69b56" + +SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2" +SRC_URI[sha256sum] = "0bce7d4fe800dcb5581cc59a99946c12e6e0be292636544221ec73e96f1a28ed" + +inherit meson + +PACKAGECONFIG ??= "" +PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false" + +# Datadir only used to install pc files, $datadir/pkgconfig +datadir="${libdir}" +# ${PN} is empty so we need to tweak -dev and -dbg package dependencies +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2021-3472.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2021-3472.patch deleted file mode 100644 index 5480f7187..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/CVE-2021-3472.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 7aaf54a1884f71dc363f0b884e57bcb67407a6cd Mon Sep 17 00:00:00 2001 -From: Matthieu Herrb -Date: Sun, 21 Mar 2021 18:38:57 +0100 -Subject: [PATCH] Fix XChangeFeedbackControl() request underflow - -CVE-2021-3472 / ZDI-CAN-1259 - -This vulnerability was discovered by: -Jan-Niklas Sohn working with Trend Micro Zero Day Initiative - -Signed-off-by: Matthieu Herrb - -Upstream-Status: Backport -CVE: CVE-2021-3472 - -Reference to upstream patch: -[https://gitlab.freedesktop.org/xorg/xserver/-/commit/7aaf54a1884f71dc363f0b884e57bcb67407a6cd] - -Signed-off-by: Stefan Ghinea ---- - Xi/chgfctl.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/Xi/chgfctl.c b/Xi/chgfctl.c -index 1de4da9..7a597e4 100644 ---- a/Xi/chgfctl.c -+++ b/Xi/chgfctl.c -@@ -464,8 +464,11 @@ ProcXChangeFeedbackControl(ClientPtr client) - break; - case StringFeedbackClass: - { -- xStringFeedbackCtl *f = ((xStringFeedbackCtl *) &stuff[1]); -+ xStringFeedbackCtl *f; - -+ REQUEST_AT_LEAST_EXTRA_SIZE(xChangeFeedbackControlReq, -+ sizeof(xStringFeedbackCtl)); -+ f = ((xStringFeedbackCtl *) &stuff[1]); - if (client->swapped) { - if (len < bytes_to_int32(sizeof(xStringFeedbackCtl))) - return BadLength; --- -2.17.1 - diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb deleted file mode 100644 index 755a762a7..000000000 --- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb +++ /dev/null @@ -1,34 +0,0 @@ -require xserver-xorg.inc - -SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ - file://pkgconfig.patch \ - file://0001-test-xtest-Initialize-array-with-braces.patch \ - file://sdksyms-no-build-path.patch \ - file://0001-drmmode_display.c-add-missing-mi.h-include.patch \ - file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \ - file://0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch \ - file://CVE-2021-3472.patch \ - " -SRC_URI[sha256sum] = "977420c082450dc808de301ef56af4856d653eea71519a973c3490a780cb7c99" - -# These extensions are now integrated into the server, so declare the migration -# path for in-place upgrades. - -RREPLACES_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " -RPROVIDES_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " -RCONFLICTS_${PN} = "${PN}-extension-dri \ - ${PN}-extension-dri2 \ - ${PN}-extension-record \ - ${PN}-extension-extmod \ - ${PN}-extension-dbe \ - " diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.11.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.11.bb new file mode 100644 index 000000000..1eb2056b8 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.11.bb @@ -0,0 +1,33 @@ +require xserver-xorg.inc + +SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ + file://pkgconfig.patch \ + file://0001-test-xtest-Initialize-array-with-braces.patch \ + file://sdksyms-no-build-path.patch \ + file://0001-drmmode_display.c-add-missing-mi.h-include.patch \ + file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \ + file://0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch \ + " +SRC_URI[sha256sum] = "914c796e3ffabe1af48071d40ccc85e92117c97a9082ed1df29e4d64e3c34c49" + +# These extensions are now integrated into the server, so declare the migration +# path for in-place upgrades. + +RREPLACES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RPROVIDES_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " +RCONFLICTS_${PN} = "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-record \ + ${PN}-extension-extmod \ + ${PN}-extension-dbe \ + " diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb index 70b851830..e967f485c 100644 --- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249 DEPENDS = "git-native" -SRCREV = "00dfcab64b85bcb61208724a1588662184ebdd59" +SRCREV = "d220b063852245fdd16b9731a395ace525f932d6" PR = "r12" PV = "0.2+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.21.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.21.bb deleted file mode 100644 index 069e8f4d0..000000000 --- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.21.bb +++ /dev/null @@ -1,88 +0,0 @@ - -SUMMARY = "Kexec fast reboot tools" -DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel" -AUTHOR = "Eric Biederman" -HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/" -SECTION = "kernel/userland" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \ - file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09" -DEPENDS = "zlib xz" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \ - file://kdump \ - file://kdump.conf \ - file://kdump.service \ - file://0001-powerpc-change-the-memory-size-limit.patch \ - file://0002-purgatory-Pass-r-directly-to-linker.patch \ - file://0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \ - file://0005-Disable-PIE-during-link.patch \ - file://0007-kexec-un-break-the-build-on-32-bit-x86.patch \ - file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \ - file://0001-kexec-arch-ppc-kexec-ppc.c-correct-double-definition.patch \ - " - -SRC_URI[sha256sum] = "b3d4cfd2ba10d68ce341ea3b8ca414d00a0b6183b95686172154f94bce834f94" - -inherit autotools update-rc.d systemd - -export LDFLAGS = "-L${STAGING_LIBDIR}" -EXTRA_OECONF = " --with-zlib=yes" - -do_compile_prepend() { - # Remove the prepackaged config.h from the source tree as it overrides - # the same file generated by configure and placed in the build tree - rm -f ${S}/include/config.h - - # Remove the '*.d' file to make sure the recompile is OK - for dep in `find ${B} -type f -name '*.d'`; do - dep_no_d="`echo $dep | sed 's#.d$##'`" - # Remove file.d when there is a file.o - if [ -f "$dep_no_d.o" ]; then - rm -f $dep - fi - done -} - -do_install_append () { - install -d ${D}${sysconfdir}/sysconfig - install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig - - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -D -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper - install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service - sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service - fi -} - -PACKAGES =+ "kexec kdump vmcore-dmesg" - -ALLOW_EMPTY_${PN} = "1" -RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg" - -FILES_kexec = "${sbindir}/kexec" -FILES_kdump = "${sbindir}/kdump \ - ${sysconfdir}/sysconfig/kdump.conf \ - ${sysconfdir}/init.d/kdump \ - ${libexecdir}/kdump-helper \ - ${systemd_unitdir}/system/kdump.service \ -" - -FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg" - -INITSCRIPT_PACKAGES = "kdump" -INITSCRIPT_NAME_kdump = "kdump" -INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ." - -SYSTEMD_PACKAGES = "kdump" -SYSTEMD_SERVICE_kdump = "kdump.service" - -SECURITY_PIE_CFLAGS_remove = "-fPIE -pie" - -COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)' - -INSANE_SKIP_${PN} = "arch" diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb new file mode 100644 index 000000000..dcc440211 --- /dev/null +++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb @@ -0,0 +1,88 @@ + +SUMMARY = "Kexec fast reboot tools" +DESCRIPTION = "Kexec is a fast reboot feature that lets you reboot to a new Linux kernel" +AUTHOR = "Eric Biederman" +HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/kexec/" +SECTION = "kernel/userland" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a \ + file://kexec/kexec.c;beginline=1;endline=20;md5=af10f6ae4a8715965e648aa687ad3e09" +DEPENDS = "zlib xz" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz \ + file://kdump \ + file://kdump.conf \ + file://kdump.service \ + file://0001-powerpc-change-the-memory-size-limit.patch \ + file://0002-purgatory-Pass-r-directly-to-linker.patch \ + file://0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \ + file://0005-Disable-PIE-during-link.patch \ + file://0007-kexec-un-break-the-build-on-32-bit-x86.patch \ + file://0001-arm64-kexec-disabled-check-if-kaslr-seed-dtb-propert.patch \ + file://0001-kexec-arch-ppc-kexec-ppc.c-correct-double-definition.patch \ + " + +SRC_URI[sha256sum] = "40623d4321be2865ef9ea2cd6ec998d31dcf93d0f74353cbd3aa06d8821e3e41" + +inherit autotools update-rc.d systemd + +export LDFLAGS = "-L${STAGING_LIBDIR}" +EXTRA_OECONF = " --with-zlib=yes" + +do_compile_prepend() { + # Remove the prepackaged config.h from the source tree as it overrides + # the same file generated by configure and placed in the build tree + rm -f ${S}/include/config.h + + # Remove the '*.d' file to make sure the recompile is OK + for dep in `find ${B} -type f -name '*.d'`; do + dep_no_d="`echo $dep | sed 's#.d$##'`" + # Remove file.d when there is a file.o + if [ -f "$dep_no_d.o" ]; then + rm -f $dep + fi + done +} + +do_install_append () { + install -d ${D}${sysconfdir}/sysconfig + install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -D -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper + install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service + sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service + fi +} + +PACKAGES =+ "kexec kdump vmcore-dmesg" + +ALLOW_EMPTY_${PN} = "1" +RRECOMMENDS_${PN} = "kexec kdump vmcore-dmesg" + +FILES_kexec = "${sbindir}/kexec" +FILES_kdump = "${sbindir}/kdump \ + ${sysconfdir}/sysconfig/kdump.conf \ + ${sysconfdir}/init.d/kdump \ + ${libexecdir}/kdump-helper \ + ${systemd_unitdir}/system/kdump.service \ +" + +FILES_vmcore-dmesg = "${sbindir}/vmcore-dmesg" + +INITSCRIPT_PACKAGES = "kdump" +INITSCRIPT_NAME_kdump = "kdump" +INITSCRIPT_PARAMS_kdump = "start 56 2 3 4 5 . stop 56 0 1 6 ." + +SYSTEMD_PACKAGES = "kdump" +SYSTEMD_SERVICE_kdump = "kdump.service" + +SECURITY_PIE_CFLAGS_remove = "-fPIE -pie" + +COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|powerpc.*|mips.*)-(linux|freebsd.*)' + +INSANE_SKIP_${PN} = "arch" diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc index ba5ec7f65..e66684fda 100644 --- a/poky/meta/recipes-kernel/kmod/kmod.inc +++ b/poky/meta/recipes-kernel/kmod/kmod.inc @@ -15,9 +15,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ " inherit autotools gtk-doc pkgconfig manpages -SRCREV = "1ccfe994287119cc6cef37a7ca4c529d89de4b95" +SRCREV = "b6ecfc916a17eab8f93be5b09f4e4f845aabd3d1" # Lookout for PV bump too when SRCREV is changed -PV = "28" +PV = "29" SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \ file://depmod-search.conf \ diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb deleted file mode 100644 index a751b92a2..000000000 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb +++ /dev/null @@ -1,1052 +0,0 @@ -SUMMARY = "Firmware files for use with Linux kernel" -HOMEPAGE = "https://www.kernel.org/" -DESCRIPTION = "Linux firmware is a package distributed alongside the Linux kernel \ -that contains firmware binary blobs necessary for partial or full functionality \ -of certain hardware devices." -SECTION = "kernel" - -LICENSE = "\ - Firmware-Abilis \ - & Firmware-adsp_sst \ - & Firmware-agere \ - & Firmware-amdgpu \ - & Firmware-amd-ucode \ - & Firmware-amlogic_vdec \ - & Firmware-atheros_firmware \ - & Firmware-atmel \ - & Firmware-broadcom_bcm43xx \ - & Firmware-ca0132 \ - & Firmware-cavium \ - & Firmware-chelsio_firmware \ - & Firmware-cw1200 \ - & Firmware-cypress \ - & Firmware-dib0700 \ - & Firmware-e100 \ - & Firmware-ene_firmware \ - & Firmware-fw_sst_0f28 \ - & Firmware-go7007 \ - & Firmware-GPLv2 \ - & Firmware-hfi1_firmware \ - & Firmware-i2400m \ - & Firmware-i915 \ - & Firmware-ibt_firmware \ - & Firmware-ice \ - & Firmware-it913x \ - & Firmware-iwlwifi_firmware \ - & Firmware-IntcSST2 \ - & Firmware-kaweth \ - & Firmware-Lontium \ - & Firmware-Marvell \ - & Firmware-moxa \ - & Firmware-myri10ge_firmware \ - & Firmware-netronome \ - & Firmware-nvidia \ - & Firmware-OLPC \ - & Firmware-ath9k-htc \ - & Firmware-phanfw \ - & Firmware-qat \ - & Firmware-qcom \ - & Firmware-qla1280 \ - & Firmware-qla2xxx \ - & Firmware-qualcommAthos_ar3k \ - & Firmware-qualcommAthos_ath10k \ - & Firmware-r8a779x_usb3 \ - & Firmware-radeon \ - & Firmware-ralink_a_mediatek_company_firmware \ - & Firmware-ralink-firmware \ - & Firmware-rtlwifi_firmware \ - & Firmware-imx-sdma_firmware \ - & Firmware-siano \ - & Firmware-tda7706-firmware \ - & Firmware-ti-connectivity \ - & Firmware-ti-keystone \ - & Firmware-ueagle-atm4-firmware \ - & Firmware-via_vt6656 \ - & Firmware-wl1251 \ - & Firmware-xc4000 \ - & Firmware-xc5000 \ - & Firmware-xc5000c \ - & WHENCE \ -" - -LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ - file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \ - file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ - file://LICENSE.amdgpu;md5=d357524f5099e2a3db3c1838921c593f \ - file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \ - file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \ - file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \ - file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \ - file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \ - file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \ - file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \ - file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \ - file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \ - file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \ - file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \ - file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \ - file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \ - file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \ - file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \ - file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \ - file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \ - file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \ - file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \ - file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \ - file://LICENSE.ice;md5=742ab4850f2670792940e6d15c974b2f \ - file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ - file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \ - file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \ - file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \ - file://LICENSE.Lontium;md5=4ec8dc582ff7295f39e2ca6a7b0be2b6 \ - file://LICENCE.Marvell;md5=28b6ed8bd04ba105af6e4dcd6e997772 \ - file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \ - file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \ - file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \ - file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \ - file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \ - file://LICENCE.NXP;md5=58bb8ba632cd729b9ba6183bc6aed36f \ - file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \ - file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \ - file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \ - file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ - file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \ - file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \ - file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \ - file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \ - file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \ - file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \ - file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \ - file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \ - file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \ - file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \ - file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \ - file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \ - file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \ - file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \ - file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \ - file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \ - file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \ - file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \ - file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ - file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ - file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ - file://WHENCE;md5=ef0565762eac313c409567b59dff00b2 \ - " - -# These are not common licenses, set NO_GENERIC_LICENSE for them -# so that the license files will be copied from fetched source -NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENCE.Abilis" -NO_GENERIC_LICENSE[Firmware-adsp_sst] = "LICENCE.adsp_sst" -NO_GENERIC_LICENSE[Firmware-agere] = "LICENCE.agere" -NO_GENERIC_LICENSE[Firmware-amdgpu] = "LICENSE.amdgpu" -NO_GENERIC_LICENSE[Firmware-amd-ucode] = "LICENSE.amd-ucode" -NO_GENERIC_LICENSE[Firmware-amlogic_vdec] = "LICENSE.amlogic_vdec" -NO_GENERIC_LICENSE[Firmware-atheros_firmware] = "LICENCE.atheros_firmware" -NO_GENERIC_LICENSE[Firmware-atmel] = "LICENSE.atmel" -NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx" -NO_GENERIC_LICENSE[Firmware-ca0132] = "LICENCE.ca0132" -NO_GENERIC_LICENSE[Firmware-cadence] = "LICENCE.cadence" -NO_GENERIC_LICENSE[Firmware-cavium] = "LICENCE.cavium" -NO_GENERIC_LICENSE[Firmware-chelsio_firmware] = "LICENCE.chelsio_firmware" -NO_GENERIC_LICENSE[Firmware-cw1200] = "LICENCE.cw1200" -NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress" -NO_GENERIC_LICENSE[Firmware-dib0700] = "LICENSE.dib0700" -NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100" -NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware" -NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28" -NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007" -NO_GENERIC_LICENSE[Firmware-GPLv2] = "GPL-2" -NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware" -NO_GENERIC_LICENSE[Firmware-i2400m] = "LICENCE.i2400m" -NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915" -NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware" -NO_GENERIC_LICENSE[Firmware-ice] = "LICENSE.ice" -NO_GENERIC_LICENSE[Firmware-IntcSST2] = "LICENCE.IntcSST2" -NO_GENERIC_LICENSE[Firmware-it913x] = "LICENCE.it913x" -NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = "LICENCE.iwlwifi_firmware" -NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth" -NO_GENERIC_LICENSE[Firmware-Lontium] = "LICENSE.Lontium" -NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell" -NO_GENERIC_LICENSE[Firmware-mediatek] = "LICENCE.mediatek" -NO_GENERIC_LICENSE[Firmware-moxa] = "LICENCE.moxa" -NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware" -NO_GENERIC_LICENSE[Firmware-netronome] = "LICENCE.Netronome" -NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia" -NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC" -NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware" -NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw" -NO_GENERIC_LICENSE[Firmware-qat] = "LICENCE.qat_firmware" -NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom" -NO_GENERIC_LICENSE[Firmware-qla1280] = "LICENCE.qla1280" -NO_GENERIC_LICENSE[Firmware-qla2xxx] = "LICENCE.qla2xxx" -NO_GENERIC_LICENSE[Firmware-qualcommAthos_ar3k] = "LICENSE.QualcommAtheros_ar3k" -NO_GENERIC_LICENSE[Firmware-qualcommAthos_ath10k] = "LICENSE.QualcommAtheros_ath10k" -NO_GENERIC_LICENSE[Firmware-r8a779x_usb3] = "LICENCE.r8a779x_usb3" -NO_GENERIC_LICENSE[Firmware-radeon] = "LICENSE.radeon" -NO_GENERIC_LICENSE[Firmware-ralink_a_mediatek_company_firmware] = "LICENCE.ralink_a_mediatek_company_firmware" -NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt" -NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt" -NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano" -NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware" -NO_GENERIC_LICENSE[Firmware-tda7706-firmware] = "LICENCE.tda7706-firmware.txt" -NO_GENERIC_LICENSE[Firmware-ti-connectivity] = "LICENCE.ti-connectivity" -NO_GENERIC_LICENSE[Firmware-ti-keystone] = "LICENCE.ti-keystone" -NO_GENERIC_LICENSE[Firmware-ueagle-atm4-firmware] = "LICENCE.ueagle-atm4-firmware" -NO_GENERIC_LICENSE[Firmware-via_vt6656] = "LICENCE.via_vt6656" -NO_GENERIC_LICENSE[Firmware-wl1251] = "LICENCE.wl1251" -NO_GENERIC_LICENSE[Firmware-xc4000] = "LICENCE.xc4000" -NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000" -NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c" -NO_GENERIC_LICENSE[WHENCE] = "WHENCE" - -PE = "1" - -SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "1bcb1a3944c361507754a7d26ccff40ffc28d1fb93bce711d67da26b33e785b7" - -inherit allarch - -CLEANBROKEN = "1" - -do_compile() { - : -} - -do_install() { - oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install - cp GPL-2 LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/ -} - - -PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \ - ${PN}-mt7601u-license ${PN}-mt7601u \ - ${PN}-radeon-license ${PN}-radeon \ - ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \ - ${PN}-sd8686 ${PN}-sd8688 ${PN}-sd8787 ${PN}-sd8797 ${PN}-sd8801 \ - ${PN}-sd8887 ${PN}-sd8897 ${PN}-sd8997 ${PN}-usb8997 \ - ${PN}-ti-connectivity-license ${PN}-wlcommon ${PN}-wl12xx ${PN}-wl18xx \ - ${PN}-vt6656-license ${PN}-vt6656 \ - ${PN}-rs9113 ${PN}-rs9116 \ - ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \ - ${PN}-rtl8168 \ - ${PN}-cypress-license \ - ${PN}-broadcom-license \ - ${PN}-bcm-0bb4-0306 \ - ${PN}-bcm43143 \ - ${PN}-bcm43236b \ - ${PN}-bcm43241b0 \ - ${PN}-bcm43241b4 \ - ${PN}-bcm43241b5 \ - ${PN}-bcm43242a \ - ${PN}-bcm4329 \ - ${PN}-bcm4329-fullmac \ - ${PN}-bcm4330 \ - ${PN}-bcm4334 \ - ${PN}-bcm43340 \ - ${PN}-bcm4335 \ - ${PN}-bcm43362 \ - ${PN}-bcm4339 \ - ${PN}-bcm43430 \ - ${PN}-bcm43430a0 \ - ${PN}-bcm43455 \ - ${PN}-bcm4350 \ - ${PN}-bcm4350c2 \ - ${PN}-bcm4354 \ - ${PN}-bcm4356 \ - ${PN}-bcm4356-pcie \ - ${PN}-bcm43569 \ - ${PN}-bcm43570 \ - ${PN}-bcm4358 \ - ${PN}-bcm43602 \ - ${PN}-bcm4366b \ - ${PN}-bcm4366c \ - ${PN}-bcm4371 \ - ${PN}-bcm4373 \ - ${PN}-bcm43xx \ - ${PN}-bcm43xx-hdr \ - ${PN}-atheros-license ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k \ - ${PN}-gplv2-license ${PN}-carl9170 \ - ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-ath11k ${PN}-qca \ - \ - ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \ - \ - ${PN}-iwlwifi-license ${PN}-iwlwifi \ - ${PN}-iwlwifi-135-6 \ - ${PN}-iwlwifi-3160-7 ${PN}-iwlwifi-3160-8 ${PN}-iwlwifi-3160-9 \ - ${PN}-iwlwifi-3160-10 ${PN}-iwlwifi-3160-12 ${PN}-iwlwifi-3160-13 \ - ${PN}-iwlwifi-3160-16 ${PN}-iwlwifi-3160-17 \ - ${PN}-iwlwifi-6000-4 ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2a-6 \ - ${PN}-iwlwifi-6000g2b-5 ${PN}-iwlwifi-6000g2b-6 \ - ${PN}-iwlwifi-6050-4 ${PN}-iwlwifi-6050-5 \ - ${PN}-iwlwifi-7260 \ - ${PN}-iwlwifi-7265 \ - ${PN}-iwlwifi-7265d ${PN}-iwlwifi-8000c ${PN}-iwlwifi-8265 \ - ${PN}-iwlwifi-9000 \ - ${PN}-iwlwifi-misc \ - ${PN}-ibt-license ${PN}-ibt \ - ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \ - ${PN}-ibt-17 \ - ${PN}-ibt-20 \ - ${PN}-ibt-misc \ - ${PN}-i915-license ${PN}-i915 \ - ${PN}-ice-license ${PN}-ice \ - ${PN}-adsp-sst-license ${PN}-adsp-sst \ - ${PN}-bnx2-mips \ - ${PN}-liquidio \ - ${PN}-nvidia-license \ - ${PN}-nvidia-tegra-k1 ${PN}-nvidia-tegra \ - ${PN}-nvidia-gpu \ - ${PN}-netronome-license ${PN}-netronome \ - ${PN}-qat ${PN}-qat-license \ - ${PN}-qcom-license \ - ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 ${PN}-qcom-venus-5.2 ${PN}-qcom-venus-5.4 \ - ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 ${PN}-qcom-adreno-a630 \ - ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \ - ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \ - ${PN}-lt9611uxc ${PN}-lontium-license \ - ${PN}-whence-license \ - ${PN}-license \ - " - -# For atheros -LICENSE_${PN}-ar9170 = "Firmware-atheros_firmware" -LICENSE_${PN}-ath6k = "Firmware-atheros_firmware" -LICENSE_${PN}-ath9k = "Firmware-atheros_firmware" -LICENSE_${PN}-atheros-license = "Firmware-atheros_firmware" - -FILES_${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware" -FILES_${PN}-ar9170 = " \ - ${nonarch_base_libdir}/firmware/ar9170*.fw \ -" -FILES_${PN}-ath6k = " \ - ${nonarch_base_libdir}/firmware/ath6k \ -" -FILES_${PN}-ath9k = " \ - ${nonarch_base_libdir}/firmware/ar9271.fw \ - ${nonarch_base_libdir}/firmware/ar7010*.fw \ - ${nonarch_base_libdir}/firmware/htc_9271.fw \ - ${nonarch_base_libdir}/firmware/htc_7010.fw \ - ${nonarch_base_libdir}/firmware/ath9k_htc/htc_7010-1.4.0.fw \ - ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \ -" - -RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license" -RDEPENDS_${PN}-ath6k += "${PN}-atheros-license" -RDEPENDS_${PN}-ath9k += "${PN}-atheros-license" - -# For carl9170 -LICENSE_${PN}-carl9170 = "Firmware-GPLv2" -LICENSE_${PN}-gplv2-license = "Firmware-GPLv2" - -FILES_${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2" -FILES_${PN}-carl9170 = " \ - ${nonarch_base_libdir}/firmware/carl9170*.fw \ -" - -RDEPENDS_${PN}-carl9170 += "${PN}-gplv2-license" - -# For QualCommAthos -LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k" -LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k" -LICENSE_${PN}-ath10k = "Firmware-qualcommAthos_ath10k" -LICENSE_${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k" -LICENSE_${PN}-qca = "Firmware-qualcommAthos_ath10k" - -FILES_${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k" -FILES_${PN}-ar3k = " \ - ${nonarch_base_libdir}/firmware/ar3k \ -" - -FILES_${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k" -FILES_${PN}-ath10k = " \ - ${nonarch_base_libdir}/firmware/ath10k \ -" - -FILES_${PN}-ath11k = " \ - ${nonarch_base_libdir}/firmware/ath11k \ -" - -FILES_${PN}-qca = " \ - ${nonarch_base_libdir}/firmware/qca \ -" - -RDEPENDS_${PN}-ar3k += "${PN}-ar3k-license" -RDEPENDS_${PN}-ath10k += "${PN}-ath10k-license" -RDEPENDS_${PN}-ath11k += "${PN}-ath10k-license" -RDEPENDS_${PN}-qca += "${PN}-ath10k-license" - -# For ralink -LICENSE_${PN}-ralink = "Firmware-ralink-firmware" -LICENSE_${PN}-ralink-license = "Firmware-ralink-firmware" - -FILES_${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt" -FILES_${PN}-ralink = " \ - ${nonarch_base_libdir}/firmware/rt*.bin \ -" - -RDEPENDS_${PN}-ralink += "${PN}-ralink-license" - -# For mediatek MT7601U -LICENSE_${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware" -LICENSE_${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware" - -FILES_${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware" -FILES_${PN}-mt7601u = " \ - ${nonarch_base_libdir}/firmware/mt7601u.bin \ -" - -RDEPENDS_${PN}-mt7601u += "${PN}-mt7601u-license" - -# For radeon -LICENSE_${PN}-radeon = "Firmware-radeon" -LICENSE_${PN}-radeon-license = "Firmware-radeon" - -FILES_${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon" -FILES_${PN}-radeon = " \ - ${nonarch_base_libdir}/firmware/radeon \ -" - -RDEPENDS_${PN}-radeon += "${PN}-radeon-license" - -# For lontium -LICENSE_${PN}-lt9611uxc = "Firmware-Lontium" - -FILES_${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium" -FILES_${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin" - -# For marvell -LICENSE_${PN}-pcie8897 = "Firmware-Marvell" -LICENSE_${PN}-pcie8997 = "Firmware-Marvell" -LICENSE_${PN}-sd8686 = "Firmware-Marvell" -LICENSE_${PN}-sd8688 = "Firmware-Marvell" -LICENSE_${PN}-sd8787 = "Firmware-Marvell" -LICENSE_${PN}-sd8797 = "Firmware-Marvell" -LICENSE_${PN}-sd8801 = "Firmware-Marvell" -LICENSE_${PN}-sd8887 = "Firmware-Marvell" -LICENSE_${PN}-sd8897 = "Firmware-Marvell" -LICENSE_${PN}-sd8997 = "Firmware-Marvell" -LICENSE_${PN}-usb8997 = "Firmware-Marvell" -LICENSE_${PN}-marvell-license = "Firmware-Marvell" - -FILES_${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell" -FILES_${PN}-pcie8897 = " \ - ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \ -" -FILES_${PN}-pcie8997 = " \ - ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \ - ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \ - ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \ -" -FILES_${PN}-sd8686 = " \ - ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \ - ${nonarch_base_libdir}/firmware/sd8686* \ -" -FILES_${PN}-sd8688 = " \ - ${nonarch_base_libdir}/firmware/libertas/sd8688* \ - ${nonarch_base_libdir}/firmware/mrvl/sd8688* \ -" -FILES_${PN}-sd8787 = " \ - ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \ -" -FILES_${PN}-sd8797 = " \ - ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \ -" -FILES_${PN}-sd8801 = " \ - ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \ -" -FILES_${PN}-sd8887 = " \ - ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \ -" -FILES_${PN}-sd8897 = " \ - ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \ -" -do_install_append() { - # The kernel 5.6.x driver still uses the old name, provide a symlink for - # older kernels - ln -fs sdsd8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin -} -FILES_${PN}-sd8997 = " \ - ${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin \ - ${nonarch_base_libdir}/firmware/mrvl/sdsd8997_combo_v4.bin \ -" -FILES_${PN}-usb8997 = " \ - ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \ -" - -RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8688 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8801 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8887 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8897 += "${PN}-marvell-license" -RDEPENDS_${PN}-sd8997 += "${PN}-marvell-license" -RDEPENDS_${PN}-usb8997 += "${PN}-marvell-license" - -# For netronome -LICENSE_${PN}-netronome = "Firmware-netronome" - -FILES_${PN}-netronome-license = " \ - ${nonarch_base_libdir}/firmware/LICENCE.Netronome \ -" -FILES_${PN}-netronome = " \ - ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \ - ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \ - ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \ - ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \ - ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0011_2x40.nffw \ - ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0012_2x40.nffw \ - ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0078-0011_1x100.nffw \ - ${nonarch_base_libdir}/firmware/netronome/bpf \ - ${nonarch_base_libdir}/firmware/netronome/flower \ - ${nonarch_base_libdir}/firmware/netronome/nic \ - ${nonarch_base_libdir}/firmware/netronome/nic-sriov \ -" - -RDEPENDS_${PN}-netronome += "${PN}-netronome-license" - -# For Nvidia -LICENSE_${PN}-nvidia-gpu = "Firmware-nvidia" -LICENSE_${PN}-nvidia-tegra = "Firmware-nvidia" -LICENSE_${PN}-nvidia-tegra-k1 = "Firmware-nvidia" -LICENSE_${PN}-nvidia-license = "Firmware-nvidia" - -FILES_${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia" -FILES_${PN}-nvidia-tegra = " \ - ${nonarch_base_libdir}/firmware/nvidia/tegra* \ - ${nonarch_base_libdir}/firmware/nvidia/gm20b \ - ${nonarch_base_libdir}/firmware/nvidia/gp10b \ -" -FILES_${PN}-nvidia-tegra-k1 = " \ - ${nonarch_base_libdir}/firmware/nvidia/tegra124 \ - ${nonarch_base_libdir}/firmware/nvidia/gk20a \ -" -FILES_${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia" - -RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license" -RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license" -RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license" - -# For RSI RS911x WiFi -LICENSE_${PN}-rs9113 = "WHENCE" -LICENSE_${PN}-rs9116 = "WHENCE" - -FILES_${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps " -FILES_${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps " - -RDEPENDS_${PN}-rs9113 += "${PN}-whence-license" -RDEPENDS_${PN}-rs9116 += "${PN}-whence-license" - -# For rtl -LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8723 = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8821 = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl-license = "Firmware-rtlwifi_firmware" -LICENSE_${PN}-rtl8168 = "WHENCE" - -FILES_${PN}-rtl-license = " \ - ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \ -" -FILES_${PN}-rtl8188 = " \ - ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \ -" -FILES_${PN}-rtl8192cu = " \ - ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \ -" -FILES_${PN}-rtl8192ce = " \ - ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \ -" -FILES_${PN}-rtl8192su = " \ - ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \ -" -FILES_${PN}-rtl8723 = " \ - ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \ -" -FILES_${PN}-rtl8821 = " \ - ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \ -" -FILES_${PN}-rtl8168 = " \ - ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \ -" - -RDEPENDS_${PN}-rtl8188 += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8192su = "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8723 += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8821 += "${PN}-rtl-license" -RDEPENDS_${PN}-rtl8168 += "${PN}-whence-license" - -# For ti-connectivity -LICENSE_${PN}-wlcommon = "Firmware-ti-connectivity" -LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity" -LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity" -LICENSE_${PN}-ti-connectivity-license = "Firmware-ti-connectivity" - -FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity" -# wl18xx optionally needs wl1271-nvs.bin (which itself is a symlink to -# wl127x-nvs.bin) - see linux/drivers/net/wireless/ti/wlcore/sdio.c -# and drivers/net/wireless/ti/wlcore/spi.c. -# While they're optional and actually only used to override the MAC -# address on wl18xx, driver loading will delay (by udev timout - 60s) -# if not there. So let's make it available always. Because it's a -# symlink, both need to go to wlcommon. -FILES_${PN}-wlcommon = " \ - ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \ - ${nonarch_base_libdir}/firmware/ti-connectivity/wl127x-nvs.bin \ - ${nonarch_base_libdir}/firmware/ti-connectivity/wl1271-nvs.bin \ -" -FILES_${PN}-wl12xx = " \ - ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \ -" -FILES_${PN}-wl18xx = " \ - ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \ -" - -RDEPENDS_${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon" -RDEPENDS_${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon" - -# For vt6656 -LICENSE_${PN}-vt6656 = "Firmware-via_vt6656" -LICENSE_${PN}-vt6656-license = "Firmware-via_vt6656" - -FILES_${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656" -FILES_${PN}-vt6656 = " \ - ${nonarch_base_libdir}/firmware/vntwusb.fw \ -" - -RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license" - -# For broadcom - -# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e " \${PN}-$pkg \\"; done | sort -u - -LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx" -FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx" - -# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES_\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES - -FILES_${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw" -FILES_${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw" -FILES_${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin" -FILES_${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin" -FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin" -FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*" -FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin" -FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin" -FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac4339-sdio.bin \ -" -FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin" -FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin" -FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin" -FILES_${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin" -FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \ - ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \ -" -FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*" -FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.* \ -" -FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin" -FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin" -FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-sdio.bin \ -" -FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin" -FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac43570-pcie.bin \ -" -FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin" -FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \ - ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \ -" -FILES_${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin" -FILES_${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin" -FILES_${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin" - -# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE_\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done -# Currently 1st one and last 6 have cypress LICENSE - -LICENSE_${PN}-bcm43xx = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43xx += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43xx-hdr += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4329-fullmac += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43236b = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43236b += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4334 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4335 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4335 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4339 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4339 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43241b0 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43241b4 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43241b5 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43242a = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43242a += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43143 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43143 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43430a0 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4350c2 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4350 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4350 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4356 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4356 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43569 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43569 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43570 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43570 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4358 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4358 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm43602 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm43602 += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4366b = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4366b += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4366c = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4366c += "${PN}-broadcom-license" -LICENSE_${PN}-bcm4371 = "Firmware-broadcom_bcm43xx" -RDEPENDS_${PN}-bcm4371 += "${PN}-broadcom-license" - -# For broadcom cypress - -LICENSE_${PN}-cypress-license = "Firmware-cypress" -FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress" - -FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd" -FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac43340-sdio.*" -FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac43362-sdio.*" -FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.*" -FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac4354-sdio.bin \ -" -FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-pcie.* \ -" -FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \ - ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \ - ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.bin \ -" - -LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress" -RDEPENDS_${PN}-bcm-0bb4-0306 += "${PN}-cypress-license" -LICENSE_${PN}-bcm43340 = "Firmware-cypress" -RDEPENDS_${PN}-bcm43340 += "${PN}-cypress-license" -LICENSE_${PN}-bcm43362 = "Firmware-cypress" -RDEPENDS_${PN}-bcm43362 += "${PN}-cypress-license" -LICENSE_${PN}-bcm43430 = "Firmware-cypress" -RDEPENDS_${PN}-bcm43430 += "${PN}-cypress-license" -LICENSE_${PN}-bcm4354 = "Firmware-cypress" -RDEPENDS_${PN}-bcm4354 += "${PN}-cypress-license" -LICENSE_${PN}-bcm4356-pcie = "Firmware-cypress" -RDEPENDS_${PN}-bcm4356-pcie += "${PN}-cypress-license" -LICENSE_${PN}-bcm4373 = "Firmware-cypress" -RDEPENDS_${PN}-bcm4373 += "${PN}-cypress-license" - -# For Broadcom bnx2-mips -# -# which is a separate case to the other Broadcom firmwares since its -# license is contained in the shared WHENCE file. - -LICENSE_${PN}-bnx2-mips = "WHENCE" -LICENSE_${PN}-whence-license = "WHENCE" - -FILES_${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw" -FILES_${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE" - -RDEPENDS_${PN}-bnx2-mips += "${PN}-whence-license" - -# For imx-sdma -LICENSE_${PN}-imx-sdma-imx6q = "Firmware-imx-sdma_firmware" -LICENSE_${PN}-imx-sdma-imx7d = "Firmware-imx-sdma_firmware" -LICENSE_${PN}-imx-sdma-license = "Firmware-imx-sdma_firmware" - -FILES_${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin" - -RPROVIDES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" -RREPLACES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" -RCONFLICTS_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" - -FILES_${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin" - -FILES_${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware" - -RDEPENDS_${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license" -RDEPENDS_${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license" - -# For iwlwifi -LICENSE_${PN}-iwlwifi = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-135-6 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-7 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-8 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-9 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-10 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-12 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-13 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-16 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-3160-17 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000-4 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6050-4 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-6050-5 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-7260 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-7265 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-7265d = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-8000c = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-8265 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-9000 = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware" -LICENSE_${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware" - - -FILES_${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware" -FILES_${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode" -FILES_${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode" -FILES_${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode" -FILES_${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode" -FILES_${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode" -FILES_${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode" -FILES_${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode" -FILES_${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode" -FILES_${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode" -FILES_${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode" -FILES_${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode" -FILES_${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode" -FILES_${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode" -FILES_${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode" -FILES_${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode" -FILES_${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode" -FILES_${PN}-iwlwifi-7260 = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode" -FILES_${PN}-iwlwifi-7265 = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode" -FILES_${PN}-iwlwifi-7265d = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode" -FILES_${PN}-iwlwifi-8000c = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode" -FILES_${PN}-iwlwifi-8265 = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode" -FILES_${PN}-iwlwifi-9000 = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode" -FILES_${PN}-iwlwifi-misc = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode" - -RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-8 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-9 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-10 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-12 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-13 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-16 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-3160-17 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000-4 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6050-4 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-6050-5 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-7265d = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-8000c = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-8265 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-9000 = "${PN}-iwlwifi-license" -RDEPENDS_${PN}-iwlwifi-misc = "${PN}-iwlwifi-license" - -# -iwlwifi-misc is a "catch all" package that includes all the iwlwifi -# firmwares that are not already included in other -iwlwifi- packages. -# -iwlwifi is a virtual package that depends upon all iwlwifi packages. -# These are distinct in order to allow the -misc firmwares to be installed -# without pulling in every other iwlwifi package. -ALLOW_EMPTY_${PN}-iwlwifi = "1" -ALLOW_EMPTY_${PN}-iwlwifi-misc = "1" - -# Handle package updating for the newly merged iwlwifi groupings -RPROVIDES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" -RREPLACES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" -RCONFLICTS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" - -RPROVIDES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" -RREPLACES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" -RCONFLICTS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" - -# For ibt -LICENSE_${PN}-ibt-license = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-11-5 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-12-16 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-17 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-20 = "Firmware-ibt_firmware" -LICENSE_${PN}-ibt-misc = "Firmware-ibt_firmware" - -FILES_${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware" -FILES_${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq" -FILES_${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq" -FILES_${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc" -FILES_${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc" -FILES_${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc" -FILES_${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc" -FILES_${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/intel/ibt-*" - -RDEPENDS_${PN}-ibt-hw-37-7 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-hw-37.8 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-11-5 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-12-16 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-17 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-20 = "${PN}-ibt-license" -RDEPENDS_${PN}-ibt-misc = "${PN}-ibt-license" - -ALLOW_EMPTY_${PN}-ibt= "1" -ALLOW_EMPTY_${PN}-ibt-misc = "1" - -LICENSE_${PN}-i915 = "Firmware-i915" -LICENSE_${PN}-i915-license = "Firmware-i915" -FILES_${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915" -FILES_${PN}-i915 = "${nonarch_base_libdir}/firmware/i915" -RDEPENDS_${PN}-i915 = "${PN}-i915-license" - -LICENSE_${PN}-ice = "Firmware-ice" -LICENSE_${PN}-ice-license = "Firmware-ice" -FILES_${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice" -FILES_${PN}-ice = "${nonarch_base_libdir}/firmware/intel/ice" -RDEPENDS_${PN}-ice = "${PN}-ice-license" - -FILES_${PN}-adsp-sst-license = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst" -LICENSE_${PN}-adsp-sst = "Firmware-adsp_sst" -LICENSE_${PN}-adsp-sst-license = "Firmware-adsp_sst" -FILES_${PN}-adsp-sst = "${nonarch_base_libdir}/firmware/intel/dsp_fw*" -RDEPENDS_${PN}-adsp-sst = "${PN}-adsp-sst-license" - -# For QAT -LICENSE_${PN}-qat = "Firmware-qat" -LICENSE_${PN}-qat-license = "Firmware-qat" -FILES_${PN}-qat-license = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware" -FILES_${PN}-qat = "${nonarch_base_libdir}/firmware/qat*.bin" -RDEPENDS_${PN}-qat = "${PN}-qat-license" - -# For QCOM VPU/GPU and SDM845 -LICENSE_${PN}-qcom-license = "Firmware-qcom" -FILES_${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt" -FILES_${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*" -FILES_${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*" -FILES_${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*" -FILES_${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*" -FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw" -FILES_${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*" -FILES_${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*" -FILES_${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*" -FILES_${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*" -FILES_${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn" -RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-venus-4.2 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-venus-5.2 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-venus-5.4 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-adreno-a530 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-adreno-a630 = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-sdm845-audio = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-sdm845-compute = "${PN}-qcom-license" -RDEPENDS_${PN}-qcom-sdm845-modem = "${PN}-qcom-license" - -FILES_${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio" - -# For Amlogic VDEC -LICENSE_${PN}-amlogic-vdec = "Firmware-amlogic_vdec" -FILES_${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec" -FILES_${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*" -RDEPENDS_${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license" - -# For other firmwares -# Maybe split out to separate packages when needed. -LICENSE_${PN} = "\ - Firmware-Abilis \ - & Firmware-agere \ - & Firmware-amdgpu \ - & Firmware-amd-ucode \ - & Firmware-amlogic_vdec \ - & Firmware-atmel \ - & Firmware-ca0132 \ - & Firmware-cavium \ - & Firmware-chelsio_firmware \ - & Firmware-cw1200 \ - & Firmware-dib0700 \ - & Firmware-e100 \ - & Firmware-ene_firmware \ - & Firmware-fw_sst_0f28 \ - & Firmware-go7007 \ - & Firmware-hfi1_firmware \ - & Firmware-i2400m \ - & Firmware-ibt_firmware \ - & Firmware-it913x \ - & Firmware-IntcSST2 \ - & Firmware-kaweth \ - & Firmware-moxa \ - & Firmware-myri10ge_firmware \ - & Firmware-nvidia \ - & Firmware-OLPC \ - & Firmware-ath9k-htc \ - & Firmware-phanfw \ - & Firmware-qat \ - & Firmware-qcom \ - & Firmware-qla1280 \ - & Firmware-qla2xxx \ - & Firmware-r8a779x_usb3 \ - & Firmware-radeon \ - & Firmware-ralink_a_mediatek_company_firmware \ - & Firmware-ralink-firmware \ - & Firmware-imx-sdma_firmware \ - & Firmware-siano \ - & Firmware-tda7706-firmware \ - & Firmware-ti-connectivity \ - & Firmware-ti-keystone \ - & Firmware-ueagle-atm4-firmware \ - & Firmware-wl1251 \ - & Firmware-xc4000 \ - & Firmware-xc5000 \ - & Firmware-xc5000c \ - & WHENCE \ -" - -FILES_${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*" -FILES_${PN} += "${nonarch_base_libdir}/firmware/*" -RDEPENDS_${PN} += "${PN}-license" -RDEPENDS_${PN} += "${PN}-whence-license" - -# Make linux-firmware depend on all of the split-out packages. -# Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages. -# Make linux-firmware-ibt depend on all of the split-out ibt packages. -python populate_packages_prepend () { - firmware_pkgs = oe.utils.packages_filter_out_system(d) - d.appendVar('RRECOMMENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs)) - - iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs) - d.appendVar('RRECOMMENDS_linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs)) - - ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs) - d.appendVar('RRECOMMENDS_linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs)) -} - -# Firmware files are generally not ran on the CPU, so they can be -# allarch despite being architecture specific -INSANE_SKIP = "arch" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb new file mode 100644 index 000000000..26091fba7 --- /dev/null +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb @@ -0,0 +1,1052 @@ +SUMMARY = "Firmware files for use with Linux kernel" +HOMEPAGE = "https://www.kernel.org/" +DESCRIPTION = "Linux firmware is a package distributed alongside the Linux kernel \ +that contains firmware binary blobs necessary for partial or full functionality \ +of certain hardware devices." +SECTION = "kernel" + +LICENSE = "\ + Firmware-Abilis \ + & Firmware-adsp_sst \ + & Firmware-agere \ + & Firmware-amdgpu \ + & Firmware-amd-ucode \ + & Firmware-amlogic_vdec \ + & Firmware-atheros_firmware \ + & Firmware-atmel \ + & Firmware-broadcom_bcm43xx \ + & Firmware-ca0132 \ + & Firmware-cavium \ + & Firmware-chelsio_firmware \ + & Firmware-cw1200 \ + & Firmware-cypress \ + & Firmware-dib0700 \ + & Firmware-e100 \ + & Firmware-ene_firmware \ + & Firmware-fw_sst_0f28 \ + & Firmware-go7007 \ + & Firmware-GPLv2 \ + & Firmware-hfi1_firmware \ + & Firmware-i2400m \ + & Firmware-i915 \ + & Firmware-ibt_firmware \ + & Firmware-ice \ + & Firmware-it913x \ + & Firmware-iwlwifi_firmware \ + & Firmware-IntcSST2 \ + & Firmware-kaweth \ + & Firmware-Lontium \ + & Firmware-Marvell \ + & Firmware-moxa \ + & Firmware-myri10ge_firmware \ + & Firmware-netronome \ + & Firmware-nvidia \ + & Firmware-OLPC \ + & Firmware-ath9k-htc \ + & Firmware-phanfw \ + & Firmware-qat \ + & Firmware-qcom \ + & Firmware-qla1280 \ + & Firmware-qla2xxx \ + & Firmware-qualcommAthos_ar3k \ + & Firmware-qualcommAthos_ath10k \ + & Firmware-r8a779x_usb3 \ + & Firmware-radeon \ + & Firmware-ralink_a_mediatek_company_firmware \ + & Firmware-ralink-firmware \ + & Firmware-rtlwifi_firmware \ + & Firmware-imx-sdma_firmware \ + & Firmware-siano \ + & Firmware-tda7706-firmware \ + & Firmware-ti-connectivity \ + & Firmware-ti-keystone \ + & Firmware-ueagle-atm4-firmware \ + & Firmware-via_vt6656 \ + & Firmware-wl1251 \ + & Firmware-xc4000 \ + & Firmware-xc5000 \ + & Firmware-xc5000c \ + & WHENCE \ +" + +LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ + file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \ + file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ + file://LICENSE.amdgpu;md5=d357524f5099e2a3db3c1838921c593f \ + file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \ + file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \ + file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \ + file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \ + file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \ + file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \ + file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \ + file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \ + file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \ + file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \ + file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \ + file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \ + file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \ + file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \ + file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \ + file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \ + file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \ + file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \ + file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \ + file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \ + file://LICENSE.ice;md5=742ab4850f2670792940e6d15c974b2f \ + file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ + file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \ + file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \ + file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \ + file://LICENSE.Lontium;md5=4ec8dc582ff7295f39e2ca6a7b0be2b6 \ + file://LICENCE.Marvell;md5=28b6ed8bd04ba105af6e4dcd6e997772 \ + file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \ + file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \ + file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \ + file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \ + file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \ + file://LICENCE.NXP;md5=58bb8ba632cd729b9ba6183bc6aed36f \ + file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \ + file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \ + file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \ + file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ + file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \ + file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \ + file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \ + file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \ + file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \ + file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \ + file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \ + file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \ + file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \ + file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \ + file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \ + file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \ + file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \ + file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \ + file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \ + file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \ + file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \ + file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \ + file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ + file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ + file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ + file://WHENCE;md5=727d0d4e2d420f41d89d098f6322e779 \ + " + +# These are not common licenses, set NO_GENERIC_LICENSE for them +# so that the license files will be copied from fetched source +NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENCE.Abilis" +NO_GENERIC_LICENSE[Firmware-adsp_sst] = "LICENCE.adsp_sst" +NO_GENERIC_LICENSE[Firmware-agere] = "LICENCE.agere" +NO_GENERIC_LICENSE[Firmware-amdgpu] = "LICENSE.amdgpu" +NO_GENERIC_LICENSE[Firmware-amd-ucode] = "LICENSE.amd-ucode" +NO_GENERIC_LICENSE[Firmware-amlogic_vdec] = "LICENSE.amlogic_vdec" +NO_GENERIC_LICENSE[Firmware-atheros_firmware] = "LICENCE.atheros_firmware" +NO_GENERIC_LICENSE[Firmware-atmel] = "LICENSE.atmel" +NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx" +NO_GENERIC_LICENSE[Firmware-ca0132] = "LICENCE.ca0132" +NO_GENERIC_LICENSE[Firmware-cadence] = "LICENCE.cadence" +NO_GENERIC_LICENSE[Firmware-cavium] = "LICENCE.cavium" +NO_GENERIC_LICENSE[Firmware-chelsio_firmware] = "LICENCE.chelsio_firmware" +NO_GENERIC_LICENSE[Firmware-cw1200] = "LICENCE.cw1200" +NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress" +NO_GENERIC_LICENSE[Firmware-dib0700] = "LICENSE.dib0700" +NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100" +NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware" +NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28" +NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007" +NO_GENERIC_LICENSE[Firmware-GPLv2] = "GPL-2" +NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware" +NO_GENERIC_LICENSE[Firmware-i2400m] = "LICENCE.i2400m" +NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915" +NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware" +NO_GENERIC_LICENSE[Firmware-ice] = "LICENSE.ice" +NO_GENERIC_LICENSE[Firmware-IntcSST2] = "LICENCE.IntcSST2" +NO_GENERIC_LICENSE[Firmware-it913x] = "LICENCE.it913x" +NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = "LICENCE.iwlwifi_firmware" +NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth" +NO_GENERIC_LICENSE[Firmware-Lontium] = "LICENSE.Lontium" +NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell" +NO_GENERIC_LICENSE[Firmware-mediatek] = "LICENCE.mediatek" +NO_GENERIC_LICENSE[Firmware-moxa] = "LICENCE.moxa" +NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware" +NO_GENERIC_LICENSE[Firmware-netronome] = "LICENCE.Netronome" +NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia" +NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC" +NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware" +NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw" +NO_GENERIC_LICENSE[Firmware-qat] = "LICENCE.qat_firmware" +NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom" +NO_GENERIC_LICENSE[Firmware-qla1280] = "LICENCE.qla1280" +NO_GENERIC_LICENSE[Firmware-qla2xxx] = "LICENCE.qla2xxx" +NO_GENERIC_LICENSE[Firmware-qualcommAthos_ar3k] = "LICENSE.QualcommAtheros_ar3k" +NO_GENERIC_LICENSE[Firmware-qualcommAthos_ath10k] = "LICENSE.QualcommAtheros_ath10k" +NO_GENERIC_LICENSE[Firmware-r8a779x_usb3] = "LICENCE.r8a779x_usb3" +NO_GENERIC_LICENSE[Firmware-radeon] = "LICENSE.radeon" +NO_GENERIC_LICENSE[Firmware-ralink_a_mediatek_company_firmware] = "LICENCE.ralink_a_mediatek_company_firmware" +NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt" +NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt" +NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano" +NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware" +NO_GENERIC_LICENSE[Firmware-tda7706-firmware] = "LICENCE.tda7706-firmware.txt" +NO_GENERIC_LICENSE[Firmware-ti-connectivity] = "LICENCE.ti-connectivity" +NO_GENERIC_LICENSE[Firmware-ti-keystone] = "LICENCE.ti-keystone" +NO_GENERIC_LICENSE[Firmware-ueagle-atm4-firmware] = "LICENCE.ueagle-atm4-firmware" +NO_GENERIC_LICENSE[Firmware-via_vt6656] = "LICENCE.via_vt6656" +NO_GENERIC_LICENSE[Firmware-wl1251] = "LICENCE.wl1251" +NO_GENERIC_LICENSE[Firmware-xc4000] = "LICENCE.xc4000" +NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000" +NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c" +NO_GENERIC_LICENSE[WHENCE] = "WHENCE" + +PE = "1" + +SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "2aa6ae8b9808408f9811ac38f00c188e53e984a2b3990254f6c9c02c1ab13417" + +inherit allarch + +CLEANBROKEN = "1" + +do_compile() { + : +} + +do_install() { + oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install + cp GPL-2 LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/ +} + + +PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \ + ${PN}-mt7601u-license ${PN}-mt7601u \ + ${PN}-radeon-license ${PN}-radeon \ + ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \ + ${PN}-sd8686 ${PN}-sd8688 ${PN}-sd8787 ${PN}-sd8797 ${PN}-sd8801 \ + ${PN}-sd8887 ${PN}-sd8897 ${PN}-sd8997 ${PN}-usb8997 \ + ${PN}-ti-connectivity-license ${PN}-wlcommon ${PN}-wl12xx ${PN}-wl18xx \ + ${PN}-vt6656-license ${PN}-vt6656 \ + ${PN}-rs9113 ${PN}-rs9116 \ + ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \ + ${PN}-rtl8168 \ + ${PN}-cypress-license \ + ${PN}-broadcom-license \ + ${PN}-bcm-0bb4-0306 \ + ${PN}-bcm43143 \ + ${PN}-bcm43236b \ + ${PN}-bcm43241b0 \ + ${PN}-bcm43241b4 \ + ${PN}-bcm43241b5 \ + ${PN}-bcm43242a \ + ${PN}-bcm4329 \ + ${PN}-bcm4329-fullmac \ + ${PN}-bcm4330 \ + ${PN}-bcm4334 \ + ${PN}-bcm43340 \ + ${PN}-bcm4335 \ + ${PN}-bcm43362 \ + ${PN}-bcm4339 \ + ${PN}-bcm43430 \ + ${PN}-bcm43430a0 \ + ${PN}-bcm43455 \ + ${PN}-bcm4350 \ + ${PN}-bcm4350c2 \ + ${PN}-bcm4354 \ + ${PN}-bcm4356 \ + ${PN}-bcm4356-pcie \ + ${PN}-bcm43569 \ + ${PN}-bcm43570 \ + ${PN}-bcm4358 \ + ${PN}-bcm43602 \ + ${PN}-bcm4366b \ + ${PN}-bcm4366c \ + ${PN}-bcm4371 \ + ${PN}-bcm4373 \ + ${PN}-bcm43xx \ + ${PN}-bcm43xx-hdr \ + ${PN}-atheros-license ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k \ + ${PN}-gplv2-license ${PN}-carl9170 \ + ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-ath11k ${PN}-qca \ + \ + ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \ + \ + ${PN}-iwlwifi-license ${PN}-iwlwifi \ + ${PN}-iwlwifi-135-6 \ + ${PN}-iwlwifi-3160-7 ${PN}-iwlwifi-3160-8 ${PN}-iwlwifi-3160-9 \ + ${PN}-iwlwifi-3160-10 ${PN}-iwlwifi-3160-12 ${PN}-iwlwifi-3160-13 \ + ${PN}-iwlwifi-3160-16 ${PN}-iwlwifi-3160-17 \ + ${PN}-iwlwifi-6000-4 ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2a-6 \ + ${PN}-iwlwifi-6000g2b-5 ${PN}-iwlwifi-6000g2b-6 \ + ${PN}-iwlwifi-6050-4 ${PN}-iwlwifi-6050-5 \ + ${PN}-iwlwifi-7260 \ + ${PN}-iwlwifi-7265 \ + ${PN}-iwlwifi-7265d ${PN}-iwlwifi-8000c ${PN}-iwlwifi-8265 \ + ${PN}-iwlwifi-9000 \ + ${PN}-iwlwifi-misc \ + ${PN}-ibt-license ${PN}-ibt \ + ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \ + ${PN}-ibt-17 \ + ${PN}-ibt-20 \ + ${PN}-ibt-misc \ + ${PN}-i915-license ${PN}-i915 \ + ${PN}-ice-license ${PN}-ice \ + ${PN}-adsp-sst-license ${PN}-adsp-sst \ + ${PN}-bnx2-mips \ + ${PN}-liquidio \ + ${PN}-nvidia-license \ + ${PN}-nvidia-tegra-k1 ${PN}-nvidia-tegra \ + ${PN}-nvidia-gpu \ + ${PN}-netronome-license ${PN}-netronome \ + ${PN}-qat ${PN}-qat-license \ + ${PN}-qcom-license \ + ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 ${PN}-qcom-venus-5.2 ${PN}-qcom-venus-5.4 \ + ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 ${PN}-qcom-adreno-a630 \ + ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \ + ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \ + ${PN}-lt9611uxc ${PN}-lontium-license \ + ${PN}-whence-license \ + ${PN}-license \ + " + +# For atheros +LICENSE_${PN}-ar9170 = "Firmware-atheros_firmware" +LICENSE_${PN}-ath6k = "Firmware-atheros_firmware" +LICENSE_${PN}-ath9k = "Firmware-atheros_firmware" +LICENSE_${PN}-atheros-license = "Firmware-atheros_firmware" + +FILES_${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware" +FILES_${PN}-ar9170 = " \ + ${nonarch_base_libdir}/firmware/ar9170*.fw \ +" +FILES_${PN}-ath6k = " \ + ${nonarch_base_libdir}/firmware/ath6k \ +" +FILES_${PN}-ath9k = " \ + ${nonarch_base_libdir}/firmware/ar9271.fw \ + ${nonarch_base_libdir}/firmware/ar7010*.fw \ + ${nonarch_base_libdir}/firmware/htc_9271.fw \ + ${nonarch_base_libdir}/firmware/htc_7010.fw \ + ${nonarch_base_libdir}/firmware/ath9k_htc/htc_7010-1.4.0.fw \ + ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \ +" + +RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license" +RDEPENDS_${PN}-ath6k += "${PN}-atheros-license" +RDEPENDS_${PN}-ath9k += "${PN}-atheros-license" + +# For carl9170 +LICENSE_${PN}-carl9170 = "Firmware-GPLv2" +LICENSE_${PN}-gplv2-license = "Firmware-GPLv2" + +FILES_${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2" +FILES_${PN}-carl9170 = " \ + ${nonarch_base_libdir}/firmware/carl9170*.fw \ +" + +RDEPENDS_${PN}-carl9170 += "${PN}-gplv2-license" + +# For QualCommAthos +LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k" +LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k" +LICENSE_${PN}-ath10k = "Firmware-qualcommAthos_ath10k" +LICENSE_${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k" +LICENSE_${PN}-qca = "Firmware-qualcommAthos_ath10k" + +FILES_${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k" +FILES_${PN}-ar3k = " \ + ${nonarch_base_libdir}/firmware/ar3k \ +" + +FILES_${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k" +FILES_${PN}-ath10k = " \ + ${nonarch_base_libdir}/firmware/ath10k \ +" + +FILES_${PN}-ath11k = " \ + ${nonarch_base_libdir}/firmware/ath11k \ +" + +FILES_${PN}-qca = " \ + ${nonarch_base_libdir}/firmware/qca \ +" + +RDEPENDS_${PN}-ar3k += "${PN}-ar3k-license" +RDEPENDS_${PN}-ath10k += "${PN}-ath10k-license" +RDEPENDS_${PN}-ath11k += "${PN}-ath10k-license" +RDEPENDS_${PN}-qca += "${PN}-ath10k-license" + +# For ralink +LICENSE_${PN}-ralink = "Firmware-ralink-firmware" +LICENSE_${PN}-ralink-license = "Firmware-ralink-firmware" + +FILES_${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt" +FILES_${PN}-ralink = " \ + ${nonarch_base_libdir}/firmware/rt*.bin \ +" + +RDEPENDS_${PN}-ralink += "${PN}-ralink-license" + +# For mediatek MT7601U +LICENSE_${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware" +LICENSE_${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware" + +FILES_${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware" +FILES_${PN}-mt7601u = " \ + ${nonarch_base_libdir}/firmware/mt7601u.bin \ +" + +RDEPENDS_${PN}-mt7601u += "${PN}-mt7601u-license" + +# For radeon +LICENSE_${PN}-radeon = "Firmware-radeon" +LICENSE_${PN}-radeon-license = "Firmware-radeon" + +FILES_${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon" +FILES_${PN}-radeon = " \ + ${nonarch_base_libdir}/firmware/radeon \ +" + +RDEPENDS_${PN}-radeon += "${PN}-radeon-license" + +# For lontium +LICENSE_${PN}-lt9611uxc = "Firmware-Lontium" + +FILES_${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium" +FILES_${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin" + +# For marvell +LICENSE_${PN}-pcie8897 = "Firmware-Marvell" +LICENSE_${PN}-pcie8997 = "Firmware-Marvell" +LICENSE_${PN}-sd8686 = "Firmware-Marvell" +LICENSE_${PN}-sd8688 = "Firmware-Marvell" +LICENSE_${PN}-sd8787 = "Firmware-Marvell" +LICENSE_${PN}-sd8797 = "Firmware-Marvell" +LICENSE_${PN}-sd8801 = "Firmware-Marvell" +LICENSE_${PN}-sd8887 = "Firmware-Marvell" +LICENSE_${PN}-sd8897 = "Firmware-Marvell" +LICENSE_${PN}-sd8997 = "Firmware-Marvell" +LICENSE_${PN}-usb8997 = "Firmware-Marvell" +LICENSE_${PN}-marvell-license = "Firmware-Marvell" + +FILES_${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell" +FILES_${PN}-pcie8897 = " \ + ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \ +" +FILES_${PN}-pcie8997 = " \ + ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \ + ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \ + ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \ +" +FILES_${PN}-sd8686 = " \ + ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \ + ${nonarch_base_libdir}/firmware/sd8686* \ +" +FILES_${PN}-sd8688 = " \ + ${nonarch_base_libdir}/firmware/libertas/sd8688* \ + ${nonarch_base_libdir}/firmware/mrvl/sd8688* \ +" +FILES_${PN}-sd8787 = " \ + ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \ +" +FILES_${PN}-sd8797 = " \ + ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \ +" +FILES_${PN}-sd8801 = " \ + ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \ +" +FILES_${PN}-sd8887 = " \ + ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \ +" +FILES_${PN}-sd8897 = " \ + ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \ +" +do_install_append() { + # The kernel 5.6.x driver still uses the old name, provide a symlink for + # older kernels + ln -fs sdsd8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin +} +FILES_${PN}-sd8997 = " \ + ${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin \ + ${nonarch_base_libdir}/firmware/mrvl/sdsd8997_combo_v4.bin \ +" +FILES_${PN}-usb8997 = " \ + ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \ +" + +RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license" +RDEPENDS_${PN}-sd8688 += "${PN}-marvell-license" +RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license" +RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license" +RDEPENDS_${PN}-sd8801 += "${PN}-marvell-license" +RDEPENDS_${PN}-sd8887 += "${PN}-marvell-license" +RDEPENDS_${PN}-sd8897 += "${PN}-marvell-license" +RDEPENDS_${PN}-sd8997 += "${PN}-marvell-license" +RDEPENDS_${PN}-usb8997 += "${PN}-marvell-license" + +# For netronome +LICENSE_${PN}-netronome = "Firmware-netronome" + +FILES_${PN}-netronome-license = " \ + ${nonarch_base_libdir}/firmware/LICENCE.Netronome \ +" +FILES_${PN}-netronome = " \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0011_2x40.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0012_2x40.nffw \ + ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0078-0011_1x100.nffw \ + ${nonarch_base_libdir}/firmware/netronome/bpf \ + ${nonarch_base_libdir}/firmware/netronome/flower \ + ${nonarch_base_libdir}/firmware/netronome/nic \ + ${nonarch_base_libdir}/firmware/netronome/nic-sriov \ +" + +RDEPENDS_${PN}-netronome += "${PN}-netronome-license" + +# For Nvidia +LICENSE_${PN}-nvidia-gpu = "Firmware-nvidia" +LICENSE_${PN}-nvidia-tegra = "Firmware-nvidia" +LICENSE_${PN}-nvidia-tegra-k1 = "Firmware-nvidia" +LICENSE_${PN}-nvidia-license = "Firmware-nvidia" + +FILES_${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia" +FILES_${PN}-nvidia-tegra = " \ + ${nonarch_base_libdir}/firmware/nvidia/tegra* \ + ${nonarch_base_libdir}/firmware/nvidia/gm20b \ + ${nonarch_base_libdir}/firmware/nvidia/gp10b \ +" +FILES_${PN}-nvidia-tegra-k1 = " \ + ${nonarch_base_libdir}/firmware/nvidia/tegra124 \ + ${nonarch_base_libdir}/firmware/nvidia/gk20a \ +" +FILES_${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia" + +RDEPENDS_${PN}-nvidia-gpu += "${PN}-nvidia-license" +RDEPENDS_${PN}-nvidia-tegra += "${PN}-nvidia-license" +RDEPENDS_${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license" + +# For RSI RS911x WiFi +LICENSE_${PN}-rs9113 = "WHENCE" +LICENSE_${PN}-rs9116 = "WHENCE" + +FILES_${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps " +FILES_${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps " + +RDEPENDS_${PN}-rs9113 += "${PN}-whence-license" +RDEPENDS_${PN}-rs9116 += "${PN}-whence-license" + +# For rtl +LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware" +LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi_firmware" +LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi_firmware" +LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi_firmware" +LICENSE_${PN}-rtl8723 = "Firmware-rtlwifi_firmware" +LICENSE_${PN}-rtl8821 = "Firmware-rtlwifi_firmware" +LICENSE_${PN}-rtl-license = "Firmware-rtlwifi_firmware" +LICENSE_${PN}-rtl8168 = "WHENCE" + +FILES_${PN}-rtl-license = " \ + ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \ +" +FILES_${PN}-rtl8188 = " \ + ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \ +" +FILES_${PN}-rtl8192cu = " \ + ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \ +" +FILES_${PN}-rtl8192ce = " \ + ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \ +" +FILES_${PN}-rtl8192su = " \ + ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \ +" +FILES_${PN}-rtl8723 = " \ + ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \ +" +FILES_${PN}-rtl8821 = " \ + ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \ +" +FILES_${PN}-rtl8168 = " \ + ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \ +" + +RDEPENDS_${PN}-rtl8188 += "${PN}-rtl-license" +RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license" +RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license" +RDEPENDS_${PN}-rtl8192su = "${PN}-rtl-license" +RDEPENDS_${PN}-rtl8723 += "${PN}-rtl-license" +RDEPENDS_${PN}-rtl8821 += "${PN}-rtl-license" +RDEPENDS_${PN}-rtl8168 += "${PN}-whence-license" + +# For ti-connectivity +LICENSE_${PN}-wlcommon = "Firmware-ti-connectivity" +LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity" +LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity" +LICENSE_${PN}-ti-connectivity-license = "Firmware-ti-connectivity" + +FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity" +# wl18xx optionally needs wl1271-nvs.bin (which itself is a symlink to +# wl127x-nvs.bin) - see linux/drivers/net/wireless/ti/wlcore/sdio.c +# and drivers/net/wireless/ti/wlcore/spi.c. +# While they're optional and actually only used to override the MAC +# address on wl18xx, driver loading will delay (by udev timout - 60s) +# if not there. So let's make it available always. Because it's a +# symlink, both need to go to wlcommon. +FILES_${PN}-wlcommon = " \ + ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \ + ${nonarch_base_libdir}/firmware/ti-connectivity/wl127x-nvs.bin \ + ${nonarch_base_libdir}/firmware/ti-connectivity/wl1271-nvs.bin \ +" +FILES_${PN}-wl12xx = " \ + ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \ +" +FILES_${PN}-wl18xx = " \ + ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \ +" + +RDEPENDS_${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon" +RDEPENDS_${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon" + +# For vt6656 +LICENSE_${PN}-vt6656 = "Firmware-via_vt6656" +LICENSE_${PN}-vt6656-license = "Firmware-via_vt6656" + +FILES_${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656" +FILES_${PN}-vt6656 = " \ + ${nonarch_base_libdir}/firmware/vntwusb.fw \ +" + +RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license" + +# For broadcom + +# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e " \${PN}-$pkg \\"; done | sort -u + +LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx" +FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx" + +# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES_\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES + +FILES_${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw" +FILES_${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw" +FILES_${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin" +FILES_${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin" +FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin" +FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*" +FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin" +FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin" +FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4339-sdio.bin \ +" +FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin" +FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin" +FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin" +FILES_${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin" +FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \ + ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \ +" +FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*" +FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.* \ +" +FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin" +FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin" +FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-sdio.* \ +" +FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin" +FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43570-pcie.bin \ +" +FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin" +FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \ + ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \ +" +FILES_${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin" +FILES_${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin" +FILES_${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin" + +# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE_\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done +# Currently 1st one and last 6 have cypress LICENSE + +LICENSE_${PN}-bcm43xx = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43xx += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43xx-hdr += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4329-fullmac += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43236b = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43236b += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4334 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4335 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4335 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4339 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4339 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43241b0 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43241b4 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43241b5 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43242a = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43242a += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43143 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43143 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43430a0 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4350c2 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4350 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4350 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4356 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4356 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43569 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43569 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43570 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43570 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4358 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4358 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm43602 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm43602 += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4366b = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4366b += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4366c = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4366c += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4371 = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4371 += "${PN}-broadcom-license" + +# For broadcom cypress + +LICENSE_${PN}-cypress-license = "Firmware-cypress" +FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress" + +FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd" +FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43340-sdio.*" +FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43362-sdio.*" +FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.*" +FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4354-sdio.bin \ +" +FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-pcie.* \ +" +FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \ + ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.bin \ +" + +LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress" +RDEPENDS_${PN}-bcm-0bb4-0306 += "${PN}-cypress-license" +LICENSE_${PN}-bcm43340 = "Firmware-cypress" +RDEPENDS_${PN}-bcm43340 += "${PN}-cypress-license" +LICENSE_${PN}-bcm43362 = "Firmware-cypress" +RDEPENDS_${PN}-bcm43362 += "${PN}-cypress-license" +LICENSE_${PN}-bcm43430 = "Firmware-cypress" +RDEPENDS_${PN}-bcm43430 += "${PN}-cypress-license" +LICENSE_${PN}-bcm4354 = "Firmware-cypress" +RDEPENDS_${PN}-bcm4354 += "${PN}-cypress-license" +LICENSE_${PN}-bcm4356-pcie = "Firmware-cypress" +RDEPENDS_${PN}-bcm4356-pcie += "${PN}-cypress-license" +LICENSE_${PN}-bcm4373 = "Firmware-cypress" +RDEPENDS_${PN}-bcm4373 += "${PN}-cypress-license" + +# For Broadcom bnx2-mips +# +# which is a separate case to the other Broadcom firmwares since its +# license is contained in the shared WHENCE file. + +LICENSE_${PN}-bnx2-mips = "WHENCE" +LICENSE_${PN}-whence-license = "WHENCE" + +FILES_${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw" +FILES_${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE" + +RDEPENDS_${PN}-bnx2-mips += "${PN}-whence-license" + +# For imx-sdma +LICENSE_${PN}-imx-sdma-imx6q = "Firmware-imx-sdma_firmware" +LICENSE_${PN}-imx-sdma-imx7d = "Firmware-imx-sdma_firmware" +LICENSE_${PN}-imx-sdma-license = "Firmware-imx-sdma_firmware" + +FILES_${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin" + +RPROVIDES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" +RREPLACES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" +RCONFLICTS_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q" + +FILES_${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin" + +FILES_${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware" + +RDEPENDS_${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license" +RDEPENDS_${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license" + +# For iwlwifi +LICENSE_${PN}-iwlwifi = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-135-6 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-3160-7 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-3160-8 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-3160-9 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-3160-10 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-3160-12 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-3160-13 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-3160-16 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-3160-17 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-6000-4 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-6050-4 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-6050-5 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-7260 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-7265 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-7265d = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-8000c = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-8265 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-9000 = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware" +LICENSE_${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware" + + +FILES_${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware" +FILES_${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode" +FILES_${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode" +FILES_${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode" +FILES_${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode" +FILES_${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode" +FILES_${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode" +FILES_${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode" +FILES_${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode" +FILES_${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode" +FILES_${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode" +FILES_${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode" +FILES_${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode" +FILES_${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode" +FILES_${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode" +FILES_${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode" +FILES_${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode" +FILES_${PN}-iwlwifi-7260 = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode" +FILES_${PN}-iwlwifi-7265 = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode" +FILES_${PN}-iwlwifi-7265d = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode" +FILES_${PN}-iwlwifi-8000c = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode" +FILES_${PN}-iwlwifi-8265 = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode" +FILES_${PN}-iwlwifi-9000 = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode" +FILES_${PN}-iwlwifi-misc = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode" + +RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-3160-8 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-3160-9 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-3160-10 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-3160-12 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-3160-13 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-3160-16 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-3160-17 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-6000-4 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-6050-4 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-6050-5 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-7265d = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-8000c = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-8265 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-9000 = "${PN}-iwlwifi-license" +RDEPENDS_${PN}-iwlwifi-misc = "${PN}-iwlwifi-license" + +# -iwlwifi-misc is a "catch all" package that includes all the iwlwifi +# firmwares that are not already included in other -iwlwifi- packages. +# -iwlwifi is a virtual package that depends upon all iwlwifi packages. +# These are distinct in order to allow the -misc firmwares to be installed +# without pulling in every other iwlwifi package. +ALLOW_EMPTY_${PN}-iwlwifi = "1" +ALLOW_EMPTY_${PN}-iwlwifi-misc = "1" + +# Handle package updating for the newly merged iwlwifi groupings +RPROVIDES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" +RREPLACES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" +RCONFLICTS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9" + +RPROVIDES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" +RREPLACES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" +RCONFLICTS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9" + +# For ibt +LICENSE_${PN}-ibt-license = "Firmware-ibt_firmware" +LICENSE_${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware" +LICENSE_${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware" +LICENSE_${PN}-ibt-11-5 = "Firmware-ibt_firmware" +LICENSE_${PN}-ibt-12-16 = "Firmware-ibt_firmware" +LICENSE_${PN}-ibt-17 = "Firmware-ibt_firmware" +LICENSE_${PN}-ibt-20 = "Firmware-ibt_firmware" +LICENSE_${PN}-ibt-misc = "Firmware-ibt_firmware" + +FILES_${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware" +FILES_${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq" +FILES_${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq" +FILES_${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc" +FILES_${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc" +FILES_${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc" +FILES_${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc" +FILES_${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/intel/ibt-*" + +RDEPENDS_${PN}-ibt-hw-37-7 = "${PN}-ibt-license" +RDEPENDS_${PN}-ibt-hw-37.8 = "${PN}-ibt-license" +RDEPENDS_${PN}-ibt-11-5 = "${PN}-ibt-license" +RDEPENDS_${PN}-ibt-12-16 = "${PN}-ibt-license" +RDEPENDS_${PN}-ibt-17 = "${PN}-ibt-license" +RDEPENDS_${PN}-ibt-20 = "${PN}-ibt-license" +RDEPENDS_${PN}-ibt-misc = "${PN}-ibt-license" + +ALLOW_EMPTY_${PN}-ibt= "1" +ALLOW_EMPTY_${PN}-ibt-misc = "1" + +LICENSE_${PN}-i915 = "Firmware-i915" +LICENSE_${PN}-i915-license = "Firmware-i915" +FILES_${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915" +FILES_${PN}-i915 = "${nonarch_base_libdir}/firmware/i915" +RDEPENDS_${PN}-i915 = "${PN}-i915-license" + +LICENSE_${PN}-ice = "Firmware-ice" +LICENSE_${PN}-ice-license = "Firmware-ice" +FILES_${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice" +FILES_${PN}-ice = "${nonarch_base_libdir}/firmware/intel/ice" +RDEPENDS_${PN}-ice = "${PN}-ice-license" + +FILES_${PN}-adsp-sst-license = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst" +LICENSE_${PN}-adsp-sst = "Firmware-adsp_sst" +LICENSE_${PN}-adsp-sst-license = "Firmware-adsp_sst" +FILES_${PN}-adsp-sst = "${nonarch_base_libdir}/firmware/intel/dsp_fw*" +RDEPENDS_${PN}-adsp-sst = "${PN}-adsp-sst-license" + +# For QAT +LICENSE_${PN}-qat = "Firmware-qat" +LICENSE_${PN}-qat-license = "Firmware-qat" +FILES_${PN}-qat-license = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware" +FILES_${PN}-qat = "${nonarch_base_libdir}/firmware/qat*.bin" +RDEPENDS_${PN}-qat = "${PN}-qat-license" + +# For QCOM VPU/GPU and SDM845 +LICENSE_${PN}-qcom-license = "Firmware-qcom" +FILES_${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt" +FILES_${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*" +FILES_${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*" +FILES_${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*" +FILES_${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*" +FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw" +FILES_${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*" +FILES_${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*" +FILES_${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*" +FILES_${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*" +FILES_${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn" +RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-venus-4.2 = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-venus-5.2 = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-venus-5.4 = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-adreno-a530 = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-adreno-a630 = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-sdm845-audio = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-sdm845-compute = "${PN}-qcom-license" +RDEPENDS_${PN}-qcom-sdm845-modem = "${PN}-qcom-license" + +FILES_${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio" + +# For Amlogic VDEC +LICENSE_${PN}-amlogic-vdec = "Firmware-amlogic_vdec" +FILES_${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec" +FILES_${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*" +RDEPENDS_${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license" + +# For other firmwares +# Maybe split out to separate packages when needed. +LICENSE_${PN} = "\ + Firmware-Abilis \ + & Firmware-agere \ + & Firmware-amdgpu \ + & Firmware-amd-ucode \ + & Firmware-amlogic_vdec \ + & Firmware-atmel \ + & Firmware-ca0132 \ + & Firmware-cavium \ + & Firmware-chelsio_firmware \ + & Firmware-cw1200 \ + & Firmware-dib0700 \ + & Firmware-e100 \ + & Firmware-ene_firmware \ + & Firmware-fw_sst_0f28 \ + & Firmware-go7007 \ + & Firmware-hfi1_firmware \ + & Firmware-i2400m \ + & Firmware-ibt_firmware \ + & Firmware-it913x \ + & Firmware-IntcSST2 \ + & Firmware-kaweth \ + & Firmware-moxa \ + & Firmware-myri10ge_firmware \ + & Firmware-nvidia \ + & Firmware-OLPC \ + & Firmware-ath9k-htc \ + & Firmware-phanfw \ + & Firmware-qat \ + & Firmware-qcom \ + & Firmware-qla1280 \ + & Firmware-qla2xxx \ + & Firmware-r8a779x_usb3 \ + & Firmware-radeon \ + & Firmware-ralink_a_mediatek_company_firmware \ + & Firmware-ralink-firmware \ + & Firmware-imx-sdma_firmware \ + & Firmware-siano \ + & Firmware-tda7706-firmware \ + & Firmware-ti-connectivity \ + & Firmware-ti-keystone \ + & Firmware-ueagle-atm4-firmware \ + & Firmware-wl1251 \ + & Firmware-xc4000 \ + & Firmware-xc5000 \ + & Firmware-xc5000c \ + & WHENCE \ +" + +FILES_${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*" +FILES_${PN} += "${nonarch_base_libdir}/firmware/*" +RDEPENDS_${PN} += "${PN}-license" +RDEPENDS_${PN} += "${PN}-whence-license" + +# Make linux-firmware depend on all of the split-out packages. +# Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages. +# Make linux-firmware-ibt depend on all of the split-out ibt packages. +python populate_packages_prepend () { + firmware_pkgs = oe.utils.packages_filter_out_system(d) + d.appendVar('RRECOMMENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs)) + + iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs) + d.appendVar('RRECOMMENDS_linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs)) + + ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs) + d.appendVar('RRECOMMENDS_linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs)) +} + +# Firmware files are generally not ran on the CPU, so they can be +# allarch despite being architecture specific +INSANE_SKIP = "arch" diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb index 455c83652..84e99233e 100644 --- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -272,6 +272,8 @@ do_install() { sed -i 's/ifneq "$(CC)" ".*-linux-.*gcc.*$/ifneq "$(CC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(LD)" ".*-linux-.*ld.bfd.*$/ifneq "$(LD)" "ld"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(AR)" ".*-linux-.*ar.*$/ifneq "$(AR)" "ar"/' "$kerneldir/build/include/config/auto.conf.cmd" + sed -i 's/ifneq "$(OBJCOPY)" ".*-linux-.*objcopy.*$/ifneq "$(OBJCOPY)" "objcopy"/' "$kerneldir/build/include/config/auto.conf.cmd" + sed -i 's/ifneq "$(NM)" ".*-linux-.*nm.*$/ifneq "$(NM)" "nm"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(HOSTCXX)" ".*$/ifneq "$(HOSTCXX)" "g++"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(HOSTCC)" ".*$/ifneq "$(HOSTCC)" "gcc"/' "$kerneldir/build/include/config/auto.conf.cmd" sed -i 's/ifneq "$(CC_VERSION_TEXT)".*\(gcc.*\)"/ifneq "$(CC_VERSION_TEXT)" "\1"/' "$kerneldir/build/include/config/auto.conf.cmd" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index ee41d612f..f40788231 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "5.12+" +LINUX_VERSION ?= "5.13+" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb index 08314ea03..11d8928ad 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "400fbf5b14a0c88afb7c31d65be56fb9d6214c81" -SRCREV_meta ?= "38eb7ca3f4b59339c57a04c310f20809b198fa91" +SRCREV_machine ?= "d25690cb34d3b9d67089b318c48b89163058608c" +SRCREV_meta ?= "48a13749dcfa21864b5cdf5f02a1c210a4b6046b" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.10.34" +LINUX_VERSION ?= "5.10.41" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb index 939bef0ca..a55d84f2b 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "b62ae8bedb024e67e7c5cda51840454a4170c858" -SRCREV_meta ?= "cf20a3c44f5ef181b16ed80e9c2683f76b1ead20" +SRCREV_machine ?= "c279b45a44858da788a13f23130ed06663e77c57" +SRCREV_meta ?= "aa019cb8e4af653d6e136f1b8720884b97ddde49" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.4.116" +LINUX_VERSION ?= "5.4.123" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb index 8bd674f11..8fe019419 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.10.34" +LINUX_VERSION ?= "5.10.41" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "bf33b78f5136873b6d2ec6274908cf688341bc9e" -SRCREV_machine ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" -SRCREV_meta ?= "38eb7ca3f4b59339c57a04c310f20809b198fa91" +SRCREV_machine_qemuarm ?= "c5b462a67540b3364a21999b601d08b837ee95a2" +SRCREV_machine ?= "bb3f40e801fed14f9233749f7eaa27b105979059" +SRCREV_meta ?= "48a13749dcfa21864b5cdf5f02a1c210a4b6046b" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb index e3750dd7f..cf8e81e0f 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.4.116" +LINUX_VERSION ?= "5.4.123" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "80bd6016a9bdaed4b66ddffffa8c8e62d7c1f8a6" -SRCREV_machine ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" -SRCREV_meta ?= "cf20a3c44f5ef181b16ed80e9c2683f76b1ead20" +SRCREV_machine_qemuarm ?= "445028ae9ec9a904122bb5c60995def98d2b1ddc" +SRCREV_machine ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" +SRCREV_meta ?= "aa019cb8e4af653d6e136f1b8720884b97ddde49" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb index 2e7a45249..24f856603 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb @@ -13,17 +13,17 @@ KBRANCH_qemux86 ?= "v5.10/standard/base" KBRANCH_qemux86-64 ?= "v5.10/standard/base" KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "78e8e722eec4434024c5db3e0d59da0b128c7647" -SRCREV_machine_qemuarm64 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" -SRCREV_machine_qemumips ?= "b5c0852a90709e77f7a3d185d1745e6a1f66b77c" -SRCREV_machine_qemuppc ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" -SRCREV_machine_qemuriscv64 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" -SRCREV_machine_qemuriscv32 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" -SRCREV_machine_qemux86 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" -SRCREV_machine_qemux86-64 ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" -SRCREV_machine_qemumips64 ?= "bf264e264d2141a4fb61d515573c27935e67ecfa" -SRCREV_machine ?= "85c17ad073e9249f261cc550e8ada89a900d7d9a" -SRCREV_meta ?= "38eb7ca3f4b59339c57a04c310f20809b198fa91" +SRCREV_machine_qemuarm ?= "d1a5dc63766ef3b2dfc79ac2965af69b33203520" +SRCREV_machine_qemuarm64 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" +SRCREV_machine_qemumips ?= "03dd9a4bb1b030a89f56712c3d724f0219fd16a3" +SRCREV_machine_qemuppc ?= "bb3f40e801fed14f9233749f7eaa27b105979059" +SRCREV_machine_qemuriscv64 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" +SRCREV_machine_qemuriscv32 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" +SRCREV_machine_qemux86 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" +SRCREV_machine_qemux86-64 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" +SRCREV_machine_qemumips64 ?= "9292051c510e6bf1452ead867c8f8050556cfae3" +SRCREV_machine ?= "bb3f40e801fed14f9233749f7eaa27b105979059" +SRCREV_meta ?= "48a13749dcfa21864b5cdf5f02a1c210a4b6046b" # remap qemuarm to qemuarma15 for the 5.8 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -32,7 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.10.34" +LINUX_VERSION ?= "5.10.41" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb index 38404a193..ddd019861 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb @@ -12,16 +12,16 @@ KBRANCH_qemux86 ?= "v5.4/standard/base" KBRANCH_qemux86-64 ?= "v5.4/standard/base" KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "e71df0530eefcac1b3248329e385bcefbad6336e" -SRCREV_machine_qemuarm64 ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" -SRCREV_machine_qemumips ?= "07445052fdd15e60b30dc5ae9d162c2e6bba47d1" -SRCREV_machine_qemuppc ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" -SRCREV_machine_qemuriscv64 ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" -SRCREV_machine_qemux86 ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" -SRCREV_machine_qemux86-64 ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" -SRCREV_machine_qemumips64 ?= "b36d79d6f2aaf9dadec352f611e7b9becf2b9a55" -SRCREV_machine ?= "ea7a54fa402727f3c4bc4a1904d4a9590e7c8b85" -SRCREV_meta ?= "cf20a3c44f5ef181b16ed80e9c2683f76b1ead20" +SRCREV_machine_qemuarm ?= "c292705386cfec860dad5e1dee74f22407fb7f94" +SRCREV_machine_qemuarm64 ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" +SRCREV_machine_qemumips ?= "d4c949dc0b88dba72f9f94a18fd994aa8482ff8e" +SRCREV_machine_qemuppc ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" +SRCREV_machine_qemuriscv64 ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" +SRCREV_machine_qemux86 ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" +SRCREV_machine_qemux86-64 ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" +SRCREV_machine_qemumips64 ?= "417e8e4e101314f02439a88c78d4cf2ab98df209" +SRCREV_machine ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" +SRCREV_meta ?= "aa019cb8e4af653d6e136f1b8720884b97ddde49" # remap qemuarm to qemuarma15 for the 5.4 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.4.116" +LINUX_VERSION ?= "5.4.123" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch deleted file mode 100644 index 21da932a7..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch +++ /dev/null @@ -1,58 +0,0 @@ -From b3fdf78b15beb940918da1e41eb68e24ba31bb87 Mon Sep 17 00:00:00 2001 -From: Mathieu Desnoyers -Date: Wed, 3 Mar 2021 10:10:16 -0500 -Subject: [PATCH 1/4] Fix: memory leaks on event destroy - -Both filter runtime and event enabler ref objects are owned by the -event, but are not freed upon destruction of the event object, thus -leaking memory. - -Upstream-status: backport - -Signed-off-by: Mathieu Desnoyers -Change-Id: Ice9b1c18b47584838aea2b965494d3c8391f4c84 ---- - lttng-events.c | 7 +++++++ - lttng-events.h | 1 + - 2 files changed, 8 insertions(+) - -diff --git a/lttng-events.c b/lttng-events.c -index f3398adc..984bd341 100644 ---- a/lttng-events.c -+++ b/lttng-events.c -@@ -919,6 +919,8 @@ int _lttng_event_unregister(struct lttng_event *event) - static - void _lttng_event_destroy(struct lttng_event *event) - { -+ struct lttng_enabler_ref *enabler_ref, *tmp_enabler_ref; -+ - switch (event->instrumentation) { - case LTTNG_KERNEL_TRACEPOINT: - lttng_event_put(event->desc); -@@ -944,6 +946,11 @@ void _lttng_event_destroy(struct lttng_event *event) - } - list_del(&event->list); - lttng_destroy_context(event->ctx); -+ lttng_free_event_filter_runtime(event); -+ /* Free event enabler refs */ -+ list_for_each_entry_safe(enabler_ref, tmp_enabler_ref, -+ &event->enablers_ref_head, node) -+ kfree(enabler_ref); - kmem_cache_free(event_cache, event); - } - -diff --git a/lttng-events.h b/lttng-events.h -index 1b9ab167..13b6abf5 100644 ---- a/lttng-events.h -+++ b/lttng-events.h -@@ -716,6 +716,7 @@ int lttng_enabler_attach_bytecode(struct lttng_enabler *enabler, - struct lttng_kernel_filter_bytecode __user *bytecode); - void lttng_enabler_event_link_bytecode(struct lttng_event *event, - struct lttng_enabler *enabler); -+void lttng_free_event_filter_runtime(struct lttng_event *event); - - int lttng_probes_init(void); - --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch new file mode 100644 index 000000000..6d81c81ef --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch @@ -0,0 +1,37 @@ +From 0287f5c32b9fd99078e71c22ca679343d18f1513 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield +Date: Sat, 15 May 2021 10:26:38 -0400 +Subject: [PATCH] src/Kbuild: change missing CONFIG_TRACEPOINTS to warning + +Taken from a previous patch to the main lttng-modules Makefile, by +Otavio Salvador: + + The lttng-modules are being pulled by the tools-profile image feature, + however, not every kernel has the CONFIG_TRACEPOINTS feature enabled. + + This change makes the build do not fail when CONFIG_TRACEPOINTS is not + available, allowing it to be kept being pulled by default. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Bruce Ashfield +--- + src/Kbuild | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Kbuild b/src/Kbuild +index 7137874f..18a43b50 100644 +--- a/src/Kbuild ++++ b/src/Kbuild +@@ -2,7 +2,7 @@ + + ifdef CONFIG_LOCALVERSION # Check if dot-config is included. + ifeq ($(CONFIG_TRACEPOINTS),) +- $(error The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration) ++ $(warning The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration) + endif # CONFIG_TRACEPOINTS + endif # ifdef CONFIG_LOCALVERSION + +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch deleted file mode 100644 index 609690f05..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch +++ /dev/null @@ -1,159 +0,0 @@ -From 23a2f61ffc6a656f136fa2044c0c3b8f79766779 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Galarneau?= - -Date: Wed, 3 Mar 2021 18:52:19 -0500 -Subject: [PATCH 2/4] Fix: filter interpreter early-exits on uninitialized - value -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -I observed that syscall filtering on string arguments wouldn't work on -my development machines, both running 5.11.2-arch1-1 (Arch Linux). - -For instance, enabling the tracing of the `openat()` syscall with the -'filename == "/proc/cpuinfo"' filter would not produce events even -though matching events were present in another session that had no -filtering active. The same problem occurred with `execve()`. - -I tried a couple of kernel versions before (5.11.1 and 5.10.13, if -memory serves me well) and I had the same problem. Meanwhile, I couldn't -reproduce the problem on various Debian machines (the LTTng CI) nor on a -fresh Ubuntu 20.04 with both the stock kernel and with an updated 5.11.2 -kernel. - -I built the lttng-modules with the interpreter debugging printout and -saw the following warning: - LTTng: [debug bytecode in /home/jgalar/EfficiOS/src/lttng-modules/src/lttng-bytecode-interpreter.c:bytecode_interpret@1508] Bytecode warning: loading a NULL string. - -After a shedload (yes, a _shed_load) of digging, I figured that the -problem was hidden in plain sight near that logging statement. - -In the `BYTECODE_OP_LOAD_FIELD_REF_USER_STRING` operation, the 'ax' -register's 'user_str' is initialized with the stack value (the user -space string's address in our case). However, a NULL check is performed -against the register's 'str' member. - -I initialy suspected that both members would be part of the same union -and alias each-other, but they are actually contiguous in a structure. - -On the unaffected machines, I could confirm that the `str` member was -uninitialized to a non-zero value causing the condition to evaluate to -false. - -Francis Deslauriers reproduced the problem by initializing the -interpreter stack to zero. - -I am unsure of the exact kernel configuration option that reveals this -issue on Arch Linux, but my kernel has the following option enabled: - -CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL: - Zero-initialize any stack variables that may be passed by reference - and had not already been explicitly initialized. This is intended to - eliminate all classes of uninitialized stack variable exploits and - information exposures. - -I have not tried to build without this enabled as, anyhow, this seems -to be a legitimate issue. - -I have spotted what appears to be an identical problem in -`BYTECODE_OP_LOAD_FIELD_REF_USER_SEQUENCE` and corrected it. However, -I have not exercised that code path. - -The commit that introduced this problem is 5b4ad89. - -The debug print-out of the `BYTECODE_OP_LOAD_FIELD_REF_USER_STRING` -operation is modified to print the user string (truncated to 31 chars). - -Upstream-status: backport - -Signed-off-by: Jérémie Galarneau -Signed-off-by: Mathieu Desnoyers -Change-Id: I2da3c31b9e3ce0e1b164cf3d2711c0893cbec273 ---- - lttng-filter-interpreter.c | 41 ++++++++++++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 4 deletions(-) - -diff --git a/lttng-filter-interpreter.c b/lttng-filter-interpreter.c -index 5d572437..6e5a5139 100644 ---- a/lttng-filter-interpreter.c -+++ b/lttng-filter-interpreter.c -@@ -22,7 +22,7 @@ LTTNG_STACK_FRAME_NON_STANDARD(lttng_filter_interpret_bytecode); - * to handle user-space read. - */ - static --char get_char(struct estack_entry *reg, size_t offset) -+char get_char(const struct estack_entry *reg, size_t offset) - { - if (unlikely(offset >= reg->u.s.seq_len)) - return '\0'; -@@ -593,6 +593,39 @@ end: - return ret; - } - -+#ifdef DEBUG -+ -+#define DBG_USER_STR_CUTOFF 32 -+ -+/* -+ * In debug mode, print user string (truncated, if necessary). -+ */ -+static inline -+void dbg_load_ref_user_str_printk(const struct estack_entry *user_str_reg) -+{ -+ size_t pos = 0; -+ char last_char; -+ char user_str[DBG_USER_STR_CUTOFF]; -+ -+ pagefault_disable(); -+ do { -+ last_char = get_char(user_str_reg, pos); -+ user_str[pos] = last_char; -+ pos++; -+ } while (last_char != '\0' && pos < sizeof(user_str)); -+ pagefault_enable(); -+ -+ user_str[sizeof(user_str) - 1] = '\0'; -+ dbg_printk("load field ref user string: '%s%s'\n", user_str, -+ last_char != '\0' ? "[...]" : ""); -+} -+#else -+static inline -+void dbg_load_ref_user_str_printk(const struct estack_entry *user_str_reg) -+{ -+} -+#endif -+ - /* - * Return 0 (discard), or raise the 0x1 flag (log event). - * Currently, other flags are kept for future extensions and have no -@@ -1313,7 +1346,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data, - estack_push(stack, top, ax, bx); - estack_ax(stack, top)->u.s.user_str = - *(const char * const *) &filter_stack_data[ref->offset]; -- if (unlikely(!estack_ax(stack, top)->u.s.str)) { -+ if (unlikely(!estack_ax(stack, top)->u.s.user_str)) { - dbg_printk("Filter warning: loading a NULL string.\n"); - ret = -EINVAL; - goto end; -@@ -1322,7 +1355,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data, - estack_ax(stack, top)->u.s.literal_type = - ESTACK_STRING_LITERAL_TYPE_NONE; - estack_ax(stack, top)->u.s.user = 1; -- dbg_printk("ref load string %s\n", estack_ax(stack, top)->u.s.str); -+ dbg_load_ref_user_str_printk(estack_ax(stack, top)); - next_pc += sizeof(struct load_op) + sizeof(struct field_ref); - PO; - } -@@ -1340,7 +1373,7 @@ uint64_t lttng_filter_interpret_bytecode(void *filter_data, - estack_ax(stack, top)->u.s.user_str = - *(const char **) (&filter_stack_data[ref->offset - + sizeof(unsigned long)]); -- if (unlikely(!estack_ax(stack, top)->u.s.str)) { -+ if (unlikely(!estack_ax(stack, top)->u.s.user_str)) { - dbg_printk("Filter warning: loading a NULL sequence.\n"); - ret = -EINVAL; - goto end; --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch deleted file mode 100644 index 71f99b80a..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 49c603ef2dc6969f4454f0d849af00ee24bb7f04 Mon Sep 17 00:00:00 2001 -From: Michael Jeanson -Date: Thu, 4 Mar 2021 16:50:12 -0500 -Subject: [PATCH 3/4] fix: mm, tracing: record slab name for kmem_cache_free() - (v5.12) - -See upstream commit: - - commit 3544de8ee6e4817278b15fe08658de49abf58954 - Author: Jacob Wen - Date: Wed Feb 24 12:00:55 2021 -0800 - - mm, tracing: record slab name for kmem_cache_free() - - Currently, a trace record generated by the RCU core is as below. - - ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=00000000f3b49a66 - - It doesn't tell us what the RCU core has freed. - - This patch adds the slab name to trace_kmem_cache_free(). - The new format is as follows. - - ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=0000000037f79c8d name=dentry - ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=00000000f78cb7b5 name=sock_inode_cache - ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=0000000018768985 name=pool_workqueue - ... kmem_cache_free: call_site=rcu_core+0x1fd/0x610 ptr=000000006a6cb484 name=radix_tree_node - - We can use it to understand what the RCU core is going to free. For - example, some users maybe interested in when the RCU core starts - freeing reclaimable slabs like dentry to reduce memory pressure. - - Link: https://lkml.kernel.org/r/20201216072804.8838-1-jian.w.wen@oracle.com - -Upstream-status: backport - -Signed-off-by: Michael Jeanson -Signed-off-by: Mathieu Desnoyers -Change-Id: I1ee2fc476614cadcc8d3ac5d8feddc7910e1aa3a ---- - instrumentation/events/lttng-module/kmem.h | 27 ++++++++++++++++++++++ - 1 file changed, 27 insertions(+) - -diff --git a/instrumentation/events/lttng-module/kmem.h b/instrumentation/events/lttng-module/kmem.h -index b134620a..d787ea54 100644 ---- a/instrumentation/events/lttng-module/kmem.h -+++ b/instrumentation/events/lttng-module/kmem.h -@@ -87,6 +87,32 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_alloc_node, kmem_cache_alloc_node, - TP_ARGS(call_site, ptr, bytes_req, bytes_alloc, gfp_flags, node) - ) - -+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,12,0)) -+LTTNG_TRACEPOINT_EVENT(kfree, -+ -+ TP_PROTO(unsigned long call_site, const void *ptr), -+ -+ TP_ARGS(call_site, ptr), -+ -+ TP_FIELDS( -+ ctf_integer_hex(unsigned long, call_site, call_site) -+ ctf_integer_hex(const void *, ptr, ptr) -+ ) -+) -+ -+LTTNG_TRACEPOINT_EVENT(kmem_cache_free, -+ -+ TP_PROTO(unsigned long call_site, const void *ptr, const char *name), -+ -+ TP_ARGS(call_site, ptr, name), -+ -+ TP_FIELDS( -+ ctf_integer_hex(unsigned long, call_site, call_site) -+ ctf_integer_hex(const void *, ptr, ptr) -+ ctf_string(name, name) -+ ) -+) -+#else - LTTNG_TRACEPOINT_EVENT_CLASS(kmem_free, - - TP_PROTO(unsigned long call_site, const void *ptr), -@@ -114,6 +140,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kmem_free, kmem_cache_free, - - TP_ARGS(call_site, ptr) - ) -+#endif - - #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0)) - LTTNG_TRACEPOINT_EVENT_MAP(mm_page_free, kmem_mm_page_free, --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch deleted file mode 100644 index 8a839c2b4..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 92cc3e7f76a545a2cd4828576971f1eea83f4e68 Mon Sep 17 00:00:00 2001 -From: Francis Deslauriers -Date: Wed, 17 Mar 2021 10:40:56 -0400 -Subject: [PATCH 4/4] Fix: kretprobe: null ptr deref on session destroy - -The `filter_bytecode_runtime_head` list is currently not initialized for -the return event of the kretprobe. This caused a kernel null ptr -dereference when destroying a session. It can reproduced with the -following commands: - - lttng create - lttng enable-event -k --function=lttng_test_filter_event_write my_event - lttng start - lttng stop - lttng destroy - -Upstream-status: backport - -Signed-off-by: Francis Deslauriers -Signed-off-by: Mathieu Desnoyers -Change-Id: I1162ce8b10dd7237a26331531f048346b984eee7 ---- - lttng-events.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lttng-events.c b/lttng-events.c -index 984bd341..3450fa40 100644 ---- a/lttng-events.c -+++ b/lttng-events.c -@@ -704,6 +704,8 @@ struct lttng_event *_lttng_event_create(struct lttng_channel *chan, - event_return->enabled = 0; - event_return->registered = 1; - event_return->instrumentation = itype; -+ INIT_LIST_HEAD(&event_return->bytecode_runtime_head); -+ INIT_LIST_HEAD(&event_return->enablers_ref_head); - /* - * Populate lttng_event structure before kretprobe registration. - */ --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb deleted file mode 100644 index 5b05c644a..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb +++ /dev/null @@ -1,46 +0,0 @@ -SECTION = "devel" -SUMMARY = "Linux Trace Toolkit KERNEL MODULE" -DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules" -HOMEPAGE = "https://lttng.org/" -LICENSE = "LGPLv2.1 & GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128" - -inherit module - -include lttng-platforms.inc - -SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ - file://0001-Fix-memory-leaks-on-event-destroy.patch \ - file://0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch \ - file://0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch \ - file://0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch \ - " - -SRC_URI[sha256sum] = "c4d1a1b42c728e37b6b7947ae16563a011c4b297311aa04d56f9a1791fb5a30a" - -export INSTALL_MOD_DIR="kernel/lttng-modules" - -EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'" - -do_install_append() { - # Delete empty directories to avoid QA failures if no modules were built - find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \; -} - -python do_package_prepend() { - if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')): - bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN')) -} - -BBCLASSEXTEND = "devupstream:target" -LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128" -DEFAULT_PREFERENCE_class-devupstream = "-1" -SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.12 \ - file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ - " - -SRCREV_class-devupstream = "92cc3e7f76a545a2cd4828576971f1eea83f4e68" -PV_class-devupstream = "2.12.5+git${SRCPV}" -S_class-devupstream = "${WORKDIR}/git" -SRCREV_FORMAT ?= "lttng_git" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb new file mode 100644 index 000000000..94e849de5 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb @@ -0,0 +1,42 @@ +SECTION = "devel" +SUMMARY = "Linux Trace Toolkit KERNEL MODULE" +DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules" +HOMEPAGE = "https://lttng.org/" +LICENSE = "LGPLv2.1 & GPLv2 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128" + +inherit module + +include lttng-platforms.inc + +SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ + " + +SRC_URI[sha256sum] = "95ac2a2cf92d85d23ffbdaca6a1ec0d7c167211d1e0fb850ab90004a3f475eaa" + +export INSTALL_MOD_DIR="kernel/lttng-modules" + +EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'" + +do_install_append() { + # Delete empty directories to avoid QA failures if no modules were built + find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \; +} + +python do_package_prepend() { + if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')): + bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN')) +} + +BBCLASSEXTEND = "devupstream:target" +LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4" +DEFAULT_PREFERENCE_class-devupstream = "-1" +SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13 \ + file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch \ + " + +SRCREV_class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933" +PV_class-devupstream = "2.13.0-rc2+git${SRCPV}" +S_class-devupstream = "${WORKDIR}/git" +SRCREV_FORMAT ?= "lttng_git" diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb deleted file mode 100644 index 67b53cbbb..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x" -DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes." -HOMEPAGE = "http://lttng.org/ust" -BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust" - -LICENSE = "LGPLv2.1+ & MIT & GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \ - file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \ - file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44" - -PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ - am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ - PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ -" - -inherit autotools lib_package manpages python3native - -include lttng-platforms.inc - -EXTRA_OECONF = "--disable-numa" - -DEPENDS = "liburcu util-linux" -RDEPENDS_${PN}-bin = "python3-core" - -# For backwards compatibility after rename -RPROVIDES_${PN} = "lttng2-ust" -RREPLACES_${PN} = "lttng2-ust" -RCONFLICTS_${PN} = "lttng2-ust" - -PE = "2" - -SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ - file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \ - " - -SRC_URI[md5sum] = "11787d1df69b04dd7431614ab43b2e12" -SRC_URI[sha256sum] = "48a3948b168195123a749d22818809bd25127bb5f1a66458c3c012b210d2a051" - -CVE_PRODUCT = "ust" - -PACKAGECONFIG[examples] = "--enable-examples, --disable-examples," -PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" -PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3" - -FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*" -FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a" -FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la" - -do_install_append() { - # Patch python tools to use Python 3; they should be source compatible, but - # still refer to Python 2 in the shebang - sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp -} diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb new file mode 100644 index 000000000..e340ff346 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb @@ -0,0 +1,52 @@ +SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x" +DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes." +HOMEPAGE = "http://lttng.org/ust" +BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust" + +LICENSE = "LGPLv2.1+ & MIT & GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \ + file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \ + file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44" + +PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ + am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ + PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ +" + +inherit autotools lib_package manpages python3native + +include lttng-platforms.inc + +EXTRA_OECONF = "--disable-numa" + +DEPENDS = "liburcu util-linux" +RDEPENDS_${PN}-bin = "python3-core" + +# For backwards compatibility after rename +RPROVIDES_${PN} = "lttng2-ust" +RREPLACES_${PN} = "lttng2-ust" +RCONFLICTS_${PN} = "lttng2-ust" + +PE = "2" + +SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ + file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \ + " + +SRC_URI[sha256sum] = "bcd0f064b6ca88c72d84e760eac3472ae5c828411c634435922bee9fce359fc7" + +CVE_PRODUCT = "ust" + +PACKAGECONFIG[examples] = "--enable-examples, --disable-examples," +PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" +PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3" + +FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*" +FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la" + +do_install_append() { + # Patch python tools to use Python 3; they should be source compatible, but + # still refer to Python 2 in the shebang + sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp +} diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index 28d0c6a2a..2dfd798ef 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -169,7 +169,7 @@ python copy_perf_source_from_kernel() { do_configure_prepend () { # If building a multlib based perf, the incorrect library path will be # detected by perf, since it triggers via: ifeq ($(ARCH),x86_64). In a 32 bit - # build, with a 64 bit multilib, the arch won't match and the detection of a + # build, with a 64 bit multilib, the arch won't match and the detection of a # 64 bit build (and library) are not exected. To ensure that libraries are # installed to the correct location, we can use the weak assignment in the # config/Makefile. diff --git a/poky/meta/recipes-kernel/powertop/powertop_2.13.bb b/poky/meta/recipes-kernel/powertop/powertop_2.13.bb deleted file mode 100644 index 8c7e78fd9..000000000 --- a/poky/meta/recipes-kernel/powertop/powertop_2.13.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Power usage tool" -DESCRIPTION = "Linux tool to diagnose issues with power consumption and power management." -HOMEPAGE = "https://01.org/powertop/" -BUGTRACKER = "https://app.devzing.com/powertopbugs/bugzilla" -DEPENDS = "ncurses libnl pciutils autoconf-archive" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" - -SRC_URI = "git://github.com/fenrus75/powertop;protocol=https \ - file://0001-wakeup_xxx.h-include-limits.h.patch \ -" -SRCREV = "184cee06b2d64679bae5f806fe0a218827fdde99" - -S = "${WORKDIR}/git" - -inherit autotools gettext pkgconfig bash-completion - -# we do not want libncursesw if we can -do_configure_prepend() { - # configure.ac checks for delwin() in "ncursesw ncurses" so let's drop first one - sed -i -e "s/ncursesw//g" ${S}/configure.ac - mkdir -p ${B}/src/tuning/ - echo "${PV}" > ${S}/version-long - echo "${PV}" > ${S}/version-short - cp ${STAGING_DATADIR}/aclocal/ax_require_defined.m4 ${S}/m4/ -} - -inherit update-alternatives -ALTERNATIVE_${PN} = "powertop" -ALTERNATIVE_TARGET[powertop] = "${sbindir}/powertop" -ALTERNATIVE_LINK_NAME[powertop] = "${sbindir}/powertop" -ALTERNATIVE_PRIORITY = "100" diff --git a/poky/meta/recipes-kernel/powertop/powertop_2.14.bb b/poky/meta/recipes-kernel/powertop/powertop_2.14.bb new file mode 100644 index 000000000..cb7f3c4dc --- /dev/null +++ b/poky/meta/recipes-kernel/powertop/powertop_2.14.bb @@ -0,0 +1,24 @@ +SUMMARY = "Power usage tool" +DESCRIPTION = "Linux tool to diagnose issues with power consumption and power management." +HOMEPAGE = "https://01.org/powertop/" +BUGTRACKER = "https://app.devzing.com/powertopbugs/bugzilla" +DEPENDS = "ncurses libnl pciutils autoconf-archive" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" + +SRC_URI = "git://github.com/fenrus75/powertop;protocol=https \ + file://0001-wakeup_xxx.h-include-limits.h.patch \ +" +SRCREV = "52f022f9bbe6e060fba11701d657a8d9762702ba" + +S = "${WORKDIR}/git" + +LDFLAGS_append = " -pthread" + +inherit autotools gettext pkgconfig bash-completion + +inherit update-alternatives +ALTERNATIVE_${PN} = "powertop" +ALTERNATIVE_TARGET[powertop] = "${sbindir}/powertop" +ALTERNATIVE_LINK_NAME[powertop] = "${sbindir}/powertop" +ALTERNATIVE_PRIORITY = "100" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch b/poky/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch deleted file mode 100644 index efc79f6c0..000000000 --- a/poky/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch +++ /dev/null @@ -1,44 +0,0 @@ -From cbf27cd54071f788231e69d96dbaad563f1010d4 Mon Sep 17 00:00:00 2001 -From: Bruce Ashfield -Date: Fri, 18 Dec 2020 13:15:08 -0500 -Subject: [PATCH] transport: protect include and callsite with same conditional - -transport.c has the following code block: - - if (!debugfs_p && security_locked_down (LOCKDOWN_DEBUGFS)) - -Which is protected by the conditional STAPCONF_LOCKDOWN_DEBUGFS. - -linux/security.h provides the definition of LOCKDOWN_DEBUGFS, and -must be included or we have a compilation issue. - -The include of security.h is protected by #ifdef CONFIG_SECURITY_LOCKDOWN_LSM, -which means that in some configurations we can get out of sync with -the include and the callsite. - -If we protect the include and the callsite with the same #ifdef, we can -be sure that they will be consistent. - -Upstream-status: Inappropriate (kernel-devsrc specific) - -Signed-off-by: Bruce Ashfield ---- - runtime/transport/transport.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c -index bb4a98bd3..88e20ea28 100644 ---- a/runtime/transport/transport.c -+++ b/runtime/transport/transport.c -@@ -21,7 +21,7 @@ - #include - #include - #include --#ifdef CONFIG_SECURITY_LOCKDOWN_LSM -+#ifdef STAPCONF_LOCKDOWN_DEBUGFS - #include - #endif - #include "../uidgid_compatibility.h" --- -2.19.1 - diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc index 016b42384..23ecc6198 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc @@ -1,13 +1,12 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRCREV = "988f439af39a359b4387963ca4633649866d8275" -PV = "4.4" +SRCREV = "0eba8a46bc99c66e5dd274a9a4d661fe08ac4b8a" +PV = "4.5" SRC_URI = "git://sourceware.org/git/systemtap.git \ file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ file://0001-Install-python-modules-to-correct-library-dir.patch \ file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ - file://0001-transport-protect-include-and-callsite-with-same-con.patch \ " COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux' diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch deleted file mode 100644 index 69429af8f..000000000 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch +++ /dev/null @@ -1,32 +0,0 @@ -It will add -mips64r6 and -mips64r2 to cmdline which will -cause conflicts - -in OE we user mips32r2 and mips64r2 for mips arch versions -so there is no benefit of detecting it automatically by -poking at tools especially in cross env - -Fixes errors like - -linking -mnan=2008 module with previous -mnan=legacy modules -failed to merge target specific data of file - --Khem -Upstream-Status: Inappropriate [OE-Specific] - -Index: ffmpeg-3.1.1/configure -=================================================================== ---- ffmpeg-3.1.1.orig/configure -+++ ffmpeg-3.1.1/configure -@@ -5220,12 +5220,9 @@ elif enabled mips; then - - # Enable minimum ISA based on selected options - if enabled mips64; then -- enabled mips64r6 && check_inline_asm_flags mips64r6 '"dlsa $0, $0, $0, 1"' '-mips64r6' - enabled mips64r2 && check_inline_asm_flags mips64r2 '"dext $0, $0, 0, 1"' '-mips64r2' - disabled mips64r6 && disabled mips64r2 && check_inline_asm_flags mips64r1 '"daddi $0, $0, 0"' '-mips64' - else -- enabled mips32r6 && check_inline_asm_flags mips32r6 '"aui $0, $0, 0"' '-mips32r6' -- enabled mips32r5 && check_inline_asm_flags mips32r5 '"eretnc"' '-mips32r5' - enabled mips32r2 && check_inline_asm_flags mips32r2 '"ext $0, $0, 0, 1"' '-mips32r2' - disabled mips32r6 && disabled mips32r5 && disabled mips32r2 && check_inline_asm_flags mips32r1 '"addi $0, $0, 0"' '-mips32' - fi diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb deleted file mode 100644 index 08be38ca5..000000000 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb +++ /dev/null @@ -1,170 +0,0 @@ -SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video." -DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \ - mux, demux, stream, filter and play pretty much anything that humans and machines \ - have created. It supports the most obscure ancient formats up to the cutting edge." -HOMEPAGE = "https://www.ffmpeg.org/" -SECTION = "libs" - -LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT" -LICENSE_${PN} = "GPLv2+" -LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" -LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" -LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" -LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" -LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" -LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" -LICENSE_libpostproc = "GPLv2+" -LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" -LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" -LICENSE_FLAGS = "commercial" - -LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ - file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" - -SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ - file://mips64_cpu_detection.patch \ - file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \ - " -SRC_URI[sha256sum] = "46e4e64f1dd0233cbc0934b9f1c0da676008cad34725113fb7f802cfa84ccddb" - -# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# Should be API compatible with libav (which was a fork of ffmpeg) -# libpostproc was previously packaged from a separate recipe -PROVIDES = "libav libpostproc" - -DEPENDS = "nasm-native" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \ - alsa bzlib lzma pic pthreads shared theora zlib \ - ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}" - -# libraries to build in addition to avutil -PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice" -PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter" -PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec" -PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat" -PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample" -PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale" -PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc" -PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample" - -# features to support -PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" -PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec," -PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2" -PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac" -PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl" -PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm" -PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack" -PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis" -PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz" -PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk" -PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" -PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" -PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex" -PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt" -PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg" -PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" -PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" -PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx" -PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264" -PACKAGECONFIG[x265] = "--enable-libx265,--disable-libx265,x265" -PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb" -PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv" -PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" - -# other configuration options -PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2" -PACKAGECONFIG[pic] = "--enable-pic" -PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads" -PACKAGECONFIG[shared] = "--enable-shared" -PACKAGECONFIG[strip] = ",--disable-stripping" - -# Check codecs that require --enable-nonfree -USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}" - -def cpu(d): - for arg in (d.getVar('TUNE_CCARGS') or '').split(): - if arg.startswith('-mcpu='): - return arg[6:] - return 'generic' - -EXTRA_OECONF = " \ - ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \ - \ - --cross-prefix=${TARGET_PREFIX} \ - \ - --ld="${CCLD}" \ - --cc="${CC}" \ - --cxx="${CXX}" \ - --arch=${TARGET_ARCH} \ - --target-os="linux" \ - --enable-cross-compile \ - --extra-cflags="${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \ - --extra-ldflags="${LDFLAGS}" \ - --sysroot="${STAGING_DIR_TARGET}" \ - ${EXTRA_FFCONF} \ - --libdir=${libdir} \ - --shlibdir=${libdir} \ - --datadir=${datadir}/ffmpeg \ - --cpu=${@cpu(d)} \ - --pkg-config=pkg-config \ -" - -EXTRA_OECONF_append_linux-gnux32 = " --disable-asm" -# gold crashes on x86, another solution is to --disable-asm but thats more hacky -# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684 - -LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" - -EXTRA_OEMAKE = "V=1" - -do_configure() { - ${S}/configure ${EXTRA_OECONF} -} - -# patch out build host paths for reproducibility -do_compile_prepend_class-target() { - sed -i -e "s,${WORKDIR},,g" ${B}/config.h -} - -PACKAGES =+ "libavcodec \ - libavdevice \ - libavfilter \ - libavformat \ - libavresample \ - libavutil \ - libpostproc \ - libswresample \ - libswscale" - -FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}" -FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}" -FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}" -FILES_libavformat = "${libdir}/libavformat${SOLIBS}" -FILES_libavresample = "${libdir}/libavresample${SOLIBS}" -FILES_libavutil = "${libdir}/libavutil${SOLIBS}" -FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}" -FILES_libswresample = "${libdir}/libswresample${SOLIBS}" -FILES_libswscale = "${libdir}/libswscale${SOLIBS}" - -# ffmpeg disables PIC on some platforms (e.g. x86-32) -INSANE_SKIP_${MLPREFIX}libavcodec = "textrel" -INSANE_SKIP_${MLPREFIX}libavdevice = "textrel" -INSANE_SKIP_${MLPREFIX}libavfilter = "textrel" -INSANE_SKIP_${MLPREFIX}libavformat = "textrel" -INSANE_SKIP_${MLPREFIX}libavutil = "textrel" -INSANE_SKIP_${MLPREFIX}libavresample = "textrel" -INSANE_SKIP_${MLPREFIX}libswscale = "textrel" -INSANE_SKIP_${MLPREFIX}libswresample = "textrel" -INSANE_SKIP_${MLPREFIX}libpostproc = "textrel" diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb new file mode 100644 index 000000000..664fc6066 --- /dev/null +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb @@ -0,0 +1,178 @@ +SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video." +DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \ + mux, demux, stream, filter and play pretty much anything that humans and machines \ + have created. It supports the most obscure ancient formats up to the cutting edge." +HOMEPAGE = "https://www.ffmpeg.org/" +SECTION = "libs" + +LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT" +LICENSE_${PN} = "GPLv2+" +LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" +LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" +LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" +LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" +LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" +LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" +LICENSE_libpostproc = "GPLv2+" +LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" +LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}" +LICENSE_FLAGS = "commercial" + +LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ + file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" + +SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ + file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \ + " +SRC_URI[sha256sum] = "06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909" + +# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717 +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +# Should be API compatible with libav (which was a fork of ffmpeg) +# libpostproc was previously packaged from a separate recipe +PROVIDES = "libav libpostproc" + +DEPENDS = "nasm-native" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \ + alsa bzlib lzma pic pthreads shared theora zlib \ + ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}" + +# libraries to build in addition to avutil +PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice" +PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter" +PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec" +PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat" +PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample" +PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale" +PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc" +PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample" + +# features to support +PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" +PACKAGECONFIG[altivec] = "--enable-altivec,--disable-altivec," +PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2" +PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-aac,fdk-aac" +PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl" +PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm" +PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack" +PACKAGECONFIG[libopus] = "--enable-libopus,--disable-libopus,libopus" +PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis" +PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz" +PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk" +PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" +PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" +PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex" +PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt" +PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg" +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" +PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx" +PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264" +PACKAGECONFIG[x265] = "--enable-libx265,--disable-libx265,x265" +PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb" +PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv" +PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" + +# other configuration options +PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2" +PACKAGECONFIG[pic] = "--enable-pic" +PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads" +PACKAGECONFIG[shared] = "--enable-shared" +PACKAGECONFIG[strip] = ",--disable-stripping" + +# Check codecs that require --enable-nonfree +USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}" + +def cpu(d): + for arg in (d.getVar('TUNE_CCARGS') or '').split(): + if arg.startswith('-mcpu='): + return arg[6:] + return 'generic' + +EXTRA_OECONF = " \ + ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \ + \ + --cross-prefix=${TARGET_PREFIX} \ + \ + --ld='${CCLD}' \ + --cc='${CC}' \ + --cxx='${CXX}' \ + --arch=${TARGET_ARCH} \ + --target-os='linux' \ + --enable-cross-compile \ + --extra-cflags='${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \ + --extra-ldflags='${LDFLAGS}' \ + --sysroot='${STAGING_DIR_TARGET}' \ + ${EXTRA_FFCONF} \ + --libdir=${libdir} \ + --shlibdir=${libdir} \ + --datadir=${datadir}/ffmpeg \ + --cpu=${@cpu(d)} \ + --pkg-config=pkg-config \ +" + +EXTRA_OECONF_append_linux-gnux32 = " --disable-asm" + +EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', '--disable-mips64r2 --disable-mips32r2', '', d)}" +EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r2', '--disable-mips64r6 --disable-mips32r6', '', d)}" +EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', '--disable-mips64r6 --disable-mips32r6', '', d)}" +EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mips64r2 --disable-mips32r2', '', d)}" +EXTRA_OECONF_append_mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \ + --disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2" + +# gold crashes on x86, another solution is to --disable-asm but thats more hacky +# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684 + +LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" + +EXTRA_OEMAKE = "V=1" + +do_configure() { + ${S}/configure ${EXTRA_OECONF} +} + +# patch out build host paths for reproducibility +do_compile_prepend_class-target() { + sed -i -e "s,${WORKDIR},,g" ${B}/config.h +} + +PACKAGES =+ "libavcodec \ + libavdevice \ + libavfilter \ + libavformat \ + libavresample \ + libavutil \ + libpostproc \ + libswresample \ + libswscale" + +FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}" +FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}" +FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}" +FILES_libavformat = "${libdir}/libavformat${SOLIBS}" +FILES_libavresample = "${libdir}/libavresample${SOLIBS}" +FILES_libavutil = "${libdir}/libavutil${SOLIBS}" +FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}" +FILES_libswresample = "${libdir}/libswresample${SOLIBS}" +FILES_libswscale = "${libdir}/libswscale${SOLIBS}" + +# ffmpeg disables PIC on some platforms (e.g. x86-32) +INSANE_SKIP_${MLPREFIX}libavcodec = "textrel" +INSANE_SKIP_${MLPREFIX}libavdevice = "textrel" +INSANE_SKIP_${MLPREFIX}libavfilter = "textrel" +INSANE_SKIP_${MLPREFIX}libavformat = "textrel" +INSANE_SKIP_${MLPREFIX}libavutil = "textrel" +INSANE_SKIP_${MLPREFIX}libavresample = "textrel" +INSANE_SKIP_${MLPREFIX}libswscale = "textrel" +INSANE_SKIP_${MLPREFIX}libswresample = "textrel" +INSANE_SKIP_${MLPREFIX}libpostproc = "textrel" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch new file mode 100644 index 000000000..a2f5dff5e --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch @@ -0,0 +1,50 @@ +From 4ef5c91697a141fea7317aff7f0f28e5a861db99 Mon Sep 17 00:00:00 2001 +From: Xavier Claessens +Date: Mon, 26 Apr 2021 14:25:03 -0400 +Subject: [PATCH] gstgl: Fix build when Meson >= 0.58.0rc1 + +"implicit_include_directories: false" now also means that current build +directory is not added to include paths by default any more. We have to +add it manually because we have some custom_target() that generate +headers in current build directory. + +See https://github.com/mesonbuild/meson/issues/8700. + +Part-of: +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin +--- + gst-libs/gst/gl/meson.build | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build +index 66668644e..53891625a 100644 +--- a/gst-libs/gst/gl/meson.build ++++ b/gst-libs/gst/gl/meson.build +@@ -1004,11 +1004,20 @@ if build_gstgl + command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@']) + gen_sources = [gl_enumtypes_h] + ++ common_args = gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'] ++ ++ # We have custom_target() that generate headers in the current build dir, ++ # but with implicit_include_directories: false, meson >= 0.58.0 won't include ++ # it by default. We cannot use include_directories('.') here because it would ++ # also include current source dir which is what we want to avoid because ++ # case-insensitive FS would include gst-libs/gl/egl/egl.h as EGL/egl.h. ++ common_args += '-I@0@'.format(meson.current_build_dir()) ++ + gstgl = library('gstgl-' + api_version, + gl_sources, gl_egl_sources, gl_x11_sources, gl_wayland_sources, gl_priv_sources, gl_enumtypes_c, gl_enumtypes_h, +- c_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'], +- cpp_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'], +- objc_args : gst_plugins_base_args + gl_cpp_args + gl_objc_args + ['-DBUILDING_GST_GL'], ++ c_args : common_args, ++ cpp_args : common_args, ++ objc_args : common_args + gl_objc_args, + include_directories : [configinc, libsinc, gl_includes], + version : libversion, + soversion : soversion, +-- +GitLab + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb index beddfb038..73b433ab9 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb @@ -11,6 +11,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba file://0003-viv-fb-Make-sure-config.h-is-included.patch \ file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ file://0004-glimagesink-Downrank-to-marginal.patch \ + file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \ " SRC_URI[sha256sum] = "29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch new file mode 100644 index 000000000..87223826c --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch @@ -0,0 +1,100 @@ +From 07572920319ea86cebb6dd073ab65915ec207eed Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sat, 8 May 2021 14:08:41 +0200 +Subject: [PATCH] Remove volatile from static vars to fix build with gcc11 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Stolen from [1] + +[1] https://src.fedoraproject.org/rpms/gstreamer1-plugins-good/blob/rawhide/f/gstreamer1-plugins-good-gcc11.patch + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + ext/qt/gstqsgtexture.cc | 2 +- + ext/qt/gstqtglutility.cc | 2 +- + ext/qt/qtglrenderer.cc | 2 +- + ext/qt/qtitem.cc | 2 +- + ext/qt/qtwindow.cc | 4 ++-- + 5 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc +index 4cc9fc6..50c8d7f 100644 +--- a/ext/qt/gstqsgtexture.cc ++++ b/ext/qt/gstqsgtexture.cc +@@ -35,7 +35,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); + + GstQSGTexture::GstQSGTexture () + { +- static volatile gsize _debug; ++ static gsize _debug; + + initializeOpenGLFunctions(); + +diff --git a/ext/qt/gstqtglutility.cc b/ext/qt/gstqtglutility.cc +index acb89b6..d2c0922 100644 +--- a/ext/qt/gstqtglutility.cc ++++ b/ext/qt/gstqtglutility.cc +@@ -66,7 +66,7 @@ gst_qt_get_gl_display () + { + GstGLDisplay *display = NULL; + QGuiApplication *app = static_cast (QCoreApplication::instance ()); +- static volatile gsize _debug; ++ static gsize _debug; + + g_assert (app != NULL); + +diff --git a/ext/qt/qtglrenderer.cc b/ext/qt/qtglrenderer.cc +index 2ad5601..bffba8f 100644 +--- a/ext/qt/qtglrenderer.cc ++++ b/ext/qt/qtglrenderer.cc +@@ -22,7 +22,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT); + static void + init_debug (void) + { +- static volatile gsize _debug; ++ static gsize _debug; + + if (g_once_init_enter (&_debug)) { + GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglrenderer", 0, +diff --git a/ext/qt/qtitem.cc b/ext/qt/qtitem.cc +index 7659800..bc99639 100644 +--- a/ext/qt/qtitem.cc ++++ b/ext/qt/qtitem.cc +@@ -104,7 +104,7 @@ void InitializeSceneGraph::run() + + QtGLVideoItem::QtGLVideoItem() + { +- static volatile gsize _debug; ++ static gsize _debug; + + if (g_once_init_enter (&_debug)) { + GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwidget", 0, "Qt GL Widget"); +diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc +index 0dfd3f1..f1bd4ae 100644 +--- a/ext/qt/qtwindow.cc ++++ b/ext/qt/qtwindow.cc +@@ -103,7 +103,7 @@ QtGLWindow::QtGLWindow ( QWindow * parent, QQuickWindow *src ) : + QQuickWindow( parent ), source (src) + { + QGuiApplication *app = static_cast (QCoreApplication::instance ()); +- static volatile gsize _debug; ++ static gsize _debug; + + g_assert (app != NULL); + +@@ -152,7 +152,7 @@ QtGLWindow::beforeRendering() + + g_mutex_lock (&this->priv->lock); + +- static volatile gsize once = 0; ++ static gsize once = 0; + if (g_once_init_enter(&once)) { + this->priv->start = QDateTime::currentDateTime().toMSecsSinceEpoch(); + g_once_init_leave(&once,1); +-- +2.30.2 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb index 07cacdc68..c7d31d206 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb @@ -7,6 +7,7 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \ + file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \ " SRC_URI[sha256sum] = "b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0" diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb index abf0a6774..8f929ffb5 100644 --- a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb +++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb @@ -15,6 +15,10 @@ SRC_URI[sha256sum] = "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1 # exclude betas UPSTREAM_CHECK_REGEX = "tiff-(?P\d+(\.\d+)+).tar" +# Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313 +# and 4.3.0 doesn't have the issue +CVE_CHECK_WHITELIST += "CVE-2015-7313" + inherit autotools multilib_header CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no" diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb deleted file mode 100644 index 7207bd1dd..000000000 --- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" -DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ -mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ -and also can write the decoded audio to WAV." -HOMEPAGE = "http://mpg123.de/" -BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169" - -SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" -SRC_URI[sha256sum] = "502a97e0d935be7e37d987338021d8f301bae35c2884f2a83d59c4b52466ef06" - -UPSTREAM_CHECK_REGEX = "mpg123-(?P\d+(\.\d+)+)\.tar" - -inherit autotools pkgconfig - -# The options should be mutually exclusive for configuration script. -# If both alsa and pulseaudio are specified (as in the default distro features) -# pulseaudio takes precedence. -PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" - -PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" -PACKAGECONFIG[esd] = ",,esound" -PACKAGECONFIG[jack] = ",,jack" -PACKAGECONFIG[openal] = ",,openal-soft" -PACKAGECONFIG[portaudio] = ",,portaudio-v19" -PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" -PACKAGECONFIG[sdl] = ",,libsdl2" - -# Following are possible sound output modules: -# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi -AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}" -AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" - -EXTRA_OECONF = " \ - --enable-shared \ - --with-audio='${AUDIOMODS}' \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ - ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-cpu=generic_nofpu', '', d)} \ -" -# Fails to build with thumb-1 (qemuarm) -#| {standard input}: Assembler messages: -#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' -#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24' -#... -#| make[3]: *** [equalizer.lo] Error 1 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb new file mode 100644 index 000000000..9a91cc89d --- /dev/null +++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb @@ -0,0 +1,52 @@ +SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" +DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ +mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ +and also can write the decoded audio to WAV." +HOMEPAGE = "http://mpg123.de/" +BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169" + +SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" +SRC_URI[sha256sum] = "52f6ceb962c05db0c043bb27acf5a721381f5f356ac4610e5221f50293891b04" + +UPSTREAM_CHECK_REGEX = "mpg123-(?P\d+(\.\d+)+)\.tar" + +inherit autotools pkgconfig + +# The options should be mutually exclusive for configuration script. +# If both alsa and pulseaudio are specified (as in the default distro features) +# pulseaudio takes precedence. +PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" + +PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" +PACKAGECONFIG[esd] = ",,esound" +PACKAGECONFIG[jack] = ",,jack" +PACKAGECONFIG[openal] = ",,openal-soft" +PACKAGECONFIG[portaudio] = ",,portaudio-v19" +PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" +PACKAGECONFIG[sdl] = ",,libsdl2" + +# Following are possible sound output modules: +# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi +AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}" +AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" + +EXTRA_OECONF = " \ + --enable-shared \ + --with-audio='${AUDIOMODS}' \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-cpu=generic_nofpu', '', d)} \ +" +# Fails to build with thumb-1 (qemuarm) +#| {standard input}: Assembler messages: +#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' +#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24' +#... +#| make[3]: *** [equalizer.lo] Error 1 +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch new file mode 100644 index 000000000..b1a43bd7f --- /dev/null +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch @@ -0,0 +1,26 @@ +From 4ee244d0824e772ab35abb0f9df5e8088e16fc5d Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 26 Apr 2021 19:30:40 +0200 +Subject: [PATCH] doxygen/meson.build: remove dependency on doxygen binary + +New meson refuses to complete confuguration if doxygen is absent +even if this target is never actually run. As we never run it, +let's remove it, until upstream and/or meson figure out that it's +optional and should be treated as such. + +Upstream-Status: Inappropriate [needs proper upstream fix] +Signed-off-by: Alexander Kanavin +--- + doxygen/meson.build | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/doxygen/meson.build b/doxygen/meson.build +index afc0e49..df55c83 100644 +--- a/doxygen/meson.build ++++ b/doxygen/meson.build +@@ -6,5 +6,3 @@ doxygen_conf = configure_file( + configuration : cdata, + ) + +-run_target('doxygen', +- command : ['doxygen', doxygen_conf]) diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb index 03b99306b..9b8338a66 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb @@ -6,6 +6,7 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ file://0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch \ file://0001-meson-Check-for-__get_cpuid.patch \ file://volatiles.04_pulse \ + file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \ " SRC_URI[md5sum] = "1efc916251910f1e9d4df7810e3e69f8" SRC_URI[sha256sum] = "75d3f7742c1ae449049a4c88900e454b8b350ecaa8c544f3488a2562a9ff66f1" diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb index f95fb0c41..81354a8fd 100644 --- a/poky/meta/recipes-multimedia/x264/x264_git.bb +++ b/poky/meta/recipes-multimedia/x264/x264_git.bb @@ -14,7 +14,7 @@ SRC_URI = "git://github.com/mirror/x264;branch=stable \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "544c61f082194728d0391fb280a6e138ba320a96" +SRCREV = "55d517bc4569272a2c9a367a4106c234aba2ffbc" PV = "r3039+git${SRCPV}" diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc index 0c89bad91..e97140add 100644 --- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc +++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc @@ -1,5 +1,5 @@ -# Version 1.8 -SRCREV = "6af88067da16c6e69243b376c3b6454ec694460b" +SRCREV = "c9051a36d934503b4673ca5615f631bae36dead0" +PV = "1.10+git${SRCPV}" PE = "1" SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=unstable/devel/latest" diff --git a/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb b/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb deleted file mode 100644 index d37ad00cf..000000000 --- a/poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb +++ /dev/null @@ -1,23 +0,0 @@ -inherit features_check -REQUIRED_DISTRO_FEATURES = "ptest" - -require core-image-sato-sdk.bb -require conf/distro/include/ptest-packagelists.inc - -IMAGE_INSTALL += "${PTESTS_FAST}" - -DESCRIPTION += "Also includes ptest packages with fast execution times to allow for more automated QA." -HOMEPAGE = "https://www.yoctoproject.org/" - -# This image is sufficiently large (~1.8GB) that it can't actually fit in a live -# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the -# box) and explicitly add just 1500MB. -# strace-ptest in particular needs more than 500MB -IMAGE_OVERHEAD_FACTOR = "1.0" -IMAGE_ROOTFS_EXTRA_SPACE = "1524288" - -# ptests need more memory than standard to avoid the OOM killer -QB_MEM = "-m 1024" - -# Sadly at the moment the fast set of ptests is not robust enough and sporadically fails in a couple of places -PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb deleted file mode 100644 index eea89a5d6..000000000 --- a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb +++ /dev/null @@ -1,27 +0,0 @@ -inherit features_check -REQUIRED_DISTRO_FEATURES = "ptest" - -require core-image-sato-sdk.bb -require conf/distro/include/ptest-packagelists.inc - -DESCRIPTION += "Also includes ptest packages." -HOMEPAGE = "https://www.yoctoproject.org/" - -PROVIDES += "core-image-sato-ptest" - -# Also include ptests which may not otherwise be included in a sato image -IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}" - -# This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live -# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the -# box) and explicitly add just 1100MB. -# strace-ptest in particular needs more than 500MB -IMAGE_OVERHEAD_FACTOR = "1.0" -IMAGE_ROOTFS_EXTRA_SPACE = "1124288" - -# ptests need more memory than standard to avoid the OOM killer -# also lttng-tools needs /tmp that has at least 1G -QB_MEM = "-m 2048" - -# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places -PTEST_EXPECT_FAILURE = "1" diff --git a/poky/meta/recipes-sato/puzzles/files/0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch b/poky/meta/recipes-sato/puzzles/files/0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch deleted file mode 100644 index d40a3b1ef..000000000 --- a/poky/meta/recipes-sato/puzzles/files/0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 337799e40350b3db2441cc98f65ec36a74dfb356 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 21 Apr 2017 12:18:08 -0700 -Subject: [PATCH] Use -Wno-error=format-overflow= if the compiler supports it - -we need this warning to be suppressed with gcc7+ -however older compilers dont support it so we need -a way to disble it only if compiler supports it - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 3a38c95..bb9035e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -42,7 +42,7 @@ fi - if test "x$GCC" = "xyes"; then - AC_MSG_CHECKING([for usable gcc warning flags]) - gccwarningflags= -- for flag in -Wall -Werror -std=c89 -pedantic; do -+ for flag in -Wall -Werror -std=c89 -pedantic -Wno-error=format-overflow=; do - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS$gccwarningflags $flag $GTK_CFLAGS" --- -2.12.2 - diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb index 16a08585c..69c3faadc 100644 --- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb +++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb @@ -2,17 +2,14 @@ SUMMARY = "Simon Tatham's Portable Puzzle Collection" DESCRIPTION = "Collection of small computer programs which implement one-player puzzle games." HOMEPAGE = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=6099f4981f9461d7f411091e69a7f07a" +LIC_FILES_CHKSUM = "file://LICENCE;md5=93c2525113e094a4a744cf14d4de07e2" -DEPENDS = "libxt" - -# The libxt requires x11 in DISTRO_FEATURES +# gtk support includes a bunch of x11 headers REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI = "git://git.tartarus.org/simon/puzzles.git \ +SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main \ file://fix-compiling-failure-with-option-g-O.patch \ file://0001-palisade-Fix-warnings-with-clang-on-arm.patch \ - file://0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch \ file://0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch \ file://fix-ki-uninitialized.patch \ file://0001-malloc-Check-for-excessive-values-to-malloc.patch \ @@ -20,27 +17,15 @@ SRC_URI = "git://git.tartarus.org/simon/puzzles.git \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "84cb4c6701e027090ff3fd955ce08065e20121b2" +SRCREV = "c0da615a933a6676e2c6b957368067ca1bc10abd" PE = "2" PV = "0.0+git${SRCPV}" S = "${WORKDIR}/git" -inherit autotools features_check pkgconfig - -PACKAGECONFIG ??= "gtk3" -PACKAGECONFIG[gtk2] = "--with-gtk=2,,gtk+," -PACKAGECONFIG[gtk3] = "--with-gtk=3,,gtk+3," - -CFLAGS_append = " -Wno-deprecated-declarations" - -ASNEEDED = "" +inherit cmake features_check pkgconfig -do_configure_prepend () { - cd ${S} - ./mkfiles.pl - cd ${B} -} +DEPENDS += "gtk+3" do_install_append () { # net conflicts with Samba, so rename it @@ -68,16 +53,3 @@ STOP done } -PACKAGES += "${PN}-extra" - -FILES_${PN} = "" -FILES_${PN}-extra = "${prefix}/bin ${datadir}/applications" - -python __anonymous () { - var = d.expand("FILES_${PN}") - data = d.getVar(var, False) - for name in ("bridges", "fifteen", "inertia", "map", "samegame", "slant"): - data = data + " ${bindir}/%s" % name - data = data + " ${datadir}/applications/%s.desktop" % name - d.setVar(var, data) -} diff --git a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/0001-libev-remove-deprecated-throw-specification.patch b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/0001-libev-remove-deprecated-throw-specification.patch deleted file mode 100644 index f10dca09d..000000000 --- a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode/0001-libev-remove-deprecated-throw-specification.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9a8f1d73e7b7e183768a8379ef32429a84f0e5c2 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 26 Feb 2021 18:11:56 -0800 -Subject: [PATCH] libev: remove deprecated throw specification - -removes the throw specifications that are deprecated since C++11: -warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - libev/ev++.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libev/ev++.h b/libev/ev++.h -index 4f0a36a..85ddf44 100644 ---- a/libev/ev++.h -+++ b/libev/ev++.h -@@ -376,7 +376,7 @@ namespace ev { - - struct default_loop : loop_ref - { -- default_loop (unsigned int flags = AUTO) throw (bad_loop) -+ default_loop (unsigned int flags = AUTO) - #if EV_MULTIPLICITY - : loop_ref (ev_default_loop (flags)) - #endif --- -2.30.1 - diff --git a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb deleted file mode 100644 index 283e8d775..000000000 --- a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb +++ /dev/null @@ -1,10 +0,0 @@ -require rxvt-unicode.inc - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://src/main.C;beginline=1;endline=31;md5=d3600d7ee1062667fcd1193fbe6485f6" - -SRC_URI += "file://0001-libev-remove-deprecated-throw-specification.patch" - -SRC_URI[sha256sum] = "e94628e9bcfa0adb1115d83649f898d6edb4baced44f5d5b769c2eeb8b95addd" - diff --git a/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.26.bb b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.26.bb new file mode 100644 index 000000000..3fe69a543 --- /dev/null +++ b/poky/meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.26.bb @@ -0,0 +1,8 @@ +require rxvt-unicode.inc + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://src/main.C;beginline=1;endline=31;md5=d3600d7ee1062667fcd1193fbe6485f6" + +SRC_URI[sha256sum] = "643116b9a25d29ad29f4890131796d42e6d2d21312282a613ef66c80c5b8c98b" + diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb b/poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb new file mode 100644 index 000000000..d90557e3a --- /dev/null +++ b/poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "General-purpose library specifically developed for the WPE-flavored port of WebKit." +HOMEPAGE = "https://github.com/WebPlatformForEmbedded/libwpe" +BUGTRACKER = "https://github.com/WebPlatformForEmbedded/libwpe/issues" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=371a616eb4903c6cb79e9893a5f615cc" +DEPENDS = "virtual/egl libxkbcommon" + +# Workaround build issue with RPi userland EGL libraries. +CFLAGS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '-D_GNU_SOURCE', d)}" + +inherit cmake features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "2415e270d45e3595ed4052bc105f733744dc2d3677e12ff4a831e5029841084d" + +# This is a tweak of upstream-version-is-even needed because +# ipstream directory contains tarballs for other components as well. +UPSTREAM_CHECK_REGEX = "libwpe-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb b/poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb deleted file mode 100644 index 164831be3..000000000 --- a/poky/meta/recipes-sato/webkit/libwpe_1.8.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "General-purpose library specifically developed for the WPE-flavored port of WebKit." -HOMEPAGE = "https://github.com/WebPlatformForEmbedded/libwpe" -BUGTRACKER = "https://github.com/WebPlatformForEmbedded/libwpe/issues" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=371a616eb4903c6cb79e9893a5f615cc" -DEPENDS = "virtual/egl libxkbcommon" - -# Workaround build issue with RPi userland EGL libraries. -CFLAGS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '-D_GNU_SOURCE', d)}" - -inherit cmake features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "a6f00a7d091cbd4db57fe7ee3b4c12c6350921d654ed79812800a26c888481d2" - -# This is a tweak of upstream-version-is-even needed because -# ipstream directory contains tarballs for other components as well. -UPSTREAM_CHECK_REGEX = "libwpe-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch index ca7b1bca4..efe286ed6 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch @@ -1,4 +1,4 @@ -From b145ab4273c59f4f908cdaff9e267241bd970e93 Mon Sep 17 00:00:00 2001 +From af90ae1f128626e8d57a8bcbc432596bfc2987af Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 3 Feb 2020 17:06:27 -0800 Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG @@ -20,19 +20,19 @@ Signed-off-by: Khem Raj 2 files changed, 2 insertions(+) diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake -index 8732e935..9b4fbae7 100644 +index af6c0fac..f393d741 100644 --- a/Source/cmake/OptionsGTK.cmake +++ b/Source/cmake/OptionsGTK.cmake -@@ -32,6 +32,7 @@ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") - if (USER_AGENT_BRANDING) - add_definitions(-DUSER_AGENT_BRANDING="${USER_AGENT_BRANDING}") - endif () +@@ -6,6 +6,7 @@ WEBKIT_OPTION_BEGIN() + SET_PROJECT_VERSION(2 32 1) + + set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string") +set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Cairo 1.14.0 REQUIRED) find_package(Fontconfig 2.8.0 REQUIRED) diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake -index 316c6240..2f712602 100644 +index 10664400..d9aca95a 100644 --- a/Source/cmake/OptionsJSCOnly.cmake +++ b/Source/cmake/OptionsJSCOnly.cmake @@ -1,3 +1,4 @@ diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch deleted file mode 100644 index 68195f846..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 40520b0de69d8ca8e659248f5ffe641f33cc6dee Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 9 Mar 2021 14:16:58 -0800 -Subject: [PATCH] Extend atomics check to include 1-byte CAS test - -Rename ATOMIC_INT64_REQUIRES_LIBATOMIC to ATOMICS_REQUIRE_LIBATOMIC so -it can reflect broader range which is now checked - -Rename ATOMIC_INT64_IS_BUILTIN to ATOMICS_ARE_BUILTIN - -Upstream-Status: Accepted [https://bugs.webkit.org/attachment.cgi?bugid=222959] -Signed-off-by: Khem Raj ---- - Source/JavaScriptCore/CMakeLists.txt | 2 +- - Source/WebKit/CMakeLists.txt | 2 +- - Source/cmake/WebKitCompilerFlags.cmake | 15 ++++++++++----- - 3 files changed, 12 insertions(+), 7 deletions(-) - ---- a/Source/JavaScriptCore/CMakeLists.txt -+++ b/Source/JavaScriptCore/CMakeLists.txt -@@ -129,7 +129,7 @@ if (USE_CAPSTONE) - list(APPEND JavaScriptCore_LIBRARIES capstone) - endif () - --if (ATOMIC_INT64_REQUIRES_LIBATOMIC) -+if (ATOMICS_REQUIRE_LIBATOMIC) - list(APPEND JavaScriptCore_LIBRARIES atomic) - endif () - ---- a/Source/WebKit/CMakeLists.txt -+++ b/Source/WebKit/CMakeLists.txt -@@ -337,7 +337,7 @@ if (USE_LIBWEBRTC) - list(APPEND WebKit_LIBRARIES webrtc) - endif () - --if (ATOMIC_INT64_REQUIRES_LIBATOMIC) -+if (ATOMICS_REQUIRE_LIBATOMIC) - list(APPEND WebKit_PRIVATE_LIBRARIES atomic) - endif () - ---- a/Source/cmake/WebKitCompilerFlags.cmake -+++ b/Source/cmake/WebKitCompilerFlags.cmake -@@ -280,12 +280,17 @@ endif () - if (COMPILER_IS_GCC_OR_CLANG) - set(ATOMIC_TEST_SOURCE " - #include -- int main() { std::atomic i(0); i++; return 0; } -+ int main() { -+ std::atomic i(0); -+ std::atomic j(0); -+ i++; j++; -+ return 0; -+ } - ") -- check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_IS_BUILTIN) -- if (NOT ATOMIC_INT64_IS_BUILTIN) -+ check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMICS_ARE_BUILTIN) -+ if (NOT ATOMICS_ARE_BUILTIN) - set(CMAKE_REQUIRED_LIBRARIES atomic) -- check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMIC_INT64_REQUIRES_LIBATOMIC) -+ check_cxx_source_compiles("${ATOMIC_TEST_SOURCE}" ATOMICS_REQUIRE_LIBATOMIC) - unset(CMAKE_REQUIRED_LIBRARIES) - endif () - endif () ---- a/Source/WTF/wtf/CMakeLists.txt -+++ b/Source/WTF/wtf/CMakeLists.txt -@@ -529,6 +529,10 @@ list(APPEND WTF_LIBRARIES - ICU::uc - ) - -+if (ATOMICS_REQUIRE_LIBATOMIC) -+ list(APPEND WTF_LIBRARIES atomic) -+endif () -+ - set(WTF_INTERFACE_LIBRARIES WTF) - set(WTF_INTERFACE_INCLUDE_DIRECTORIES ${WTF_FRAMEWORK_HEADERS_DIR}) - set(WTF_INTERFACE_DEPENDENCIES WTF_CopyHeaders) diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch deleted file mode 100644 index 1ccef1fdc..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 828a500d5be62ba6fc94bd4fac3fe4bf1b1d4f6d Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 6 Oct 2017 17:00:08 +0300 -Subject: [PATCH] Fix build with musl - -Upstream-Status: Accepted -Signed-off-by: Alexander Kanavin - ---- - Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++----- - Source/WTF/wtf/PlatformHave.h | 2 +- - 2 files changed, 6 insertions(+), 6 deletions(-) - ---- a/Source/JavaScriptCore/runtime/MachineContext.h -+++ b/Source/JavaScriptCore/runtime/MachineContext.h -@@ -196,7 +196,7 @@ static inline void*& stackPointerImpl(mc - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif defined(__linux__) - - #if CPU(X86) - return reinterpret_cast((uintptr_t&) machineContext.gregs[REG_ESP]); -@@ -347,7 +347,7 @@ static inline void*& framePointerImpl(mc - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -498,7 +498,7 @@ static inline void*& instructionPointerI - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -656,7 +656,7 @@ inline void*& argumentPointer<1>(mcontex - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -773,7 +773,7 @@ inline void*& llintInstructionPointer(mc - #error Unknown Architecture - #endif - --#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) ---- a/Source/WTF/wtf/PlatformHave.h -+++ b/Source/WTF/wtf/PlatformHave.h -@@ -202,7 +202,7 @@ - #define HAVE_HOSTED_CORE_ANIMATION 1 - #endif - --#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) -+#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) - #define HAVE_MACHINE_CONTEXT 1 - #endif - ---- a/Source/WebCore/xml/XPathGrammar.cpp -+++ b/Source/WebCore/xml/XPathGrammar.cpp -@@ -966,7 +966,7 @@ int yydebug; - #if YYERROR_VERBOSE - - # ifndef yystrlen --# if defined __GLIBC__ && defined _STRING_H -+# if defined __linux__ && defined _STRING_H - # define yystrlen strlen - # else - /* Return the length of YYSTR. */ -@@ -989,7 +989,7 @@ yystrlen (yystr) - # endif - - # ifndef yystpcpy --# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -+# if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE - # define yystpcpy stpcpy - # else - /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch new file mode 100644 index 000000000..b5367022d --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch @@ -0,0 +1,37 @@ +From 834f335bb3e63e0bf78eed0520df33d5c55e5e8a Mon Sep 17 00:00:00 2001 +From: "commit-queue@webkit.org" + +Date: Sat, 10 Apr 2021 22:02:50 +0000 +Subject: [PATCH] Properly use CompletionHandler when USE_OPENGL_OR_ES is set + to OFF https://bugs.webkit.org/show_bug.cgi?id=224149 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Patch by Charlène Wendling on 2021-04-10 +Reviewed by Fujii Hironori. + +* WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h: +(WebKit::LayerTreeHost::forceRepaintAsync): + +git-svn-id: http://svn.webkit.org/repository/webkit/trunk@275802 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +Upstream-Status: Backport +Signed-off-by: Martin Jansa +--- + .../WebPage/CoordinatedGraphics/LayerTreeHost.h | 2 +- + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h +index 6727d16c8c0b..db65f813267d 100644 +--- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h ++++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h +@@ -213,7 +213,7 @@ inline void LayerTreeHost::setRootCompositingLayer(WebCore::GraphicsLayer*) { } + inline void LayerTreeHost::setViewOverlayRootLayer(WebCore::GraphicsLayer*) { } + inline void LayerTreeHost::scrollNonCompositedContents(const WebCore::IntRect&) { } + inline void LayerTreeHost::forceRepaint() { } +-inline bool LayerTreeHost::forceRepaintAsync(CompletionHandler&) { return false; } ++inline void LayerTreeHost::forceRepaintAsync(CompletionHandler&&) { } + inline void LayerTreeHost::sizeDidChange(const WebCore::IntSize&) { } + inline void LayerTreeHost::pauseRendering() { } + inline void LayerTreeHost::resumeRendering() { } diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch b/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch index f770b381c..ffe1b74be 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch @@ -1,3 +1,8 @@ +From d95f46e149226f634830e76cc1f4f8e3ee04ff5a Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 6 Nov 2020 04:38:13 +0100 +Subject: [PATCH] webkitgtk: fix build with x11 enabled + Since https://github.com/WebKit/webkit/commit/acd3f32cd43c363be032f93ede3aa10c4ee97fa4 it uses XVisualInfo which is defined in Xutil.h @@ -11,9 +16,14 @@ webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:132 Upstream-Status: Pending Signed-off-by: Martin Jansa -diff -uNr webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp ---- webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2020-08-12 09:17:55.000000000 +0000 -+++ webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp 2020-11-06 03:11:40.379913528 +0000 +--- + Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp +index 2d66b9cd..424fb5a1 100644 +--- a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp ++++ b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp @@ -30,6 +30,7 @@ #if PLATFORM(X11) @@ -21,4 +31,4 @@ diff -uNr webkitgtk-2.30.2.orig/Source/WebCore/platform/graphics/x11/PlatformDis +#include #include #if PLATFORM(GTK) - #include + #include diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch b/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch index 5033de419..f71f8452f 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch @@ -1,4 +1,7 @@ -reduce thread stack and heap usage for javascriptcore on musl +From 04e4999c6fa2e9810634745a07f1e380f27b8e61 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 17 Mar 2021 13:24:57 -0700 +Subject: [PATCH] reduce thread stack and heap usage for javascriptcore on musl default sizes for musl are smaller compared to glibc, this matches to musl defaults, avoid stack overflow crashes in jscore @@ -16,9 +19,16 @@ glibc in OE remains same Upstream-Status: Accepted Signed-off-by: Khem Raj +--- + Source/JavaScriptCore/runtime/OptionsList.h | 18 +++++++++++++++--- + Source/WTF/wtf/Threading.h | 4 ++++ + 2 files changed, 19 insertions(+), 3 deletions(-) + +diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h +index bb6d2f1d..a6209742 100644 --- a/Source/JavaScriptCore/runtime/OptionsList.h +++ b/Source/JavaScriptCore/runtime/OptionsList.h -@@ -75,6 +75,18 @@ constexpr bool enableWebAssemblyStreamin +@@ -71,6 +71,18 @@ JS_EXPORT_PRIVATE bool canUseJITCage(); // On instantiation of the first VM instance, the Options will be write protected // and cannot be modified thereafter. @@ -37,7 +47,7 @@ Signed-off-by: Khem Raj #define FOR_EACH_JSC_OPTION(v) \ v(Bool, useKernTCSM, defaultTCSMValue(), Normal, "Note: this needs to go before other options since they depend on this value.") \ v(Bool, validateOptions, false, Normal, "crashes if mis-typed JSC options were passed to the VM") \ -@@ -90,9 +102,9 @@ constexpr bool enableWebAssemblyStreamin +@@ -86,9 +98,9 @@ JS_EXPORT_PRIVATE bool canUseJITCage(); \ v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \ \ @@ -50,19 +60,12 @@ Signed-off-by: Khem Raj \ v(Bool, crashOnDisallowedVMEntry, ASSERT_ENABLED, Normal, "Forces a crash if we attempt to enter the VM when disallowed") \ v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \ -@@ -601,7 +613,7 @@ public: - bool init(const char*); - bool isInRange(unsigned); - const char* rangeString() const { return (m_state > InitError) ? m_rangeString : s_nullRangeStr; } -- -+ - void dump(PrintStream& out) const; - - private: +diff --git a/Source/WTF/wtf/Threading.h b/Source/WTF/wtf/Threading.h +index 9495d6c1..190b3811 100644 --- a/Source/WTF/wtf/Threading.h +++ b/Source/WTF/wtf/Threading.h -@@ -56,6 +56,10 @@ - #include +@@ -60,6 +60,10 @@ + #include #endif +#if OS(LINUX) && !defined(__GLIBC__) diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch b/poky/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch index 0493150a9..aa11c131d 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch +++ b/poky/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch @@ -1,22 +1,28 @@ +From ec6045fcf5a46123b54029a675d08d89a5e30f21 Mon Sep 17 00:00:00 2001 From: Alberto Garcia -Subject: Reduce memory usage when not using the Gold linker -Bug-Debian: https://bugs.debian.org/949621 -Forwarded: no +Date: Sun, 25 Apr 2021 18:45:13 +0000 +Subject: [PATCH] Reduce memory usage when not using the Gold linker Upstream-Status: Pending Signed-off-by: Khem Raj + +--- + Source/cmake/OptionsCommon.cmake | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake +index dd4da682..71ad6106 100644 --- a/Source/cmake/OptionsCommon.cmake +++ b/Source/cmake/OptionsCommon.cmake -@@ -95,6 +95,12 @@ option(GCC_OFFLINEASM_SOURCE_MAP - "Produce debug line information for offlineasm-generated code" +@@ -101,6 +101,11 @@ option(GCC_OFFLINEASM_SOURCE_MAP ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT}) + option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE}) +# Pass --reduce-memory-overheads to the bfd linker in order to save memory +if (NOT USE_LD_GOLD) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads") +endif () -+ + # Enable the usage of OpenMP. # - At this moment, OpenMP is only used as an alternative implementation - # to native threads for the parallelization of the SVG filters. diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb deleted file mode 100644 index 7d0d0fc16..000000000 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.30.6.bb +++ /dev/null @@ -1,151 +0,0 @@ -SUMMARY = "WebKit web rendering engine for the GTK+ platform" -HOMEPAGE = "https://www.webkitgtk.org/" -BUGTRACKER = "https://bugs.webkit.org/" - -LICENSE = "BSD & LGPLv2+" -LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ - file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ - file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ - file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ - " - -SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ - file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ - file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ - file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ - file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ - file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \ - file://0001-Fix-build-with-musl.patch \ - file://include_xutil.patch \ - file://reduce-memory-overheads.patch \ - file://0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch \ - file://musl-lower-stack-usage.patch \ - file://0001-MiniBrowser-Fix-reproduciblity.patch \ - " - -SRC_URI[sha256sum] = "50736ec7a91770b5939d715196e5fe7209b93efcdeef425b24dc51fb8e9d7c1e" - -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" - -CVE_PRODUCT = "webkitgtk webkitgtk\+" - -DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libgcrypt \ - gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ - pango icu bison-native gawk intltool-native libwebp \ - atk udev harfbuzz jpeg libpng librsvg libtheora libvorbis \ - ruby-native libnotify gstreamer1.0-plugins-bad \ - gettext-native glib-2.0 glib-2.0-native libtasn1 \ - " - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ - enchant \ - libsecret \ - " - -PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" -PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" -PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" -PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" -PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" -PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl" -PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" -PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" -PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" -PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" -PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" -PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," - -# webkitgtk is full of /usr/bin/env python, particular for generating docs -do_configure[postfuncs] += "setup_python_link" -setup_python_link() { - if [ ! -e ${STAGING_BINDIR_NATIVE}/python ]; then - ln -s `which python3` ${STAGING_BINDIR_NATIVE}/python - fi -} - -EXTRA_OECMAKE = " \ - -DPORT=GTK \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ - ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ - -DENABLE_MINIBROWSER=ON \ - -DPYTHON_EXECUTABLE=`which python3` \ - -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ - " - -# Javascript JIT is not supported on ARC -EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " -# By default 25-bit "medium" calls are used on ARC -# which is not enough for binaries larger than 32 MiB -CFLAGS_append_arc = " -mlong-calls" -CXXFLAGS_append_arc = " -mlong-calls" - -# Javascript JIT is not supported on powerpc -EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " - -# ARM JIT code does not build on ARMv4/5/6 anymore -EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " -EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " - -EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " -EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " - -# JIT and gold linker does not work on RISCV -EXTRA_OECMAKE_append_riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" -EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" - -# JIT not supported on MIPS either -EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " - -# JIT not supported on X32 -# An attempt was made to upstream JIT support for x32 in -# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as -# unresolved due to limited X32 adoption. -EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF " - -SECURITY_CFLAGS_remove_aarch64 = "-fpie" -SECURITY_CFLAGS_append_aarch64 = " -fPIE" - -FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" - -RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" - -# http://errors.yoctoproject.org/Errors/Details/20370/ -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" - -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET_armv7a = "thumb" -ARM_INSTRUCTION_SET_armv7r = "thumb" -ARM_INSTRUCTION_SET_armv7ve = "thumb" - -# introspection inside qemu-arm hangs forever on musl/arm builds -# therefore disable GI_DATA -GI_DATA_ENABLED_libc-musl_armv7a = "False" -GI_DATA_ENABLED_libc-musl_armv7ve = "False" - -# Can't be built with ccache -CCACHE_DISABLE = "1" - -PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" -src_package_preprocess () { - # Trim build paths from comments in generated sources to ensure reproducibility - sed -i -e "s,${WORKDIR},,g" \ - ${B}/DerivedSources/webkit2gtk/webkit2/*.cpp \ - ${B}/DerivedSources/ForwardingHeaders/JavaScriptCore/*.h \ - ${B}/DerivedSources/JavaScriptCore/*.h \ - ${B}/DerivedSources/JavaScriptCore/yarr/*.h \ - ${B}/DerivedSources/MiniBrowser/*.c -} - diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb new file mode 100644 index 000000000..7abf96c25 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb @@ -0,0 +1,151 @@ +SUMMARY = "WebKit web rendering engine for the GTK+ platform" +HOMEPAGE = "https://www.webkitgtk.org/" +BUGTRACKER = "https://bugs.webkit.org/" + +LICENSE = "BSD & LGPLv2+" +LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \ + file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \ + file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \ + file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \ + " + +SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \ + file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \ + file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \ + file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \ + file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \ + file://include_xutil.patch \ + file://reduce-memory-overheads.patch \ + file://musl-lower-stack-usage.patch \ + file://0001-MiniBrowser-Fix-reproduciblity.patch \ + file://0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch \ + " + +SRC_URI[sha256sum] = "136117317f70f66486f71b8edf5e46f8776403c5d8a296e914b11a36ef836917" + +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" + +CVE_PRODUCT = "webkitgtk webkitgtk\+" + +DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libgcrypt \ + gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \ + pango icu bison-native gawk intltool-native libwebp \ + atk udev harfbuzz jpeg libpng librsvg libtheora libvorbis \ + ruby-native libnotify gstreamer1.0-plugins-bad \ + gettext-native glib-2.0 glib-2.0-native libtasn1 \ + " + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \ + enchant \ + libsecret \ + " + +PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt" +PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue" +PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2" +PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2" +PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl" +PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl" +PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret" +PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen" +PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2" +PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" +PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" +PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," + +# webkitgtk is full of /usr/bin/env python, particular for generating docs +do_configure[postfuncs] += "setup_python_link" +setup_python_link() { + if [ ! -e ${STAGING_BINDIR_NATIVE}/python ]; then + ln -s `which python3` ${STAGING_BINDIR_NATIVE}/python + fi +} + +EXTRA_OECMAKE = " \ + -DPORT=GTK \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ + ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \ + -DENABLE_MINIBROWSER=ON \ + -DPYTHON_EXECUTABLE=`which python3` \ + -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ + -DENABLE_GAMEPAD=OFF \ + " + +# Javascript JIT is not supported on ARC +EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " +# By default 25-bit "medium" calls are used on ARC +# which is not enough for binaries larger than 32 MiB +CFLAGS_append_arc = " -mlong-calls" +CXXFLAGS_append_arc = " -mlong-calls" + +# Javascript JIT is not supported on powerpc +EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF " + +# ARM JIT code does not build on ARMv4/5/6 anymore +EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF " +EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF " + +EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF " +EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF " + +# JIT and gold linker does not work on RISCV +EXTRA_OECMAKE_append_riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" +EXTRA_OECMAKE_append_riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF" + +# JIT not supported on MIPS either +EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " + +# JIT not supported on X32 +# An attempt was made to upstream JIT support for x32 in +# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as +# unresolved due to limited X32 adoption. +EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF " + +SECURITY_CFLAGS_remove_aarch64 = "-fpie" +SECURITY_CFLAGS_append_aarch64 = " -fPIE" + +FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so" + +RRECOMMENDS_${PN} += "ca-certificates shared-mime-info" + +# http://errors.yoctoproject.org/Errors/Details/20370/ +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" +ARM_INSTRUCTION_SET_armv6 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET_armv7a = "thumb" +ARM_INSTRUCTION_SET_armv7r = "thumb" +ARM_INSTRUCTION_SET_armv7ve = "thumb" + +# introspection inside qemu-arm hangs forever on musl/arm builds +# therefore disable GI_DATA +GI_DATA_ENABLED_libc-musl_armv7a = "False" +GI_DATA_ENABLED_libc-musl_armv7ve = "False" + +# Can't be built with ccache +CCACHE_DISABLE = "1" + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${WORKDIR},,g" \ + ${B}/DerivedSources/webkit2gtk/webkit2/*.cpp \ + ${B}/DerivedSources/ForwardingHeaders/JavaScriptCore/*.h \ + ${B}/DerivedSources/JavaScriptCore/*.h \ + ${B}/DerivedSources/JavaScriptCore/yarr/*.h \ + ${B}/DerivedSources/MiniBrowser/*.c +} + diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.3.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.3.bb deleted file mode 100644 index d27111a45..000000000 --- a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "WPE's backend based on a freedesktop.org stack." -HOMEPAGE = "https://github.com/Igalia/WPEBackend-fdo" -BUGTRACKER = "https://github.com/Igalia/WPEBackend-fdo/issues" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66" -DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy" - -DEPENDS_append_class-target = " wayland-native" - -inherit meson features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "3d0b4282a1bd9e0664d7a20abe14e982f3285296ac62de56cae2a404b9d28b9e" - -# This is a tweak of upstream-version-is-even needed because -# ipstream directory contains tarballs for other components as well. -UPSTREAM_CHECK_REGEX = "wpebackend-fdo-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb new file mode 100644 index 000000000..28b2a927a --- /dev/null +++ b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb @@ -0,0 +1,20 @@ +SUMMARY = "WPE's backend based on a freedesktop.org stack." +HOMEPAGE = "https://github.com/Igalia/WPEBackend-fdo" +BUGTRACKER = "https://github.com/Igalia/WPEBackend-fdo/issues" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66" +DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy" + +DEPENDS_append_class-target = " wayland-native" + +inherit meson features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "def59bed5e8cdabb65ffa76ee2eef349fba7b42a75dac80f3da5954b17f4074a" + +# This is a tweak of upstream-version-is-even needed because +# ipstream directory contains tarballs for other components as well. +UPSTREAM_CHECK_REGEX = "wpebackend-fdo-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.40.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.40.0.bb deleted file mode 100644 index e80fa260f..000000000 --- a/poky/meta/recipes-support/atk/at-spi2-core_2.40.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" - -DESCRIPTION = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked." - -HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" -BUGTRACKER = "http://bugzilla.gnome.org/" -LICENSE = "LGPL-2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "4196a7d30a0051e52a67b8ce4283fe79ae5e4e14a725719934565adf1d333429" - -X11DEPENDS = "virtual/libx11 libxi libxtst" - -DEPENDS = "dbus glib-2.0" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" - -inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection - -EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ - -Ddbus_daemon=${bindir}/dbus-daemon \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ -" - -GTKDOC_MESON_OPTION = "docs" - -GIR_MESON_OPTION = 'introspection' -GIR_MESON_ENABLE_FLAG = 'yes' -GIR_MESON_DISABLE_FLAG = 'no' - -FILES_${PN} += "${datadir}/dbus-1/services/*.service \ - ${datadir}/dbus-1/accessibility-services/*.service \ - ${datadir}/defaults/at-spi2 \ - ${systemd_user_unitdir}/at-spi-dbus-bus.service \ - " -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.40.1.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.40.1.bb new file mode 100644 index 000000000..83e1908ef --- /dev/null +++ b/poky/meta/recipes-support/atk/at-spi2-core_2.40.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" + +DESCRIPTION = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked." + +HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" +BUGTRACKER = "http://bugzilla.gnome.org/" +LICENSE = "LGPL-2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "9f66e3a4ee42db897af478a826b1366d7011a6d55ddb7e9d4bfeb3300ab23856" + +X11DEPENDS = "virtual/libx11 libxi libxtst" + +DEPENDS = "dbus glib-2.0" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" + +inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection + +EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ + -Ddbus_daemon=${bindir}/dbus-daemon \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ +" + +GTKDOC_MESON_OPTION = "docs" + +GIR_MESON_OPTION = 'introspection' +GIR_MESON_ENABLE_FLAG = 'yes' +GIR_MESON_DISABLE_FLAG = 'no' + +FILES_${PN} += "${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/accessibility-services/*.service \ + ${datadir}/defaults/at-spi2 \ + ${systemd_user_unitdir}/at-spi-dbus-bus.service \ + " +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/attr/acl_2.2.53.bb b/poky/meta/recipes-support/attr/acl_2.2.53.bb deleted file mode 100644 index 7cee45948..000000000 --- a/poky/meta/recipes-support/attr/acl_2.2.53.bb +++ /dev/null @@ -1,79 +0,0 @@ -SUMMARY = "Utilities for managing POSIX Access Control Lists" -DESCRIPTION = "ACL allows you to provide different levels of access to files \ -and folders for different users." - -HOMEPAGE = "http://savannah.nongnu.org/projects/acl/" -BUGTRACKER = "http://savannah.nongnu.org/bugs/?group=acl" - -SECTION = "libs" - -LICENSE = "LGPLv2.1+ & GPLv2+" -LICENSE_${PN} = "GPLv2+" -LICENSE_lib${BPN} = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \ - file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764" - -DEPENDS = "attr" - -SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.tar.gz \ - file://run-ptest \ - file://0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch \ - file://0001-test-patch-out-failing-bits.patch \ - " - -SRC_URI[md5sum] = "007aabf1dbb550bcddde52a244cd1070" -SRC_URI[sha256sum] = "06be9865c6f418d851ff4494e12406568353b891ffe1f596b34693c387af26c7" - -inherit autotools gettext ptest - -PACKAGES =+ "lib${BPN}" - -FILES_lib${BPN} = "${libdir}/lib*${SOLIBS}" - -PTEST_BUILD_HOST_FILES = "builddefs" -PTEST_BUILD_HOST_PATTERN = "^RPM" - -do_compile_ptest() { - oe_runmake libtestlookup.la -} - -do_install_ptest() { - cp -rf ${S}/test/ ${D}${PTEST_PATH} - cp -rf ${S}/build-aux/ ${D}${PTEST_PATH} - mkdir -p ${D}${PTEST_PATH}/.libs - cp -rf ${B}/.libs/libtestlookup* ${D}${PTEST_PATH}/.libs - cp ${B}/Makefile ${D}${PTEST_PATH} - - sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ - -i ${D}${PTEST_PATH}/Makefile - - sed -i "s|^srcdir =.*|srcdir = \.|g" ${D}${PTEST_PATH}/Makefile - sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" ${D}${PTEST_PATH}/Makefile - sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" ${D}${PTEST_PATH}/Makefile - sed -i "s|^Makefile:.*|Makefile:|g" ${D}${PTEST_PATH}/Makefile - - rm ${D}${PTEST_PATH}/.libs/libtestlookup.lai -} - -RDEPENDS_${PN}-ptest = "acl \ - bash \ - coreutils \ - perl \ - perl-module-filehandle \ - perl-module-getopt-std \ - perl-module-posix \ - shadow \ - make \ - gawk \ - e2fsprogs-mke2fs \ - perl-module-cwd \ - perl-module-file-basename \ - perl-module-file-path \ - perl-module-file-spec \ - " - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/attr/acl_2.3.1.bb b/poky/meta/recipes-support/attr/acl_2.3.1.bb new file mode 100644 index 000000000..7f6cbf5c4 --- /dev/null +++ b/poky/meta/recipes-support/attr/acl_2.3.1.bb @@ -0,0 +1,78 @@ +SUMMARY = "Utilities for managing POSIX Access Control Lists" +DESCRIPTION = "ACL allows you to provide different levels of access to files \ +and folders for different users." + +HOMEPAGE = "http://savannah.nongnu.org/projects/acl/" +BUGTRACKER = "http://savannah.nongnu.org/bugs/?group=acl" + +SECTION = "libs" + +LICENSE = "LGPLv2.1+ & GPLv2+" +LICENSE_${PN} = "GPLv2+" +LICENSE_lib${BPN} = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \ + file://doc/COPYING.LGPL;md5=9e9a206917f8af112da634ce3ab41764" + +DEPENDS = "attr" + +SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.tar.gz \ + file://run-ptest \ + file://0001-tests-do-not-hardcode-the-build-path-into-a-helper-l.patch \ + file://0001-test-patch-out-failing-bits.patch \ + " + +SRC_URI[sha256sum] = "760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af" + +inherit autotools gettext ptest + +PACKAGES =+ "lib${BPN}" + +FILES_lib${BPN} = "${libdir}/lib*${SOLIBS}" + +PTEST_BUILD_HOST_FILES = "builddefs" +PTEST_BUILD_HOST_PATTERN = "^RPM" + +do_compile_ptest() { + oe_runmake libtestlookup.la +} + +do_install_ptest() { + cp -rf ${S}/test/ ${D}${PTEST_PATH} + cp -rf ${S}/build-aux/ ${D}${PTEST_PATH} + mkdir -p ${D}${PTEST_PATH}/.libs + cp -rf ${B}/.libs/libtestlookup* ${D}${PTEST_PATH}/.libs + cp ${B}/Makefile ${D}${PTEST_PATH} + + sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ + -i ${D}${PTEST_PATH}/Makefile + + sed -i "s|^srcdir =.*|srcdir = \.|g" ${D}${PTEST_PATH}/Makefile + sed -i "s|^abs_srcdir =.*|abs_srcdir = \.|g" ${D}${PTEST_PATH}/Makefile + sed -i "s|^abs_top_srcdir =.*|abs_top_srcdir = \.\.|g" ${D}${PTEST_PATH}/Makefile + sed -i "s|^Makefile:.*|Makefile:|g" ${D}${PTEST_PATH}/Makefile + + rm ${D}${PTEST_PATH}/.libs/libtestlookup.lai +} + +RDEPENDS_${PN}-ptest = "acl \ + bash \ + coreutils \ + perl \ + perl-module-filehandle \ + perl-module-getopt-std \ + perl-module-posix \ + shadow \ + make \ + gawk \ + e2fsprogs-mke2fs \ + perl-module-cwd \ + perl-module-file-basename \ + perl-module-file-path \ + perl-module-file-spec \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/boost/boost-1.76.0.inc b/poky/meta/recipes-support/boost/boost-1.76.0.inc index eb5d48497..c02f38b04 100644 --- a/poky/meta/recipes-support/boost/boost-1.76.0.inc +++ b/poky/meta/recipes-support/boost/boost-1.76.0.inc @@ -11,7 +11,7 @@ BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}" BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}" BOOST_P = "boost_${BOOST_VER}" -SRC_URI = "https://dl.bintray.com/boostorg/release/${PV}/source/${BOOST_P}.tar.bz2" +SRC_URI = "https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/${BOOST_P}.tar.bz2" SRC_URI[sha256sum] = "f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41" UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/" diff --git a/poky/meta/recipes-support/curl/curl_7.76.0.bb b/poky/meta/recipes-support/curl/curl_7.76.0.bb deleted file mode 100644 index db6318148..000000000 --- a/poky/meta/recipes-support/curl/curl_7.76.0.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Command line tool and library for client-side URL transfers" -DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \ -curl is a widely used because of its ability to be flexible and complete \ -complex tasks. For example, you can use curl for things like user authentication, \ -HTTP post, SSL connections, proxy support, FTP uploads, and more!" -HOMEPAGE = "http://curl.haxx.se/" -BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" -SECTION = "console/network" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=425f6fdc767cc067518eef9bbdf4ab7b" - -SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \ - file://0001-replace-krb5-config-with-pkg-config.patch \ -" - -SRC_URI[sha256sum] = "e29bfe3633701590d75b0071bbb649ee5ca4ca73f00649268bd389639531c49a" - -# Curl has used many names over the years... -CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" - -inherit autotools pkgconfig binconfig multilib_header - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} ssl libidn proxy threaded-resolver verbose zlib" -PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" -PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" - -# 'ares' and 'threaded-resolver' are mutually exclusive -PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" -PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" -PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" -PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," -PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" -PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," -PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" -PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," -PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," -PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl" -PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" -PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" -PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" -PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," -PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" -PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," -PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," -PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" -PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," -PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," -PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," -PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" -PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" -PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," -PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," -PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" -PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" -PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" - -EXTRA_OECONF = " \ - --disable-libcurl-option \ - --disable-ntlm-wb \ - --enable-crypto-auth \ - --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ - --without-libmetalink \ - --without-libpsl \ - --enable-debug \ - --enable-optimize \ - --disable-curldebug \ -" - -do_install_append_class-target() { - # cleanup buildpaths from curl-config - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - ${D}${bindir}/curl-config -} - -PACKAGES =+ "lib${BPN}" - -FILES_lib${BPN} = "${libdir}/lib*.so.*" -RRECOMMENDS_lib${BPN} += "ca-certificates" - -FILES_${PN} += "${datadir}/zsh" - -inherit multilib_script -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/curl/curl_7.77.0.bb b/poky/meta/recipes-support/curl/curl_7.77.0.bb new file mode 100644 index 000000000..ee1aa89f2 --- /dev/null +++ b/poky/meta/recipes-support/curl/curl_7.77.0.bb @@ -0,0 +1,90 @@ +SUMMARY = "Command line tool and library for client-side URL transfers" +DESCRIPTION = "It uses URL syntax to transfer data to and from servers. \ +curl is a widely used because of its ability to be flexible and complete \ +complex tasks. For example, you can use curl for things like user authentication, \ +HTTP post, SSL connections, proxy support, FTP uploads, and more!" +HOMEPAGE = "http://curl.haxx.se/" +BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker" +SECTION = "console/network" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=425f6fdc767cc067518eef9bbdf4ab7b" + +SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \ + file://0001-replace-krb5-config-with-pkg-config.patch \ +" + +SRC_URI[sha256sum] = "6c0c28868cb82593859fc43b9c8fdb769314c855c05cf1b56b023acf855df8ea" + +# Curl has used many names over the years... +CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" + +inherit autotools pkgconfig binconfig multilib_header + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} ssl libidn proxy threaded-resolver verbose zlib" +PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib" +PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib" + +# 'ares' and 'threaded-resolver' are mutually exclusive +PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" +PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" +PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" +PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," +PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" +PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," +PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" +PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap," +PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps," +PACKAGECONFIG[libgsasl] = "--with-libgsasl,--without-libgsasl,libgsasl" +PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" +PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" +PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" +PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," +PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" +PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," +PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy," +PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" +PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," +PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," +PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," +PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl" +PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" +PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," +PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," +PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver,,,,ares" +PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose" +PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib" + +EXTRA_OECONF = " \ + --disable-libcurl-option \ + --disable-ntlm-wb \ + --enable-crypto-auth \ + --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \ + --without-libmetalink \ + --without-libpsl \ + --enable-debug \ + --enable-optimize \ + --disable-curldebug \ +" + +do_install_append_class-target() { + # cleanup buildpaths from curl-config + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + ${D}${bindir}/curl-config +} + +PACKAGES =+ "lib${BPN}" + +FILES_lib${BPN} = "${libdir}/lib*.so.*" +RRECOMMENDS_lib${BPN} += "ca-certificates" + +FILES_${PN} += "${datadir}/zsh" + +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/db/db_5.3.28.bb b/poky/meta/recipes-support/db/db_5.3.28.bb index 9cb57e6a5..b2ae98f05 100644 --- a/poky/meta/recipes-support/db/db_5.3.28.bb +++ b/poky/meta/recipes-support/db/db_5.3.28.bb @@ -15,7 +15,7 @@ HOMEPAGE = "https://www.oracle.com/database/technologies/related/berkeleydb.html LICENSE = "Sleepycat" RCONFLICTS_${PN} = "db3" -CVE_PRODUCT = "oracle_berkeley_db" +CVE_PRODUCT = "oracle_berkeley_db berkeley_db" CVE_VERSION = "11.2.${PV}" PR = "r1" diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_172.bb b/poky/meta/recipes-support/diffoscope/diffoscope_172.bb deleted file mode 100644 index 86dd5d8d7..000000000 --- a/poky/meta/recipes-support/diffoscope/diffoscope_172.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "in-depth comparison of files, archives, and directories" -DESCRIPTION = "Tries to get to the bottom of what makes files or directories \ -different. It will recursively unpack archives of many kinds and transform \ -various binary formats into more human-readable form to compare them. \ -It can compare two tarballs, ISO images, or PDF just as easily." -HOMEPAGE = "https://diffoscope.org/" -BUGTRACKER = "https://salsa.debian.org/reproducible-builds/diffoscope/-/issues" -LICENSE = "GPL-3.0+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -PYPI_PACKAGE = "diffoscope" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "5ffe7f38555c6409bc7e7edc277ed77dd78641fe1306fc38d153dbbe445ddea4" - -RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm" - -# Dependencies don't build for musl -COMPATIBLE_HOST_libc-musl = 'null' - -do_install_append_class-native() { - create_wrapper ${D}${bindir}/diffoscope \ - MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ - LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ - RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} -} - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_175.bb b/poky/meta/recipes-support/diffoscope/diffoscope_175.bb new file mode 100644 index 000000000..853f8dd3a --- /dev/null +++ b/poky/meta/recipes-support/diffoscope/diffoscope_175.bb @@ -0,0 +1,30 @@ +SUMMARY = "in-depth comparison of files, archives, and directories" +DESCRIPTION = "Tries to get to the bottom of what makes files or directories \ +different. It will recursively unpack archives of many kinds and transform \ +various binary formats into more human-readable form to compare them. \ +It can compare two tarballs, ISO images, or PDF just as easily." +HOMEPAGE = "https://diffoscope.org/" +BUGTRACKER = "https://salsa.debian.org/reproducible-builds/diffoscope/-/issues" +LICENSE = "GPL-3.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +PYPI_PACKAGE = "diffoscope" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "b87481752815140e35088647ccdea13297e41a2d72772e842590360b662f7533" + +RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm" + +# Dependencies don't build for musl +COMPATIBLE_HOST_libc-musl = 'null' + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/diffoscope \ + MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ + RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} +} + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/gnupg/gnupg/0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch b/poky/meta/recipes-support/gnupg/gnupg/0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch deleted file mode 100644 index 5c9c02222..000000000 --- a/poky/meta/recipes-support/gnupg/gnupg/0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 59a3c76d4016ffc615f1c45184f4c6820061d69c Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Wed, 16 Aug 2017 11:14:12 +0800 -Subject: [PATCH 1/4] Use pkg-config to find pth instead of pth-config. - -Upstream-Status: Denied -[not submitted but they've been clear they don't want a pkg-config -dependency] - -RP 2014/5/22 - -Signed-off-by: Richard Purdie - -Rebase to 2.1.23 -Signed-off-by: Hongxu Jia ---- - m4/gnupg-pth.m4 | 53 ++++++++--------------------------------------------- - 1 file changed, 8 insertions(+), 45 deletions(-) - -diff --git a/m4/gnupg-pth.m4 b/m4/gnupg-pth.m4 -index 6dc9e0e..5892531 100644 ---- a/m4/gnupg-pth.m4 -+++ b/m4/gnupg-pth.m4 -@@ -17,33 +17,9 @@ dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - # Taken and modified from the m4 macros which come with Pth. - AC_DEFUN([GNUPG_PTH_VERSION_CHECK], - [ -- _pth_version=`$PTH_CONFIG --version | awk 'NR==1 {print [$]3}'` - _req_version="ifelse([$1],,1.2.0,$1)" -+ PKG_CHECK_MODULES(PTH, [pth >= $_req_version], [have_pth=yes], [have_pth=no]) - -- AC_MSG_CHECKING(for PTH - version >= $_req_version) -- for _var in _pth_version _req_version; do -- eval "_val=\"\$${_var}\"" -- _major=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\1/'` -- _minor=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\2/'` -- _rtype=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\3/'` -- _micro=`echo $_val | sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\([[ab.]]\)\([[0-9]]*\)/\4/'` -- case $_rtype in -- "a" ) _rtype=0 ;; -- "b" ) _rtype=1 ;; -- "." ) _rtype=2 ;; -- esac -- _hex=`echo dummy | awk '{ printf("%d%02d%1d%02d", major, minor, rtype, micro); }' \ -- "major=$_major" "minor=$_minor" "rtype=$_rtype" "micro=$_micro"` -- eval "${_var}_hex=\"\$_hex\"" -- done -- have_pth=no -- if test ".$_pth_version_hex" != .; then -- if test ".$_req_version_hex" != .; then -- if test $_pth_version_hex -ge $_req_version_hex; then -- have_pth=yes -- fi -- fi -- fi - if test $have_pth = yes; then - AC_MSG_RESULT(yes) - AC_MSG_CHECKING([whether PTH installation is sane]) -@@ -51,9 +27,9 @@ AC_DEFUN([GNUPG_PTH_VERSION_CHECK], - _gnupg_pth_save_cflags=$CFLAGS - _gnupg_pth_save_ldflags=$LDFLAGS - _gnupg_pth_save_libs=$LIBS -- CFLAGS="$CFLAGS `$PTH_CONFIG --cflags`" -- LDFLAGS="$LDFLAGS `$PTH_CONFIG --ldflags`" -- LIBS="$LIBS `$PTH_CONFIG --libs --all`" -+ CFLAGS="$CFLAGS $PTH_CFLAGS" -+ LDFLAGS="$LDFLAGS $PTH_LDFLAGS" -+ LIBS="$LIBS $PTH_LIBS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include - ], - [[ pth_init ();]])], -@@ -80,26 +56,13 @@ AC_DEFUN([GNUPG_PTH_VERSION_CHECK], - # PTH_CLFAGS and PTH_LIBS are AS_SUBST. - # - AC_DEFUN([GNUPG_PATH_PTH], --[ AC_ARG_WITH(pth-prefix, -- AC_HELP_STRING([--with-pth-prefix=PFX], -- [prefix where GNU Pth is installed (optional)]), -- pth_config_prefix="$withval", pth_config_prefix="") -- if test x$pth_config_prefix != x ; then -- PTH_CONFIG="$pth_config_prefix/bin/pth-config" -- fi -- AC_PATH_PROG(PTH_CONFIG, pth-config, no) -+[ - tmp=ifelse([$1], ,1.3.7,$1) -- if test "$PTH_CONFIG" != "no"; then -- GNUPG_PTH_VERSION_CHECK($tmp) -- if test $have_pth = yes; then -- PTH_CFLAGS=`$PTH_CONFIG --cflags` -- PTH_LIBS=`$PTH_CONFIG --ldflags` -- PTH_LIBS="$PTH_LIBS `$PTH_CONFIG --libs --all`" -- AC_DEFINE(HAVE_PTH, 1, -+ GNUPG_PTH_VERSION_CHECK($tmp) -+ if test $have_pth = yes; then -+ AC_DEFINE(HAVE_PTH, 1, - [Defined if the GNU Pth is available]) -- fi - fi - AC_SUBST(PTH_CFLAGS) - AC_SUBST(PTH_LIBS) - ]) -- --- -1.8.3.1 - diff --git a/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch b/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch index a0af2d48d..ecd626362 100644 --- a/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch +++ b/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch @@ -1,4 +1,4 @@ -From abc5c396aaddaef2e6811362e3e0cc0da28c2b34 Mon Sep 17 00:00:00 2001 +From 52ba9d34cd9317145ee8a93afd5d73dd0cbf3182 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 22 Jan 2018 18:00:21 +0200 Subject: [PATCH] configure.ac: use a custom value for the location of @@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 64cb8c6..3fe9027 100644 +index 7a2d410..14a7203 100644 --- a/configure.ac +++ b/configure.ac -@@ -1824,7 +1824,7 @@ AC_DEFINE_UNQUOTED(GPGCONF_DISP_NAME, "GPGConf", +@@ -1841,7 +1841,7 @@ AC_DEFINE_UNQUOTED(GPGCONF_DISP_NAME, "GPGConf", AC_DEFINE_UNQUOTED(GPGTAR_NAME, "gpgtar", [The name of the gpgtar tool]) diff --git a/poky/meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch b/poky/meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch index 6d86e5c99..d3790ac78 100644 --- a/poky/meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch +++ b/poky/meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch @@ -1,7 +1,7 @@ -From 53c2aec2e13f4e2d09be7148869c862f07dfdd4d Mon Sep 17 00:00:00 2001 +From 15668161c351aee5f29152db2972b1648da11210 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Wed, 16 Aug 2017 11:16:30 +0800 -Subject: [PATCH 2/4] use pkgconfig instead of npth config +Subject: [PATCH] use pkgconfig instead of npth config Upstream-Status: Inappropriate [openembedded specific] @@ -9,29 +9,45 @@ Signed-off-by: Saul Wold Rebase to 2.1.23 Signed-off-by: Hongxu Jia + --- - m4/npth.m4 | 34 ++++++++-------------------------- - 1 file changed, 8 insertions(+), 26 deletions(-) + m4/npth.m4 | 53 ++++++++--------------------------------------------- + 1 file changed, 8 insertions(+), 45 deletions(-) diff --git a/m4/npth.m4 b/m4/npth.m4 -index 17c2644..15a931b 100644 +index 06cdaee..4adda01 100644 --- a/m4/npth.m4 +++ b/m4/npth.m4 -@@ -17,10 +17,10 @@ AC_DEFUN([_AM_PATH_NPTH_CONFIG], +@@ -19,25 +19,10 @@ AC_DEFUN([_AM_PATH_NPTH_CONFIG], if test "x$npth_config_prefix" != x ; then NPTH_CONFIG="$npth_config_prefix/bin/npth-config" fi -- AC_PATH_PROG(NPTH_CONFIG, npth-config, no) + AC_PATH_PROG(PKGCONFIG, pkg-config, no) +- use_gpgrt_config="" +- if test x"$NPTH_CONFIG" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then +- if $GPGRT_CONFIG npth --exists; then +- NPTH_CONFIG="$GPGRT_CONFIG npth" +- AC_MSG_NOTICE([Use gpgrt-config as npth-config]) +- use_gpgrt_config=yes +- fi +- fi +- if test -z "$use_gpgrt_config"; then +- AC_PATH_PROG(NPTH_CONFIG, npth-config, no) +- fi +- - if test "$NPTH_CONFIG" != "no" ; then -- npth_version=`$NPTH_CONFIG --version` +- if test -z "$use_gpgrt_config"; then +- npth_version=`$NPTH_CONFIG --version` +- else +- npth_version=`$NPTH_CONFIG --modversion` +- fi + if test "$PKGCONFIG" != "no" ; then + npth_version=`$PKGCONFIG --modversion npth` fi npth_version_major=`echo $npth_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` -@@ -45,7 +45,7 @@ AC_DEFUN([AM_PATH_NPTH], +@@ -62,7 +47,7 @@ AC_DEFUN([AM_PATH_NPTH], AC_MSG_CHECKING(for NPTH - version >= $min_npth_version) ok=no @@ -40,7 +56,7 @@ index 17c2644..15a931b 100644 req_major=`echo $min_npth_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` req_minor=`echo $min_npth_version | \ -@@ -66,28 +66,9 @@ AC_DEFUN([AM_PATH_NPTH], +@@ -83,32 +68,9 @@ AC_DEFUN([AM_PATH_NPTH], fi if test $ok = yes; then AC_MSG_RESULT([yes ($npth_version)]) @@ -48,20 +64,24 @@ index 17c2644..15a931b 100644 - AC_MSG_RESULT(no) - fi - if test $ok = yes; then -- # If we have a recent NPTH, we should also check that the -- # API is compatible. -- if test "$req_npth_api" -gt 0 ; then +- # If we have a recent NPTH, we should also check that the +- # API is compatible. +- if test "$req_npth_api" -gt 0 ; then +- if test -z "$use_gpgrt_config"; then - tmp=`$NPTH_CONFIG --api-version 2>/dev/null || echo 0` -- if test "$tmp" -gt 0 ; then -- AC_MSG_CHECKING([NPTH API version]) -- if test "$req_npth_api" -eq "$tmp" ; then -- AC_MSG_RESULT([okay]) -- else -- ok=no -- AC_MSG_RESULT([does not match. want=$req_npth_api got=$tmp]) -- fi +- else +- tmp=`$NPTH_CONFIG --variable=api_version 2>/dev/null || echo 0` +- fi +- if test "$tmp" -gt 0 ; then +- AC_MSG_CHECKING([NPTH API version]) +- if test "$req_npth_api" -eq "$tmp" ; then +- AC_MSG_RESULT([okay]) +- else +- ok=no +- AC_MSG_RESULT([does not match. want=$req_npth_api got=$tmp]) - fi -- fi +- fi +- fi - fi - if test $ok = yes; then - NPTH_CFLAGS=`$NPTH_CONFIG --cflags` @@ -70,9 +90,9 @@ index 17c2644..15a931b 100644 + NPTH_LIBS=`$PKGCONFIG --libs npth` + AC_MSG_WARN([[GOT HERE - $NPTH_LIBS ]]) ifelse([$2], , :, [$2]) - npth_config_host=`$NPTH_CONFIG --host 2>/dev/null || echo none` - if test x"$npth_config_host" != xnone ; then -@@ -103,6 +84,7 @@ AC_DEFUN([AM_PATH_NPTH], + if test -z "$use_gpgrt_config"; then + npth_config_host=`$NPTH_CONFIG --host 2>/dev/null || echo none` +@@ -128,6 +90,7 @@ AC_DEFUN([AM_PATH_NPTH], fi fi else @@ -80,6 +100,3 @@ index 17c2644..15a931b 100644 NPTH_CFLAGS="" NPTH_LIBS="" ifelse([$3], , :, [$3]) --- -1.8.3.1 - diff --git a/poky/meta/recipes-support/gnupg/gnupg/0003-dirmngr-uses-libgpg-error.patch b/poky/meta/recipes-support/gnupg/gnupg/0003-dirmngr-uses-libgpg-error.patch index a13b4d5fb..b4106d362 100644 --- a/poky/meta/recipes-support/gnupg/gnupg/0003-dirmngr-uses-libgpg-error.patch +++ b/poky/meta/recipes-support/gnupg/gnupg/0003-dirmngr-uses-libgpg-error.patch @@ -1,4 +1,4 @@ -From 6c75656b68cb6e38b039ae532bd39437cd6daec5 Mon Sep 17 00:00:00 2001 +From 9ace8f1b68ab708c44dce4c0152b975fbceb0398 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Wed, 16 Aug 2017 11:18:01 +0800 Subject: [PATCH] dirmngr uses libgpg error @@ -11,18 +11,19 @@ Rebase to 2.1.23 Signed-off-by: Hongxu Jia --- - dirmngr/Makefile.am | 1 + - 1 file changed, 1 insertion(+) + dirmngr/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dirmngr/Makefile.am b/dirmngr/Makefile.am -index 00d3c42..450d873 100644 +index 77ca3f5..1446775 100644 --- a/dirmngr/Makefile.am +++ b/dirmngr/Makefile.am -@@ -101,6 +101,7 @@ dirmngr_LDADD = $(libcommonpth) \ +@@ -86,7 +86,7 @@ endif + dirmngr_LDADD = $(libcommonpth) \ $(DNSLIBS) $(LIBASSUAN_LIBS) \ $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(NPTH_LIBS) \ - $(NTBTLS_LIBS) $(LIBGNUTLS_LIBS) $(LIBINTL) $(LIBICONV) $(NETLIBS) \ -+ $(GPG_ERROR_LIBS) \ - $(dirmngr_robj) +- $(NTBTLS_LIBS) $(LIBGNUTLS_LIBS) $(LIBINTL) $(LIBICONV) $(NETLIBS) ++ $(NTBTLS_LIBS) $(LIBGNUTLS_LIBS) $(LIBINTL) $(LIBICONV) $(NETLIBS) $(GPG_ERROR_LIBS) if USE_LDAP dirmngr_LDADD += $(ldaplibs) + endif diff --git a/poky/meta/recipes-support/gnupg/gnupg/relocate.patch b/poky/meta/recipes-support/gnupg/gnupg/relocate.patch index 7f7812cd4..9b0f0a8ce 100644 --- a/poky/meta/recipes-support/gnupg/gnupg/relocate.patch +++ b/poky/meta/recipes-support/gnupg/gnupg/relocate.patch @@ -1,4 +1,4 @@ -From bd66af2ac7bb6d9294ac8055a55462ba7c4f9c9b Mon Sep 17 00:00:00 2001 +From d6992692d1c36983b709fe1ff049cc91ef2c408a Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Wed, 19 Sep 2018 14:44:40 +0100 Subject: [PATCH] Allow the environment to override where gnupg looks for its @@ -12,10 +12,10 @@ Signed-off-by: Ross Burton 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/common/homedir.c b/common/homedir.c -index 4b6e46e..58989b4 100644 +index 85e09c4..e1410e2 100644 --- a/common/homedir.c +++ b/common/homedir.c -@@ -763,7 +763,7 @@ gnupg_socketdir (void) +@@ -788,7 +788,7 @@ gnupg_socketdir (void) if (!name) { unsigned int dummy; @@ -24,7 +24,7 @@ index 4b6e46e..58989b4 100644 } return name; -@@ -789,7 +789,7 @@ gnupg_sysconfdir (void) +@@ -814,7 +814,7 @@ gnupg_sysconfdir (void) } return name; #else /*!HAVE_W32_SYSTEM*/ @@ -33,7 +33,7 @@ index 4b6e46e..58989b4 100644 #endif /*!HAVE_W32_SYSTEM*/ } -@@ -818,7 +818,7 @@ gnupg_bindir (void) +@@ -843,7 +843,7 @@ gnupg_bindir (void) else return rdir; #else /*!HAVE_W32_SYSTEM*/ @@ -42,7 +42,7 @@ index 4b6e46e..58989b4 100644 #endif /*!HAVE_W32_SYSTEM*/ } -@@ -831,7 +831,7 @@ gnupg_libexecdir (void) +@@ -856,7 +856,7 @@ gnupg_libexecdir (void) #ifdef HAVE_W32_SYSTEM return gnupg_bindir (); #else /*!HAVE_W32_SYSTEM*/ @@ -51,7 +51,7 @@ index 4b6e46e..58989b4 100644 #endif /*!HAVE_W32_SYSTEM*/ } -@@ -845,7 +845,7 @@ gnupg_libdir (void) +@@ -870,7 +870,7 @@ gnupg_libdir (void) name = xstrconcat (w32_rootdir (), DIRSEP_S "lib" DIRSEP_S "gnupg", NULL); return name; #else /*!HAVE_W32_SYSTEM*/ @@ -60,7 +60,7 @@ index 4b6e46e..58989b4 100644 #endif /*!HAVE_W32_SYSTEM*/ } -@@ -859,7 +859,7 @@ gnupg_datadir (void) +@@ -884,7 +884,7 @@ gnupg_datadir (void) name = xstrconcat (w32_rootdir (), DIRSEP_S "share" DIRSEP_S "gnupg", NULL); return name; #else /*!HAVE_W32_SYSTEM*/ @@ -69,7 +69,7 @@ index 4b6e46e..58989b4 100644 #endif /*!HAVE_W32_SYSTEM*/ } -@@ -875,7 +875,7 @@ gnupg_localedir (void) +@@ -900,7 +900,7 @@ gnupg_localedir (void) NULL); return name; #else /*!HAVE_W32_SYSTEM*/ @@ -78,7 +78,7 @@ index 4b6e46e..58989b4 100644 #endif /*!HAVE_W32_SYSTEM*/ } -@@ -943,7 +943,7 @@ gnupg_cachedir (void) +@@ -971,7 +971,7 @@ gnupg_cachedir (void) } return dir; #else /*!HAVE_W32_SYSTEM*/ diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.27.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.27.bb deleted file mode 100644 index 1181c8341..000000000 --- a/poky/meta/recipes-support/gnupg/gnupg_2.2.27.bb +++ /dev/null @@ -1,85 +0,0 @@ -SUMMARY = "GNU Privacy Guard - encryption and signing tools (2.x)" -DESCRIPTION = "A complete and free implementation of the OpenPGP standard \ -as defined by RFC4880 (also known as PGP). GnuPG allows you to encrypt \ -and sign your data and communications; it features a versatile key \ -management system, along with access modules for all kinds of public \ -key directories." -HOMEPAGE = "http://www.gnupg.org/" -LICENSE = "GPLv3 & LGPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \ - file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257" - -DEPENDS = "npth libassuan libksba zlib bzip2 readline libgcrypt" - -inherit autotools gettext texinfo pkgconfig - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch \ - file://0002-use-pkgconfig-instead-of-npth-config.patch \ - file://0003-dirmngr-uses-libgpg-error.patch \ - file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \ - file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \ - " -SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \ - file://relocate.patch" -SRC_URI_append_class-nativesdk = " file://relocate.patch" - -SRC_URI[sha256sum] = "34e60009014ea16402069136e0a5f63d9b65f90096244975db5cea74b3d02399" - -EXTRA_OECONF = "--disable-ldap \ - --disable-ccid-driver \ - --with-zlib=${STAGING_LIBDIR}/.. \ - --with-bzip2=${STAGING_LIBDIR}/.. \ - --with-readline=${STAGING_LIBDIR}/.. \ - --enable-gpg-is-gpg2 \ - " - -# A minimal package containing just enough to run gpg+gpgagent (E.g. use gpgme in opkg) -PACKAGES =+ "${PN}-gpg" -FILES_${PN}-gpg = " \ - ${bindir}/gpg \ - ${bindir}/gpg2 \ - ${bindir}/gpg-agent \ -" - -# Normal package (gnupg) should depend on minimal package (gnupg-gpg) -# to ensure all tools are included. This is done only in non-native -# builds. Native builds don't have sub-packages, so appending RDEPENDS -# in this case breaks recipe parsing. -RDEPENDS_${PN} += "${@ "" if ("native" in d.getVar("PN")) else (d.getVar("PN") + "-gpg")}" - -RRECOMMENDS_${PN} = "pinentry" - -do_configure_prepend () { - # Else these could be used in prefernce to those in aclocal-copy - rm -f ${S}/m4/gpg-error.m4 - rm -f ${S}/m4/libassuan.m4 - rm -f ${S}/m4/ksba.m4 - rm -f ${S}/m4/libgcrypt.m4 -} - -do_install_append() { - ln -sf gpg2 ${D}${bindir}/gpg - ln -sf gpgv2 ${D}${bindir}/gpgv -} - -do_install_append_class-native() { - create_wrappers ${STAGING_BINDIR_NATIVE} -} - -do_install_append_class-nativesdk() { - create_wrappers ${SDKPATHNATIVE}${bindir_nativesdk} -} - -create_wrappers() { - for i in gpg2 gpgconf gpg-agent gpg-connect-agent; do - create_wrapper ${D}${bindir}/$i GNUPG_BINDIR=$1 - done -} - -PACKAGECONFIG ??= "gnutls" -PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls" -PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb b/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb new file mode 100644 index 000000000..77331efc0 --- /dev/null +++ b/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb @@ -0,0 +1,84 @@ +SUMMARY = "GNU Privacy Guard - encryption and signing tools (2.x)" +DESCRIPTION = "A complete and free implementation of the OpenPGP standard \ +as defined by RFC4880 (also known as PGP). GnuPG allows you to encrypt \ +and sign your data and communications; it features a versatile key \ +management system, along with access modules for all kinds of public \ +key directories." +HOMEPAGE = "http://www.gnupg.org/" +LICENSE = "GPLv3 & LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \ + file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257" + +DEPENDS = "npth libassuan libksba zlib bzip2 readline libgcrypt" + +inherit autotools gettext texinfo pkgconfig + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://0002-use-pkgconfig-instead-of-npth-config.patch \ + file://0003-dirmngr-uses-libgpg-error.patch \ + file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \ + file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \ + " +SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \ + file://relocate.patch" +SRC_URI_append_class-nativesdk = " file://relocate.patch" + +SRC_URI[sha256sum] = "c498db346a9b9a4b399e514c8f56dfc0a888ce8f327f10376ff984452cd154ec" + +EXTRA_OECONF = "--disable-ldap \ + --disable-ccid-driver \ + --with-zlib=${STAGING_LIBDIR}/.. \ + --with-bzip2=${STAGING_LIBDIR}/.. \ + --with-readline=${STAGING_LIBDIR}/.. \ + --enable-gpg-is-gpg2 \ + " + +# A minimal package containing just enough to run gpg+gpgagent (E.g. use gpgme in opkg) +PACKAGES =+ "${PN}-gpg" +FILES_${PN}-gpg = " \ + ${bindir}/gpg \ + ${bindir}/gpg2 \ + ${bindir}/gpg-agent \ +" + +# Normal package (gnupg) should depend on minimal package (gnupg-gpg) +# to ensure all tools are included. This is done only in non-native +# builds. Native builds don't have sub-packages, so appending RDEPENDS +# in this case breaks recipe parsing. +RDEPENDS_${PN} += "${@ "" if ("native" in d.getVar("PN")) else (d.getVar("PN") + "-gpg")}" + +RRECOMMENDS_${PN} = "pinentry" + +do_configure_prepend () { + # Else these could be used in prefernce to those in aclocal-copy + rm -f ${S}/m4/gpg-error.m4 + rm -f ${S}/m4/libassuan.m4 + rm -f ${S}/m4/ksba.m4 + rm -f ${S}/m4/libgcrypt.m4 +} + +do_install_append() { + ln -sf gpg2 ${D}${bindir}/gpg + ln -sf gpgv2 ${D}${bindir}/gpgv +} + +do_install_append_class-native() { + create_wrappers ${STAGING_BINDIR_NATIVE} +} + +do_install_append_class-nativesdk() { + create_wrappers ${SDKPATHNATIVE}${bindir_nativesdk} +} + +create_wrappers() { + for i in gpg2 gpgconf gpg-agent gpg-connect-agent; do + create_wrapper ${D}${bindir}/$i GNUPG_BINDIR=$1 + done +} + +PACKAGECONFIG ??= "gnutls" +PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls" +PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnutls/libtasn1_4.16.0.bb b/poky/meta/recipes-support/gnutls/libtasn1_4.16.0.bb deleted file mode 100644 index 21ef5c3de..000000000 --- a/poky/meta/recipes-support/gnutls/libtasn1_4.16.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Library for ASN.1 and DER manipulation" -DESCRIPTION = "A highly portable C library that encodes and decodes \ -DER/BER data following an ASN.1 schema. " -HOMEPAGE = "http://www.gnu.org/software/libtasn1/" - -LICENSE = "GPLv3+ & LGPLv2.1+" -LICENSE_${PN}-bin = "GPLv3+" -LICENSE_${PN} = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://doc/COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \ - file://LICENSE;md5=75ac100ec923f959898182307970c360" - -SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ - file://dont-depend-on-help2man.patch \ - " - -DEPENDS = "bison-native" - -SRC_URI[md5sum] = "531208de3729d42e2af0a32890f08736" -SRC_URI[sha256sum] = "0e0fb0903839117cb6e3b56e68222771bebf22ad7fc2295a0ed7d576e8d4329d" - -inherit autotools texinfo lib_package gtk-doc - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnutls/libtasn1_4.17.0.bb b/poky/meta/recipes-support/gnutls/libtasn1_4.17.0.bb new file mode 100644 index 000000000..64e798b18 --- /dev/null +++ b/poky/meta/recipes-support/gnutls/libtasn1_4.17.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "Library for ASN.1 and DER manipulation" +DESCRIPTION = "A highly portable C library that encodes and decodes \ +DER/BER data following an ASN.1 schema. " +HOMEPAGE = "http://www.gnu.org/software/libtasn1/" + +LICENSE = "GPLv3+ & LGPLv2.1+" +LICENSE_${PN}-bin = "GPLv3+" +LICENSE_${PN} = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://doc/COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING;md5=75ac100ec923f959898182307970c360" + +SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \ + file://dont-depend-on-help2man.patch \ + " + +DEPENDS = "bison-native" + +SRC_URI[md5sum] = "c46f6eb3bd1287031ae5d36465094402" +SRC_URI[sha256sum] = "ece7551cea7922b8e10d7ebc70bc2248d1fdd73351646a2d6a8d68a9421c45a5" + +inherit autotools texinfo lib_package gtk-doc + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libcap/libcap_2.49.bb b/poky/meta/recipes-support/libcap/libcap_2.49.bb index 3f4a9256c..eb9fc5b4b 100644 --- a/poky/meta/recipes-support/libcap/libcap_2.49.bb +++ b/poky/meta/recipes-support/libcap/libcap_2.49.bb @@ -20,15 +20,6 @@ UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs inherit lib_package -# do NOT pass target cflags to host compilations -# -do_configure() { - # libcap uses := for compilers, fortunately, it gives us a hint - # on what should be replaced with ?= - sed -e 's,:=,?=,g' -i Make.Rules - sed -e 's,^BUILD_CFLAGS ?= ,BUILD_CFLAGS := $(BUILD_CFLAGS) ,' -i Make.Rules -} - PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" PACKAGECONFIG_class-native ??= "" @@ -44,11 +35,15 @@ EXTRA_OEMAKE = " \ EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}" -# these are present in the libcap defaults, so include in our CFLAGS too -CFLAGS += "-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" - do_compile() { - oe_runmake ${PACKAGECONFIG_CONFARGS} + unset CFLAGS BUILD_CFLAGS + oe_runmake \ + ${PACKAGECONFIG_CONFARGS} \ + AR="${AR}" \ + CC="${CC}" \ + RANLIB="${RANLIB}" \ + COPTS="${CFLAGS}" \ + BUILD_COPTS="${BUILD_CFLAGS}" } do_install() { diff --git a/poky/meta/recipes-support/libfm/libfm_1.3.1.bb b/poky/meta/recipes-support/libfm/libfm_1.3.1.bb deleted file mode 100644 index b6f9df0c5..000000000 --- a/poky/meta/recipes-support/libfm/libfm_1.3.1.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "Library for file management" -DESCRIPTION = "LibFM provides file management functions built on top of Glib/GIO \ -giving a convenient higher-level API." -HOMEPAGE = "http://pcmanfm.sourceforge.net/" - -LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b \ - file://src/fm.h;beginline=8;endline=21;md5=ef1f84da64b3c01cca447212f7ef6007 \ - file://src/base/fm-config.h;beginline=10;endline=23;md5=ef1f84da64b3c01cca447212f7ef6007 \ - file://src/fm-gtk.h;beginline=6;endline=19;md5=646baa4955c04fe768f2ca27b92ac8dd" - - -SECTION = "x11/libs" -DEPENDS = "glib-2.0 glib-2.0-native pango gtk+3 menu-cache intltool-native libexif libfm-extra" - -SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.xz \ - file://0001-Correctly-check-the-stamp-file-that-indicates-if-we-.patch \ - file://0001-Do-not-add-library-path-to-avoid-host-contamination.patch \ - " - -SRC_URI[md5sum] = "c15ecd2c9317e2c385cd3f046d0b61ba" -SRC_URI[sha256sum] = "96b1244bde41ca0eef0332cfb5c67bb16725dfd102128f3e6f74fadc13a1cfe4" - -inherit autotools pkgconfig gtk-doc gettext features_check mime mime-xdg -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -EXTRA_OECONF = "--with-gtk=3" - -do_configure[dirs] =+ "${S}/m4" - -PACKAGES =+ "libfm-gtk" -PACKAGES += "${PN}-mime" -FILES_libfm-gtk = " \ - ${libdir}/libfm-gtk*so.* \ - ${libdir}/libfm/modules/gtk* \ - ${bindir}/libfm-pref-apps \ - ${bindir}/lxshortcut \ - ${datadir}/applications/libfm-pref-apps.desktop \ - ${datadir}/applications/lxshortcut.desktop \ - ${datadir}/libfm/images/folder.png \ - ${datadir}/libfm/images/unknown.png \ - ${datadir}/libfm/ui/*.ui \ -" -FILES_${PN}-mime = "${datadir}/mime/" - -do_install_append () { - # remove files which are part of libfm-extra - rm -f ${D}${includedir}/libfm-1.0/fm-xml-file.h - rm -f ${D}${includedir}/libfm-1.0/fm-version.h - rm -f ${D}${includedir}/libfm-1.0/fm-extra.h - rm -f ${D}${includedir}/libfm - rm -f ${D}${libdir}/pkgconfig/libfm-extra.pc - rm -f ${D}${libdir}/libfm-extra.so* - rm -f ${D}${libdir}/libfm-extra.a - rm -f ${D}${libdir}/libfm-extra.la -} diff --git a/poky/meta/recipes-support/libfm/libfm_1.3.2.bb b/poky/meta/recipes-support/libfm/libfm_1.3.2.bb new file mode 100644 index 000000000..eb0949ae7 --- /dev/null +++ b/poky/meta/recipes-support/libfm/libfm_1.3.2.bb @@ -0,0 +1,55 @@ +SUMMARY = "Library for file management" +DESCRIPTION = "LibFM provides file management functions built on top of Glib/GIO \ +giving a convenient higher-level API." +HOMEPAGE = "http://pcmanfm.sourceforge.net/" + +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b \ + file://src/fm.h;beginline=8;endline=21;md5=ef1f84da64b3c01cca447212f7ef6007 \ + file://src/base/fm-config.h;beginline=10;endline=23;md5=ef1f84da64b3c01cca447212f7ef6007 \ + file://src/fm-gtk.h;beginline=6;endline=19;md5=646baa4955c04fe768f2ca27b92ac8dd" + + +SECTION = "x11/libs" +DEPENDS = "glib-2.0 glib-2.0-native pango gtk+3 menu-cache intltool-native libexif libfm-extra" + +SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/libfm-${PV}.tar.xz \ + file://0001-Correctly-check-the-stamp-file-that-indicates-if-we-.patch \ + file://0001-Do-not-add-library-path-to-avoid-host-contamination.patch \ + " + +SRC_URI[sha256sum] = "a5042630304cf8e5d8cff9d565c6bd546f228b48c960153ed366a34e87cad1e5" + +inherit autotools pkgconfig gtk-doc gettext features_check mime mime-xdg +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +EXTRA_OECONF = "--with-gtk=3" + +do_configure[dirs] =+ "${S}/m4" + +PACKAGES =+ "libfm-gtk" +PACKAGES += "${PN}-mime" +FILES_libfm-gtk = " \ + ${libdir}/libfm-gtk*so.* \ + ${libdir}/libfm/modules/gtk* \ + ${bindir}/libfm-pref-apps \ + ${bindir}/lxshortcut \ + ${datadir}/applications/libfm-pref-apps.desktop \ + ${datadir}/applications/lxshortcut.desktop \ + ${datadir}/libfm/images/folder.png \ + ${datadir}/libfm/images/unknown.png \ + ${datadir}/libfm/ui/*.ui \ +" +FILES_${PN}-mime = "${datadir}/mime/" + +do_install_append () { + # remove files which are part of libfm-extra + rm -f ${D}${includedir}/libfm-1.0/fm-xml-file.h + rm -f ${D}${includedir}/libfm-1.0/fm-version.h + rm -f ${D}${includedir}/libfm-1.0/fm-extra.h + rm -f ${D}${includedir}/libfm + rm -f ${D}${libdir}/pkgconfig/libfm-extra.pc + rm -f ${D}${libdir}/libfm-extra.so* + rm -f ${D}${libdir}/libfm-extra.a + rm -f ${D}${libdir}/libfm-extra.la +} diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch new file mode 100644 index 000000000..0f6e30939 --- /dev/null +++ b/poky/meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch @@ -0,0 +1,27 @@ +From 7437acb228678ea5d8288b930b4f5b72c3d449ed Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 24 May 2021 11:03:42 +0200 +Subject: [PATCH] configure.ac: do not hardcode gnu libc when generating + lock-obj + +This erroneously excluded e.g. musl libc. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c0aab53..6d46d13 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -603,7 +603,7 @@ if test x"$gl_use_threads" = xno; then + AC_MSG_NOTICE([generated src/lock-obj-pub.native.h for $host]) + elif test x$cross_compiling = xyes; then + case $host in +- *-*-linux-gnu*) ++ *-*-linux-*) + AC_CHECK_TOOL(OBJDUMP, [objdump]) + if test -n "$OBJDUMP"; then + lock_obj_h_generated=yes diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch new file mode 100644 index 000000000..ae424cdb9 --- /dev/null +++ b/poky/meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch @@ -0,0 +1,28 @@ +From: David Michael +Date: Fri, 26 Mar 2021 07:06:50 +0000 (+0900) +Subject: build: Fix generation of lock-obj-pub.native.h for cross build. +X-Git-Url: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commitdiff_plain;h=33593864cd54143db594c4237bba41e14179061c + +build: Fix generation of lock-obj-pub.native.h for cross build. + +* src/gen-lock-obj.sh: Capture echo output with quotes. + +Fixes-commit: 99ae862a96a569724f49a604ebb7d3f6d2c2d374 +Signed-off-by: David Michael +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin +--- + +diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh +index a710f0c..258eec6 100755 +--- a/src/gen-lock-obj.sh ++++ b/src/gen-lock-obj.sh +@@ -38,7 +38,7 @@ + # AWK=gawk ./gen-lock-obj.sh + # + +-if test -n `echo -n`; then ++if test -n "`echo -n`"; then + ECHO_C='\c' + ECHO_N='' + else diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch index 83054a9c4..aea8eba5f 100644 --- a/poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch +++ b/poky/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch @@ -1,4 +1,4 @@ -From ec309e20b5a27d42a5fb915c328d61e924ab5f19 Mon Sep 17 00:00:00 2001 +From 62651c5c7b4a391f16dbe1b09c6e220efe5c8a35 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Thu, 29 Mar 2018 15:12:17 +0800 Subject: [PATCH] support pkgconfig @@ -12,15 +12,16 @@ Signed-off-by: Hongxu Jia Refactored for 1.33 Signed-off-by: Armin Kuster Signed-off-by: Zheng Ruoqin + --- - src/gpg-error.m4 | 142 +---------------------------------------------- - 1 file changed, 3 insertions(+), 139 deletions(-) + src/gpg-error.m4 | 159 +---------------------------------------------- + 1 file changed, 3 insertions(+), 156 deletions(-) diff --git a/src/gpg-error.m4 b/src/gpg-error.m4 -index c9b235f..176bd6a 100644 +index d910754..76f045c 100644 --- a/src/gpg-error.m4 +++ b/src/gpg-error.m4 -@@ -26,139 +26,12 @@ dnl is added to the gpg_config_script_warn variable. +@@ -27,156 +27,12 @@ dnl is added to the gpg_config_script_warn variable. dnl AC_DEFUN([AM_PATH_GPG_ERROR], [ AC_REQUIRE([AC_CANONICAL_HOST]) @@ -62,45 +63,78 @@ index c9b235f..176bd6a 100644 - min_gpg_error_version=ifelse([$1], ,1.33,$1) - ok=no - -- if test "$prefix" = NONE ; then -- prefix_option_expanded=/usr/local -- else -- prefix_option_expanded="$prefix" -- fi -- if test "$exec_prefix" = NONE ; then -- exec_prefix_option_expanded=$prefix_option_expanded -- else -- exec_prefix_option_expanded=$(prefix=$prefix_option_expanded eval echo $exec_prefix) -- fi -- libdir_option_expanded=$(prefix=$prefix_option_expanded exec_prefix=$exec_prefix_option_expanded eval echo $libdir) +- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) +- if test "$GPGRT_CONFIG" != "no"; then +- # Determine gpgrt_libdir +- # +- # Get the prefix of gpgrt-config assuming it's something like: +- # /bin/gpgrt-config +- gpgrt_prefix=${GPGRT_CONFIG%/*/*} +- possible_libdir1=${gpgrt_prefix}/lib +- # Determine by using system libdir-format with CC, it's like: +- # Normal style: /usr/lib +- # GNU cross style: /usr//lib +- # Debian style: /usr/lib/ +- # Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64 +- # It is assumed that CC is specified to the one of host on cross build. +- if libdir_candidates=$(${CC:-cc} -print-search-dirs | \ +- sed -n -e "/^libraries/{s/libraries: =//;s/:/\n/gp}"); then +- # From the output of -print-search-dirs, select valid pkgconfig dirs. +- libdir_candidates=$(for dir in $libdir_candidates; do +- if p=$(cd $dir 2>/dev/null && pwd); then +- test -d "$p/pkgconfig" && echo $p; +- fi +- done) - -- if test -f $libdir_option_expanded/pkgconfig/gpg-error.pc; then -- gpgrt_libdir=$libdir_option_expanded -- else -- if crt1_path=$(${CC:-cc} -print-file-name=crt1.o 2>/dev/null); then -- if possible_libdir=$(cd ${crt1_path%/*} && pwd 2>/dev/null); then -- if test -f $possible_libdir/pkgconfig/gpg-error.pc; then -- gpgrt_libdir=$possible_libdir +- for possible_libdir0 in $libdir_candidates; do +- # possible_libdir0: +- # Fallback candidate, the one of system-installed (by $CC) +- # (/usr//lib, /usr/lib/ or /usr/lib32) +- # possible_libdir1: +- # Another candidate, user-locally-installed +- # (/lib) +- # possible_libdir2 +- # Most preferred +- # (//lib, +- # /lib/ or /lib32) +- if test "${possible_libdir0##*/}" = "lib"; then +- possible_prefix0=${possible_libdir0%/lib} +- possible_prefix0_triplet=${possible_prefix0##*/} +- if test -z "$possible_prefix0_triplet"; then +- continue +- fi +- possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib +- else +- possible_prefix0=${possible_libdir0%%/lib*} +- possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0} +- fi +- if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir2} +- elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir1} +- elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then +- gpgrt_libdir=${possible_libdir0} - fi -- fi +- if test -n "$gpgrt_libdir"; then break; fi +- done +- else +- # When we cannot determine system libdir-format, use this: +- gpgrt_libdir=${possible_libdir1} - fi +- else +- unset GPGRT_CONFIG - fi - -- if test "$GPG_ERROR_CONFIG" = "no" -a -n "$gpgrt_libdir"; then -- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) -- if test "$GPGRT_CONFIG" = "no"; then -- unset GPGRT_CONFIG +- if test -n "$gpgrt_libdir"; then +- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" +- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then +- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" +- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) +- gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` - else -- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" -- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then -- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" -- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) -- gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` -- else -- unset GPGRT_CONFIG -- fi +- unset GPGRT_CONFIG - fi -- else +- elif test "$GPG_ERROR_CONFIG" != "no"; then - gpg_error_config_version=`$GPG_ERROR_CONFIG --version` - fi - if test "$GPG_ERROR_CONFIG" != "no"; then @@ -121,22 +155,6 @@ index c9b235f..176bd6a 100644 - fi - fi - fi -- if test -z "$GPGRT_CONFIG" -a -n "$gpgrt_libdir"; then -- if test "$major" -gt 1 -o "$major" -eq 1 -a "$minor" -ge 33; then -- AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) -- if test "$GPGRT_CONFIG" = "no"; then -- unset GPGRT_CONFIG -- else -- GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" -- if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then -- GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" -- AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) -- else -- unset GPGRT_CONFIG -- fi -- fi -- fi -- fi - fi - AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) + min_gpg_error_version=ifelse([$1], ,0.0,$1) @@ -163,7 +181,7 @@ index c9b235f..176bd6a 100644 fi if test x"$gpg_error_config_host" != xnone ; then if test x"$gpg_error_config_host" != x"$host" ; then -@@ -174,15 +47,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR], +@@ -192,15 +48,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR], fi fi else @@ -179,6 +197,3 @@ index c9b235f..176bd6a 100644 - AC_SUBST(GPG_ERROR_MT_CFLAGS) - AC_SUBST(GPG_ERROR_MT_LIBS) ]) --- -2.25.1 - diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.41.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.41.bb deleted file mode 100644 index a0119729d..000000000 --- a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.41.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Small library that defines common error values for all GnuPG components" -DESCRIPTION = "Contains common error codes and error handling functions used by GnuPG, Libgcrypt, GPGME and more packages. " -HOMEPAGE = "http://www.gnupg.org/related_software/libgpg-error/" -BUGTRACKER = "https://bugs.g10code.com/gnupg/index" - -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://src/gpg-error.h.in;beginline=2;endline=18;md5=d82591bc81561f617da71e00ff4a9d79 \ - file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7 \ - " - - -SECTION = "libs" - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \ - file://pkgconfig.patch \ - file://0001-Do-not-fail-when-testing-config-scripts.patch \ - " - -SRC_URI[sha256sum] = "64b078b45ac3c3003d7e352a5e05318880a5778c42331ce1ef33d1a0d9922742" - -BINCONFIG = "${bindir}/gpg-error-config" - -inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script - -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config" - -CPPFLAGS += "-P" - -do_install_append() { - # we don't have common lisp in OE - rm -rf "${D}${datadir}/common-lisp/" - oe_multilib_header gpg-error.h gpgrt.h -} - -FILES_${PN}-dev += "${bindir}/gpg-error" -FILES_${PN}-doc += "${datadir}/libgpg-error/errorref.txt" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb new file mode 100644 index 000000000..c972d9a95 --- /dev/null +++ b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb @@ -0,0 +1,43 @@ +SUMMARY = "Small library that defines common error values for all GnuPG components" +DESCRIPTION = "Contains common error codes and error handling functions used by GnuPG, Libgcrypt, GPGME and more packages. " +HOMEPAGE = "http://www.gnupg.org/related_software/libgpg-error/" +BUGTRACKER = "https://bugs.g10code.com/gnupg/index" + +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://src/gpg-error.h.in;beginline=2;endline=18;md5=d82591bc81561f617da71e00ff4a9d79 \ + file://src/init.c;beginline=2;endline=17;md5=f01cdfcf747af5380590cfd9bbfeaaf7 \ + " + + +SECTION = "libs" + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \ + file://pkgconfig.patch \ + file://0001-Do-not-fail-when-testing-config-scripts.patch \ + file://fix-cross.patch \ + file://0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch \ + " + +SRC_URI[sha256sum] = "fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23" + +BINCONFIG = "${bindir}/gpg-error-config" + +inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script + +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config" + +CPPFLAGS += "-P" + +do_install_append() { + # we don't have common lisp in OE + rm -rf "${D}${datadir}/common-lisp/" + oe_multilib_header gpg-error.h gpgrt.h +} + +FILES_${PN}-dev += "${bindir}/gpg-error" +FILES_${PN}-doc += "${datadir}/libgpg-error/errorref.txt" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.36.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.36.bb deleted file mode 100644 index d8077a122..000000000 --- a/poky/meta/recipes-support/libpcre/libpcre2_10.36.bb +++ /dev/null @@ -1,52 +0,0 @@ -DESCRIPTION = "There are two major versions of the PCRE library. The \ -newest version is PCRE2, which is a re-working of the original PCRE \ -library to provide an entirely new API. The original, very widely \ -deployed PCRE library's API and feature are stable, future releases \ - will be for bugfixes only. All new future features will be to PCRE2, \ -not the original PCRE 8.x series." -SUMMARY = "Perl Compatible Regular Expressions version 2" -HOMEPAGE = "http://www.pcre.org" -SECTION = "devel" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENCE;md5=60c08fab1357bfe9084b333bc33362d6" - -SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2" - -SRC_URI[sha256sum] = "a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c" - -CVE_PRODUCT = "pcre2" - -S = "${WORKDIR}/pcre2-${PV}" - -PROVIDES += "pcre2" -DEPENDS += "bzip2 zlib" - -BINCONFIG = "${bindir}/pcre2-config" - -inherit autotools binconfig-disabled - -EXTRA_OECONF = "\ - --enable-newline-is-lf \ - --with-link-size=2 \ - --with-match-limit=10000000 \ - --enable-pcre2-16 \ - --enable-pcre2-32 \ -" -CFLAGS += "-D_REENTRANT" -CXXFLAGS_append_powerpc = " -lstdc++" - -PACKAGES =+ "libpcre2-16 libpcre2-32 pcre2grep pcre2grep-doc pcre2test pcre2test-doc" - -SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes" -SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs" -SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions" -SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs" - -FILES_libpcre2-16 = "${libdir}/libpcre2-16.so.*" -FILES_libpcre2-32 = "${libdir}/libpcre2-32.so.*" -FILES_pcre2grep = "${bindir}/pcre2grep" -FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1" -FILES_pcre2test = "${bindir}/pcre2test" -FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.37.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.37.bb new file mode 100644 index 000000000..b596fbe87 --- /dev/null +++ b/poky/meta/recipes-support/libpcre/libpcre2_10.37.bb @@ -0,0 +1,52 @@ +DESCRIPTION = "There are two major versions of the PCRE library. The \ +newest version is PCRE2, which is a re-working of the original PCRE \ +library to provide an entirely new API. The original, very widely \ +deployed PCRE library's API and feature are stable, future releases \ + will be for bugfixes only. All new future features will be to PCRE2, \ +not the original PCRE 8.x series." +SUMMARY = "Perl Compatible Regular Expressions version 2" +HOMEPAGE = "http://www.pcre.org" +SECTION = "devel" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENCE;md5=6b3022283c9a79238d521848ea9dcb4d" + +SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2" + +SRC_URI[sha256sum] = "4d95a96e8b80529893b4562be12648d798b957b1ba1aae39606bbc2ab956d270" + +CVE_PRODUCT = "pcre2" + +S = "${WORKDIR}/pcre2-${PV}" + +PROVIDES += "pcre2" +DEPENDS += "bzip2 zlib" + +BINCONFIG = "${bindir}/pcre2-config" + +inherit autotools binconfig-disabled + +EXTRA_OECONF = "\ + --enable-newline-is-lf \ + --with-link-size=2 \ + --with-match-limit=10000000 \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ +" +CFLAGS += "-D_REENTRANT" +CXXFLAGS_append_powerpc = " -lstdc++" + +PACKAGES =+ "libpcre2-16 libpcre2-32 pcre2grep pcre2grep-doc pcre2test pcre2test-doc" + +SUMMARY_pcre2grep = "grep utility that uses perl 5 compatible regexes" +SUMMARY_pcre2grep-doc = "grep utility that uses perl 5 compatible regexes - docs" +SUMMARY_pcre2test = "program for testing Perl-comatible regular expressions" +SUMMARY_pcre2test-doc = "program for testing Perl-comatible regular expressions - docs" + +FILES_libpcre2-16 = "${libdir}/libpcre2-16.so.*" +FILES_libpcre2-32 = "${libdir}/libpcre2-32.so.*" +FILES_pcre2grep = "${bindir}/pcre2grep" +FILES_pcre2grep-doc = "${mandir}/man1/pcre2grep.1" +FILES_pcre2test = "${bindir}/pcre2test" +FILES_pcre2test-doc = "${mandir}/man1/pcre2test.1" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb b/poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb index a5451628e..f290bf326 100644 --- a/poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb +++ b/poky/meta/recipes-support/libssh2/libssh2_1.9.0.bb @@ -34,7 +34,7 @@ PACKAGECONFIG[gcrypt] = "--with-crypto=libgcrypt --with-libgcrypt-prefix=${STAGI BBCLASSEXTEND = "native nativesdk" # required for ptest on documentation -RDEPENDS_${PN}-ptest = "man-db openssh" +RDEPENDS_${PN}-ptest = "man-db openssh util-linux-col" RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us" do_compile_ptest() { diff --git a/poky/meta/recipes-support/npth/npth/0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch b/poky/meta/recipes-support/npth/npth/0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch new file mode 100644 index 000000000..47c426b4a --- /dev/null +++ b/poky/meta/recipes-support/npth/npth/0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch @@ -0,0 +1,43 @@ +From e43524868bb4901703d63876f9d49f73ca75b3ab Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 12 May 2021 20:27:52 -0700 +Subject: [PATCH] Revert "Fix problem with regression tests on recent glibc." + +This reverts commit 3a9d32eb59194b989656548755066ccd9feb36ac. + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + configure.ac | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 8a9373c..8cda28d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -284,11 +284,9 @@ AC_TYPE_SSIZE_T + # + # Checks for libraries and functions. + # +-# We test for pthread_detach because glibc 2.22 includes +-# pthread_create but not pthread_detach. + if test "$have_w32_system" = no; then +- AC_SEARCH_LIBS([pthread_detach],[pthread]) +- case "x$ac_cv_search_pthread_detach" in ++ AC_SEARCH_LIBS([pthread_create],[pthread]) ++ case "x$ac_cv_search_pthread_create" in + xno) + have_pthread=no + ;; +@@ -297,7 +295,7 @@ if test "$have_w32_system" = no; then + ;; + *) + have_pthread=yes +- config_libs="$config_libs $ac_cv_search_pthread_detach" ++ config_libs="$config_libs $ac_cv_search_pthread_create" + ;; + esac + if test "$have_pthread" != no; then +-- +2.31.1 + diff --git a/poky/meta/recipes-support/npth/npth_1.6.bb b/poky/meta/recipes-support/npth/npth_1.6.bb index 94a3f00ea..d5a149e04 100644 --- a/poky/meta/recipes-support/npth/npth_1.6.bb +++ b/poky/meta/recipes-support/npth/npth_1.6.bb @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "\ UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" SRC_URI = "${GNUPG_MIRROR}/npth/npth-${PV}.tar.bz2 \ file://pkgconfig.patch \ + file://0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch \ " SRC_URI[md5sum] = "375d1a15ad969f32d25f1a7630929854" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.11.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.11.bb deleted file mode 100644 index 61a0cef2e..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools_6.11.bb +++ /dev/null @@ -1,60 +0,0 @@ -SUMMARY = "Random number generator daemon" -DESCRIPTION = "Check and feed random data from hardware device to kernel" -AUTHOR = "Philipp Rumpf, Jeff Garzik , \ - Henrique de Moraes Holschuh " -HOMEPAGE = "https://github.com/nhorman/rng-tools" -BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "sysfsutils openssl" - -SRC_URI = "\ - git://github.com/nhorman/rng-tools.git \ - file://init \ - file://default \ - file://rngd.service \ -" -SRCREV = "2ea13473fd5bfea3c861dc0e23bd65e2afe8007b" - -S = "${WORKDIR}/git" - -inherit autotools update-rc.d systemd pkgconfig - -EXTRA_OECONF = "--without-rtlsdr" - -PACKAGECONFIG ??= "libjitterentropy" -PACKAGECONFIG_libc-musl = "libargp libjitterentropy" - -PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," -PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" -PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl" -PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." - -SYSTEMD_SERVICE_${PN} = "rngd.service" - -# Refer autogen.sh in rng-tools -do_configure_prepend() { - cp ${S}/README.md ${S}/README -} - -do_install_append() { - install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools - install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - install -Dm 0644 ${WORKDIR}/rngd.service \ - ${D}${systemd_system_unitdir}/rngd.service - sed -i \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${sysconfdir}/init.d/rng-tools \ - ${D}${systemd_system_unitdir}/rngd.service - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'nistbeacon', 'yes', 'no', d)}" = "yes" ]; then - sed -i \ - -e '/^IPAddressDeny=any/d' \ - -e '/^RestrictAddressFamilies=/ s/$/ AF_INET AF_INET6/' \ - ${D}${systemd_system_unitdir}/rngd.service - fi -} diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.12.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.12.bb new file mode 100644 index 000000000..967370098 --- /dev/null +++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.12.bb @@ -0,0 +1,60 @@ +SUMMARY = "Random number generator daemon" +DESCRIPTION = "Check and feed random data from hardware device to kernel" +AUTHOR = "Philipp Rumpf, Jeff Garzik , \ + Henrique de Moraes Holschuh " +HOMEPAGE = "https://github.com/nhorman/rng-tools" +BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "sysfsutils openssl" + +SRC_URI = "\ + git://github.com/nhorman/rng-tools.git \ + file://init \ + file://default \ + file://rngd.service \ +" +SRCREV = "a2cd12bc253a014328b87137559fd4e1ab296d9b" + +S = "${WORKDIR}/git" + +inherit autotools update-rc.d systemd pkgconfig + +EXTRA_OECONF = "--without-rtlsdr" + +PACKAGECONFIG ??= "libjitterentropy" +PACKAGECONFIG_libc-musl = "libargp libjitterentropy" + +PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," +PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" +PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl" +PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" + +INITSCRIPT_NAME = "rng-tools" +INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." + +SYSTEMD_SERVICE_${PN} = "rngd.service" + +# Refer autogen.sh in rng-tools +do_configure_prepend() { + cp ${S}/README.md ${S}/README +} + +do_install_append() { + install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools + install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + install -Dm 0644 ${WORKDIR}/rngd.service \ + ${D}${systemd_system_unitdir}/rngd.service + sed -i \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${sysconfdir}/init.d/rng-tools \ + ${D}${systemd_system_unitdir}/rngd.service + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'nistbeacon', 'yes', 'no', d)}" = "yes" ]; then + sed -i \ + -e '/^IPAddressDeny=any/d' \ + -e '/^RestrictAddressFamilies=/ s/$/ AF_INET AF_INET6/' \ + ${D}${systemd_system_unitdir}/rngd.service + fi +} diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb deleted file mode 100644 index 459dcbd4c..000000000 --- a/poky/meta/recipes-support/sqlite/sqlite3_3.35.3.bb +++ /dev/null @@ -1,12 +0,0 @@ -require sqlite3.inc - -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" - -SRC_URI = "http://www.sqlite.org/2021/sqlite-autoconf-${SQLITE_PV}.tar.gz" -SRC_URI[sha256sum] = "ecbccdd440bdf32c0e1bb3611d635239e3b5af268248d130d0445a32daf0274b" - -# -19242 is only an issue in specific development branch commits -CVE_CHECK_WHITELIST += "CVE-2019-19242" -# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA) -CVE_CHECK_WHITELIST += "CVE-2015-3717" diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.35.5.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.35.5.bb new file mode 100644 index 000000000..d74a6210d --- /dev/null +++ b/poky/meta/recipes-support/sqlite/sqlite3_3.35.5.bb @@ -0,0 +1,12 @@ +require sqlite3.inc + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" + +SRC_URI = "http://www.sqlite.org/2021/sqlite-autoconf-${SQLITE_PV}.tar.gz" +SRC_URI[sha256sum] = "f52b72a5c319c3e516ed7a92e123139a6e87af08a2dc43d7757724f6132e6db0" + +# -19242 is only an issue in specific development branch commits +CVE_CHECK_WHITELIST += "CVE-2019-19242" +# This is believed to be iOS specific (https://groups.google.com/g/sqlite-dev/c/U7OjAbZO6LA) +CVE_CHECK_WHITELIST += "CVE-2015-3717" diff --git a/poky/meta/recipes-support/vte/vte_0.64.0.bb b/poky/meta/recipes-support/vte/vte_0.64.0.bb deleted file mode 100644 index fc7d3014a..000000000 --- a/poky/meta/recipes-support/vte/vte_0.64.0.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "Virtual terminal emulator GTK+ widget library" -DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications." -HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "GPLv3 & LGPLv3+ & MIT-X" -LICENSE_libvte = "LGPLv3+" - -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \ - file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \ - file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \ -" - -DEPENDS = "glib-2.0 gtk+3 libpcre2 libxml2-native gperf-native icu" - -GNOMEBASEBUILDCLASS = "meson" -GIR_MESON_OPTION = 'gir' - -inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection - -# vapigen.m4 is required when vala is not present (but the one from vala should be used normally) -SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" -SRC_URI[archive.sha256sum] = "c0c60b8dc343167437c86d984b0cf134df86034180ed70513f683006ada3ec41" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -# Instead of "inherit vala" we do the relevant settings here so we can -# set DEPENDS based on PACKAGECONFIG. - -# Our patched version of Vala looks in STAGING_DATADIR for .vapi files -export STAGING_DATADIR -# Upstream Vala >= 0.11 looks in XDG_DATA_DIRS for .vapi files -export XDG_DATA_DIRS = "${STAGING_DATADIR}" - -# Help g-ir-scanner find the .so for linking -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/src/.libs" -} - -# Package additional files -FILES_${PN}-dev += "${datadir}/vala/vapi/*" - -PACKAGECONFIG ??= "gnutls" -PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala" -PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" -PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd" -# vala requires gir -PACKAGECONFIG_remove_class-native = "vala" - -CFLAGS += "-D_GNU_SOURCE" - -PACKAGES =+ "libvte ${PN}-prompt" -FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*" -FILES_${PN}-prompt = " \ - ${sysconfdir}/profile.d \ - ${libexecdir}/vte-urlencode-cwd \ -" - -FILES_${PN}-dev += "${datadir}/glade/" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/vte/vte_0.64.1.bb b/poky/meta/recipes-support/vte/vte_0.64.1.bb new file mode 100644 index 000000000..0401eaa04 --- /dev/null +++ b/poky/meta/recipes-support/vte/vte_0.64.1.bb @@ -0,0 +1,61 @@ +SUMMARY = "Virtual terminal emulator GTK+ widget library" +DESCRIPTION = "VTE provides a virtual terminal widget for GTK applications." +HOMEPAGE = "https://wiki.gnome.org/Apps/Terminal/VTE" +BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" +LICENSE = "GPLv3 & LGPLv3+ & MIT-X" +LICENSE_libvte = "LGPLv3+" + +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL3;md5=cc702cf3444d1f19680c794cc61948f9 \ + file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \ + file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \ +" + +DEPENDS = "glib-2.0 gtk+3 libpcre2 libxml2-native gperf-native icu" + +GNOMEBASEBUILDCLASS = "meson" +GIR_MESON_OPTION = 'gir' + +inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection + +# vapigen.m4 is required when vala is not present (but the one from vala should be used normally) +SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" +SRC_URI[archive.sha256sum] = "12fb41a9ff8e03c5f1711b46560910a4b9b3102aec3e9e7609ceef4dfa98aa2a" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +# Instead of "inherit vala" we do the relevant settings here so we can +# set DEPENDS based on PACKAGECONFIG. + +# Our patched version of Vala looks in STAGING_DATADIR for .vapi files +export STAGING_DATADIR +# Upstream Vala >= 0.11 looks in XDG_DATA_DIRS for .vapi files +export XDG_DATA_DIRS = "${STAGING_DATADIR}" + +# Help g-ir-scanner find the .so for linking +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/src/.libs" +} + +# Package additional files +FILES_${PN}-dev += "${datadir}/vala/vapi/*" + +PACKAGECONFIG ??= "gnutls" +PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false,vala-native vala" +PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls" +PACKAGECONFIG[systemd] = "-D_systemd=true,-D_systemd=false,systemd" +# vala requires gir +PACKAGECONFIG_remove_class-native = "vala" + +CFLAGS += "-D_GNU_SOURCE" + +PACKAGES =+ "libvte ${PN}-prompt" +FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*" +FILES_${PN}-prompt = " \ + ${sysconfdir}/profile.d \ + ${libexecdir}/vte-urlencode-cwd \ +" + +FILES_${PN}-dev += "${datadir}/glade/" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/xxhash/files/0001-Makefile-escape-special-regex-characters-in-paths.patch b/poky/meta/recipes-support/xxhash/files/0001-Makefile-escape-special-regex-characters-in-paths.patch new file mode 100644 index 000000000..6d3da147f --- /dev/null +++ b/poky/meta/recipes-support/xxhash/files/0001-Makefile-escape-special-regex-characters-in-paths.patch @@ -0,0 +1,55 @@ +From 9ab56f841b1986cd5cdff66cb5ef222794b9ed39 Mon Sep 17 00:00:00 2001 +From: Dmitry Kalinkin +Date: Mon, 22 Feb 2021 14:07:58 -0500 +Subject: [PATCH] Makefile: escape special regex characters in paths + +Fixes a problem with certain valid install paths: + +make prefix=/tmp/a+b/ +Makefile:434: *** configured libdir (/tmp/a+b//lib) is outside of exec_prefix (/tmp/a+b/), can't generate pkg-config file. Stop. + +Upstream-Status: Backport [f79cd22a806993b4a62d8a4f1ba529a29a9d9ff5] + +Signed-off-by: Chen Qi +--- + Makefile | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index ef24e94..baa1533 100644 +--- a/Makefile ++++ b/Makefile +@@ -411,14 +411,18 @@ INSTALL_PROGRAM ?= $(INSTALL) + INSTALL_DATA ?= $(INSTALL) -m 644 + + +-PCLIBDIR ?= $(shell echo "$(LIBDIR)" | $(SED) -n $(SED_ERE_OPT) -e "s@^$(EXEC_PREFIX)(/|$$)@@p") +-PCINCDIR ?= $(shell echo "$(INCLUDEDIR)" | $(SED) -n $(SED_ERE_OPT) -e "s@^$(PREFIX)(/|$$)@@p") ++# Escape special symbols by putting each character into its separate class ++EXEC_PREFIX_REGEX ?= $(shell echo "$(EXEC_PREFIX)" | $(SED) $(SED_ERE_OPT) -e "s/([^^])/[\1]/g" -e "s/\\^/\\\\^/g") ++PREFIX_REGEX ?= $(shell echo "$(PREFIX)" | $(SED) $(SED_ERE_OPT) -e "s/([^^])/[\1]/g" -e "s/\\^/\\\\^/g") ++ ++PCLIBDIR ?= $(shell echo "$(LIBDIR)" | $(SED) -n $(SED_ERE_OPT) -e "s@^$(EXEC_PREFIX_REGEX)(/|$$)@@p") ++PCINCDIR ?= $(shell echo "$(INCLUDEDIR)" | $(SED) -n $(SED_ERE_OPT) -e "s@^$(PREFIX_REGEX)(/|$$)@@p") + PCEXECDIR?= $(if $(filter $(PREFIX),$(EXEC_PREFIX)),$$\{prefix\},$(EXEC_PREFIX)) + + ifeq (,$(PCLIBDIR)) + # Additional prefix check is required, since the empty string is technically a + # valid PCLIBDIR +-ifeq (,$(shell echo "$(LIBDIR)" | $(SED) -n $(SED_ERE_OPT) -e "\\@^$(EXEC_PREFIX)(/|$$)@ p")) ++ifeq (,$(shell echo "$(LIBDIR)" | $(SED) -n $(SED_ERE_OPT) -e "\\@^$(EXEC_PREFIX_REGEX)(/|$$)@ p")) + $(error configured libdir ($(LIBDIR)) is outside of exec_prefix ($(EXEC_PREFIX)), can't generate pkg-config file) + endif + endif +@@ -426,7 +430,7 @@ endif + ifeq (,$(PCINCDIR)) + # Additional prefix check is required, since the empty string is technically a + # valid PCINCDIR +-ifeq (,$(shell echo "$(INCLUDEDIR)" | $(SED) -n $(SED_ERE_OPT) -e "\\@^$(PREFIX)(/|$$)@ p")) ++ifeq (,$(shell echo "$(INCLUDEDIR)" | $(SED) -n $(SED_ERE_OPT) -e "\\@^$(PREFIX_REGEX)(/|$$)@ p")) + $(error configured includedir ($(INCLUDEDIR)) is outside of prefix ($(PREFIX)), can't generate pkg-config file) + endif + endif +-- +2.17.1 + diff --git a/poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb b/poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb index 9e3887236..4e48365a7 100644 --- a/poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb +++ b/poky/meta/recipes-support/xxhash/xxhash_0.8.0.bb @@ -5,7 +5,9 @@ HOMEPAGE = "http://www.xxhash.com/" LICENSE = "BSD-2-Clause & GPL-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=b335320506abb0505437e39295e799cb" -SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=git" +SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=git \ + file://0001-Makefile-escape-special-regex-characters-in-paths.patch \ + " UPSTREAM_CHECK_GITTAGREGEX = "v(?P\d+(\.\d+)+)" SRCREV = "94e5f23e736f2bb67ebdf90727353e65344f9fc0" diff --git a/poky/scripts/lib/wic/help.py b/poky/scripts/lib/wic/help.py index bd3a2b97d..991e5094b 100644 --- a/poky/scripts/lib/wic/help.py +++ b/poky/scripts/lib/wic/help.py @@ -930,6 +930,7 @@ DESCRIPTION ext4 btrfs squashfs + erofs swap --fsoptions: Specifies a free-form string of options to be diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py index 3eb669da3..7a4cc83af 100644 --- a/poky/scripts/lib/wic/ksparser.py +++ b/poky/scripts/lib/wic/ksparser.py @@ -157,7 +157,8 @@ class KickStart(): part.add_argument('--fsoptions', dest='fsopts') part.add_argument('--fstype', default='vfat', choices=('ext2', 'ext3', 'ext4', 'btrfs', - 'squashfs', 'vfat', 'msdos', 'swap')) + 'squashfs', 'vfat', 'msdos', 'erofs', + 'swap')) part.add_argument('--mkfs-extraopts', default='') part.add_argument('--label') part.add_argument('--use-label', action='store_true') @@ -229,6 +230,10 @@ class KickStart(): err = "%s:%d: SquashFS does not support LABEL" \ % (confpath, lineno) raise KickStartError(err) + # erofs does not support filesystem labels + if parsed.fstype == 'erofs' and parsed.label: + err = "%s:%d: erofs does not support LABEL" % (confpath, lineno) + raise KickStartError(err) if parsed.fstype == 'msdos' or parsed.fstype == 'vfat': if parsed.fsuuid: if parsed.fsuuid.upper().startswith('0X'): diff --git a/poky/scripts/lib/wic/partition.py b/poky/scripts/lib/wic/partition.py index 76d144d12..e0b2c5bdf 100644 --- a/poky/scripts/lib/wic/partition.py +++ b/poky/scripts/lib/wic/partition.py @@ -141,9 +141,9 @@ class Partition(): native_sysroot) self.source_file = "%s/fs.%s" % (cr_workdir, self.fstype) else: - if self.fstype == 'squashfs': - raise WicError("It's not possible to create empty squashfs " - "partition '%s'" % (self.mountpoint)) + if self.fstype in ('squashfs', 'erofs'): + raise WicError("It's not possible to create empty %s " + "partition '%s'" % (self.fstype, self.mountpoint)) rootfs = "%s/fs_%s.%s.%s" % (cr_workdir, self.label, self.lineno, self.fstype) @@ -369,6 +369,16 @@ class Partition(): (rootfs_dir, rootfs, extraopts) exec_native_cmd(squashfs_cmd, native_sysroot, pseudo=pseudo) + def prepare_rootfs_erofs(self, rootfs, cr_workdir, oe_builddir, rootfs_dir, + native_sysroot, pseudo): + """ + Prepare content for a erofs rootfs partition. + """ + extraopts = self.mkfs_extraopts or '' + erofs_cmd = "mkfs.erofs %s -U %s %s %s" % \ + (extraopts, self.fsuuid, rootfs, rootfs_dir) + exec_native_cmd(erofs_cmd, native_sysroot, pseudo=pseudo) + def prepare_empty_partition_ext(self, rootfs, oe_builddir, native_sysroot): """ diff --git a/poky/scripts/lib/wic/plugins/source/rawcopy.py b/poky/scripts/lib/wic/plugins/source/rawcopy.py index 3c4997d8b..fa7b1eb8a 100644 --- a/poky/scripts/lib/wic/plugins/source/rawcopy.py +++ b/poky/scripts/lib/wic/plugins/source/rawcopy.py @@ -29,9 +29,9 @@ class RawCopyPlugin(SourcePlugin): cmd = 'btrfs filesystem label %s %s' % (dst, label) elif fstype == 'swap': cmd = 'mkswap -L %s %s' % (label, dst) - elif fstype == 'squashfs': - raise WicError("It's not possible to update a squashfs " - "filesystem label '%s'" % (label)) + elif fstype in ('squashfs', 'erofs'): + raise WicError("It's not possible to update a %s " + "filesystem label '%s'" % (fstype, label)) else: raise WicError("Cannot update filesystem label: " "Unknown fstype: '%s'" % (fstype)) diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index edd17d09c..e2dc529ba 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -540,13 +540,13 @@ class BaseConfig(object): def check_kvm(self): """Check kvm and kvm-host""" if not (self.kvm_enabled or self.vhost_enabled): - self.qemu_opt_script += ' %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU')) + self.qemu_opt_script += ' %s %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU'), self.get('QB_SMP')) return if not self.get('QB_CPU_KVM'): raise RunQemuError("QB_CPU_KVM is NULL, this board doesn't support kvm") - self.qemu_opt_script += ' %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU_KVM')) + self.qemu_opt_script += ' %s %s %s' % (self.get('QB_MACHINE'), self.get('QB_CPU_KVM'), self.get('QB_SMP')) yocto_kvm_wiki = "https://wiki.yoctoproject.org/wiki/How_to_enable_KVM_for_Poky_qemu" yocto_paravirt_kvm_wiki = "https://wiki.yoctoproject.org/wiki/Running_an_x86_Yocto_Linux_image_under_QEMU_KVM" dev_kvm = '/dev/kvm' -- cgit v1.2.3 From b95905d1c8bee73bd53457a1895e33c119eb9680 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 2 Jun 2021 12:40:56 -0700 Subject: meta-openembedded: subtree update:4fe1065655..2449e5f07a MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alexander Kanavin (1): remmina: make avahi support optional and off by default Alexander Vickberg (1): hostapd: fix building with CONFIG_TLS=internal Andreas Müller (63): mariadb: Fix configure evolution-data-server: Backport upstream patch to fix configure on latest CMake libgtop: tidy up recipe xfce4-systemload-plugin: upgrade 1.3.0 -> 1.3.1 / introduce PACKAGECONFIGs xfce4-clipman-plugin: upgrade 1.6.1 -> 1.6.2 xfce4-panel: upgrade 4.16.2 -> 4.16.3 fluidsynth: upgrade 2.2.0 -> 2.2.1 gparted: upgrade 1.2.0 -> 1.3.0 poppler: upgrade 21.04.0 -> 21.05.0 tracker: upgrade 2.3.6 -> 3.0.4 tracker-miners: upgrade 2.3.5 -> 3.0.5 nautilus: upgrade 3.36.3 -> 40.1 gnome-photos: upgrade 3.34.2 -> 40.0 file-roller: upgrade 3.36.3 -> 3.38.1 tepl: upgrade 4.4.0 -> 6.00.0 gedit: upgrade 3.36.2 -> 40.1 evince: upgrade 3.38.0 -> 40.1 gnome-calculator: upgrade 3.36.0 -> 40.1 gnome-system-monitor: upgrade 3.36.1 -> 40.1 dconf-editor: upgrade 3.38.2 -> 3.38.3 libwnck3: upgrade 3.36.0 -> 40.0 babl: upgrade 0.1.84 -> 0.1.86 gimp: upgrade 2.10.22 -> 2.10.24 gegl: add PACKAGECONFIG libraw and enable it by default gegl: add poppler PCAKAGECONFIG and enable it by default Revert "gimp: Disable svg icons on arm" grilo-plugins: initial add 0.3.13 gnome-photos: rrecommend grilo-plugins gnome-photos: Let all desktops add gnome-photos to their start menu meta-gnome: remove upstream-version-is-even from inherit on 40.x version recipes portaudio-v19: upgrade 19.6.0 -> 19.7.0 mousepad: upgrade 0.5.4 -> 0.5.5 network-manager-applet: upgrade 1.18.0 -> 1.22.0 nano: upgrade 5.6 -> 5.7 gnuplot: upgrade 5.2.8 -> 5.4.1 zsh: upgrade 5.4.2 -> 5.8 ttf-lohit: upgrade 2 -> 2.92.1 xrdp: upgrade 0.9.15 -> 0.9.16 snappy: upgrade 1.1.8 -> 1.1.9 redis: upgrade 6.2.2 -> 6.2.3 remmina: upgrade 1.4.11 -> 1.4.17 libpeas: upgrade 1.26.0 -> 1.30.0 modemmanager: upgrade 1.16.2 -> 1.16.4 mm-common: upgrade 1.0.2 -> 1.0.3 protobuf: upgrade 3.15.2 -> 3.17.0 qpdf: upgrade 10.2.0 -> 10.3.2 libmxml: upgrade 3.1 -> 3.2 libgusb: upgrade 0.3.5 -> 0.3.6 libeigen: upgrade 3.3.7 -> 3.3.9 giflib: upgrade 5.1.4 -> 5.2.1 fltk: upgrade 1.3.5 -> 1.3.6 botan: upgrade 2.14.0 -> 2.18.1 dialog: upgrade 1.3-20210319 -> 1.3-20210509 colord: upgrade 1.4.4 -> 1.4.5 flatbuffers: upgrade 1.12.0 -> 2.0.0 gtkwave: upgrade 3.3.108 -> 3.3.109 / move to gtk3 / tidy up recipe hwdata: upgrade 0.346 -> 0.347 mime-support: upgrade 3.48 -> 3.62 mpv: upgrade 0.32.0 -> 0.33.1 renderdoc: upgrade 1.7 -> 1.13 xfce4-screenshooter: upgrade 1.9.8 -> 1.9.9 hunspell-dictionaries: use better names for dictionary files gupnp: upgrade 1.2.4 -> 1.2.6 Andrej Kozemcak (1): squid: upgrade 4.14 -> 4.15 Armin Kuster (6): audit: migrate from meta-selinux packagegroup-meta-oe: add audit to pkg grp python3-scapy: move from meta-security python3-scapy: add pkg to pkg grp python3-scapy: drop from pkg grp python3-scapy: drop this recipe Ayoub Zaki (1): evemu-tools: Add initial recipe Bartosz Golaszewski (3): python3-pycocotools: new package python3-pydbus-manager: add runtime dependencies python3-asyncio-glib: new package Bruce Mitchell (1): makedumpfile: Bump srcrev Changqing Li (3): python3-paho-mqtt: add package python3-paho-mqtt-examples nmap: change shebang to python3 libgtop: fix do_compile error Chen Qi (1): mutter: add polkit to REQUIRED_DISTRO_FEATRUES Daniel Ammann (1): nyancat: add new package Gianfranco (1): vboxguestdrivers: upgrade 6.1.20 -> 6.1.22 Guy Morand (1): qperf: add qperf recipe Hongxu Jia (1): cdrkit: add nativesdk support Kai Kang (1): thunar: 4.16.6 -> 4.16.8 Khem Raj (47): liburing: Upgrade to 2.0 catch2: Upgrade to 2.13.6 mongodb: Update to 4.4.6-rc0 icewm: Upgrade to 2.3.3 python3-m2crypto: Pass correct ABI defines to swig python3-lazy-object-proxy: Add missing dep on pip python3-markdown: Remove sdbus-c++-libsystemd: Avoid hard dependency on rsync libmusicbrainz: Rework native and target pieces abseil-cpp: Upgrade to lts_2021_03_24 grpc: Upgrade to 1.37.1 minicoredumper: Replace pthread_mutexattr_setrobust_np with pthread_mutexattr_setrobust libupnp: Do not use _np versions of mutex APIs mariadb: Upgrade to 10.5.10 apitrace: Upgrade to 0.10 evolution-data-server: Update to 3.40.1 mongodb: Do not use MINSIGSTKSZ tbb: Fix build with GCC 11 breakpad: Fix type mismatch for SIGSTKSZ packagegroup-meta-networking.bb: Add http-parser to packagegroup-meta-networking-support nautilus: Exclude from builds python3-m2crypto: Fix build on riscv and mips googletest: Update to tip of trunk libraw: Move from meta-qt5-extra to meta-oe Revert "nautilus: Exclude from builds" libcamera: Update to latest master tip python3-haversine: Fix build with latest python/setuptools opencv: Disable tbb on riscv/musl rdma-core: Upgrade to 35.0 wireshark: Add zstd via packageconfig dhcp-relay: Use recent config.guess and config.sub for bind projucer: Update to latest master tip opencv: Do not lock to gcc only compiler minifi-cpp: Fix build with llvm C++ runtime sdbus-cpp: Do not fetch googletest on the fly python3-grpcio: Update to 1.38.0 heaptrack: Fix build with clang and llvm libunwind grpc: Upgrade to 1.38.0 packagegroup-meta-oe: Add qperf package dovecot: Fix build with llvm libunwind mpich: Upgrade to 3.4.2 packagegroup-meta-oe: Add evemu-tools vk-gl-cts: Fix O_TRUNC conflict with fcntl.h dhcp-relay: Fix libtool files for internal bind build mongodb: Change PV to 4.4.6 mongodb: Fix -Wc++11-narrowing warning on 32bit mariadb: Include missing sys/type.h for ssize_t Leon Anavi (81): python3-pywbemtools: Upgrade 0.8.1 -> 0.9.0 python3-humanize: Upgrade 3.4.1 -> 3.5.0 python3-elementpath: Upgrade 2.2.1 -> 2.2.2 python3-typing-extensions: Upgrade 3.7.4.3 -> 3.10.0.0 python3-watchdog: Upgrade 2.0.3 -> 2.1.0 python3-greenlet: Upgrade 1.0.0 -> 1.1.0 python3-bitarray: Upgrade 2.0.1 -> 2.1.0 python3-websockets: Upgrade 8.1 -> 9.0.1 python3-babel: Upgrade 2.9.0 -> 2.9.1 python3-croniter: Upgrade 1.0.12 -> 1.0.13 python3-serpent: Upgrade 1.30.2 -> 1.40 python3-cerberus: Upgrade 1.3.3 -> 1.3.4 python3-aiohue: Upgrade 2.2.0 -> 2.3.0 python3-robotframework: Upgrade 4.0.1 -> 4.0.2 python3-sentry-sdk: Upgrade 1.0.0 -> 1.1.0 python3-aiohue: Upgrade 2.3.0 -> 2.3.1 python3-watchdog: Upgrade 2.1.0 -> 2.1.1 python3-itsdangerous: Upgrade 1.1.0 -> 2.0.0 python3-websocket-client: Upgrade 0.58.0 -> 0.59.0 python3-google-api-python-client: Upgrade 2.2.0 -> 2.4.0 python3-configargparse: Upgrade 1.4 -> 1.4.1 python3-click: Upgrade 7.1.2 -> 8.0.0 python3-pysonos: Upgrade 0.0.43 -> 0.0.46 python3-rfc3339-validator: Upgrade 0.1.3 -> 0.1.4 python3-pymongo: Upgrade 3.11.3 -> 3.11.4 python3-alembic: Upgrade 1.5.8 -> 1.6.2 python3-deprecated: Add recipe python3-pymisp: Upgrade 2.4.142 -> 2.4.143 python3-aiohue: Upgrade 2.3.1 -> 2.4.0 python3-pyroute2: Upgrade 0.5.18 -> 0.5.19 python3-matplotlib-inline: Add recipe python3-ipython: Upgrade 7.22.0 -> 7.23.1 python3-sh: Upgrade 1.14.1 -> 1.14.2 python3-javaobj-py3: Upgrade 0.4.2 -> 0.4.3 python3-pyjwt: Upgrade 2.0.1 -> 2.1.0 python3-aiofiles: Upgrade 0.6.0 -> 0.7.0 python3-aiohue: Upgrade 2.4.0 -> 2.5.0 python3-cbor2: Upgrade 5.2.0 -> 5.3.0 python3-websockets: Upgrade 9.0.1 -> 9.0.2 python3-decorator: Upgrade 5.0.7 -> 5.0.9 python3-websocket-client: Upgrade 0.59.0 -> 1.0.0 python3-pysonos: Upgrade 0.0.46 -> 0.0.48 surf: Upgrade 2.0 -> 2.1 python3-pywbem: Upgrade 1.1.3 -> 1.2.0 python3-watchdog: Upgrade 2.1.1 -> 2.1.2 python3-click: Upgrade 8.0.0 -> 8.0.1 python3-pysonos: Upgrade 0.0.48 -> 0.0.49 python3-pytest-runner: Upgrade 5.3.0 -> 5.3.1 python3-xmlschema: Upgrade 1.6.1 -> 1.6.2 python3-websocket-client: Upgrade 1.0.0 -> 1.0.1 python3-alembic: Upgrade 1.6.2 -> 1.6.4 python3-sqlalchemy: Upgrade 1.4.11 -> 1.4.15 python3-flask-migrate: Upgrade 2.7.0 -> 3.0.0 python3-flask: Upgrade 1.1.2 -> 2.0.1 python3-flask-wtf: Upgrade 0.14.3 -> 0.15.1 python3-flask-socketio: Upgrade 5.0.1 -> 5.0.3 python3-werkzeug: Upgrade 1.0.1 -> 2.0.1 python3-bidict: Add recipe python3-socketio: Upgrade 5.1.0 -> 5.3.0 python3-robotframework: Upgrade 4.0.2 -> 4.0.3 python3-flask-restful: Upgrade 0.3.8 -> 0.3.9 python3-pysonos: Upgrade 0.0.49 -> 0.0.50 python3-aenum: Upgrade 3.0.0 -> 3.1.0 python3-pyscaffold: Upgrade 4.0.1 -> 4.0.2 python3-urllib3: Upgrade 1.26.4 -> 1.26.5 python3-tqdm: Upgrade 4.60.0 -> 4.61.0 python3-flask: Extend RDEPENDS python3-ecdsa: Upgrade 0.16.1 -> 0.17.0 python3-alembic: Upgrade 1.6.4 -> 1.6.5 python3-websockets: Upgrade 9.0.2 -> 9.1 python3-pyzmq: Upgrade 22.0.3 -> 22.1.0 python3-ntplib: Upgrade 0.3.4 -> 0.4.0 python3-humanize: Upgrade 3.5.0 -> 3.6.0 python3-astroid: Upgrade 2.5.6 -> 2.5.7 python3-netifaces: Upgrade 0.10.9 -> 0.11.0 python3-certifi: Upgrade 2020.12.5 -> 2021.5.30 python3-click-repl: Upgrade 0.1.6 -> 0.2.0 python3-google-api-python-client: Upgrade 2.4.0 -> 2.6.0 python3-pytest-helpers-namespace: Upgrade 2021.3.24 -> 2021.4.29 python3-ipython: Upgrade 7.23.1 -> 7.24.0 python3-ruamel-yaml: Upgrade 0.17.4 -> 0.17.7 LiweiSong (1): pm-graph: parse separated cpu exec line Martin Jansa (7): ostree: switch from default master branch to main to fix do_fetch failure snappy: explicity disable building tests and benchmark libtinyxml2: restore building shared library zsh: work around file-rdeps QA issues with usrmerge in DISTRO_FEATURES snappy: fix native build with older gcc on host p7zip: refresh patches with devtool to apply cleanly gtkwave: set REQUIRED_DISTRO_FEATURES only to wayland Nisha Parrakat (1): p7zip: build and package lib7z.so needed for fastboot Nuno Sá (2): libiio: add serial backend support libiio: mark libxml2 as depends for usb_backend Robert Joslyn (1): ctags: Use PACKAGECONFIG for build options Romain Naour (4): poke: add recipe for version 1.2 poke: add optional json-c dependency packagegroup-meta-oe: Add poke to packagegroup-meta-oe-devtools libiec61850: Upgrade to 1.5.0 Ross Burton (3): nss: disable -Werror nss: remove -march vs -mcpu workaround meta-gnome: add Cogl/Clutter from oe-core Saul Wold (2): opencv: remove tbb packageconfig for powerpc sysdig: disable building for ppc Stefan Ghinea (1): thunar: fix CVE-2021-32563 Stefan Wiehler (3): http-parser: add recipe restinio: add recipe restinio: fix license Trevor Gamblin (6): python3-django: upgrade 2.2.20 -> 2.2.22 python3-django: upgrade 3.2 -> 3.2.2 python3-django: upgrade 2.2.22 -> 2.2.23 python3-django: upgrade 3.2.2 -> 3.2.3 python3-ujson: fix ptests python3-prettytable: add python3-sqlite3 for ptest William A. Kennington III (1): span-lite: upgrade 0.8.1 -> 0.9.2 Yi Zhao (1): dhcp-relay: add recipe wangmy (11): uftrace: Fix a plthook crash on aarch64 with binutils2.35.1 and later versions on aarch64 exiv2: Fix CVE-2021-29457 exiv2: Fix CVE-2021-29458 exiv2: Fix CVE-2021-29463 exiv2: Fix CVE-2021-3482 exiv2: Fix CVE-2021-29464 exiv2: Fix CVE-2021-29470 exiv2: Fix CVE-2021-29473 libsdl: Fix CVE-2019-13616 trace-cmd: Conflict resolution uftrace: upgrade 0.9.4 -> 0.10 zangrc (21): ifenslave: upgrade 2.11 -> 2.12 lksctp-tools: upgrade 1.0.18 -> 1.0.19 nbdkit: upgrade 1.25.6 -> 1.25.7 tcpreplay: upgrade 4.3.3 -> 4.3.4 cloc: upgrade 1.88 -> 1.90 gensio: upgrade 2.2.4 -> 2.2.5 iwd: upgrade 1.13 -> 1.14 makedumpfile: upgrade 1.6.8 -> 1.6.9 postgresql: upgrade 13.2 -> 13.3 libencode-perl: upgrade 3.08 -> 3.10 python3-xlsxwriter: upgrade 1.4.0 -> 1.4.3 python3-itsdangerous: upgrade 2.0.0 -> 2.0.1 python3-protobuf: upgrade 3.14.0 -> 3.17.0 python3-pulsectl: upgrade 21.3.4 -> 21.5.17 python3-engineio: upgrade 3.13.0 -> 4.2.0 python3-can: upgrade 3.3.3 -> 3.3.4 gexiv2: upgrade 0.12.1 -> 0.12.2 gnome-autoar: upgrade 0.3.1 -> 0.3.2 gnome-bluetooth: upgrade 3.34.1 -> 3.34.5 libgweather: upgrade 3.36.1 -> 3.36.2 libstemmer: upgrade 2.0.0 -> 2.1.0 zhengruoqin (8): libdivecomputer: upgrade 0.6.0 -> 0.7.0 libjcat: upgrade 0.1.6 -> 0.1.7 libxmlb: upgrade 0.3.0 -> 0.3.1 chrony: upgrade 4.0 -> 4.1 libqmi: upgrade 1.28.2 -> 1.28.4 libtinyxml2: upgrade 8.0.0 -> 8.1.0 libndp: upgrade 1.7 -> 1.8 valijson: upgrade 0.3 -> 0.4 Change-Id: I8a1f42af3063886d88a7c0c5c79a45dde55c34da Signed-off-by: William A. Kennington III --- .../meta-gnome/classes/clutter.bbclass | 18 + .../network-manager-applet_1.18.0.bb | 29 - .../network-manager-applet_1.22.0.bb | 29 + .../recipes-extended/gparted/gparted_1.2.0.bb | 38 -- .../recipes-extended/gparted/gparted_1.3.0.bb | 38 ++ .../meta-gnome/recipes-gimp/babl/babl_0.1.84.bb | 20 - .../meta-gnome/recipes-gimp/babl/babl_0.1.86.bb | 20 + .../meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb | 4 +- ...c-fix-with-linux-input-handling-with-upco.patch | 58 -- .../meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb | 74 --- .../meta-gnome/recipes-gimp/gimp/gimp_2.10.24.bb | 72 +++ ...n-t-alter-or-try-to-write-GtkChild-fields.patch | 522 --------------- .../recipes-gnome/dconf/dconf-editor_3.38.2.bb | 18 - .../recipes-gnome/dconf/dconf-editor_3.38.3.bb | 16 + .../recipes-gnome/evince/evince_3.38.0.bb | 50 -- .../meta-gnome/recipes-gnome/evince/evince_40.1.bb | 54 ++ .../evolution-data-server.inc | 5 +- .../file-roller/file-roller_3.36.3.bb | 27 - .../file-roller/file-roller_3.38.1.bb | 27 + .../meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb | 40 -- .../meta-gnome/recipes-gnome/gedit/gedit_40.1.bb | 46 ++ .../recipes-gnome/gexiv2/gexiv2_0.12.1.bb | 19 - .../recipes-gnome/gexiv2/gexiv2_0.12.2.bb | 19 + .../gnome-autoar/gnome-autoar_0.3.1.bb | 17 - .../gnome-autoar/gnome-autoar_0.3.2.bb | 17 + .../gnome-bluetooth/gnome-bluetooth_3.34.1.bb | 24 - .../gnome-bluetooth/gnome-bluetooth_3.34.5.bb | 24 + .../gnome-calculator/gnome-calculator_3.36.0.bb | 33 - .../gnome-calculator/gnome-calculator_40.1.bb | 36 ++ .../gnome-photos/gnome-photos_3.34.2.bb | 36 -- .../gnome-photos/gnome-photos_40.0.bb | 46 ++ .../gnome-system-monitor_3.36.1.bb | 32 - .../gnome-system-monitor_40.1.bb | 35 + .../0001-Avoid-running-trackertestutils.patch | 34 + .../recipes-gnome/grilo/grilo-plugins_0.3.13.bb | 22 + .../0001-fix-compile-error-for-cross-compile.patch | 37 ++ .../recipes-gnome/libgtop/libgtop_2.40.0.bb | 7 +- .../libgweather/libgweather_3.36.1.bb | 24 - .../libgweather/libgweather_3.36.2.bb | 24 + .../recipes-gnome/libwnck/libwnck3_3.36.0.bb | 24 - .../recipes-gnome/libwnck/libwnck3_40.0.bb | 26 + .../recipes-gnome/mutter/mutter_3.34.6.bb | 2 +- .../nautilus/0001-Drop-use-of-volatile.patch | 32 - .../recipes-gnome/nautilus/nautilus_3.36.3.bb | 37 -- .../recipes-gnome/nautilus/nautilus_40.1.bb | 45 ++ .../meta-gnome/recipes-gnome/tepl/tepl_4.4.0.bb | 17 - .../meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb | 24 + .../recipes-gnome/tracker/tracker-miners_2.3.5.bb | 71 -- .../recipes-gnome/tracker/tracker-miners_3.0.5.bb | 72 +++ .../recipes-gnome/tracker/tracker_2.3.6.bb | 51 -- .../recipes-gnome/tracker/tracker_3.0.4.bb | 52 ++ .../recipes-graphics/clutter/clutter-1.0.inc | 49 ++ ...ter.types-as-it-is-build-configuration-sp.patch | 143 +++++ .../clutter/clutter-1.0/install-examples.patch | 19 + .../run-installed-tests-with-tap-output.patch | 30 + .../recipes-graphics/clutter/clutter-1.0/run-ptest | 3 + .../recipes-graphics/clutter/clutter-1.0_1.26.4.bb | 10 + .../recipes-graphics/clutter/clutter-gst-3.0.inc | 23 + ...mple-binary-needed-for-core-image-clutter.patch | 33 + .../clutter/clutter-gst-3.0_3.0.27.bb | 7 + .../recipes-graphics/clutter/clutter-gtk-1.0.inc | 23 + ...g-variable-for-enabling-disabling-introsp.patch | 37 ++ .../clutter/clutter-gtk-1.0_1.8.4.bb | 7 + .../meta-gnome/recipes-graphics/cogl/cogl-1.0.inc | 84 +++ ...1-configure.ac-don-t-require-eglmesaext.h.patch | 92 +++ .../recipes-graphics/cogl/cogl-1.0_1.22.8.bb | 6 + .../packagegroups/packagegroup-core-clutter.bb | 22 + .../libstemmer/libstemmer/0001-Build-so-lib.patch | 6 +- ...emwords-do-link-with-LDFLAGS-set-by-build.patch | 46 -- .../recipes-support/libstemmer/libstemmer_git.bb | 7 +- ...01-Fix-build-with-hardened-security-flags.patch | 61 ++ .../recipes-connectivity/gupnp/gupnp_1.2.4.bb | 8 - .../recipes-connectivity/gupnp/gupnp_1.2.6.bb | 10 + ...-pthread_mutexattr_gettype-pthread_mutexa.patch | 42 ++ .../recipes-connectivity/libupnp/libupnp_1.14.6.bb | 8 +- .../recipes-multimedia/fluidsynth/fluidsynth.inc | 4 +- .../recipes-multimedia/juce/projucer.inc | 7 +- .../projucer/0001-Disable-webkit-component.patch | 83 --- .../recipes-multimedia/libcamera/libcamera.bb | 9 +- ...e-auto-variable-to-avoid-range-loop-warni.patch | 117 ---- .../musicbrainz/files/allow-libdir-override.patch | 21 - .../musicbrainz/libmusicbrainz_git.bb | 35 +- .../recipes-connectivity/dhcp/dhcp-relay_4.4.2.bb | 72 +++ .../0001-Makefile.am-only-build-dhcrelay.patch | 30 + .../recipes-connectivity/dhcp/files/default-relay | 12 + .../dhcp/files/dhcrelay.service | 10 + .../recipes-connectivity/dhcp/files/init-relay | 44 ++ ...don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch | 37 ++ .../0001-use-poll.h-instead-of-sys-poll.h.patch | 33 - ...port_linux-Add-missing-include-sys-time.h.patch | 32 - ...don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch | 37 -- .../libiec61850/libiec61850_1.4.2.1.bb | 39 -- .../libiec61850/libiec61850_1.5.0.bb | 37 ++ .../restinio/restinio_0.6.13.bb | 31 + .../packagegroups/packagegroup-meta-networking.bb | 2 + .../0001-Fix-build-on-Fedora-Rawhide-772.patch | 25 +- .../recipes-daemons/squid/squid_4.14.bb | 117 ---- .../recipes-daemons/squid/squid_4.15.bb | 117 ++++ .../python/python3-scapy/run-ptest | 4 + .../recipes-devtools/python/python3-scapy_2.4.5.bb | 41 ++ .../recipes-support/chrony/chrony/arm_eabi.patch | 12 +- .../recipes-support/chrony/chrony_4.0.bb | 138 ---- .../recipes-support/chrony/chrony_4.1.bb | 138 ++++ ...or-libunwind-instead-of-libunwind-generic.patch | 30 + .../recipes-support/dovecot/dovecot_2.3.14.bb | 1 + .../http-parser/http-parser_2.9.4.bb | 30 + .../recipes-support/ifenslave/ifenslave_2.11.bb | 22 - .../recipes-support/ifenslave/ifenslave_2.12.bb | 22 + ...-sctp.m4-make-conpatible-to-autoconf-2.70.patch | 89 --- .../lksctp-tools/lksctp-tools_1.0.18.bb | 64 -- .../lksctp-tools/lksctp-tools_1.0.19.bb | 63 ++ .../recipes-support/nbdkit/nbdkit_1.25.6.bb | 34 - .../recipes-support/nbdkit/nbdkit_1.25.7.bb | 34 + .../recipes-support/rdma-core/rdma-core_33.0.bb | 42 -- .../recipes-support/rdma-core/rdma-core_35.0.bb | 42 ++ .../recipes-support/tcpreplay/tcpreplay_4.3.3.bb | 21 - .../recipes-support/tcpreplay/tcpreplay_4.3.4.bb | 21 + .../recipes-support/wireshark/wireshark_3.4.5.bb | 1 + .../mongodb/0001-Do-not-use-MINSIGSTKSZ.patch | 34 + .../0001-Use-explicit-typecast-to-size_t.patch | 35 + ...kms-message-bump-libmongocrypto-to-v1.0.4.patch | 714 --------------------- .../meta-python/recipes-dbs/mongodb/mongodb_git.bb | 9 +- .../recipes-devtools/valijson/valijson_0.3.bb | 36 -- .../recipes-devtools/valijson/valijson_0.4.bb | 36 ++ meta-openembedded/meta-oe/licenses/Bellcore | 13 + .../recipes-benchmark/qperf/qperf_0.4.11.bb | 19 + .../recipes-connectivity/gensio/gensio_2.2.4.bb | 24 - .../recipes-connectivity/gensio/gensio_2.2.5.bb | 24 + .../0001-Prepare-for-CVE-2021-30004.patch.patch | 45 ++ .../recipes-connectivity/hostapd/hostapd_2.9.bb | 1 + ...bs_top_srcdir-instead-of-abs_srcdir-for-e.patch | 20 +- .../meta-oe/recipes-connectivity/iwd/iwd_1.13.bb | 55 -- .../meta-oe/recipes-connectivity/iwd/iwd_1.14.bb | 55 ++ .../recipes-connectivity/libndp/libndp_1.7.bb | 12 - .../recipes-connectivity/libndp/libndp_1.8.bb | 12 + .../recipes-connectivity/libqmi/libqmi_1.28.2.bb | 21 - .../recipes-connectivity/libqmi/libqmi_1.28.4.bb | 21 + .../modemmanager/modemmanager_1.16.2.bb | 53 -- .../modemmanager/modemmanager_1.16.4.bb | 53 ++ .../recipes-core/mm-common/mm-common_1.0.2.bb | 13 - .../recipes-core/mm-common/mm-common_1.0.3.bb | 12 + .../packagegroups/packagegroup-meta-oe.bb | 5 + .../0001-Do-not-download-gtest-automatically.patch | 44 ++ ...test-Check-for-googletest-on-system-first.patch | 41 ++ .../7c5fd25119a495009ea62f79e5daec34cc464628.patch | 53 ++ .../sdbus-c++/sdbus-c++-libsystemd_243.bb | 7 +- .../recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb | 8 +- .../meta-oe/recipes-crypto/botan/botan_2.14.0.bb | 53 -- .../meta-oe/recipes-crypto/botan/botan_2.18.1.bb | 52 ++ .../recipes-dbs/mysql/mariadb-native_10.5.10.bb | 20 + .../recipes-dbs/mysql/mariadb-native_10.5.9.bb | 20 - .../meta-oe/recipes-dbs/mysql/mariadb.inc | 5 +- .../mysql/mariadb/cross-compiling.patch | 25 + .../mysql/mariadb/fix-a-building-failure.patch | 35 - .../mysql/mariadb/ppc-remove-glibc-dep.patch | 2 +- .../recipes-dbs/mysql/mariadb/ssize_t.patch | 15 + .../meta-oe/recipes-dbs/mysql/mariadb_10.5.10.bb | 27 + .../meta-oe/recipes-dbs/mysql/mariadb_10.5.9.bb | 27 - ...ure.in-bypass-autoconf-2.69-version-check.patch | 2 +- .../recipes-dbs/postgresql/postgresql_13.2.bb | 12 - .../recipes-dbs/postgresql/postgresql_13.3.bb | 12 + .../0001-Export-of-internal-Abseil-changes.patch | 100 +++ .../abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch | 24 +- .../recipes-devtools/abseil-cpp/abseil-cpp_git.bb | 10 +- .../0001-libbacktrace-include-config.h.patch | 33 + .../recipes-devtools/apitrace/apitrace_10.0.bb | 32 + .../recipes-devtools/apitrace/apitrace_9.0.bb | 30 - ...n_handler.cc-Match-the-types-for-SIGSTKSZ.patch | 34 + .../recipes-devtools/breakpad/breakpad_git.bb | 1 + .../meta-oe/recipes-devtools/cloc/cloc_1.88.bb | 21 - .../meta-oe/recipes-devtools/cloc/cloc_1.90.bb | 21 + .../recipes-devtools/ctags/ctags_5.9.20210502.0.bb | 17 +- .../flatbuffers/flatbuffers_1.12.0.bb | 45 -- .../flatbuffers/flatbuffers_2.0.0.bb | 43 ++ .../giflib/files/CVE-2019-15133.patch | 23 - .../recipes-devtools/giflib/giflib_5.1.4.bb | 24 - .../recipes-devtools/giflib/giflib_5.2.1.bb | 24 + .../grpc/grpc/0001-gsec-Fix-build-on-musl.patch | 37 ++ .../meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb | 80 --- .../meta-oe/recipes-devtools/grpc/grpc_1.38.0.bb | 80 +++ ...k-for-unw_set_caching_policy-before-using.patch | 41 ++ .../recipes-devtools/heaptrack/heaptrack_1.2.0.bb | 1 + .../meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb | 54 -- .../meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb | 56 ++ ...t-check-for-Tcl-Tk-if-disable-gui-is-spec.patch | 43 ++ ...er-config.in-avoit-host-poisoning-while-c.patch | 45 ++ ...c-HELP2MAN-replace-by-true-when-cross-com.patch | 34 + .../meta-oe/recipes-devtools/poke/poke_1.2.bb | 32 + .../recipes-devtools/protobuf/protobuf_3.15.2.bb | 90 --- .../recipes-devtools/protobuf/protobuf_3.17.0.bb | 90 +++ ...-Fix-error-on-aarch64-with-binutils2.35.1.patch | 27 - .../recipes-devtools/uftrace/uftrace_0.10.bb | 45 ++ .../recipes-devtools/uftrace/uftrace_0.9.4.bb | 46 -- .../recipes-extended/dialog/dialog_1.3-20210319.bb | 33 - .../recipes-extended/dialog/dialog_1.3-20210509.bb | 31 + ...uild-to-conversion-tools-for-native-build.patch | 9 +- .../gnuplot/gnuplot/0002-do-not-build-demos.patch | 12 +- .../0003-Use-native-tools-to-build-docs.patch | 28 +- .../recipes-extended/gnuplot/gnuplot_5.2.8.bb | 71 -- .../recipes-extended/gnuplot/gnuplot_5.4.1.bb | 71 ++ ...c-skip-running-test-program-when-cross-co.patch | 31 +- .../meta-oe/recipes-extended/icewm/icewm_1.6.5.bb | 46 -- .../meta-oe/recipes-extended/icewm/icewm_2.3.3.bb | 46 ++ .../libdivecomputer/libdivecomputer_git.bb | 4 +- .../files/0001-Fix-build-with-libc.patch | 36 ++ .../minifi-cpp/minifi-cpp_0.7.0.bb | 1 + .../recipes-extended/ostree/ostree_2021.2.bb | 2 +- ...0001-Fix-narrowing-errors-Wc-11-narrowing.patch | 3 +- .../p7zip/files/CVE-2017-17969.patch | 13 +- .../change_numMethods_from_bool_to_unsigned.patch | 34 + ...do_not_override_compiler_and_do_not_strip.patch | 16 +- .../meta-oe/recipes-extended/p7zip/p7zip_16.02.bb | 21 +- .../redis/0001-src-Do-not-reset-FINAL_LIBS.patch | 10 +- .../meta-oe/recipes-extended/redis/redis_6.2.2.bb | 66 -- .../meta-oe/recipes-extended/redis/redis_6.2.3.bb | 66 ++ ...nline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch | 71 ++ .../recipes-extended/snappy/snappy_1.1.8.bb | 25 - .../recipes-extended/snappy/snappy_1.1.9.bb | 26 + .../meta-oe/recipes-extended/sysdig/sysdig_git.bb | 2 + .../meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb | 34 - .../meta-oe/recipes-gnome/libjcat/libjcat_0.1.7.bb | 34 + ...d-tests-when-introspection-is-disabled-mi.patch | 36 -- .../libpeas/add_missing_locale_include.patch | 21 - .../recipes-gnome/libpeas/libpeas_1.26.0.bb | 32 - .../recipes-gnome/libpeas/libpeas_1.30.0.bb | 26 + .../meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb | 19 - .../meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.1.bb | 19 + .../recipes-graphics/gtkwave/gtkwave_3.3.108.bb | 23 - .../recipes-graphics/gtkwave/gtkwave_3.3.109.bb | 44 ++ .../libsdl/libsdl-1.2.15/CVE-2019-13616.patch | 27 + .../recipes-graphics/libsdl/libsdl_1.2.15.bb | 1 + .../recipes-graphics/nyancat/nyancat_1.5.2.bb | 17 + ...emove-glslang-pool_allocator-setAllocator.patch | 31 - .../recipes-graphics/renderdoc/renderdoc_1.13.bb | 38 ++ .../recipes-graphics/renderdoc/renderdoc_1.7.bb | 38 -- .../0001-config.mk-Fix-compiler-and-linker.patch | 35 +- .../meta-oe/recipes-graphics/surf/surf_2.0.bb | 25 - .../meta-oe/recipes-graphics/surf/surf_2.1.bb | 25 + .../recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb | 23 + .../recipes-graphics/ttf-fonts/ttf-lohit_2.bb | 23 - .../vk-gl-cts/files/0001-vulkancts.patch | 40 ++ .../recipes-graphics/vk-gl-cts/khronos-cts.inc | 1 + ...0001-makedumpfile-replace-hardcode-CFLAGS.patch | 10 +- ...-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch | 6 +- .../makedumpfile/makedumpfile_1.6.8.bb | 64 -- .../makedumpfile/makedumpfile_1.6.9.bb | 64 ++ ...per-Initialize-pointer-to-config-struct-t.patch | 29 - ...read_mutexattr_setrobust_np-with-pthread_.patch | 33 + .../minicoredumper/minicoredumper_2.0.1.bb | 1 + ...leepgraph.py-parse-unfished-cpu-exec-line.patch | 51 ++ .../recipes-kernel/pm-graph/pm-graph_5.5.bb | 1 + .../recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb | 2 + .../recipes-multimedia/cdrkit/cdrkit_1.1.11.bb | 7 +- ...001-install-netscsid-to-bin-for-nativesdk.patch | 28 + .../recipes-multimedia/mplayer/mpv_0.32.0.bb | 114 ---- .../recipes-multimedia/mplayer/mpv_0.33.1.bb | 116 ++++ .../meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb | 36 -- .../meta-oe/recipes-printing/qpdf/qpdf_10.3.2.bb | 35 + ...ubstitue-functions-for-strndupa-rawmemchr.patch | 133 ++++ .../Fixed-swig-host-contamination-issue.patch | 57 ++ .../audit/audit/audit-volatile.conf | 1 + .../meta-oe/recipes-security/audit/audit/auditd | 153 +++++ .../recipes-security/audit/audit/auditd.service | 28 + .../meta-oe/recipes-security/audit/audit_2.8.5.bb | 105 +++ .../meta-oe/recipes-security/audit/audit_3.0.1.bb | 109 ++++ .../meta-oe/recipes-security/nmap/nmap_7.80.bb | 8 +- .../meta-oe/recipes-shells/zsh/zsh_5.4.2.bb | 65 -- .../meta-oe/recipes-shells/zsh/zsh_5.8.bb | 58 ++ ...nction-cd_icc_create_from_edid-to-avoid-u.patch | 6 +- .../meta-oe/recipes-support/colord/colord.inc | 5 +- .../recipes-support/evemu-tools/evemu-tools_git.bb | 21 + .../exiv2/exiv2/CVE-2021-29457.patch | 26 + .../exiv2/exiv2/CVE-2021-29458.patch | 37 ++ .../exiv2/exiv2/CVE-2021-29463.patch | 120 ++++ .../exiv2/exiv2/CVE-2021-29464.patch | 72 +++ .../exiv2/exiv2/CVE-2021-29470.patch | 32 + .../exiv2/exiv2/CVE-2021-29473.patch | 21 + .../exiv2/exiv2/CVE-2021-3482.patch | 54 ++ .../meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb | 9 +- .../meta-oe/recipes-support/fltk/fltk-native.bb | 5 +- .../meta-oe/recipes-support/fltk/fltk.bb | 7 +- .../meta-oe/recipes-support/fltk/fltk.inc | 5 +- ...02-always-build-fluid-and-export-pointers.patch | 24 +- ...d-Force-shared-libs-with-unsuffixed-names.patch | 41 -- ...error-when-enable-package-config-examples.patch | 182 ------ .../hunspell/hunspell-dictionaries.bb | 2 +- .../meta-oe/recipes-support/hwdata/hwdata_0.347.bb | 21 + .../meta-oe/recipes-support/hwdata/hwdata_git.bb | 23 - .../recipes-support/libeigen/libeigen_3.3.7.bb | 22 - .../recipes-support/libeigen/libeigen_3.3.9.bb | 21 + .../recipes-support/libgusb/libgusb_0.3.5.bb | 12 - .../recipes-support/libgusb/libgusb_0.3.6.bb | 11 + .../meta-oe/recipes-support/libiio/libiio_git.bb | 5 +- .../meta-oe/recipes-support/libmxml/libmxml_3.1.bb | 33 - .../meta-oe/recipes-support/libmxml/libmxml_3.2.bb | 33 + .../recipes-support/libraw/libraw_0.20.2.bb | 11 + .../libtinyxml2/libtinyxml2_8.0.0.bb | 15 - .../libtinyxml2/libtinyxml2_8.1.0.bb | 17 + .../liburing/0001-do-not-build-examples.patch | 10 +- ...xamples-ucontext-cp.c-Do-not-use-SIGSTKSZ.patch | 37 ++ ...ild-on-32bit-architectures-with-6bit-time.patch | 35 - ...ortability-issue-when-using-__NR_mmap-sys.patch | 53 ++ .../recipes-support/liburing/liburing_0.7.bb | 31 - .../recipes-support/liburing/liburing_2.0.bb | 32 + .../mime-support/mime-support_3.48.bb | 64 -- .../mime-support/mime-support_3.62.bb | 65 ++ .../meta-oe/recipes-support/nano/nano_5.6.bb | 21 - .../meta-oe/recipes-support/nano/nano_5.7.bb | 22 + .../meta-oe/recipes-support/nss/nss_3.64.bb | 5 +- .../meta-oe/recipes-support/opencv/opencv_4.5.2.bb | 8 +- .../recipes-support/poppler/poppler_21.04.0.bb | 51 -- .../recipes-support/poppler/poppler_21.05.0.bb | 51 ++ .../recipes-support/portaudio/files/ldflags.patch | 51 -- .../portaudio/portaudio-v19/0001-Find-jack.patch | 32 + .../portaudio/portaudio-v19_19.7.0.bb | 32 + .../portaudio/portaudio-v19_20161030.bb | 32 - .../recipes-support/remmina/remmina_1.4.11.bb | 36 -- .../recipes-support/remmina/remmina_1.4.17.bb | 46 ++ .../recipes-support/span-lite/span-lite_0.8.1.bb | 12 - .../recipes-support/span-lite/span-lite_0.9.2.bb | 12 + ...end_of_input-Use-an-arbitrary-but-valid-p.patch | 37 ++ .../meta-oe/recipes-support/tbb/tbb_2021.2.0.bb | 1 + .../vboxguestdrivers/vboxguestdrivers_6.1.20.bb | 83 --- .../vboxguestdrivers/vboxguestdrivers_6.1.22.bb | 83 +++ .../0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch | 11 +- .../meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb | 94 --- .../meta-oe/recipes-support/xrdp/xrdp_0.9.16.bb | 94 +++ .../meta-oe/recipes-test/catch2/catch2_2.13.4.bb | 22 - .../meta-oe/recipes-test/catch2/catch2_2.13.6.bb | 22 + .../recipes-test/googletest/googletest_git.bb | 7 +- .../recipes-perl/libencode/libencode-perl_3.08.bb | 106 --- .../recipes-perl/libencode/libencode-perl_3.10.bb | 106 +++ .../packagegroups/packagegroup-meta-python.bb | 4 +- .../recipes-devtools/python/python3-aenum_3.0.0.bb | 10 - .../recipes-devtools/python/python3-aenum_3.1.0.bb | 10 + .../python/python3-aiofiles_0.6.0.bb | 16 - .../python/python3-aiofiles_0.7.0.bb | 15 + .../python/python3-aiohue_2.2.0.bb | 12 - .../python/python3-aiohue_2.5.0.bb | 11 + .../python/python3-alembic_1.5.8.bb | 16 - .../python/python3-alembic_1.6.5.bb | 17 + .../python/python3-astroid_2.5.6.bb | 32 - .../python/python3-astroid_2.5.7.bb | 32 + .../python/python3-asyncio-glib_0.1.bb | 11 + .../recipes-devtools/python/python3-babel_2.9.0.bb | 26 - .../recipes-devtools/python/python3-babel_2.9.1.bb | 26 + .../python/python3-bidict_0.21.2.bb | 11 + .../python/python3-bitarray_2.0.1.bb | 10 - .../python/python3-bitarray_2.1.0.bb | 10 + .../recipes-devtools/python/python3-can_3.3.3.bb | 26 - .../recipes-devtools/python/python3-can_3.3.4.bb | 27 + .../recipes-devtools/python/python3-cbor2_5.2.0.bb | 30 - .../recipes-devtools/python/python3-cbor2_5.3.0.bb | 29 + .../python/python3-cerberus_1.3.3.bb | 11 - .../python/python3-cerberus_1.3.4.bb | 13 + .../python/python3-certifi_2020.12.5.bb | 14 - .../python/python3-certifi_2021.5.30.bb | 14 + .../python/python3-click-repl_0.1.6.bb | 9 - .../python/python3-click-repl_0.2.0.bb | 10 + .../recipes-devtools/python/python3-click_7.1.2.bb | 40 -- .../recipes-devtools/python/python3-click_8.0.1.bb | 39 ++ .../python/python3-configargparse_1.4.1.bb | 20 + .../python/python3-configargparse_1.4.bb | 20 - .../python/python3-croniter_1.0.12.bb | 12 - .../python/python3-croniter_1.0.13.bb | 12 + .../python/python3-decorator_5.0.7.bb | 18 - .../python/python3-decorator_5.0.9.bb | 18 + .../python/python3-deprecated_1.2.12.bb | 9 + .../python/python3-django_2.2.20.bb | 9 - .../python/python3-django_2.2.23.bb | 9 + .../python/python3-django_3.2.3.bb | 13 + .../recipes-devtools/python/python3-django_3.2.bb | 13 - .../python/python3-ecdsa_0.16.1.bb | 13 - .../python/python3-ecdsa_0.17.0.bb | 13 + .../python/python3-elementpath_2.2.1.bb | 11 - .../python/python3-elementpath_2.2.2.bb | 11 + .../python/python3-engineio_3.13.0.bb | 13 - .../python/python3-engineio_4.2.0.bb | 21 + .../python/python3-flask-migrate_2.7.0.bb | 15 - .../python/python3-flask-migrate_3.0.0.bb | 15 + .../python/python3-flask-restful_0.3.8.bb | 16 - .../python/python3-flask-restful_0.3.9.bb | 15 + .../python/python3-flask-socketio_5.0.1.bb | 17 - .../python/python3-flask-socketio_5.0.3.bb | 17 + .../python/python3-flask-wtf_0.14.3.bb | 17 - .../python/python3-flask-wtf_0.15.1.bb | 16 + .../recipes-devtools/python/python3-flask_1.1.2.bb | 18 - .../recipes-devtools/python/python3-flask_2.0.1.bb | 23 + .../python3-google-api-python-client_2.2.0.bb | 9 - .../python3-google-api-python-client_2.6.0.bb | 9 + .../python/python3-greenlet_1.0.0.bb | 8 - .../python/python3-greenlet_1.1.0.bb | 9 + .../python/python3-grpcio/mips_bigendian.patch | 2 +- .../python/python3-grpcio/riscv64_support.patch | 21 - .../python/python3-grpcio_1.37.0.bb | 49 -- .../python/python3-grpcio_1.38.0.bb | 47 ++ ...1-setup.py-Correct-the-license-assignment.patch | 32 + .../python/python3-haversine_2.3.0.bb | 2 + .../python/python3-humanize_3.4.1.bb | 20 - .../python/python3-humanize_3.6.0.bb | 20 + .../python/python3-ipython_7.22.0.bb | 28 - .../python/python3-ipython_7.24.0.bb | 28 + .../python/python3-itsdangerous_1.1.0.bb | 17 - .../python/python3-itsdangerous_2.0.1.bb | 17 + .../python/python3-javaobj-py3_0.4.2.bb | 14 - .../python/python3-javaobj-py3_0.4.3.bb | 14 + .../python/python3-lazy-object-proxy_1.6.0.bb | 2 +- .../python/python3-m2crypto_0.37.1.bb | 31 +- .../python/python3-markdown_3.3.4.bb | 12 - .../python/python3-matplotlib-inline_0.1.2.bb | 8 + .../python/python3-netifaces_0.10.9.bb | 10 - .../python/python3-netifaces_0.11.0.bb | 9 + .../python/python3-ntplib_0.3.4.bb | 13 - .../python/python3-ntplib_0.4.0.bb | 13 + .../python/python3-paho-mqtt_1.5.1.bb | 11 + .../python/python3-prettytable_2.1.0.bb | 3 +- .../python/python3-protobuf_3.14.0.bb | 39 -- .../python/python3-protobuf_3.17.0.bb | 39 ++ .../python/python3-pulsectl_21.3.4.bb | 10 - .../python/python3-pulsectl_21.5.17.bb | 13 + .../python/python3-pycocotools_2.0.2.bb | 12 + .../python/python3-pydbus-manager_git.bb | 2 + .../recipes-devtools/python/python3-pyjwt_2.0.1.bb | 15 - .../recipes-devtools/python/python3-pyjwt_2.1.0.bb | 15 + .../python/python3-pymisp_2.4.142.bb | 22 - .../python/python3-pymisp_2.4.143.bb | 24 + .../python/python3-pymongo_3.11.3.bb | 30 - .../python/python3-pymongo_3.11.4.bb | 30 + .../python/python3-pyroute2_0.5.18.bb | 36 -- .../python/python3-pyroute2_0.5.19.bb | 36 ++ .../python/python3-pyscaffold_4.0.1.bb | 17 - .../python/python3-pyscaffold_4.0.2.bb | 17 + .../python/python3-pysonos_0.0.43.bb | 15 - .../python/python3-pysonos_0.0.50.bb | 15 + .../python3-pytest-helpers-namespace_2021.3.24.bb | 18 - .../python3-pytest-helpers-namespace_2021.4.29.bb | 18 + .../python/python3-pytest-runner_5.3.0.bb | 15 - .../python/python3-pytest-runner_5.3.1.bb | 15 + .../python/python3-pyzmq_22.0.3.bb | 26 - .../python/python3-pyzmq_22.1.0.bb | 26 + .../python/python3-rfc3339-validator_0.1.3.bb | 20 - .../python/python3-rfc3339-validator_0.1.4.bb | 20 + .../python/python3-robotframework_4.0.1.bb | 27 - .../python/python3-robotframework_4.0.3.bb | 27 + .../python/python3-ruamel-yaml_0.17.4.bb | 19 - .../python/python3-ruamel-yaml_0.17.7.bb | 19 + .../recipes-devtools/python/python3-scapy_0.26.bb | 13 - .../python/python3-sentry-sdk_1.0.0.bb | 12 - .../python/python3-sentry-sdk_1.1.0.bb | 14 + .../python/python3-serpent_1.30.2.bb | 27 - .../python/python3-serpent_1.40.bb | 26 + .../recipes-devtools/python/python3-sh_1.14.1.bb | 23 - .../recipes-devtools/python/python3-sh_1.14.2.bb | 22 + .../python/python3-socketio_5.1.0.bb | 27 - .../python/python3-socketio_5.3.0.bb | 28 + .../python/python3-sqlalchemy_1.4.11.bb | 19 - .../python/python3-sqlalchemy_1.4.15.bb | 21 + .../recipes-devtools/python/python3-tqdm_4.60.0.bb | 14 - .../recipes-devtools/python/python3-tqdm_4.61.0.bb | 14 + .../python/python3-typing-extensions_3.10.0.0.bb | 12 + .../python/python3-typing-extensions_3.7.4.3.bb | 13 - .../python/python3-ujson/run-ptest | 2 +- .../recipes-devtools/python/python3-ujson_4.0.2.bb | 2 + .../python/python3-urllib3_1.26.4.bb | 22 - .../python/python3-urllib3_1.26.5.bb | 22 + .../python/python3-watchdog_2.0.3.bb | 18 - .../python/python3-watchdog_2.1.2.bb | 18 + .../python/python3-websocket-client_0.58.0.bb | 18 - .../python/python3-websocket-client_1.0.1.bb | 16 + .../python/python3-websockets_8.1.bb | 16 - .../python/python3-websockets_9.1.bb | 15 + .../python/python3-werkzeug_1.0.1.bb | 39 -- .../python/python3-werkzeug_2.0.1.bb | 38 ++ .../python/python3-xlsxwriter_1.4.0.bb | 13 - .../python/python3-xlsxwriter_1.4.3.bb | 21 + .../python/python3-xmlschema_1.6.1.bb | 19 - .../python/python3-xmlschema_1.6.2.bb | 20 + .../pywbem/python3-pywbem_1.1.3.bb | 47 -- .../pywbem/python3-pywbem_1.2.0.bb | 51 ++ .../pywbemtools/python3-pywbemtools_0.8.1.bb | 39 -- .../pywbemtools/python3-pywbemtools_0.9.0.bb | 39 ++ .../recipes-apps/mousepad/mousepad_0.5.4.bb | 16 - .../recipes-apps/mousepad/mousepad_0.5.5.bb | 19 + .../xfce4-screenshooter_1.9.8.bb | 21 - .../xfce4-screenshooter_1.9.9.bb | 21 + .../clipman/xfce4-clipman-plugin_1.6.1.bb | 17 - .../clipman/xfce4-clipman-plugin_1.6.2.bb | 16 + .../systemload/xfce4-systemload-plugin_1.3.0.bb | 10 - .../systemload/xfce4-systemload-plugin_1.3.1.bb | 12 + .../meta-xfce/recipes-xfce/thunar/thunar_4.16.6.bb | 28 - .../meta-xfce/recipes-xfce/thunar/thunar_4.16.8.bb | 28 + .../recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb | 40 -- .../recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb | 40 ++ 493 files changed, 8526 insertions(+), 7314 deletions(-) create mode 100644 meta-openembedded/meta-gnome/classes/clutter.bbclass delete mode 100644 meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.18.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.2.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.3.0.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.84.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.86.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp/0001-configure.ac-fix-with-linux-input-handling-with-upco.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.24.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.38.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/evince/evince_40.1.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.36.3.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.38.1.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.2.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.2.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.36.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_3.34.2.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.36.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins/0001-Avoid-running-trackertestutils.patch create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.13.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop/0001-fix-compile-error-for-cross-compile.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.36.1.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.36.2.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.36.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_40.0.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-Drop-use-of-volatile.patch delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.36.3.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_40.1.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_4.4.0.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.5.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.0.5.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_2.3.6.bb create mode 100644 meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.0.4.bb create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0.inc create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/install-examples.patch create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/run-ptest create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0_1.26.4.bb create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0.inc create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0.inc create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0.inc create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0_1.22.8.bb create mode 100644 meta-openembedded/meta-gnome/recipes-graphics/packagegroups/packagegroup-core-clutter.bb delete mode 100644 meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch create mode 100644 meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-Fix-build-with-hardened-security-flags.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.4.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.6.bb create mode 100644 meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch delete mode 100644 meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0001-Makefile.am-only-build-dhcrelay.patch create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/default-relay create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/dhcrelay.service create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/init-relay create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-use-poll.h-instead-of-sys-poll.h.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0002-serial_port_linux-Add-missing-include-sys-time.h.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch delete mode 100644 meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.4.2.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.5.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-connectivity/restinio/restinio_0.6.13.bb delete mode 100644 meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.14.bb create mode 100644 meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.15.bb create mode 100644 meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy/run-ptest create mode 100644 meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy_2.4.5.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/dovecot/dovecot/0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch create mode 100644 meta-openembedded/meta-networking/recipes-support/http-parser/http-parser_2.9.4.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.11.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.12.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools/0001-m4-sctp.m4-make-conpatible-to-autoconf-2.70.patch delete mode 100644 meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.19.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.6.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.7.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_33.0.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb delete mode 100644 meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb create mode 100644 meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.4.bb create mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Do-not-use-MINSIGSTKSZ.patch create mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-explicit-typecast-to-size_t.patch delete mode 100644 meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch delete mode 100644 meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb create mode 100644 meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.4.bb create mode 100644 meta-openembedded/meta-oe/licenses/Bellcore create mode 100644 meta-openembedded/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-Prepare-for-CVE-2021-30004.patch.patch delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.13.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.14.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.7.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.8.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/0001-Do-not-download-gtest-automatically.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/0001-test-Check-for-googletest-on-system-first.patch create mode 100644 meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/7c5fd25119a495009ea62f79e5daec34cc464628.patch delete mode 100644 meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.14.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.18.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.10.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.9.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ssize_t.patch create mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.10.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_9.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-exception_handler.cc-Match-the-types-for-SIGSTKSZ.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.88.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.90.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/giflib/files/CVE-2019-15133.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-gsec-Fix-build-on-musl.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/poke/poke_1.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-Fix-error-on-aarch64-with-binutils2.35.1.patch create mode 100644 meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.10.bb delete mode 100644 meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.3.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-build-with-libc.patch create mode 100644 meta-openembedded/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.3.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch delete mode 100644 meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.7.bb delete mode 100644 meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch delete mode 100644 meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch delete mode 100644 meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.30.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.109.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch create mode 100644 meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb create mode 100644 meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts.patch delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch create mode 100644 meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-install-netscsid-to-bin-for-nativesdk.patch delete mode 100644 meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.33.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.3.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit/Add-substitue-functions-for-strndupa-rawmemchr.patch create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit/audit-volatile.conf create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit/auditd create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit/auditd.service create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit_2.8.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.1.bb delete mode 100644 meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.8.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/evemu-tools/evemu-tools_git.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29457.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29458.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29463.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29464.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29470.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29473.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-3482.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.347.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.9.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.5.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.6.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.20.2.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.1.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-examples-ucontext-cp.c-Do-not-use-SIGSTKSZ.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-tests-fix-portability-issue-when-using-__NR_mmap-sys.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.48.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.62.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/nano/nano_5.6.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/nano/nano_5.7.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.05.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/portaudio/files/ldflags.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-Find-jack.patch create mode 100644 meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.11.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.17.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.8.1.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.9.2.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-set_my_tls_end_of_input-Use-an-arbitrary-but-valid-p.patch delete mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.20.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.22.bb delete mode 100644 meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb create mode 100644 meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.16.bb delete mode 100644 meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.4.bb create mode 100644 meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.6.bb delete mode 100644 meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.08.bb create mode 100644 meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.10.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.6.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.7.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.5.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.8.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.6.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.9.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.9.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bidict_0.21.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2020.12.5.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2021.5.30.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.1.6.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.1.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.12.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.13.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.7.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.9.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-deprecated_1.2.12.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.20.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.23.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.16.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.17.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.13.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.7.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.0.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.8.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.9.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.0.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.15.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.0.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.2.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.6.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.37.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-haversine/0001-setup.py-Correct-the-license-assignment.patch delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.4.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.6.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.22.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.24.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_1.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_2.0.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.3.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib-inline_0.1.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.10.9.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.4.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.14.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.17.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.3.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.5.17.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.142.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.143.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.11.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.11.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.18.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.19.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.43.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.50.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.3.24.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.4.29.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.3.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.3.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.0.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.7.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.26.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.0.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.1.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.30.2.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.40.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.1.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.3.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.11.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.15.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.60.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.61.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.4.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.5.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.3.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.58.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.0.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_9.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.0.1.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.0.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.3.bb delete mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.1.bb create mode 100644 meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.2.bb delete mode 100644 meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.1.3.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.2.0.bb delete mode 100644 meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.8.1.bb create mode 100644 meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.9.0.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.4.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.5.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.8.bb create mode 100644 meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.9.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.1.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.2.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.0.bb create mode 100644 meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.1.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.6.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.8.bb delete mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb create mode 100644 meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb diff --git a/meta-openembedded/meta-gnome/classes/clutter.bbclass b/meta-openembedded/meta-gnome/classes/clutter.bbclass new file mode 100644 index 000000000..24b53a13e --- /dev/null +++ b/meta-openembedded/meta-gnome/classes/clutter.bbclass @@ -0,0 +1,18 @@ +def get_minor_dir(v): + import re + m = re.match(r"^([0-9]+)\.([0-9]+)", v) + return "%s.%s" % (m.group(1), m.group(2)) + +def get_real_name(n): + import re + m = re.match(r"^([a-z]+(-[a-z]+)?)(-[0-9]+\.[0-9]+)?", n) + return "%s" % (m.group(1)) + +VERMINOR = "${@get_minor_dir("${PV}")}" +REALNAME = "${@get_real_name("${BPN}")}" + +SRC_URI = "${GNOME_MIRROR}/${REALNAME}/${VERMINOR}/${REALNAME}-${PV}.tar.xz;name=archive" +S = "${WORKDIR}/${REALNAME}-${PV}" + +CLUTTERBASEBUILDCLASS ??= "autotools" +inherit ${CLUTTERBASEBUILDCLASS} pkgconfig gtk-doc gettext diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.18.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.18.0.bb deleted file mode 100644 index bc3e66ca2..000000000 --- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.18.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "GTK+ applet for NetworkManager" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "gtk+3 libnma libnotify libsecret libgudev networkmanager iso-codes nss" - -GNOMEBASEBUILDCLASS = "meson" -inherit features_check gnomebase gsettings gtk-icon-cache gettext - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.sha256sum] = "ddbb400ace804b59cc513611ce9701f7ef3f00de151dbbfb96284c8c1ef2b18b" - -# We don't not have ubuntu's appindicator (yet?) -EXTRA_OEMESON = "-Dappindicator=no" -# We currently don't build NetworkManager with libteamdctl support -EXTRA_OEMESON += "-Dteam=false" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager" -PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux" - -RDEPENDS_${PN} =+ "networkmanager" - -FILES_${PN} += " \ - ${datadir}/nm-applet/ \ - ${datadir}/libnma/wifi.ui \ - ${datadir}/metainfo \ -" diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb new file mode 100644 index 000000000..936f76123 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "GTK+ applet for NetworkManager" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "gtk+3 libnma libnotify libsecret libgudev networkmanager iso-codes nss" + +GNOMEBASEBUILDCLASS = "meson" +inherit features_check gnomebase gsettings gtk-icon-cache gettext + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.sha256sum] = "c70d80b48d40a9cb99ec967cc4389f67e7f0301528a69d481572041331a646be" + +# We don't not have ubuntu's appindicator (yet?) +EXTRA_OEMESON = "-Dappindicator=no" +# We currently don't build NetworkManager with libteamdctl support +EXTRA_OEMESON += "-Dteam=false" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[modemmanager] = "-Dwwan=true, -Dwwan=false, modemmanager" +PACKAGECONFIG[selinux] = "-Dselinux=true, -Dselinux=false, libselinux" + +RDEPENDS_${PN} =+ "networkmanager" + +FILES_${PN} += " \ + ${datadir}/nm-applet/ \ + ${datadir}/libnma/wifi.ui \ + ${datadir}/metainfo \ +" diff --git a/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.2.0.bb b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.2.0.bb deleted file mode 100644 index d0a499e6e..000000000 --- a/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.2.0.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "A partition editor to graphically manage disk partitions " -HOMEPAGE = "http://gparted.org/index.php" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -inherit features_check autotools pkgconfig python3native gnome-help gtk-icon-cache - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = " \ - ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ - file://0001-Install-polkit-action-unconditionally-executable-pke.patch \ -" -SRC_URI[sha256sum] = "6c90715d254d7a7ec0208b29007b64160dd9fb7df4c4aa7f8ec2c9d23114c719" - -DEPENDS += " \ - glib-2.0-native \ - yelp-tools-native \ - intltool-native \ - glib-2.0 \ - gtkmm3 \ - parted \ -" - -FILES_${PN} += " \ - ${datadir}/appdata \ - ${datadir}/icons \ -" - -PACKAGES += "${PN}-polkit" -FILES_${PN}-polkit = "${datadir}/polkit-1" - -RDEPENDS_${PN} = " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', '${PN}-polkit', '', d)} \ - dosfstools \ - mtools \ - e2fsprogs \ -" diff --git a/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.3.0.bb b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.3.0.bb new file mode 100644 index 000000000..4eb383bbf --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.3.0.bb @@ -0,0 +1,38 @@ +SUMMARY = "A partition editor to graphically manage disk partitions " +HOMEPAGE = "http://gparted.org/index.php" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit features_check autotools pkgconfig python3native gnome-help gtk-icon-cache + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ + file://0001-Install-polkit-action-unconditionally-executable-pke.patch \ +" +SRC_URI[sha256sum] = "8dc180245dd9ea45e6e2f4bc69512f187e08be7f799c98a825a0b04c161cbd2a" + +DEPENDS += " \ + glib-2.0-native \ + yelp-tools-native \ + intltool-native \ + glib-2.0 \ + gtkmm3 \ + parted \ +" + +FILES_${PN} += " \ + ${datadir}/appdata \ + ${datadir}/icons \ +" + +PACKAGES += "${PN}-polkit" +FILES_${PN}-polkit = "${datadir}/polkit-1" + +RDEPENDS_${PN} = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', '${PN}-polkit', '', d)} \ + dosfstools \ + mtools \ + e2fsprogs \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.84.bb b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.84.bb deleted file mode 100644 index b49d9d7e8..000000000 --- a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.84.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library" -LICENSE = "LGPL-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" - -GNOMEBASEBUILDCLASS = "meson" - -GIR_MESON_OPTION = "enable-gir" - -inherit setuptools3 gnomebase gobject-introspection vala - -DEPENDS += "lcms" - -# https://bugs.llvm.org/show_bug.cgi?id=45555 -CFLAGS_append_toolchain-clang_mipsarch = " -ffp-exception-behavior=ignore " -CFLAGS_append_toolchain-clang_riscv64 = " -ffp-exception-behavior=ignore " - -SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz" -SRC_URI[sha256sum] = "e7e38b8441f77feb9dc8231cb434a86190a21f2f3692c281457e99d35e9c34ea" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.86.bb b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.86.bb new file mode 100644 index 000000000..d264bf8c5 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.86.bb @@ -0,0 +1,20 @@ +SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library" +LICENSE = "LGPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" + +GNOMEBASEBUILDCLASS = "meson" + +GIR_MESON_OPTION = "enable-gir" + +inherit setuptools3 gnomebase gobject-introspection vala + +DEPENDS += "lcms" + +# https://bugs.llvm.org/show_bug.cgi?id=45555 +CFLAGS_append_toolchain-clang_mipsarch = " -ffp-exception-behavior=ignore " +CFLAGS_append_toolchain-clang_riscv64 = " -ffp-exception-behavior=ignore " + +SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz" +SRC_URI[sha256sum] = "0b3f595159ad1b216cd729c0504c3a5f6cf780c641f4dc63fc164f3c0382c8f0" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb index d08a3a3c9..bb0cd1f8a 100644 --- a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb +++ b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.30.bb @@ -28,7 +28,7 @@ SRC_URI = " \ " SRC_URI[sha256sum] = "c112782cf4096969e23217ccdfabe42284e35d5435ff0c43d40e4c70faeca8dd" -PACKAGECONFIG ??= "gexiv2 jpeg libpng librsvg sdl2" +PACKAGECONFIG ??= "gexiv2 jpeg libpng libraw librsvg poppler sdl2" PACKAGECONFIG_class-native = "libpng librsvg" PACKAGECONFIG[jasper] = "-Djasper=enabled,-Djasper=disabled,jasper" @@ -38,7 +38,9 @@ PACKAGECONFIG[jpeg] = "-Dlibjpeg=enabled,-Dlibjpeg=disabled,jpeg" PACKAGECONFIG[lcms] = "-Dlcms=enabled,-Dlcms=disabled,lcms" PACKAGECONFIG[libav] = "-Dlibav=enabled,-Dlibav=disabled,libav" PACKAGECONFIG[libpng] = "-Dlibpng=enabled,-Dlibpng=disabled,libpng" +PACKAGECONFIG[libraw] = "-Dlibraw=enabled,-Dlibraw=disabled,libraw" PACKAGECONFIG[librsvg] = "-Dlibrsvg=enabled,-Dlibrsvg=disabled,librsvg" +PACKAGECONFIG[poppler] = "-Dpoppler=enabled,-Dpoppler=disabled,poppler" PACKAGECONFIG[sdl] = "-Dsdl1=enabled,-Dsdl1=disabled,virtual/libsdl" PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2" PACKAGECONFIG[tiff] = "-Dlibtiff=enabled,-Dlibtiff=disabled,tiff" diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp/0001-configure.ac-fix-with-linux-input-handling-with-upco.patch b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp/0001-configure.ac-fix-with-linux-input-handling-with-upco.patch deleted file mode 100644 index 7e12487c7..000000000 --- a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp/0001-configure.ac-fix-with-linux-input-handling-with-upco.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 1b66e4cca6d95f4607599bcbdd4afeb601aee84e Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Sun, 25 Oct 2020 18:09:21 +0000 -Subject: [PATCH] configure.ac: fix `--with-linux-input` handling with upcoming autoconf-2.70 - -Upcoming autoconf-2.70 exposes deficiency in configure.ac: - -``` -$ autoconf-2.70_beta2 && ./configure --host=x86_64-pc-linux-gnu -./configure: line 1430: 5: Bad file descriptor -checking whether is declared... ./configure: line 1432: ${+y}: bad -``` - -It happens because macros are called with parameters using insufficient quoting. - -More details at https://lists.gnu.org/archive/html/bug-autoconf/2020-10/msg00027.html - -The fix only amends `--with-linux-input`. Other cases of underquoting -will need to be handled separately. - -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gimp/-/commit/cebeb90a87105cd6e35bcb357d53cc04c828ca21] -Fix-by: Zack Weinberg -Signed-off-by: Sergei Trofimovich ---- - configure.ac | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 6e2c193..afbcdd8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2138,15 +2138,14 @@ fi - AC_ARG_WITH(linux-input, [ --without-linux-input don't build linux input event controller module]) - - have_linux_input="no (linux input support disabled)" --if test "x$with_linux_input" != "xno"; then -- AC_CHECK_HEADER(linux/input.h, -- AC_CHECK_DECL(KEY_OK, -- have_linux_input=yes, -- have_linux_input="no (needs Linux 2.6)", -- [#include ])) --fi -- --AM_CONDITIONAL(HAVE_LINUX_INPUT, test "x$have_linux_input" = xyes) -+AS_IF([test "x$with_linux_input" != "xno"], -+ [AC_CHECK_HEADER([linux/input.h], -+ [AC_CHECK_DECL([KEY_OK], -+ [have_linux_input=yes], -+ [have_linux_input="no (needs Linux 2.6)"], -+ [#include ])])]) -+ -+AM_CONDITIONAL([HAVE_LINUX_INPUT], [test "x$have_linux_input" = xyes]) - - - ############################### --- -2.30.0 - diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb deleted file mode 100644 index 717716e1f..000000000 --- a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.22.bb +++ /dev/null @@ -1,74 +0,0 @@ -SUMMARY = "The GIMP is the GNU Image Manipulation Program" -HOMEPAGE = "http://www.gimp.org" -SECTION = "x11/graphics" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e" - -DEPENDS = " \ - alsa-lib \ - atk \ - cairo \ - fontconfig \ - freetype \ - gdk-pixbuf-native \ - intltool-native \ - libxslt-native \ - gegl-native \ - dbus-glib \ - gtk+ \ - babl \ - gegl \ - libmypaint \ - mypaint-brushes-1.0 \ - gexiv2 \ - jpeg \ - libmng \ - libpng \ - libexif \ - tiff \ - lcms \ - poppler \ - poppler-data \ - jasper \ - bzip2 \ - libgudev \ - libmng \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)} \ -" -DEPENDS_append_libc-musl = " libexecinfo" - -inherit features_check gnomebase gtk-icon-cache gtk-doc mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SHPV = "${@gnome_verdir("${PV}")}" - -SRC_URI = "https://download.gimp.org/pub/${BPN}/v${SHPV}/${BP}.tar.bz2 \ - file://0001-configure.ac-fix-with-linux-input-handling-with-upco.patch \ - " -SRC_URI[sha256sum] = "2db84b57f3778d80b3466d7c21a21d22e315c7b062de2883cbaaeda9a0f618bb" - -EXTRA_OECONF = "--disable-python \ - --without-webkit \ - --disable-check-update \ - --without-wmf" - -EXTRA_OECONF_append_mipsarch = " --disable-vector-icons" -EXTRA_OECONF_append_libc-musl_riscv32 = " --disable-vector-icons" -EXTRA_OECONF_append_libc-musl_x86 = " --disable-vector-icons" -EXTRA_OECONF_append_arm = " --disable-vector-icons" - -do_configure_append() { - find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g - find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g -} - -do_compile_prepend() { - # Let native babl/gegl find their plugins - export BABL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'babl-*'` - export GEGL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'gegl-*'` -} - -FILES_${PN} += "${datadir}/metainfo" - -RDEPENDS_${PN} += "mypaint-brushes-1.0" diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.24.bb b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.24.bb new file mode 100644 index 000000000..e729d9deb --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.24.bb @@ -0,0 +1,72 @@ +SUMMARY = "The GIMP is the GNU Image Manipulation Program" +HOMEPAGE = "http://www.gimp.org" +SECTION = "x11/graphics" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e" + +DEPENDS = " \ + alsa-lib \ + atk \ + cairo \ + fontconfig \ + freetype \ + gdk-pixbuf-native \ + intltool-native \ + libxslt-native \ + gegl-native \ + dbus-glib \ + gtk+ \ + babl \ + gegl \ + libmypaint \ + mypaint-brushes-1.0 \ + gexiv2 \ + jpeg \ + libmng \ + libpng \ + libexif \ + tiff \ + lcms \ + poppler \ + poppler-data \ + jasper \ + bzip2 \ + libgudev \ + libmng \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)} \ +" +DEPENDS_append_libc-musl = " libexecinfo" + +inherit features_check gnomebase gtk-icon-cache gtk-doc mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +SHPV = "${@gnome_verdir("${PV}")}" + +SRC_URI = "https://download.gimp.org/pub/${BPN}/v${SHPV}/${BP}.tar.bz2" +SRC_URI[sha256sum] = "bd1bb762368c0dd3175cf05006812dd676949c3707e21f4e6857435cb435989e" + +EXTRA_OECONF = "--disable-python \ + --without-webkit \ + --disable-check-update \ + --without-wmf" + +EXTRA_OECONF_append_mipsarch = " --disable-vector-icons" +EXTRA_OECONF_append_libc-musl_riscv32 = " --disable-vector-icons" +EXTRA_OECONF_append_libc-musl_x86 = " --disable-vector-icons" +EXTRA_OECONF_append_toolchain-clang_arm = " --disable-vector-icons" + +do_configure_append() { + find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g + find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g +} + +do_compile_prepend() { + # Let native babl/gegl find their plugins + export BABL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'babl-*'` + export GEGL_PATH=`find ${STAGING_LIBDIR_NATIVE} -maxdepth 1 -name 'gegl-*'` +} + +FILES_${PN} += "${datadir}/metainfo" + +RDEPENDS_${PN} += "mypaint-brushes-1.0" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch deleted file mode 100644 index 7c83ae339..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor/0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch +++ /dev/null @@ -1,522 +0,0 @@ -From ba4a39b74067b73c9bed64dad7be3d53e837dd8d Mon Sep 17 00:00:00 2001 -From: Rico Tzschichholz -Date: Sat, 16 Jan 2021 13:26:32 +0100 -Subject: [PATCH] Don't alter or try to write GtkChild fields - -See https://gitlab.gnome.org/GNOME/vala/issues/1121 - -Upstream-Status: Backport [https://github.com/GNOME/dconf-editor/commit/9272e9fb6867e71426bfd0aa5edce5ec39cf0ad4] -Signed-off-by: Khem Raj ---- - editor/bookmarks-headerbar.vala | 4 +-- - editor/bookmarks-list.vala | 4 +-- - editor/bookmarks.vala | 12 +++---- - editor/delayed-setting-view.vala | 54 ++++++++++++++++---------------- - editor/overlayed-list.vala | 38 +++++++++++----------- - editor/pathentry.vala | 24 +++++++------- - editor/registry-list.vala | 6 ++-- - editor/registry-search.vala | 6 ++-- - editor/registry-view.vala | 2 +- - 9 files changed, 75 insertions(+), 75 deletions(-) - -diff --git a/editor/bookmarks-headerbar.vala b/editor/bookmarks-headerbar.vala -index 54848a5..0522c37 100644 ---- a/editor/bookmarks-headerbar.vala -+++ b/editor/bookmarks-headerbar.vala -@@ -24,7 +24,7 @@ private abstract class BookmarksHeaderBar : BrowserHeaderBar, AdaptativeWidget - install_action_entries (); - - add_bookmarks_revealer (out bookmarks_revealer, -- out bookmarks_button, ref center_box); -+ out bookmarks_button, center_box); - connect_bookmarks_signals (); - add_bookmarks_controller (out bookmarks_controller, ref this); - -@@ -58,7 +58,7 @@ private abstract class BookmarksHeaderBar : BrowserHeaderBar, AdaptativeWidget - private Bookmarks bookmarks_button; - private BookmarksController bookmarks_controller; - -- private static void add_bookmarks_revealer (out Revealer bookmarks_revealer, out Bookmarks bookmarks_button, ref Box center_box) -+ private static void add_bookmarks_revealer (out Revealer bookmarks_revealer, out Bookmarks bookmarks_button, Box center_box) - { - bookmarks_revealer = new Revealer (); - bookmarks_revealer.transition_type = RevealerTransitionType.SLIDE_LEFT; -diff --git a/editor/bookmarks-list.vala b/editor/bookmarks-list.vala -index 393973b..c9280d5 100644 ---- a/editor/bookmarks-list.vala -+++ b/editor/bookmarks-list.vala -@@ -146,10 +146,10 @@ private class BookmarksList : OverlayedList - - internal bool create_bookmark_rows (Variant bookmarks_variant) - { -- _create_bookmark_rows (bookmarks_variant, view_mode, ref main_list_store, ref main_list_box, ref bookmarks_hashtable); -+ _create_bookmark_rows (bookmarks_variant, view_mode, ref main_list_store, main_list_box, ref bookmarks_hashtable); - return n_items == 0; - } -- private static void _create_bookmark_rows (Variant bookmarks_variant, bool view_mode, ref GLib.ListStore main_list_store, ref ListBox main_list_box, ref HashTable bookmarks_hashtable) -+ private static void _create_bookmark_rows (Variant bookmarks_variant, bool view_mode, ref GLib.ListStore main_list_store, ListBox main_list_box, ref HashTable bookmarks_hashtable) - { - string saved_bookmark_name = ""; - ListBoxRow? selected_row = main_list_box.get_selected_row (); -diff --git a/editor/bookmarks.vala b/editor/bookmarks.vala -index 153af10..d8cea7c 100644 ---- a/editor/bookmarks.vala -+++ b/editor/bookmarks.vala -@@ -84,7 +84,7 @@ private class Bookmarks : MenuButton - - construct - { -- update_switch_label (ViewType.SEARCH, ViewType.FOLDER, ref switch_label); // init text with "Bookmark this Location" -+ update_switch_label (ViewType.SEARCH, ViewType.FOLDER, switch_label); // init text with "Bookmark this Location" - - install_action_entries (); - -@@ -184,7 +184,7 @@ private class Bookmarks : MenuButton - - internal void set_path (ViewType type, string path) - { -- update_switch_label (current_type, type, ref switch_label); -+ update_switch_label (current_type, type, switch_label); - - current_path = path; - current_type = type; -@@ -392,7 +392,7 @@ private class Bookmarks : MenuButton - * * Bookmarks management - \*/ - -- private static void update_switch_label (ViewType old_type, ViewType new_type, ref Label switch_label) -+ private static void update_switch_label (ViewType old_type, ViewType new_type, Label switch_label) - { - if (new_type == ViewType.SEARCH && old_type != ViewType.SEARCH) - switch_label.label = bookmark_this_search_text; -@@ -414,18 +414,18 @@ private class Bookmarks : MenuButton - { - if (bookmarks_icon.icon_name != "starred-symbolic") - bookmarks_icon.icon_name = "starred-symbolic"; -- update_switch_state (true, ref bookmarked_switch); -+ update_switch_state (true, bookmarked_switch); - bookmarked_switch.set_detailed_action_name ("bookmarks.unbookmark(" + variant.print (true) + ")"); - } - else - { - if (bookmarks_icon.icon_name != "non-starred-symbolic") - bookmarks_icon.icon_name = "non-starred-symbolic"; -- update_switch_state (false, ref bookmarked_switch); -+ update_switch_state (false, bookmarked_switch); - bookmarked_switch.set_detailed_action_name ("bookmarks.bookmark(" + variant.print (true) + ")"); - } - } -- private static void update_switch_state (bool bookmarked, ref Switch bookmarked_switch) -+ private static void update_switch_state (bool bookmarked, Switch bookmarked_switch) - { - if (bookmarked == bookmarked_switch.active) - return; -diff --git a/editor/delayed-setting-view.vala b/editor/delayed-setting-view.vala -index add6852..b1f774c 100644 ---- a/editor/delayed-setting-view.vala -+++ b/editor/delayed-setting-view.vala -@@ -41,24 +41,24 @@ private class DelayedSettingView : OverlayedListRow - { - // at row creation, key is never ghost - _update_dconf_key_current_value (key_value, -- ref key_value_label, -- ref key_value_default); -+ key_value_label, -+ key_value_default); - - _update_dconf_key_planned_value (cool_planned_value, -- ref planned_value_label, -- ref planned_value_default); -+ planned_value_label, -+ planned_value_default); - } - else - { - _update_gsettings_key_current_value (key_value, - has_schema_and_is_default, -- ref key_value_label, -- ref key_value_default); -+ key_value_label, -+ key_value_default); - - _update_gsettings_key_planned_value (cool_planned_value, - (!) cool_default_value, -- ref planned_value_label, -- ref planned_value_default); -+ planned_value_label, -+ planned_value_default); - } - } - -@@ -74,23 +74,23 @@ private class DelayedSettingView : OverlayedListRow - - private static inline void _update_gsettings_key_planned_value (string? cool_planned_value, - string cool_default_value, -- ref Label planned_value_label, -- ref Label planned_value_default) -+ Label planned_value_label, -+ Label planned_value_default) - { - bool is_default = cool_planned_value == null; - planned_value_label.label = is_default ? cool_default_value : (!) cool_planned_value; -- update_value_default_label (is_default, ref planned_value_default); -+ update_value_default_label (is_default, planned_value_default); - } - - private static inline void _update_dconf_key_planned_value (string? cool_planned_value, -- ref Label planned_value_label, -- ref Label planned_value_default) -+ Label planned_value_label, -+ Label planned_value_default) - { - if (cool_planned_value == null) -- update_labels_dconf_key_erased (ref planned_value_label, ref planned_value_default); -+ update_labels_dconf_key_erased (planned_value_label, planned_value_default); - else - update_labels_dconf_key_values ((!) cool_planned_value, -- ref planned_value_label, ref planned_value_default); -+ planned_value_label, planned_value_default); - } - - /*\ -@@ -99,37 +99,37 @@ private class DelayedSettingView : OverlayedListRow - - internal void update_gsettings_key_current_value (Variant key_value, bool is_default) - { -- _update_gsettings_key_current_value (key_value, is_default, ref key_value_label, ref key_value_default); -+ _update_gsettings_key_current_value (key_value, is_default, key_value_label, key_value_default); - } - private static void _update_gsettings_key_current_value (Variant key_value, - bool is_default, -- ref Label key_value_label, -- ref Label key_value_default) -+ Label key_value_label, -+ Label key_value_default) - { - key_value_label.label = Key.cool_text_value_from_variant (key_value); -- update_value_default_label (is_default, ref key_value_default); -+ update_value_default_label (is_default, key_value_default); - } - - internal void update_dconf_key_current_value (Variant? key_value_or_null) - { -- _update_dconf_key_current_value (key_value_or_null, ref key_value_label, ref key_value_default); -+ _update_dconf_key_current_value (key_value_or_null, key_value_label, key_value_default); - } - private static void _update_dconf_key_current_value (Variant? key_value_or_null, -- ref Label key_value_label, -- ref Label key_value_default) -+ Label key_value_label, -+ Label key_value_default) - { - if (key_value_or_null == null) -- update_labels_dconf_key_erased (ref key_value_label, ref key_value_default); -+ update_labels_dconf_key_erased (key_value_label, key_value_default); - else - update_labels_dconf_key_values (Key.cool_text_value_from_variant ((!) key_value_or_null), -- ref key_value_label, ref key_value_default); -+ key_value_label, key_value_default); - } - - /*\ - * * common utilities - \*/ - -- private static void update_labels_dconf_key_erased (ref Label value_label, ref Label value_default) -+ private static void update_labels_dconf_key_erased (Label value_label, Label value_default) - { - value_label.visible = false; - /* Translators: displayed in the list of pending changes (could be an in-window panel, or in the popover of the bottom bar); for dconf keys */ -@@ -137,14 +137,14 @@ private class DelayedSettingView : OverlayedListRow - value_default.visible = true; - } - -- private static void update_labels_dconf_key_values (string key_value, ref Label value_label, ref Label value_default) -+ private static void update_labels_dconf_key_values (string key_value, Label value_label, Label value_default) - { - value_default.visible = false; - value_label.label = key_value; // TODO move Key.cool_text_value_from_variant here? - value_label.visible = true; - } - -- private static void update_value_default_label (bool is_default, ref Label value_default) -+ private static void update_value_default_label (bool is_default, Label value_default) - { - if (is_default) - /* Translators: displayed in the list of pending changes (could be an in-window panel, or in the popover of the bottom bar); for gsettings keys */ -diff --git a/editor/overlayed-list.vala b/editor/overlayed-list.vala -index 8b0ec51..bcdfc3a 100644 ---- a/editor/overlayed-list.vala -+++ b/editor/overlayed-list.vala -@@ -89,11 +89,11 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - internal void set_window_size (AdaptativeWidget.WindowSize new_size) - { - if (!AdaptativeWidget.WindowSize.is_extra_thin (new_size) && AdaptativeWidget.WindowSize.is_extra_flat (new_size)) -- set_horizontal (ref main_context, ref edit_mode_box); -+ set_horizontal (ref main_context, edit_mode_box); - else -- set_vertical (ref main_context, ref edit_mode_box); -+ set_vertical (ref main_context, edit_mode_box); - } -- private static inline void set_horizontal (ref StyleContext main_context, ref Box edit_mode_box) -+ private static inline void set_horizontal (ref StyleContext main_context, Box edit_mode_box) - { - main_context.remove_class ("vertical"); - edit_mode_box.halign = Align.END; -@@ -102,7 +102,7 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - edit_mode_box.width_request = 160; - main_context.add_class ("horizontal"); - } -- private static inline void set_vertical (ref StyleContext main_context, ref Box edit_mode_box) -+ private static inline void set_vertical (ref StyleContext main_context, Box edit_mode_box) - { - main_context.remove_class ("horizontal"); - edit_mode_box.halign = Align.CENTER; -@@ -118,9 +118,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - - internal bool next_match () - { -- return _next_match (ref main_list_box); -+ return _next_match (main_list_box); - } -- private static inline bool _next_match (ref ListBox main_list_box) -+ private static inline bool _next_match (ListBox main_list_box) - { - ListBoxRow? row = main_list_box.get_selected_row (); // TODO multiple rows and focus-only lists - if (row == null) -@@ -130,7 +130,7 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - - if (row == null) - { -- _scroll_bottom (ref main_list_box); -+ _scroll_bottom (main_list_box); - return false; - } - main_list_box.select_row ((!) row); -@@ -140,9 +140,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - - internal bool previous_match () - { -- return _previous_match (ref main_list_box); -+ return _previous_match (main_list_box); - } -- private static inline bool _previous_match (ref ListBox main_list_box) -+ private static inline bool _previous_match (ListBox main_list_box) - { - uint n_items = main_list_box.get_children ().length (); // FIXME OverlayedList.n_items is unreliable - if (n_items == 0) -@@ -189,9 +189,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - - protected int [] get_selected_rows_indices () - { -- return _get_selected_rows_indices (ref main_list_box); -+ return _get_selected_rows_indices (main_list_box); - } -- private static inline int [] _get_selected_rows_indices (ref ListBox main_list_box) -+ private static inline int [] _get_selected_rows_indices (ListBox main_list_box) - { - int [] indices = new int [0]; - main_list_box.selected_foreach ((_list_box, selected_row) => { -@@ -205,9 +205,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - - protected void scroll_top () - { -- _scroll_top (ref main_list_box); -+ _scroll_top (main_list_box); - } -- private static inline void _scroll_top (ref ListBox main_list_box) -+ private static inline void _scroll_top (ListBox main_list_box) - { - Adjustment adjustment = main_list_box.get_adjustment (); - adjustment.set_value (adjustment.get_lower ()); -@@ -215,9 +215,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - - protected void scroll_bottom () - { -- _scroll_bottom (ref main_list_box); -+ _scroll_bottom (main_list_box); - } -- private static inline void _scroll_bottom (ref ListBox main_list_box) -+ private static inline void _scroll_bottom (ListBox main_list_box) - { - Adjustment adjustment = main_list_box.get_adjustment (); - adjustment.set_value (adjustment.get_upper ()); -@@ -225,9 +225,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - - internal bool handle_copy_text (out string copy_text) - { -- return _handle_copy_text (out copy_text, ref main_list_box); -+ return _handle_copy_text (out copy_text, main_list_box); - } -- private static inline bool _handle_copy_text (out string copy_text, ref ListBox main_list_box) -+ private static inline bool _handle_copy_text (out string copy_text, ListBox main_list_box) - { - List selected_rows = main_list_box.get_selected_rows (); - OverlayedListRow row; -@@ -283,9 +283,9 @@ private abstract class OverlayedList : Overlay, AdaptativeWidget - - internal SelectionState get_selection_state () - { -- return _get_selection_state (ref main_list_box, ref main_list_store); -+ return _get_selection_state (main_list_box, ref main_list_store); - } -- private static inline SelectionState _get_selection_state (ref ListBox main_list_box, ref GLib.ListStore main_list_store) -+ private static inline SelectionState _get_selection_state (ListBox main_list_box, ref GLib.ListStore main_list_store) - { - List selected_rows = main_list_box.get_selected_rows (); - uint n_selected_rows = selected_rows.length (); -diff --git a/editor/pathentry.vala b/editor/pathentry.vala -index 5000b21..5c7efc5 100644 ---- a/editor/pathentry.vala -+++ b/editor/pathentry.vala -@@ -133,9 +133,9 @@ private class PathEntry : Box, AdaptativeWidget - - internal void entry_grab_focus_without_selecting () - { -- _entry_grab_focus_without_selecting (ref search_entry); -+ _entry_grab_focus_without_selecting (search_entry); - } -- private static void _entry_grab_focus_without_selecting (ref BrowserEntry search_entry) -+ private static void _entry_grab_focus_without_selecting (BrowserEntry search_entry) - { - if (search_entry.text_length != 0) - { -@@ -172,36 +172,36 @@ private class PathEntry : Box, AdaptativeWidget - requires (search_changed_handler != 0) - { - SignalHandler.block (search_entry, search_changed_handler); -- _prepare (mode, nullable_search, ref current_path, ref search_entry); -+ _prepare (mode, nullable_search, ref current_path, search_entry); - SignalHandler.unblock (search_entry, search_changed_handler); - } - - private static inline void _prepare (SearchMode mode, - string? nullable_search, - ref string current_path, -- ref BrowserEntry search_entry) -+ BrowserEntry search_entry) - { - string search; - switch (mode) - { - case SearchMode.EDIT_PATH_MOVE_END: - search = nullable_search == null ? current_path : (!) nullable_search; -- _prepare_move_end (ref search, ref search_entry); -+ _prepare_move_end (ref search, search_entry); - return; - - case SearchMode.EDIT_PATH_SELECT_ALL: - search = nullable_search == null ? current_path : (!) nullable_search; -- _prepare_search (ref search, ref search_entry); -+ _prepare_search (ref search, search_entry); - return; - - case SearchMode.EDIT_PATH_SELECT_LAST_WORD: - search = current_path; -- _prepare_select_last_word (ref search, ref search_entry); -+ _prepare_select_last_word (ref search, search_entry); - return; - - case SearchMode.SEARCH: - search = ""; -- _prepare_search (ref search, ref search_entry); -+ _prepare_search (ref search, search_entry); - return; - - case SearchMode.UNCLEAR: -@@ -210,19 +210,19 @@ private class PathEntry : Box, AdaptativeWidget - } - } - -- private static inline void _prepare_move_end (ref string text, ref BrowserEntry search_entry) -+ private static inline void _prepare_move_end (ref string text, BrowserEntry search_entry) - { - search_entry.text = text; -- _entry_grab_focus_without_selecting (ref search_entry); -+ _entry_grab_focus_without_selecting (search_entry); - } - -- private static inline void _prepare_search (ref string text, ref BrowserEntry search_entry) -+ private static inline void _prepare_search (ref string text, BrowserEntry search_entry) - { - search_entry.text = text; - search_entry.grab_focus (); - } - -- private static inline void _prepare_select_last_word (ref string current_path, ref BrowserEntry search_entry) -+ private static inline void _prepare_select_last_word (ref string current_path, BrowserEntry search_entry) - { - search_entry.move_cursor (MovementStep.DISPLAY_LINE_ENDS, -1, false); - search_entry.text = current_path; -diff --git a/editor/registry-list.vala b/editor/registry-list.vala -index 74b7f99..54aa6fa 100644 ---- a/editor/registry-list.vala -+++ b/editor/registry-list.vala -@@ -291,9 +291,9 @@ private abstract class RegistryList : Grid, BrowsableView, AdaptativeWidget - - internal bool handle_copy_text (out string copy_text) // can compile with "private", but is public 1/2 - { -- return _handle_copy_text (out copy_text, ref key_list_box); -+ return _handle_copy_text (out copy_text, key_list_box); - } -- private bool _handle_copy_text (out string copy_text, ref ListBox key_list_box) -+ private bool _handle_copy_text (out string copy_text, ListBox key_list_box) - { - ListBoxRow? selected_row = (ListBoxRow?) key_list_box.get_selected_row (); - if (selected_row == null) -@@ -1138,7 +1138,7 @@ private abstract class RegistryList : Grid, BrowsableView, AdaptativeWidget - * * headers - \*/ - -- protected static bool is_first_row (int row_index, ref unowned ListBoxRow? before) -+ protected static bool is_first_row (int row_index, ListBoxRow? before) - { - bool is_first_row = row_index == 0; - if (is_first_row != (before == null)) -diff --git a/editor/registry-search.vala b/editor/registry-search.vala -index 220583f..eb8e6f2 100644 ---- a/editor/registry-search.vala -+++ b/editor/registry-search.vala -@@ -48,7 +48,7 @@ private class RegistrySearch : RegistryList - - internal bool handle_alt_copy_text (out string copy_text) - { -- return _handle_alt_copy_text (out copy_text, ref key_list_box); -+ return _handle_alt_copy_text (out copy_text, key_list_box); - } - - internal void clean () -@@ -145,7 +145,7 @@ private class RegistrySearch : RegistryList - * * Keyboard calls - \*/ - -- private static bool _handle_alt_copy_text (out string copy_text, ref ListBox key_list_box) -+ private static bool _handle_alt_copy_text (out string copy_text, ListBox key_list_box) - { - ListBoxRow? selected_row = key_list_box.get_selected_row (); - if (selected_row == null) -@@ -521,7 +521,7 @@ private class RegistrySearch : RegistryList - private void update_row_header (ListBoxRow row, ListBoxRow? before) - { - int row_index = row.get_index (); -- if (is_first_row (row_index, ref before)) -+ if (is_first_row (row_index, before)) - return; - - if (search_is_path_search) -diff --git a/editor/registry-view.vala b/editor/registry-view.vala -index e0ff379..7d9eb1f 100644 ---- a/editor/registry-view.vala -+++ b/editor/registry-view.vala -@@ -114,7 +114,7 @@ private class RegistryView : RegistryList - - private void update_row_header (ListBoxRow row, ListBoxRow? before) - { -- if (is_first_row (row.get_index (), ref before)) -+ if (is_first_row (row.get_index (), before)) - return; - update_row_header_with_context (row, (!) before, modifications_handler.model, /* local search header */ false); - } --- -2.30.1 - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.2.bb deleted file mode 100644 index 776558ebf..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.2.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Configuration editor for dconf" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = "dconf gtk+3" - -inherit gnomebase vala gettext gsettings bash-completion - -SRC_URI += "file://0001-Don-t-alter-or-try-to-write-GtkChild-fields.patch" - -SRC_URI[archive.sha256sum] = "1253dad87e6213fbf313ff9ec9dc4358aa1b10261f28072c1dc0e0997b92f835" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb new file mode 100644 index 000000000..5b68467a1 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb @@ -0,0 +1,16 @@ +SUMMARY = "Configuration editor for dconf" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = "dconf gtk+3" + +inherit gnomebase vala gettext gsettings bash-completion + +SRC_URI[archive.sha256sum] = "571af4c7dad4f049b53e6cd728b79addf08c27ddab6bc57b396d211866ee79e3" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.38.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.38.0.bb deleted file mode 100644 index 9c1d8641e..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.38.0.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "Evince is a document viewer for document formats like pdf, ps, djvu" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b" -SECTION = "x11/office" -DEPENDS = " \ - gnome-common-native \ - yelp-tools-native \ - appstream-glib \ - gtk+3 \ - gspell \ - libsecret \ - poppler \ - gstreamer1.0-plugins-base \ - orc \ - adwaita-icon-theme \ - ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection upstream-version-is-even gettext mime-xdg gtk-doc - -SRC_URI[archive.sha256sum] = "26df897a417545b476d2606b14731122e84278ae994bd64ea535449c3cf01948" - -GTKDOC_MESON_OPTION = "gtk_doc" - -EXTRA_OEMESON = " \ - -Dsystemduserunitdir=no \ -" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs" -} - -PACKAGECONFIG ??= "" -PACKAGECONFIG[nautilus] = "-Dnautilus=true,-Dnautilus=false,nautilus" -PACKAGECONFIG[browser-plugin] = "-Dbrowser_plugin=true,-Dbrowser_plugin=false" - -RDEPENDS_${PN} += "glib-2.0-utils" -RRECOMMMENDS_${PN} = "adwaita-icon-theme" - -PACKAGES =+ "${PN}-nautilus-extension" -PACKAGES =+ "${PN}-browser-plugin" - -FILES_${PN} += "${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/thumbnailers \ -" -FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so" -FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_40.1.bb new file mode 100644 index 000000000..3b1a978c6 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_40.1.bb @@ -0,0 +1,54 @@ +SUMMARY = "Evince is a document viewer for document formats like pdf, ps, djvu" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b" +SECTION = "x11/office" +DEPENDS = " \ + gnome-common-native \ + yelp-tools-native \ + appstream-glib \ + gtk+3 \ + gspell \ + libsecret \ + poppler \ + gstreamer1.0-plugins-base \ + orc \ + adwaita-icon-theme \ + libhandy \ + ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection gettext mime-xdg gtk-doc + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +SRC_URI[archive.sha256sum] = "7a666363c350af2e3bbba7f14b3c1befc5012f9ed3d9d073447f4c59f33dcf2d" + +GTKDOC_MESON_OPTION = "gtk_doc" + +EXTRA_OEMESON = " \ + -Dsystemduserunitdir=no \ +" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs" +} + +PACKAGECONFIG ??= "" +PACKAGECONFIG[nautilus] = "-Dnautilus=true,-Dnautilus=false,nautilus" +PACKAGECONFIG[browser-plugin] = "-Dbrowser_plugin=true,-Dbrowser_plugin=false" + +RDEPENDS_${PN} += "glib-2.0-utils" +RRECOMMMENDS_${PN} = "adwaita-icon-theme" + +PACKAGES =+ "${PN}-nautilus-extension" +PACKAGES =+ "${PN}-browser-plugin" + +FILES_${PN} += "${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/thumbnailers \ +" +FILES_${PN}-nautilus-extension = "${libdir}/nautilus/*/*so" +FILES_${PN}-browser-plugin = "${libdir}/mozilla/*/*so" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc index f39440cc6..870a9c0e9 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc +++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc @@ -9,6 +9,5 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \ inherit gnomebase upstream-version-is-even -SRC_URI[archive.sha256sum] = "c555528c546d457be0dc0eaca5d766d4dfef7c408276cb05f9724c463bfe7fd9" -PV = "3.36.5" - +SRC_URI[archive.sha256sum] = "eac75f348aa5defbe9473fa30ab6084635ee64d8e3eaaec60a62c27f149c3e22" +PV = "3.40.1" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.36.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.36.3.bb deleted file mode 100644 index 9af88f2a9..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.36.3.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "An archive manager utility for the GNOME Environment" -LICENSE="GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - glib-2.0-native \ - gtk+3 \ - libarchive \ - libnotify \ -" - -inherit gnomebase gsettings itstool gnome-help gettext upstream-version-is-even mime-xdg - -SRC_URI[archive.sha256sum] = "0959e10a5d7a7442809624be9879d95db462ca76e8c66ad6299310e6acdb81b7" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'packagekit', '', d)}" - -PACKAGECONFIG[nautilus] = "-Dnautilus-actions=true,-Dnautilus-actions=false,nautilus" -PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false," - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${libdir}/nautilus \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.38.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.38.1.bb new file mode 100644 index 000000000..379857c94 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/file-roller/file-roller_3.38.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "An archive manager utility for the GNOME Environment" +LICENSE="GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = " \ + glib-2.0-native \ + gtk+3 \ + libarchive \ + libnotify \ +" + +inherit gnomebase gsettings itstool gnome-help gettext upstream-version-is-even mime-xdg + +SRC_URI[archive.sha256sum] = "94a0130e12d321aa119793a14d09716523e2e4a61f29570cee53fd88dd6abc57" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'packagekit', '', d)}" + +PACKAGECONFIG[nautilus] = "-Dnautilus-actions=true,-Dnautilus-actions=false,nautilus" +PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false," + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${libdir}/nautilus \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb deleted file mode 100644 index b20f20449..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_3.36.2.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "GNOME editor" -SECTION = "x11/gnome" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - gdk-pixbuf-native \ - gtk+3 \ - gsettings-desktop-schemas \ - libpeas \ - libsoup-2.4 \ - gspell \ - gtksourceview4 \ - tepl \ -" - -inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc vala gettext features_check upstream-version-is-even mime-xdg python3targetconfig - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.md5sum] = "438217bbbcf92a17c4f259b4a5426b03" -SRC_URI[archive.sha256sum] = "6887554643c5b1b3862ac364d97b7b50224bff95e6758aeaa08f4a482b554197" - -GTKDOC_MESON_OPTION = "gtk_doc" - -PACKAGES += "${PN}-python" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ -" - -FILES_${PN}-python += " \ - ${PYTHON_SITEPACKAGES_DIR} \ -" - -RDEPENDS_${PN} += "gsettings-desktop-schemas" -RRECOMMENDS_${PN} += "source-code-pro-fonts" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb new file mode 100644 index 000000000..ee94cdd2a --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb @@ -0,0 +1,46 @@ +SUMMARY = "GNOME editor" +SECTION = "x11/gnome" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = " \ + gdk-pixbuf-native \ + gtk+3 \ + gsettings-desktop-schemas \ + libpeas \ + libsoup-2.4 \ + gspell \ + gtksourceview4 \ + tepl \ +" + +inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc vala gettext features_check mime-xdg python3targetconfig + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.sha256sum] = "55e394a82cb65678b1ab49526cf5bd43f00d8fba21476a4849051a8e137d3691" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" + +GTKDOC_MESON_OPTION = "gtk_doc" + +PACKAGES += "${PN}-python" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ +" + +FILES_${PN}-python += " \ + ${PYTHON_SITEPACKAGES_DIR} \ +" + +RDEPENDS_${PN} += "gsettings-desktop-schemas" +RRECOMMENDS_${PN} += "source-code-pro-fonts" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.1.bb deleted file mode 100644 index 12ea5938c..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A GObject-based Exiv2 wrapper" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2" - -DEPENDS = "exiv2" - -GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" - -inherit gnomebase gobject-introspection gtk-doc - -SRC_URI[archive.md5sum] = "44a3cfeab1afd83a71e852835d24e656" -SRC_URI[archive.sha256sum] = "8aeafd59653ea88f6b78cb03780ee9fd61a2f993070c5f0d0976bed93ac2bd77" - -EXTRA_OEMESON = " \ - -Dvapi=false \ - -Dpython2_girdir=no \ - -Dpython3_girdir=no \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.2.bb new file mode 100644 index 000000000..708523ee8 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.12.2.bb @@ -0,0 +1,19 @@ +SUMMARY = "A GObject-based Exiv2 wrapper" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2" + +DEPENDS = "exiv2" + +GNOMEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk_doc" + +inherit gnomebase gobject-introspection gtk-doc + +SRC_URI[archive.md5sum] = "4c0cd962f021f937507904df147ea750" +SRC_URI[archive.sha256sum] = "2322b552aca330eef79724a699c51a302345d5e074738578b398b7f2ff97944c" + +EXTRA_OEMESON = " \ + -Dvapi=false \ + -Dpython2_girdir=no \ + -Dpython3_girdir=no \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.1.bb deleted file mode 100644 index 5e833a91a..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "GNOME archive library" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = " \ - gtk+3 \ - libarchive \ -" - -inherit gnomebase gobject-introspection gtk-doc vala - -SRC_URI[archive.md5sum] = "3149496d0189623a8e1289bbab4d8385" -SRC_URI[archive.sha256sum] = "0e78713e6f0de339fdee16bab82753ae290fe80fa7b4ba6e3db8c1465b81d0f8" - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs" -} diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.2.bb new file mode 100644 index 000000000..8eba85941 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.2.bb @@ -0,0 +1,17 @@ +SUMMARY = "GNOME archive library" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = " \ + gtk+3 \ + libarchive \ +" + +inherit gnomebase gobject-introspection gtk-doc vala + +SRC_URI[archive.md5sum] = "3c8da1a8489255f2aaa5fdb690308e5d" +SRC_URI[archive.sha256sum] = "a48c4d5ce9a9ed05ba8bc8fdeb9af2d1a7bd8091c2911d6c37223c4f488f7c72" + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs" +} diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.1.bb deleted file mode 100644 index 77c89d95c..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "GNOME bluetooth manager" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ - file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ -" - -SECTION = "x11/gnome" - -DEPENDS = "udev gtk+3 libnotify libcanberra bluez5" - -GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" - -inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection upstream-version-is-even - -REQUIRED_DISTRO_FEATURES = "x11" - -# gtk-icon-cache bbclass will take care of this for us. -EXTRA_OEMESON = "-Dicon_update=false" - -SRC_URI[archive.md5sum] = "09b6bab7ceaafb35da766a5476fbc466" -SRC_URI[archive.sha256sum] = "3ec91076c2822cd1f9abdc8e27663c3bda4c9c8a7a9773f9e92bfbf2b745d386" - -RDEPENDS_${PN} += "bluez5" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb new file mode 100644 index 000000000..31d3bf6eb --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb @@ -0,0 +1,24 @@ +SUMMARY = "GNOME bluetooth manager" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ + file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ +" + +SECTION = "x11/gnome" + +DEPENDS = "udev gtk+3 libnotify libcanberra bluez5" + +GNOMEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk_doc" + +inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection upstream-version-is-even + +REQUIRED_DISTRO_FEATURES = "x11" + +# gtk-icon-cache bbclass will take care of this for us. +EXTRA_OEMESON = "-Dicon_update=false" + +SRC_URI[archive.md5sum] = "d83faa54abaf64bb40b5313bc233e74e" +SRC_URI[archive.sha256sum] = "6c949e52c8becc2054daacd604901f66ce5cf709a5fa91c4bb7cacc939b53ea9" + +RDEPENDS_${PN} += "bluez5" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.36.0.bb deleted file mode 100644 index c250981c4..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_3.36.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "GNOME calculator" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SECTION = "x11/gnome" - -DEPENDS = " \ - yelp-tools-native \ - gtk+3 \ - libsoup-2.4 \ - libgee \ - libmpc \ - gtksourceview4 \ -" - -GIR_MESON_OPTION = 'disable-introspection' -GIR_MESON_ENABLE_FLAG = 'false' -GIR_MESON_DISABLE_FLAG = 'true' - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gobject-introspection gnome-help vala gtk-icon-cache gettext features_check upstream-version-is-even - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.md5sum] = "71854fb58671b4a88ac990e2f2439e4f" -SRC_URI[archive.sha256sum] = "a2e830f9c9856fad65dad1d6c0ae6abad0f0b496c9984ac005315c5cc4220db3" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/gnome-shell \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb new file mode 100644 index 000000000..ef96632bd --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb @@ -0,0 +1,36 @@ +SUMMARY = "GNOME calculator" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SECTION = "x11/gnome" + +DEPENDS = " \ + yelp-tools-native \ + gtk+3 \ + libsoup-2.4 \ + libgee \ + libmpc \ + gtksourceview4 \ + libhandy \ +" + +GIR_MESON_OPTION = 'disable-introspection' +GIR_MESON_ENABLE_FLAG = 'false' +GIR_MESON_DISABLE_FLAG = 'true' + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gobject-introspection gnome-help vala gtk-icon-cache gettext features_check + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.sha256sum] = "7fe6c561f7b1f485ac106219772e45cc135c983bfa4278dd2d3fd83b57ff6af6" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/gnome-shell \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_3.34.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_3.34.2.bb deleted file mode 100644 index bb70ae7a8..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_3.34.2.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Access, organize and share your photos on GNOME" -SECTION = "x11/gnome" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -DEPENDS = " \ - glib-2.0-native \ - gdk-pixbuf-native \ - librsvg-native \ - gtk+3 \ - babl \ - gegl \ - geocode-glib \ - gnome-online-accounts \ - grilo \ - gsettings-desktop-schemas \ - libdazzle \ - libgdata \ - gfbgraph \ - tracker \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gettext upstream-version-is-even gnome-help features_check - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.md5sum] = "1dd0d477eac4707e8cfe9f35e26d1f29" -SRC_URI[archive.sha256sum] = "3c59c76ef28618ec055a1799d1040287b90a0b021feb0a02b1eac28e9c2eb41a" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/gnome-shell \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb new file mode 100644 index 000000000..6b69c08eb --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "Access, organize and share your photos on GNOME" +SECTION = "x11/gnome" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +DEPENDS = " \ + glib-2.0-native \ + gdk-pixbuf-native \ + librsvg-native \ + gtk+3 \ + babl \ + gegl \ + geocode-glib \ + gnome-online-accounts \ + grilo \ + gsettings-desktop-schemas \ + libdazzle \ + libgdata \ + gfbgraph \ + tracker \ + libhandy \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gettext gnome-help features_check + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[archive.sha256sum] = "e02d73e138af8b2868b5cad7faa1bdd278aeade3b6c3c92836511a4e6f3af1af" + +do_install_append() { + # make gnome-photos available on all desktops + sed -i 's:OnlyShowIn=:#OnlyShowIn=:g' ${D}${datadir}/applications/org.gnome.Photos.desktop +} + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/gnome-shell \ +" + +RRECOMMENDS_${PN} = "grilo-plugins" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.36.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.36.1.bb deleted file mode 100644 index ddd11201b..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.36.1.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Gnome system monitor" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -DEPENDS = " \ - gnome-common-native \ - libxml2-native \ - glib-2.0-native \ - gtkmm3 \ - libgtop \ - librsvg \ - polkit \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext upstream-version-is-even - -REQUIRED_DISTRO_FEATURES = "x11 polkit" - -SRC_URI[archive.md5sum] = "b1443ab12c3b7bcca940d28754e5b948" -SRC_URI[archive.sha256sum] = "866b47ab0f4c75b0ec57d6300337a7373463aaad5df95eddfe5354c22be7bca1" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd" - -RRECOMMENDS_${PN} = "adwaita-icon-theme" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb new file mode 100644 index 000000000..ecc5a09a0 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb @@ -0,0 +1,35 @@ +SUMMARY = "Gnome system monitor" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = " \ + gnome-common-native \ + libxml2-native \ + glib-2.0-native \ + gtkmm3 \ + libgtop \ + librsvg \ + polkit \ + libhandy \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext + +REQUIRED_DISTRO_FEATURES = "x11 polkit" + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +SRC_URI[archive.sha256sum] = "fdb30f4367907aab86d7c2bb76a7b773ba850b765c9666a39f42abfe22691d1a" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd" + +RRECOMMENDS_${PN} = "adwaita-icon-theme" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins/0001-Avoid-running-trackertestutils.patch b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins/0001-Avoid-running-trackertestutils.patch new file mode 100644 index 000000000..a07cd49fd --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins/0001-Avoid-running-trackertestutils.patch @@ -0,0 +1,34 @@ +From 9deaed70221a12e26f968be26233b75fa5669476 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sat, 15 May 2021 23:25:09 +0200 +Subject: [PATCH] Avoid running trackertestutils +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It breaks configuration: +| ../grilo-plugins-0.3.13/tests/tracker3/meson.build:5:0: ERROR: Program '/usr/lib/tracker-3.0/trackertestutils/tracker-sandbox' not found + +Upstream-Status: Inappropriate [OE-Specific] + +Signed-off-by: Andreas Müller +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 6a03778..17ef1e1 100644 +--- a/meson.build ++++ b/meson.build +@@ -78,7 +78,7 @@ totem_plparser_dep = dependency('totem-plparser', version: '>= 3.4.1', required: + totem_plparser_mini_dep = dependency('totem-plparser-mini', version: '>= 3.4.1', required: false) + tracker_sparql_dep = dependency('tracker-sparql-2.0', version: '>= 2.3.0', required: false) + tracker3_dep = dependency('tracker-sparql-3.0', required: false) +-tracker3_testutils_dep = dependency('tracker-testutils-3.0', required: false) ++tracker3_testutils_dep = dependency('tracker-testutils-3.0-avoid-find', required: false) + + lua_dep = dependency('lua', version: '>= 5.3.0', required: false) + if not lua_dep.found() +-- +2.31.1 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.13.bb b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.13.bb new file mode 100644 index 000000000..4ead998c7 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.13.bb @@ -0,0 +1,22 @@ +SUMMARY = "Grilo is a framework forsearching media content from various sources" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +DEPENDS = " \ + glib-2.0-native \ + gperf-native \ + itstool-native \ + grilo \ + tracker \ + lua \ + liboauth \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gnome-help vala + +SRC_URI += "file://0001-Avoid-running-trackertestutils.patch" +SRC_URI[archive.sha256sum] = "1c4305d67364a930543836cc1982f30e946973b8ff6af3efe31d87709ab520f8" + +FILES_${PN} += "${libdir}/grilo-0.3" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop/0001-fix-compile-error-for-cross-compile.patch b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop/0001-fix-compile-error-for-cross-compile.patch new file mode 100644 index 000000000..1bd6e101b --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop/0001-fix-compile-error-for-cross-compile.patch @@ -0,0 +1,37 @@ +From e865a93000913b4597607289356114cd159f4e28 Mon Sep 17 00:00:00 2001 +From: Your Name +Date: Fri, 21 May 2021 03:02:29 +0000 +Subject: [PATCH] fix compile error for cross compile + +On some distros, such as fedora32, cross compile failed with following +error since host library is used. undefined reference to +`stat64@GLIBC_2.33' + +According doc of ld, set searchdir begins with "=", but not hardcoded +locations. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libgtop/-/merge_requests/26] + +Signed-off-by: Changqing Li +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 472f44b..ed6a4d7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -270,8 +270,8 @@ AC_ARG_ENABLE(fatal-warnings, + [Define to enable fatal warnings])) + + dnl These definitions are expanded in make. +-LIBGTOP_LIBS='-L$(libdir)' +-LIBGTOP_INCS='-I$(includedir)/libgtop-2.0' ++LIBGTOP_LIBS='-L=$(libdir)' ++LIBGTOP_INCS='-I=$(includedir)/libgtop-2.0' + + if test x$libgtop_have_sysinfo = xyes ; then + LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO" +-- +2.26.2 + diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb index f0c9cdb0e..6d9398f4e 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb @@ -1,4 +1,4 @@ -SUMMARY = "LibGTop2" +SUMMARY = "A library for collecting system monitoring data" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" @@ -8,9 +8,8 @@ inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-ver inherit features_check REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI[archive.md5sum] = "c6d67325cd97b2208b41e07e6cc7b947" +SRC_URI += "file://0001-fix-compile-error-for-cross-compile.patch" + SRC_URI[archive.sha256sum] = "78f3274c0c79c434c03655c1b35edf7b95ec0421430897fb1345a98a265ed2d4" DEPENDS = "glib-2.0 libxau" - -EXTRA_OEMAKE += "LIBGTOP_LIBS=" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.36.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.36.1.bb deleted file mode 100644 index 3ee382937..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.36.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A library to access weather information from online services" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gobject-introspection gettext gtk-doc vala features_check upstream-version-is-even - -SRC_URI[archive.md5sum] = "d6081108f9c224c5cb594f8ccb025db9" -SRC_URI[archive.sha256sum] = "de2709f0ee233b20116d5fa9861d406071798c4aa37830ca25f5ef2c0083e450" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" - -GTKDOC_MESON_OPTION = "gtk_doc" - -DEPENDS = " \ - gtk+3 \ - json-glib \ - libsoup-2.4 \ - geocode-glib \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.36.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.36.2.bb new file mode 100644 index 000000000..c2cb2f19b --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather_3.36.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "A library to access weather information from online services" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection gettext gtk-doc vala features_check upstream-version-is-even + +SRC_URI[archive.md5sum] = "ff399cf89e97a3e574ae05db5617b96b" +SRC_URI[archive.sha256sum] = "ee1201a8fc25c14e940d3b26db49a34947c8aebf67dee01ee67fbcb06ecb37a0" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" + +GTKDOC_MESON_OPTION = "gtk_doc" + +DEPENDS = " \ + gtk+3 \ + json-glib \ + libsoup-2.4 \ + geocode-glib \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.36.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.36.0.bb deleted file mode 100644 index 8bca93f6d..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_3.36.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Window navigation construction toolkit" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -BPN = "libwnck" - -SECTION = "x11/libs" -DEPENDS = "intltool-native gnome-common-native gtk+3 gdk-pixbuf-native libxres" - -PACKAGECONFIG ??= "startup-notification" -PACKAGECONFIG[startup-notification] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification" - -GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' - -inherit gnomebase gobject-introspection gtk-doc gettext features_check - -SRC_URI[archive.md5sum] = "00bb40dc6fab76af0da33e88a34b6378" -SRC_URI[archive.sha256sum] = "bc508150b3ed5d22354b0e6774ad4eee465381ebc0ace45eb0e2d3a4186c925f" - -# libxres means x11 only -REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_40.0.bb new file mode 100644 index 000000000..bfb52e5bb --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck3_40.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Window navigation construction toolkit" +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +BPN = "libwnck" + +SECTION = "x11/libs" +DEPENDS = "intltool-native gnome-common-native gtk+3 gdk-pixbuf-native libxres" + +PACKAGECONFIG ??= "startup-notification" +PACKAGECONFIG[startup-notification] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification" + +GNOMEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk_doc" +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +inherit gnomebase gobject-introspection gtk-doc gettext features_check + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +SRC_URI[archive.sha256sum] = "30cb79a839f90cd66f3e202f3f98cb5166fa0cd9b92eb571ad9c470a43021d83" + +# libxres means x11 only +REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb index adbfcd6d7..c7f91f0db 100644 --- a/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb +++ b/meta-openembedded/meta-gnome/recipes-gnome/mutter/mutter_3.34.6.bb @@ -27,7 +27,7 @@ SRC_URI[archive.sha256sum] = "23bde87d33b8981358831cec8915bb5ff1eaf9c1de74c90cd1 SRC_URI += "file://0001-EGL-Include-EGL-eglmesaext.h.patch" # x11 is still manadatory - see meson.build -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 polkit" # systemd can be replaced by libelogind (not available atow - make systemd # mandatory distro feature) diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-Drop-use-of-volatile.patch b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-Drop-use-of-volatile.patch deleted file mode 100644 index 46831429d..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus/0001-Drop-use-of-volatile.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9ab5acb902a38b420592931ec9e46ccd0624035a Mon Sep 17 00:00:00 2001 -From: Ondrej Holy -Date: Wed, 13 Jan 2021 13:22:58 +0100 -Subject: [PATCH] Drop use of volatile - -The `fedora rawhide` CI job currently fails because of usage of the -`volatile` qualifier. Let's drop the `volatile` qualifier as it doesn't -help anyway. It was dropped in GLib as well, see: -https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719 - -Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/1741 ---- -Upstream-Status: Backport [https://github.com/GNOME/nautilus/commit/9b733dd9df9d6d9805c56749d05ada15a7560ef4] - src/nautilus-enum-types.c.template | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/nautilus-enum-types.c.template b/src/nautilus-enum-types.c.template -index 00155ca..9d8ac83 100644 ---- a/src/nautilus-enum-types.c.template -+++ b/src/nautilus-enum-types.c.template -@@ -13,7 +13,7 @@ - GType - @enum_name@_get_type (void) - { -- static volatile GType type_once = 0; -+ static GType type_once = 0; - - if (g_once_init_enter (&type_once)) - { --- -2.30.1 - diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.36.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.36.3.bb deleted file mode 100644 index cf138d973..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_3.36.3.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "File manager for GNOME" -SECTION = "x11/gnome" - -LICENSE="GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - fontconfig \ - gtk+3 \ - gnome-desktop3 \ - gsettings-desktop-schemas \ - gnome-autoar \ - tracker \ -" - -inherit gnomebase gsettings gobject-introspection gtk-doc gettext features_check upstream-version-is-even mime-xdg - -SRC_URI += "file://0001-Drop-use-of-volatile.patch" -SRC_URI[archive.md5sum] = "c3c8dbb90d8eeed6c127aa568e131395" -SRC_URI[archive.sha256sum] = "b6cafc7ab1e70a64383de391b6097fcccbf36b208f8502d8c46423224fd30ef8" - -REQUIRED_DISTRO_FEATURES = "x11" - -PACKAGECONFIG = "extensions" -PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/gnome-shell \ -" - -# mandatory - not checked during configuration: -# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed -RDEPENDS_${PN} += "tracker-miners" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_40.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_40.1.bb new file mode 100644 index 000000000..75fc03237 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_40.1.bb @@ -0,0 +1,45 @@ +SUMMARY = "File manager for GNOME" +SECTION = "x11/gnome" + +LICENSE="GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" + +GNOMEBASEBUILDCLASS = "meson" + +DEPENDS = " \ + fontconfig \ + gtk+3 \ + gnome-desktop3 \ + gsettings-desktop-schemas \ + gnome-autoar \ + tracker \ + libhandy \ + libportal \ +" + +inherit gnomebase gsettings gobject-introspection gtk-doc gettext features_check mime-xdg + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +SRC_URI[archive.sha256sum] = "8ecfb90174a0bd5815b1ceb9cbfcd91fec0fb5e34907a4f2df2d05e5d6c99d33" + +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OEMESON += " \ + -Dtests=none \ +" + +PACKAGECONFIG = "extensions" +PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/gnome-shell \ + ${datadir}/tracker3 \ +" + +# mandatory - not checked during configuration: +# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed +RDEPENDS_${PN} += "tracker-miners" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_4.4.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_4.4.0.bb deleted file mode 100644 index 4120c6260..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_4.4.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Tepl library eases the development of GtkSourceView-based projects" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = " \ - glib-2.0-native \ - gtk+3 \ - gtksourceview4 \ - amtk \ - libxml2 \ - uchardet \ -" - -inherit gnomebase gobject-introspection gettext - -SRC_URI[archive.md5sum] = "013ee8aae178f75cc74e05fac70786b3" -SRC_URI[archive.sha256sum] = "e6f6673a8a27e8f280725db8fbacec79b20676ae0558755239d15a9808faa256" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb new file mode 100644 index 000000000..dd0242f4c --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "Tepl library eases the development of GtkSourceView-based projects" +LICENSE = "LGPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSES/LGPL-3.0-or-later.txt;md5=c51d3eef3be114124d11349ca0d7e117" + +DEPENDS = " \ + glib-2.0-native \ + gtk+3 \ + gtksourceview4 \ + amtk \ + libxml2 \ + uchardet \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gobject-introspection gettext features_check + +SRC_URI[archive.sha256sum] = "a86397a895dca9c0de7a5ccb063bda8f7ef691cccb950ce2cfdee367903e7a63" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" + +GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.5.bb deleted file mode 100644 index 07fa10a0e..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_2.3.5.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "Tracker miners and metadata extractors" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ - file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ -" - -DEPENDS = " \ - intltool-native \ - tracker \ - zlib \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check - -SRC_URI[archive.sha256sum] = "9509d37fb29acd233058f4df5bd1234b692ac6f946bc2e5f7b8dbf51dfe5b9fa" -SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" - -PACKAGECONFIG ??= " \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "ffmpeg", "", d)} \ - flac \ - gexiv2 \ - gstreamer \ - icu \ - libexif \ - libgsf \ - jpeg \ - png \ - tiff \ - xml \ - pdf \ -" - -PACKAGECONFIG[ffmpeg] = ",,ffmpeg" -PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac" -PACKAGECONFIG[gexiv2] = ",,gexiv2" -PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[gupnp] = ",,gupnp-dlna" -PACKAGECONFIG[icu] = ",,icu" -PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif" -PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf" -PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" -PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" -PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" -PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" -PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis" -PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler" -PACKAGECONFIG[upower] = ",,upower" - -# For security reasons it is strongly recommended to set add meta-security in -# your layers and 'libseccomp' to PACKAGECONFIG". -PACKAGECONFIG[libseccomp] = ",,libseccomp" -# not yet in meta-gnome -PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss" - -EXTRA_OEMESON += " \ - -Dsystemd_user_services=${systemd_user_unitdir} \ -" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/tracker \ - ${libdir}/tracker-miners-2.0 \ - ${systemd_user_unitdir} \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.0.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.0.5.bb new file mode 100644 index 000000000..6672195e0 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.0.5.bb @@ -0,0 +1,72 @@ +SUMMARY = "Tracker miners and metadata extractors" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ + file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ +" + +DEPENDS = " \ + intltool-native \ + tracker \ + zlib \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection vala bash-completion features_check + +SRC_URI[archive.sha256sum] = "c9be14871b1398e6e656a354a8f8f59e69e93169017f2b28308ef439324fd12b" +SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "ffmpeg", "", d)} \ + gexiv2 \ + gstreamer \ + icu \ + libexif \ + libgsf \ + jpeg \ + pdf \ + png \ + tiff \ + xml \ +" + +PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower" +PACKAGECONFIG[ffmpeg] = ",,ffmpeg" +PACKAGECONFIG[gexiv2] = ",,gexiv2" +PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[gupnp] = ",,gupnp-dlna" +PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" +PACKAGECONFIG[icu] = ",,icu" +PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" +PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif" +PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf" +PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler" +PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" +PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" +PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" +PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanger" + +# For security reasons it is strongly recommended to set add meta-security in +# your layers and 'libseccomp' to PACKAGECONFIG". +PACKAGECONFIG[libseccomp] = ",,libseccomp" +# not yet in meta-gnome +PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss" + +EXTRA_OEMESON += " \ + -Dman=false \ + -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ + -Dsystemd_user_services_dir=${systemd_user_unitdir} \ +" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/tracker3-miners \ + ${libdir}/tracker-miners-3.0 \ + ${systemd_user_unitdir} \ +" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_2.3.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_2.3.6.bb deleted file mode 100644 index 2c11976ca..000000000 --- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_2.3.6.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Tracker is a file search engine" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ - file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ -" - -DEPENDS = " \ - libxml2-native \ - dbus-native \ - glib-2.0 \ - sqlite3 \ - libarchive \ - dbus \ - icu \ - json-glib \ - libsoup-2.4 \ - libstemmer \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check - -SRC_URI[archive.sha256sum] = "bd1eb4122135296fa7b57b1c3fa0ed602cf7d06c0b8e534d0bd17ff5f97feef2" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" - -PACKAGECONFIG ??= "fts" -PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanger" -# full text search requires sqlite3 build with PACKAGECONFIG[fts5] set -PACKAGECONFIG[fts] = "-Dfts=true,-Dfts=false" - -# set required cross property sqlite3_has_fts5 -do_write_config[vardeps] += "PACKAGECONFIG" -do_write_config_append() { - echo "[properties]" > ${WORKDIR}/meson-tracker.cross - echo "sqlite3_has_fts5 = '${@bb.utils.contains('PACKAGECONFIG', 'fts', 'true', 'false', d)}'" >> ${WORKDIR}/meson-tracker.cross -} - -EXTRA_OEMESON = "--cross-file ${WORKDIR}/meson-tracker.cross \ - -Dsystemd_user_services=${systemd_user_unitdir} \ -" - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${libdir}/tracker-2.0 \ - ${systemd_user_unitdir} \ -" diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.0.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.0.4.bb new file mode 100644 index 000000000..82e3d006e --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.0.4.bb @@ -0,0 +1,52 @@ +SUMMARY = "Tracker is a file search engine" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ + file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ +" + +DEPENDS = " \ + dbus-native \ + glib-2.0 \ + sqlite3 \ + libarchive \ + dbus \ + icu \ + json-glib \ + libsoup-2.4 \ + libstemmer \ +" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check + +SRC_URI[archive.sha256sum] = "c120d81f2df94aa794b1a7953b55cfa46de318ed68e6f3b5ad4fce0c729c2483" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" + +# text search is not an option anymore and requires sqlite3 build with +# PACKAGECONFIG[fts5] set (default) + +# set required cross property sqlite3_has_fts5 +do_write_config[vardeps] += "PACKAGECONFIG" +do_write_config_append() { + echo "[properties]" > ${WORKDIR}/meson-tracker.cross + echo "sqlite3_has_fts5 = 'true'" >> ${WORKDIR}/meson-tracker.cross +} + +EXTRA_OEMESON = " \ + --cross-file ${WORKDIR}/meson-tracker.cross \ + -Dman=false \ + -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ + -Dsystemd_user_services_dir=${systemd_user_unitdir} \ +" + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/tracker3 \ + ${libdir}/tracker-3.0 \ + ${systemd_user_unitdir} \ +" diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0.inc b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0.inc new file mode 100644 index 000000000..80472178b --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0.inc @@ -0,0 +1,49 @@ +SUMMARY = "Graphics library for creating hardware-accelerated user interfaces" +DESCRIPTION = "Clutter is an Open GL based interactive canvas library, \ +designed for creating fast, mainly 2D single window applications such as media \ +box UIs, presentations, kiosk style applications and so on." +HOMEPAGE = "http://www.clutter-project.org/" +LICENSE = "LGPLv2.1+" + +inherit clutter ptest-gnome features_check upstream-version-is-even gobject-introspection +# depends on cogl-1.0 which needs opengl +REQUIRED_DISTRO_FEATURES ?= "opengl" + +DEPENDS = "pango glib-2.0 json-glib atk udev cogl-1.0" +PACKAGE_BEFORE_PN += "${PN}-examples" +AUTOTOOLS_AUXDIR = "${S}/build-aux" + +EDEPENDS_X11 = "virtual/libx11 libxi libxfixes" +EDEPENDS_GLX = "virtual/libgl" +EDEPENDS_EGL = "virtual/egl" +EDEPENDS_WAYLAND = "wayland libxkbcommon gdk-pixbuf" + +EDEPENDS_EVDEV = "libxkbcommon" +ERDEPENDS_EVDEV = "xkeyboard-config" + +# Disable pretty much everything, override in platform specific set up +EXTRA_OECONF += "--disable-quartz-backend \ + --disable-win32-backend \ + --disable-cex100-backend \ + --disable-tslib-input \ + " + +PACKAGECONFIG[gdk] = "--enable-gdk-backend,--disable-gdk-backend,gtk+3" +PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,${EDEPENDS_X11}" +PACKAGECONFIG[glx] = ",,${EDEPENDS_X11} ${EDEPENDS_GLX}" +PACKAGECONFIG[egl] = "--enable-egl-backend,--disable-egl-backend,${EDEPENDS_EGL}" +PACKAGECONFIG[evdev] = "--enable-evdev-input,--disable-evdev-input,${EDEPENDS_EVDEV},${ERDEPENDS_EVDEV}" +PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,${EDEPENDS_WAYLAND}" +PACKAGECONFIG[wayland-compositor] = "--enable-wayland-compositor,--disable-wayland-compositor,wayland" + +# Default configuration, distros might want to override +PACKAGECONFIG ??= "egl gdk \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11', '', d)}" + +FILES_${PN}-examples = "${libdir}/clutter/examples" + +do_configure_prepend() { + # see https://bugzilla.gnome.org/show_bug.cgi?id=661128 for this + touch -t 200001010000 ${S}/po/clutter-1.0.pot +} diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch new file mode 100644 index 000000000..7b3c1980b --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch @@ -0,0 +1,143 @@ +From 3a0404dfbc65c6a864e01d1200a48074e19d5def Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 2 Sep 2016 14:28:38 +0300 +Subject: [PATCH] Remove clutter.types as it is build configuration-specific. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + doc/reference/clutter.types | 122 -------------------------------------------- + 1 file changed, 122 deletions(-) + delete mode 100644 doc/reference/clutter.types + +diff --git a/doc/reference/clutter.types b/doc/reference/clutter.types +deleted file mode 100644 +index 0037acc..0000000 +--- a/doc/reference/clutter.types ++++ /dev/null +@@ -1,122 +0,0 @@ +-cally_actor_get_type +-cally_clone_get_type +-cally_group_get_type +-cally_rectangle_get_type +-cally_root_get_type +-cally_stage_get_type +-cally_text_get_type +-cally_texture_get_type +-cally_util_get_type +-clutter_action_get_type +-clutter_actor_box_get_type +-clutter_actor_get_type +-clutter_actor_meta_get_type +-clutter_align_constraint_get_type +-clutter_alpha_get_type +-clutter_animatable_get_type +-clutter_animation_get_type +-clutter_animator_get_type +-clutter_animator_key_get_type +-clutter_backend_get_type +-clutter_behaviour_depth_get_type +-clutter_behaviour_ellipse_get_type +-clutter_behaviour_get_type +-clutter_behaviour_opacity_get_type +-clutter_behaviour_path_get_type +-clutter_behaviour_rotate_get_type +-clutter_behaviour_scale_get_type +-clutter_bin_layout_get_type +-clutter_bind_constraint_get_type +-clutter_binding_pool_get_type +-clutter_blur_effect_get_type +-clutter_box_get_type +-clutter_box_layout_get_type +-clutter_brightness_contrast_effect_get_type +-clutter_cairo_texture_get_type +-clutter_canvas_get_type +-clutter_child_meta_get_type +-clutter_click_action_get_type +-clutter_clip_node_get_type +-clutter_clone_get_type +-clutter_color_get_type +-clutter_color_node_get_type +-clutter_colorize_effect_get_type +-clutter_constraint_get_type +-clutter_container_get_type +-clutter_content_get_type +-clutter_deform_effect_get_type +-clutter_desaturate_effect_get_type +-clutter_device_manager_get_type +-clutter_drag_action_get_type +-clutter_drop_action_get_type +-clutter_effect_get_type +-clutter_event_get_type +-clutter_event_sequence_get_type +-clutter_fixed_layout_get_type +-clutter_flow_layout_get_type +-clutter_fog_get_type +-clutter_geometry_get_type +-clutter_gesture_action_get_type +-clutter_glx_texture_pixmap_get_type +-clutter_grid_layout_get_type +-clutter_group_get_type +-clutter_image_get_type +-clutter_input_device_get_type +-clutter_interval_get_type +-clutter_keyframe_transition_get_type +-clutter_knot_get_type +-clutter_layout_manager_get_type +-clutter_layout_meta_get_type +-clutter_list_model_get_type +-clutter_margin_get_type +-clutter_media_get_type +-clutter_model_get_type +-clutter_model_iter_get_type +-clutter_offscreen_effect_get_type +-clutter_page_turn_effect_get_type +-clutter_paint_node_get_type +-clutter_paint_volume_get_type +-clutter_pan_action_get_type +-clutter_param_color_get_type +-clutter_param_fixed_get_type +-clutter_param_units_get_type +-clutter_path_constraint_get_type +-clutter_path_get_type +-clutter_path_node_get_type +-clutter_perspective_get_type +-clutter_pipeline_node_get_type +-clutter_point_get_type +-clutter_property_transition_get_type +-clutter_rect_get_type +-clutter_rectangle_get_type +-clutter_rotate_action_get_type +-clutter_score_get_type +-clutter_script_get_type +-clutter_scriptable_get_type +-clutter_scroll_actor_get_type +-clutter_settings_get_type +-clutter_shader_effect_get_type +-clutter_shader_float_get_type +-clutter_shader_get_type +-clutter_shader_int_get_type +-clutter_shader_matrix_get_type +-clutter_size_get_type +-clutter_snap_constraint_get_type +-clutter_stage_get_type +-clutter_stage_manager_get_type +-clutter_state_get_type +-clutter_state_key_get_type +-clutter_swipe_action_get_type +-clutter_table_layout_get_type +-clutter_tap_action_get_type +-clutter_text_buffer_get_type +-clutter_text_get_type +-clutter_text_node_get_type +-clutter_texture_get_type +-clutter_texture_node_get_type +-clutter_timeline_get_type +-clutter_transition_get_type +-clutter_transition_group_get_type +-clutter_units_get_type +-clutter_vertex_get_type +-clutter_zoom_action_get_type +-- +2.9.3 + diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/install-examples.patch b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/install-examples.patch new file mode 100644 index 000000000..ce9ab3a24 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/install-examples.patch @@ -0,0 +1,19 @@ +Install the examples to $libdir/clutter/. + +Signed-off-by: Ross Burton +Upstream-Status: Inappropriate + +Index: clutter-1.26.2/examples/Makefile.am +=================================================================== +--- clutter-1.26.2.orig/examples/Makefile.am ++++ clutter-1.26.2/examples/Makefile.am +@@ -33,7 +33,8 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/clutter \ + -I$(top_builddir)/clutter + +-noinst_PROGRAMS = $(all_examples) ++exampledir = $(pkglibdir)/examples ++example_PROGRAMS = $(all_examples) + + EXTRA_DIST = redhand.png + diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch new file mode 100644 index 000000000..fef82eaf9 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch @@ -0,0 +1,30 @@ +From d6ceb5a44b28e0e50ede22b84984d8516897de4b Mon Sep 17 00:00:00 2001 +From: Jussi Kukkonen +Date: Mon, 27 Apr 2015 20:12:33 +0300 +Subject: [PATCH] Run installed tests with tap output + +Configure output from installed-tests to be TAP compliant such that +gnome-desktop-testing-runner properly interprets the results. + +Upstream-Status: Pending + +Signed-off-by: Tim Orling + +--- + build-aux/autotools/glib-tap.mk | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/build-aux/autotools/glib-tap.mk b/build-aux/autotools/glib-tap.mk +index a4f0dad..51cfa31 100644 +--- a/build-aux/autotools/glib-tap.mk ++++ b/build-aux/autotools/glib-tap.mk +@@ -127,7 +127,8 @@ installed_test_meta_DATA = $(installed_testcases:=.test) + %.test: %$(EXEEXT) Makefile + $(AM_V_GEN) (echo '[Test]' > $@.tmp; \ + echo 'Type=session' >> $@.tmp; \ +- echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$<' >> $@.tmp; \ ++ echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$< --tap' >> $@.tmp; \ ++ echo 'Output=TAP' >> $@.tmp; \ + mv $@.tmp $@) + + CLEANFILES += $(installed_test_meta_DATA) diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/run-ptest b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/run-ptest new file mode 100644 index 000000000..98877e522 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner clutter diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0_1.26.4.bb b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0_1.26.4.bb new file mode 100644 index 000000000..ee549fbdd --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-1.0_1.26.4.bb @@ -0,0 +1,10 @@ +require clutter-1.0.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI[archive.md5sum] = "624dd776a5159de0267587b1df6b97b2" +SRC_URI[archive.sha256sum] = "8b48fac159843f556d0a6be3dbfc6b083fc6d9c58a20a49a6b4919ab4263c4e6" +SRC_URI += "file://install-examples.patch \ + file://run-installed-tests-with-tap-output.patch \ + file://0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch \ + file://run-ptest" diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0.inc b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0.inc new file mode 100644 index 000000000..73315c97e --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0.inc @@ -0,0 +1,23 @@ +SUMMARY = "GStreamer integration library for Clutter" +DESCRIPTION = "Clutter-Gst is an integration library for using GStreamer with Clutter. \ +It provides a GStreamer sink to upload frames to GL and an actor that \ +implements the ClutterGstPlayer interface using playbin." +HOMEPAGE = "http://www.clutter-project.org/" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/clutter-gst/-/issues" +LICENSE = "LGPLv2+" + +inherit clutter features_check upstream-version-is-even gobject-introspection +# depends on clutter-1.0 which depends on cogl-1.0 +REQUIRED_DISTRO_FEATURES ?= "opengl" + +export GST_PLUGIN_SCANNER_1_0="${S}/gst-plugin-scanner-dummy" + +SRC_URI += "file://0001-Install-example-binary-needed-for-core-image-clutter.patch" + +DEPENDS = "gstreamer1.0-plugins-base gstreamer1.0-plugins-bad clutter-1.0 libgudev" +RDEPENDS_${PN} += "gstreamer1.0-meta-base" +PACKAGES =+ "${PN}-examples" + +FILES_${PN} += "${libdir}/gstreamer-1.0/lib*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" +FILES_${PN}-examples = "${bindir}/video-player ${bindir}/video-sink" diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch new file mode 100644 index 000000000..0b26b990d --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch @@ -0,0 +1,33 @@ +From d77c711277bf075ce0545c19b322f040c49c778a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Thu, 30 Apr 2015 12:19:13 +0300 +Subject: [PATCH] Install example binary needed for core-image-clutter + +Signed-off-by: Zhai Edwin + +Upstream-Status: Inappropriate [configuration] + +Imported from clutter-gst-1.8 package, git://git.openembedded.org/openembedded, +commit ae28ee3f7a060b9e0d13154a84f2444a98490b5b, updated for clutter-gst 3.0 + +Signed-off-by: Tomas Frydrych +Signed-off-by: Alexander Kanavin +--- + examples/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/Makefile.am b/examples/Makefile.am +index bfbc1b5..09655e3 100644 +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -1,6 +1,6 @@ + NULL = # + +-noinst_PROGRAMS = camera-player video-player video-sink video-sink-navigation video-content ++bin_PROGRAMS = camera-player video-player video-sink video-sink-navigation video-content + + AM_CPPFLAGS = -I$(top_srcdir) \ + $(MAINTAINER_CFLAGS) \ +-- +2.1.4 + diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb new file mode 100644 index 000000000..35382453c --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb @@ -0,0 +1,7 @@ +require clutter-gst-3.0.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4" + +SRC_URI[archive.md5sum] = "2bf9d7ca146c9d71e86c45cd00e9a28e" +SRC_URI[archive.sha256sum] = "fe69bd6c659d24ab30da3f091eb91cd1970026d431179b0724f13791e8ad9f9d" diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0.inc b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0.inc new file mode 100644 index 000000000..9a28b5219 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0.inc @@ -0,0 +1,23 @@ +SUMMARY = "Library for embedding a Clutter canvas in a GTK+ application" +DESCRIPTION = "Clutter-GTK is a library providing facilities to integrate Clutter into GTK+ \ +applications and vice versa. It provides a GTK+ widget, GtkClutterEmbed, for embedding the \ +a Clutter stage into any GtkContainer; and GtkClutterActor, a Clutter \ +actor for embedding any GtkWidget inside a Clutter stage." +HOMEPAGE = "http://www.clutter-project.org/" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/clutter/-/issues" +LICENSE = "LGPLv2+" + +CLUTTERBASEBUILDCLASS = "meson" +inherit clutter features_check upstream-version-is-even gobject-introspection gtk-doc + +# depends on clutter-1.0 which depends on cogl-1.0 +REQUIRED_DISTRO_FEATURES ?= "opengl" +# depends on gtk+3 +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +DEPENDS = "clutter-1.0 gtk+3" +PACKAGES =+ "${PN}-examples" + +GTKDOC_MESON_OPTION = "enable_docs" + +GIR_MESON_OPTION = 'enable_gi' diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch new file mode 100644 index 000000000..e21c6fd90 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch @@ -0,0 +1,37 @@ +From 7233883c6bd4e80c0e91b29b5c76fe798023e9fe Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 11 Feb 2019 16:41:13 +0100 +Subject: [PATCH] Add a config variable for enabling/disabling introspection + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + clutter-gtk/meson.build | 2 +- + meson_options.txt | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/clutter-gtk/meson.build b/clutter-gtk/meson.build +index 5d6847d..5d934b6 100644 +--- a/clutter-gtk/meson.build ++++ b/clutter-gtk/meson.build +@@ -49,7 +49,7 @@ clutter_gtk_dep = declare_dependency(link_with: clutter_gtk, + dependencies: [ mathlib_dep, clutter_dep, gtk_dep ], + include_directories: include_directories('.')) + +-if not meson.is_cross_build() ++if get_option('enable_gi') + gnome.generate_gir(clutter_gtk, + sources: clutter_gtk_headers + clutter_gtk_sources, + namespace: 'GtkClutter', +diff --git a/meson_options.txt b/meson_options.txt +index aaf59f1..b7e51c3 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -2,3 +2,7 @@ option('enable_docs', + type: 'boolean', + value: false, + description: 'Enable generating the API reference (depends on GTK-Doc)') ++option('enable_gi', ++ type: 'boolean', ++ value: false, ++ description: 'Enable gobject introspection') diff --git a/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb new file mode 100644 index 000000000..53948c894 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb @@ -0,0 +1,7 @@ +require clutter-gtk-1.0.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +SRC_URI += " file://0001-Add-a-config-variable-for-enabling-disabling-introsp.patch" +SRC_URI[archive.md5sum] = "b363ac9878e2337be887b8ee9e1da00e" +SRC_URI[archive.sha256sum] = "521493ec038973c77edcb8bc5eac23eed41645117894aaee7300b2487cb42b06" diff --git a/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0.inc b/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0.inc new file mode 100644 index 000000000..d581ad1c0 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0.inc @@ -0,0 +1,84 @@ +SUMMARY = "Modern 3D graphics API with associated utility APIs" +DESCRIPTION = "Cogl is a small open source library for using 3D graphics \ +hardware for rendering. The API departs from the flat state machine style of \ +OpenGL and is designed to make it easy to write orthogonal components that \ +can render without stepping on each others toes." +HOMEPAGE = "https://gitlab.gnome.org/GNOME/cogl" +LICENSE = "MIT" + +inherit clutter features_check upstream-version-is-even gobject-introspection +# cogl-1.0 needs opengl to build +REQUIRED_DISTRO_FEATURES ?= "opengl" + +DEPENDS = "glib-2.0 gdk-pixbuf" +PACKAGES =+ "${PN}-examples \ + libcogl libcogl-gles2 libcogl-pango libcogl-path \ + " +AUTOTOOLS_AUXDIR = "${S}/build" + +# Extra DEPENDS for PACKAGECONFIG +EDEPENDS_GL = "virtual/libgl libdrm" +EDEPENDS_GLES2 = "virtual/libgles2" +EDEPENDS_KMS = "libdrm virtual/egl" +EDEPENDS_EGL = "virtual/egl" +EDEPENDS_X11 = "virtual/libx11 libxcomposite libxdamage libxfixes libxrandr" +EDEPENDS_WAYLAND = "virtual/egl virtual/libgles2 wayland" + +# Extra RDEPENDS for PACKAGECONFIG +# This has to be explictly listed, because cogl dlopens the backends +ERDEPENDS_GL = "libgl" +ERDEPENDS_GLES2 = "libgles2" + +# GLESv1 is rarely tested, so disable it +EXTRA_OECONF += "--enable-examples-install \ + --enable-debug \ + --disable-gles1 \ + --disable-cairo \ + " +DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" + +# OpenGL/GLX +PACKAGECONFIG[glx] = "--enable-gl --enable-glx,--disable-gl --disable-glx,${EDEPENDS_GL} ${EDEPENDS_X11},${ERDEPENDS_GL}" + +# GLESv2 +PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,${EDEPENDS_GLES2}, ${ERDEPENDS_GLES2}" + +# EGL backends +PACKAGECONFIG[egl-kms] = "--enable-kms-egl-platform,--disable-kms-egl-platform,${EDEPENDS_KMS}" +PACKAGECONFIG[egl-null] = "--enable-null-egl-platform,--disable-null-egl-platform" +PACKAGECONFIG[egl-x11] = "--enable-xlib-egl-platform,--disable-xlib-egl-platform,${EDEPENDS_X11} ${EDEPENDS_EGL}" +PACKAGECONFIG[egl-wayland] = "--enable-wayland-egl-platform,--disable-wayland-egl-platform,${EDEPENDS_WAYLAND}" + +# Wayland (server-side) +PACKAGECONFIG[wayland-server] = "--enable-wayland-egl-server,--disable-wayland-egl-server,${EDEPENDS_WAYLAND}" + +# Support rendering text directly with Pango +PACKAGECONFIG[cogl-pango] = "--enable-cogl-pango,--disable-cogl-pango,pango" + +# Respect the DISTRO_FEATURES to pull in GLX or Wayland as appropriate by +# default. +PACKAGECONFIG ??= "cogl-pango gles2 \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx egl-x11', '', d)} \ + " + +do_compile_prepend() { + export GIR_EXTRA_LIBS_PATH="${B}/cogl/.libs" +} + +FILES_${PN} = "" +FILES_${PN}-examples = "${bindir}/* ${datadir}/cogl/examples-data/*" +FILES_libcogl = "${libdir}/libcogl${SOLIBS} ${libdir}/girepository-1.0/Cogl-*.typelib" +FILES_libcogl-gles2 = "${libdir}/libcogl-gles2${SOLIBS}" +FILES_libcogl-pango = "${libdir}/libcogl-pango${SOLIBS} ${libdir}/girepository-1.0/CoglPango*.typelib" + +FILES_libcogl-path = "${libdir}/libcogl-path${SOLIBS}" + +# For backwards compatibility after Debian-renaming +RPROVIDES_libcogl = "cogl-1.0" +RCONFLICTS_libcogl = "cogl-1.0" +RREPLACES_libcogl = "cogl-1.0" + +RDEPENDS_${PN}-dev = "libcogl" + +COMPATIBLE_HOST_armv4 = 'null' diff --git a/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch b/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch new file mode 100644 index 000000000..328984a63 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch @@ -0,0 +1,92 @@ +From bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001 +From: Max Krummenacher +Date: Thu, 25 Jun 2020 11:27:40 +0000 +Subject: [PATCH] configure.ac: don't require eglmesaext.h + +E.g. the Vivante EGL implementation does not provide eglmesaext.h. + +The commit moves the check for header file existence outside of the +check for existence of a egl packageconfig and makes the existence +of eglmesaext.h optional. + +fixes commit fb1acfec ("Fix building against libglvnd-provided EGL headers") +Signed-off-by: Max Krummenacher + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28] +Signed-off-by: Max Krummenacher +--- + configure.ac | 51 ++++++++++++++++++++++++++++++++------------------- + 1 file changed, 32 insertions(+), 19 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b7ba95d..0d1d8de 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1212,22 +1212,6 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"], + PKG_CHECK_EXISTS([egl], + [COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"], + [ +- AC_CHECK_HEADERS( +- [EGL/egl.h], +- [], +- [AC_MSG_ERROR([Unable to locate required EGL headers])]) +- AC_CHECK_HEADERS( +- [EGL/eglext.h], +- [], +- [AC_MSG_ERROR([Unable to locate required EGL headers])], +- [#include ]) +- AC_CHECK_HEADERS( +- [EGL/eglmesaext.h], +- [], +- [AC_MSG_ERROR([Unable to locate required EGL headers])], +- [#include +-#include ]) +- + AC_CHECK_LIB(EGL, [eglInitialize], + [COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"], + [AC_MSG_ERROR([Unable to locate required EGL library])]) +@@ -1236,9 +1220,38 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"], + ] + ) + +- COGL_EGL_INCLUDES="#include +-#include +-#include " ++dnl Test for the existence of egl headers. ++dnl egl*.h includes eglplatform.h which on __unix__ defaults to a X11 platform. ++dnl In that case AC_CHECK_HEADERS failes if X11 headers are not available. ++dnl Set the usual include guard define and, if the EGL implementation doesn't ++dnl use that guard fall back to USE_OZONE and EGL_NO_X11 platforms which don't ++dnl require additional headers. ++ AC_CHECK_HEADERS( ++ [EGL/egl.h], ++ [COGL_EGL_INCLUDES="#include "], ++ [AC_MSG_ERROR([Unable to locate required EGL headers])], ++ [#define __egl_h_ ++ #define USE_OZONE ++ #define EGL_NO_X11]) ++ AC_CHECK_HEADERS( ++ [EGL/eglext.h], ++ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES ++#include "], ++ [AC_MSG_ERROR([Unable to locate required EGL headers])], ++ [#define __eglext_h_ ++ #define USE_OZONE ++ #define EGL_NO_X11 ++$COGL_EGL_INCLUDES]) ++ AC_CHECK_HEADERS( ++ [EGL/eglmesaext.h], ++ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES ++#include "], ++ [], ++ [#define __eglmesaext_h_ ++#define USE_OZONE ++#define EGL_NO_X11 ++$COGL_EGL_INCLUDES]) ++ + AC_SUBST([COGL_EGL_INCLUDES]) + ]) + +-- +2.20.1 + diff --git a/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0_1.22.8.bb b/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0_1.22.8.bb new file mode 100644 index 000000000..b9446fab3 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/cogl/cogl-1.0_1.22.8.bb @@ -0,0 +1,6 @@ +require cogl-1.0.inc + +SRC_URI += "file://0001-configure.ac-don-t-require-eglmesaext.h.patch" +SRC_URI[archive.sha256sum] = "a805b2b019184710ff53d0496f9f0ce6dcca420c141a0f4f6fcc02131581d759" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84" diff --git a/meta-openembedded/meta-gnome/recipes-graphics/packagegroups/packagegroup-core-clutter.bb b/meta-openembedded/meta-gnome/recipes-graphics/packagegroups/packagegroup-core-clutter.bb new file mode 100644 index 000000000..2e7b47dd4 --- /dev/null +++ b/meta-openembedded/meta-gnome/recipes-graphics/packagegroups/packagegroup-core-clutter.bb @@ -0,0 +1,22 @@ +# +# Copyright (C) 2007 OpenedHand Ltd. +# + +SUMMARY = "Clutter package groups" + +PR = "r6" + +inherit packagegroup features_check +# rdepends on clutter-* +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGES = "\ + ${PN}-core \ + " + +SUMMARY_${PN}-core = "Clutter graphics library" +RDEPENDS_${PN}-core = "\ + clutter-1.0 \ + clutter-gst-3.0 \ + clutter-gtk-1.0 \ + " diff --git a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch index 73ebeb484..37c5c3dc0 100644 --- a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch +++ b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch @@ -23,7 +23,7 @@ diff --git a/GNUmakefile b/GNUmakefile index cbd6ff7..a85230b 100644 --- a/GNUmakefile +++ b/GNUmakefile -@@ -142,10 +142,10 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o) +@@ -162,10 +162,10 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o) JAVA_CLASSES = $(JAVA_SOURCES:.java=.class) JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class) @@ -36,7 +36,7 @@ index cbd6ff7..a85230b 100644 clean: rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \ -@@ -192,6 +192,9 @@ libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS) +@@ -212,6 +212,9 @@ libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS) libstemmer.o: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS) $(AR) -cru $@ $^ @@ -44,7 +44,7 @@ index cbd6ff7..a85230b 100644 + $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^ + stemwords: $(STEMWORDS_OBJECTS) libstemmer.o - $(CC) $(CFLAGS) -o $@ $^ + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ diff --git a/libstemmer/symbol.map b/libstemmer/symbol.map new file mode 100644 diff --git a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch deleted file mode 100644 index 69c1d670e..000000000 --- a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer/0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 23eacfbcc10c777ce47283a5285455ec83c8aa41 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Sun, 6 Oct 2019 13:05:08 +0200 -Subject: [PATCH] snowball/stemwords: do link with LDFLAGS set by build - environment -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Some (cross-)build systems as OpeneEmbedded are picky (for certain reasons) if -their LDFLAGS are ignored. - -Upstream-Status: Submitted [1] - -[1] https://github.com/snowballstem/snowball/pull/120 - -Signed-off-by: Andreas Müller ---- - GNUmakefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/GNUmakefile b/GNUmakefile -index 76f6ae9..47c6077 100644 ---- a/GNUmakefile -+++ b/GNUmakefile -@@ -179,7 +179,7 @@ clean: - -rmdir $(js_output_dir) - - snowball: $(COMPILER_OBJECTS) -- $(CC) $(CFLAGS) -o $@ $^ -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ - - $(COMPILER_OBJECTS): $(COMPILER_HEADERS) - -@@ -204,7 +204,7 @@ libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS) - $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^ - - stemwords: $(STEMWORDS_OBJECTS) libstemmer.o -- $(CC) $(CFLAGS) -o $@ $^ -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ - - csharp_stemwords: $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES) - $(MCS) -unsafe -target:exe -out:$@ $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES) --- -2.21.0 - diff --git a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb index 96dd880b6..c1a06c0d0 100644 --- a/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb +++ b/meta-openembedded/meta-gnome/recipes-support/libstemmer/libstemmer_git.bb @@ -1,18 +1,17 @@ SUMMARY = "Snowball compiler and stemming algorithms" HOMEPAGE = "https://snowballstem.org/" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=2750797da77c1d784e7626b3f7d7ff3e" +LIC_FILES_CHKSUM = "file://COPYING;md5=19139aaf3c8c8fa1ca6edd59c072fb9f" DEPENDS_class-target = "${BPN}-native" SRC_URI = "\ git://github.com/snowballstem/snowball.git \ file://0001-Build-so-lib.patch \ - file://0002-snowball-stemwords-do-link-with-LDFLAGS-set-by-build.patch \ " -SRCREV = "c70ed64f9d41c1032fba4e962b054f8e9d489a74" +SRCREV = "4764395431c8f2a0b4fe18b816ab1fc966a45837" S = "${WORKDIR}/git" -PV = "2.0.0" +PV = "2.1.0" LIBVER = "0.0.0" inherit lib_package diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-Fix-build-with-hardened-security-flags.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-Fix-build-with-hardened-security-flags.patch new file mode 100644 index 000000000..ef0c945d0 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-Fix-build-with-hardened-security-flags.patch @@ -0,0 +1,61 @@ +From 6eba07bd195e0a1199a0fc62d7cc31ec376bc3dd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 31 May 2021 17:44:29 +0200 +Subject: [PATCH] Fix build with hardened security flags +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +| ../gupnp-1.2.6/examples/get-volume.c: In function 'on_introspection': +| ../gupnp-1.2.6/examples/get-volume.c:53:17: error: format not a string literal and no format arguments [-Werror=format-security] +| 53 | g_critical (error->message); +| | ^~~~~~~~~~ +| ../gupnp-1.2.6/examples/get-volume.c:114:17: error: format not a string literal and no format arguments [-Werror=format-security] +| 114 | g_critical (error->message); +| | ^~~~~~~~~~ +| ../gupnp-1.2.6/examples/get-volume.c: In function 'main': +| ../gupnp-1.2.6/examples/get-volume.c:150:17: error: format not a string literal and no format arguments [-Werror=format-security] +| 150 | g_error (error->message); +| | ^~~~~~~ + +Signed-off-by: Andreas Müller + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gupnp/-/merge_requests/17] +--- + examples/get-volume.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/examples/get-volume.c b/examples/get-volume.c +index 4601014..923581c 100644 +--- a/examples/get-volume.c ++++ b/examples/get-volume.c +@@ -50,7 +50,7 @@ on_introspection (GObject *object, GAsyncResult *res, gpointer user_data) + &error); + + if (error != NULL) { +- g_critical (error->message); ++ g_critical ("%s", error->message); + g_clear_error (&error); + } + +@@ -111,7 +111,7 @@ on_introspection (GObject *object, GAsyncResult *res, gpointer user_data) + g_list_free (out_names); + + if (error != NULL) { +- g_critical (error->message); ++ g_critical ("%s", error->message); + g_clear_error (&error); + } else { + g_print ("Current volume: %s\n", +@@ -147,7 +147,7 @@ int main(int argc, char *argv[]) + GUPnPContext *context = gupnp_context_new ("wlp3s0", 0, &error); + + if (error != NULL) { +- g_error (error->message); ++ g_error ("%s", error->message); + } + + GUPnPControlPoint *cp = gupnp_control_point_new (context, CONTENT_DIR); +-- +2.31.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.4.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.4.bb deleted file mode 100644 index c7b330fa0..000000000 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.4.bb +++ /dev/null @@ -1,8 +0,0 @@ -require gupnp.inc - -SRC_URI = "${GNOME_MIRROR}/${BPN}/1.2/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "7c9c7cd80e36d9fb1e5b0267571fc17d" -SRC_URI[sha256sum] = "f7a0307ea51f5e44d1b832f493dd9045444a3a4e211ef85dfd9aa5dd6eaea7d1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520" diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.6.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.6.bb new file mode 100644 index 000000000..294c361db --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.6.bb @@ -0,0 +1,10 @@ +require gupnp.inc + +SRC_URI = " \ + ${GNOME_MIRROR}/${BPN}/1.2/${BPN}-${PV}.tar.xz \ + file://0001-Fix-build-with-hardened-security-flags.patch \ +" +SRC_URI[sha256sum] = "00b20f1e478a72deac92c34723693a2ac55789ed1e4bb4eed99eb4d62092aafd" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520" diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch new file mode 100644 index 000000000..ee7819677 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch @@ -0,0 +1,42 @@ +From 343a3b724225d3c87af0b268da14d3acb7a5b9a1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 May 2021 15:38:43 -0700 +Subject: [PATCH] ithread: Use + pthread_mutexattr_gettype/pthread_mutexattr_settype on linux + +_np variants are not recommended anymore, and glibc 2.34+ will have +these removed + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + upnp/inc/ithread.h | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/upnp/inc/ithread.h b/upnp/inc/ithread.h +index f6800ea9..1d0f9dba 100644 +--- a/upnp/inc/ithread.h ++++ b/upnp/inc/ithread.h +@@ -304,7 +304,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void) + * Returns EINVAL if the kind is not supported. + * See man page for pthread_mutexattr_setkind_np + *****************************************************************************/ +-#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) ++#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) \ ++ || defined (__linux__) + #define ithread_mutexattr_setkind_np pthread_mutexattr_settype + #else + #define ithread_mutexattr_setkind_np pthread_mutexattr_setkind_np +@@ -329,7 +330,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void) + * Always returns 0. + * See man page for pthread_mutexattr_getkind_np + *****************************************************************************/ +-#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) ++#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) \ ++ || defined (__linux__) + #define ithread_mutexattr_getkind_np pthread_mutexattr_gettype + #else + #define ithread_mutexattr_getkind_np pthread_mutexattr_getkind_np +-- +2.31.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb index ff6fb55dd..81b42da41 100644 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb @@ -9,7 +9,9 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=394a0f17b97f33426275571e15920434" SRCREV = "cef2b23fb36baac091b0c7d41136b4c1d9549c6d" -SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x" +SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x \ + file://0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch \ + " S="${WORKDIR}/git" @@ -18,5 +20,5 @@ inherit autotools pkgconfig EXTRA_OECONF += "--enable-reuseaddr" # Enable LFS support ( for samples ) -CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" -CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +CFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE" +CXXFLAGS += "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc index 63ba54c34..a8c8b4cd3 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc @@ -5,8 +5,8 @@ LICENSE = "LGPL-2.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594" SRC_URI = "git://github.com/FluidSynth/fluidsynth.git" -SRCREV = "8413c35aca641567baf13e9b16e9839019ebf99d" +SRCREV = "90a6c52e1c347d1c4283b0de9f860ed2fbc413bc" S = "${WORKDIR}/git" -PV = "2.2.0" +PV = "2.2.1" inherit cmake pkgconfig lib_package diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc index ab0f23879..9f03cbd80 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer.inc @@ -4,7 +4,7 @@ JUCE supported platforms, including Linux and Embedded Linux." SECTION = "utils" HOMEPAGE = "http://juce.com/" LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a20f91622a47d4e4af9340d5d3f1a2d8" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=12e9c2db7897c0349a4cc1c6d2a8c5d5" inherit pkgconfig features_check @@ -13,14 +13,13 @@ REQUIRED_DISTRO_FEATURES = "x11" DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl bzip2 libpng harfbuzz glib-2.0 libpcre" DEPENDS_append_libc-musl = " libexecinfo" -SRCREV = "724ae27c71ef809b836df06713cf9e50bc14162b" +SRCREV = "90e8da0cfb54ac593cdbed74c3d0c9b09bad3a9f" BRANCH = "master" SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH} \ - file://0001-Disable-webkit-component.patch \ " S = "${WORKDIR}/git" -PV = "5.4.5" +PV = "6.0.8" JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds" JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch deleted file mode 100644 index 3728439c7..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/juce/projucer/0001-Disable-webkit-component.patch +++ /dev/null @@ -1,83 +0,0 @@ -From df7190f430f30ee522f56f9714d42ee796f0d5ff Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 2 Dec 2019 22:18:41 -0800 -Subject: [PATCH] Disable webkit component - -It asks for enable JUCER_ENABLE_GPL_MODE - -Signed-off-by: Khem Raj ---- - extras/Projucer/Builds/LinuxMakefile/Makefile | 10 +++++----- - extras/Projucer/JuceLibraryCode/AppConfig.h | 4 ++-- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile -index 25b490460..8960f5bc6 100644 ---- a/extras/Projucer/Builds/LinuxMakefile/Makefile -+++ b/extras/Projucer/Builds/LinuxMakefile/Makefile -@@ -35,13 +35,13 @@ ifeq ($(CONFIG),Debug) - TARGET_ARCH := -march=native - endif - -- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) -+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) - JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 - JUCE_TARGET_APP := Projucer - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) -- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -lrt -ldl -lpthread $(LDFLAGS) -+ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -lrt -ldl -lpthread $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) - endif -@@ -56,13 +56,13 @@ ifeq ($(CONFIG),Release) - TARGET_ARCH := -march=native - endif - -- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) -+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=5.4.5 -DJUCE_APP_VERSION_HEX=0x50405 $(shell pkg-config --cflags x11 xinerama xext freetype2) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) - JUCE_CPPFLAGS_APP := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 -DJucePlugin_Build_Unity=0 - JUCE_TARGET_APP := Projucer - - JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 $(CFLAGS) - JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=c++11 $(CXXFLAGS) -- JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS) -+ JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs x11 xinerama xext freetype2) -fvisibility=hidden -lrt -ldl -lpthread $(LDFLAGS) - - CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) - endif -@@ -136,7 +136,7 @@ all : $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) - - $(JUCE_OUTDIR)/$(JUCE_TARGET_APP) : $(OBJECTS_APP) $(RESOURCES) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } -- @pkg-config --print-errors x11 xinerama xext freetype2 webkit2gtk-4.0 gtk+-x11-3.0 -+ @pkg-config --print-errors x11 xinerama xext freetype2 - @echo Linking "Projucer - App" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) -diff --git a/extras/Projucer/JuceLibraryCode/AppConfig.h b/extras/Projucer/JuceLibraryCode/AppConfig.h -index dffd5af75..53302bd24 100644 ---- a/extras/Projucer/JuceLibraryCode/AppConfig.h -+++ b/extras/Projucer/JuceLibraryCode/AppConfig.h -@@ -32,7 +32,7 @@ - // BEGIN SECTION A - - #ifndef JUCER_ENABLE_GPL_MODE -- #define JUCER_ENABLE_GPL_MODE 0 -+ #define JUCER_ENABLE_GPL_MODE 1 - #endif - - // END SECTION A -@@ -180,7 +180,7 @@ - // juce_gui_extra flags: - - #ifndef JUCE_WEB_BROWSER -- //#define JUCE_WEB_BROWSER 1 -+ #define JUCE_WEB_BROWSER 0 - #endif - - #ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR --- -2.24.0 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb index b05df3210..30dab1d92 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb @@ -10,12 +10,11 @@ LIC_FILES_CHKSUM = "\ SRC_URI = " \ git://linuxtv.org/libcamera.git;protocol=git \ - file://0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch \ " -SRCREV = "f490a87fd339fc7443f5d8467ba56a35c750a5f7" +SRCREV = "193ca8c353a42334f65ddfc988a105a47bca3547" -PV = "202102+git${SRCPV}" +PV = "202105+git${SRCPV}" S = "${WORKDIR}/git" @@ -31,6 +30,10 @@ RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayla inherit meson pkgconfig python3native +do_configure_prepend() { + sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py +} + do_install_append() { chrpath -d ${D}${libdir}/libcamera.so } diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch deleted file mode 100644 index cec5fc287..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-uvcvideo-Use-auto-variable-to-avoid-range-loop-warni.patch +++ /dev/null @@ -1,117 +0,0 @@ -Delivered-To: raj.khem@gmail.com -Received: by 2002:a05:620a:20d3:0:0:0:0 with SMTP id f19csp2716715qka; - Sat, 27 Mar 2021 19:58:30 -0700 (PDT) -X-Google-Smtp-Source: ABdhPJwyDnjZqZmFqHVShb/5/RoVkJ4Avv5bcnyuo85vIRR2vJDQF+QBZpQpEWHgx5GuEuwLVSC+ -X-Received: by 2002:a05:6512:22d0:: with SMTP id g16mr12125441lfu.650.1616900310724; - Sat, 27 Mar 2021 19:58:30 -0700 (PDT) -ARC-Seal: i=1; a=rsa-sha256; t=1616900310; cv=none; - d=google.com; s=arc-20160816; - b=bZlu68tossyE2YcGkt0HzIhqTUroWDT/EgJvAiQBgZ6bPzMJ+wjwWp3LzViqOxiRPQ - r0cFyme7CJ9YRf2TLmpjGuv2RPQ+EkrtFdlB7i65nhDrwvBoxt78vF2tUoDgVLL1YrU9 - wKgHPtBjtDcDveOXKQJH2j5HRwiBjCXlPRBhlSxV8kJPBj//dRaKm0MsxfiW/IgyN1tZ - FFxfe4Lk1Awm8ZKAklhdKMly3MFA6IbnjwNcN/84a0R/0+PLu9X8XIR6+CnrfqSgWOBx - zsV8p3HuVQTpX7Hhnkiz7PYudHsJJ/7KXeXTP6s9NNnZGu9A6U/E6VOob5BSm9DDIA5z - 4AnA== -ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; - h=content-transfer-encoding:mime-version:message-id:date:subject:cc - :to:from:dkim-signature; - bh=fbAn+wsNks5BGTY34H4T90NDFJaNV4nnt9vc9DBFaWQ=; - b=mLZNiQR/CdgcVTAc7OQmK0ZYTVpofG/EOqTIi2NYIYFhanWhatYY9Hx2xwxIp6kQ5R - n0uXh5tLth6aPYD09z3YcXYasEIszBKwoNUFjRA85lFm3d5/J2S1wC5rBy25QeCDOg57 - QdzYrTBX2QGRHGQKauEnX5FLDTT+I53sPa87TyvxUKBS+lTAbJig70KfmL7FJIEWT1ZI - CZKCErYFlQTGNnwM0CYVXyHv54D2tA25veHQIJN8KK+XObNWuAY3rYpqKoUpOP4vpSPi - MXJWAV4L6NZEShWvwJiC4Zdy2xFzXASX27CAKIsX6T5Rub03grVTg6WVt9bChK1x5jeg - A2Yw== -ARC-Authentication-Results: i=1; mx.google.com; - dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT; - spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com -Return-Path: -Received: from perceval.ideasonboard.com (perceval.ideasonboard.com. [213.167.242.64]) - by mx.google.com with ESMTPS id v18si12339470ljj.208.2021.03.27.19.58.30 - for - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sat, 27 Mar 2021 19:58:30 -0700 (PDT) -Received-SPF: pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) client-ip=213.167.242.64; -Authentication-Results: mx.google.com; - dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=MniKswyT; - spf=pass (google.com: domain of laurent.pinchart@ideasonboard.com designates 213.167.242.64 as permitted sender) smtp.mailfrom=laurent.pinchart@ideasonboard.com -Received: from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) - by perceval.ideasonboard.com (Postfix) with ESMTPSA id 11F12332; - Sun, 28 Mar 2021 04:58:28 +0200 (CEST) -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; - s=mail; t=1616900309; - bh=BwCg4h9N9fJysbMT1Yjbazbp7zTImD9mkWJSjCKzCmg=; - h=From:To:Cc:Subject:Date:From; - b=MniKswyT+aUtPgeMFeLqW6cRMFsPRN4W1XtVDA6pqI0QTSSx5koEuzSfEybjs6Qbp - ZdQar1r5nBIRCg9uq85YoLKoFeT7WN4PrwnRYPwaYGAFHfV44rDrq4RBe3VOIb+85W - tKn4HEzjlFelrImVbeymBsgpVhITveSVH1MdYRsE= -From: Laurent Pinchart -To: libcamera-devel@lists.libcamera.org -Cc: Khem Raj -Subject: [PATCH v2] libcamera: pipeline: uvcvideo: Avoid reference to temporary object -Date: Sun, 28 Mar 2021 05:57:41 +0300 -Message-Id: <20210328025741.30246-1-laurent.pinchart@ideasonboard.com> -X-Mailer: git-send-email 2.28.1 -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit - -From: Khem Raj - -A range-based for loop whose range expression is an array of char -pointers and range variable declaration is a const reference to a -std::string creates a temporary string from the char pointer and binds -the range variable reference to it. This creates a const reference to a -temporary, which is valid in C++, and extends the lifetime of the -temporary to the lifetime of the reference. - -However, lifetime extension in range-based for loops is considered as a -sign of a potential issue, as a temporary is created for every -iteration, which can be costly, and the usage of a reference in the -range declaration doesn't make it obvious that the code isn't simply -binding a reference to an existing object. gcc 11, with the --Wrange-loop-construct option, flags this: - -uvcvideo.cpp:432:33: error: loop variable 'name' of type 'const string&' {aka 'const std::__cxx11::basic_string&'} binds to a temporary constructed from type 'const char* const' [-Werror=range-loop-construct] -| 432 | for (const std::string &name : { "idVendor", "idProduct" }) { -| | ^~~~ - -To please the compiler, make the range variable a const char *. This may -bring a tiny performance improvement, as the name is only used once, in -a location where the compiler can use - - operator+(const std::string &, const char *) - -instead of - - operator+(const std::string &, const std::string &) - -Signed-off-by: Khem Raj -Reviewed-by: Laurent Pinchart - -Use a const char * type instead of auto, and update the commit message -accordingly. - -Signed-off-by: Laurent Pinchart ---- - src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp -index 031f96e28449..b6c6ade5ebaf 100644 ---- a/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp -+++ b/src/libcamera/pipeline/uvcvideo/uvcvideo.cpp -@@ -429,7 +429,7 @@ std::string PipelineHandlerUVC::generateId(const UVCCameraData *data) - - /* Creata a device ID from the USB devices vendor and product ID. */ - std::string deviceId; -- for (const std::string &name : { "idVendor", "idProduct" }) { -+ for (const char *name : { "idVendor", "idProduct" }) { - std::ifstream file(path + "/../" + name); - - if (!file.is_open()) --- -Regards, - -Laurent Pinchart - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch deleted file mode 100644 index db4d6e8c9..000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/files/allow-libdir-override.patch +++ /dev/null @@ -1,21 +0,0 @@ -Allow LIB_INSTALL_DIR to be set by the the cmake configure invocation. We dont -easily have a way of determining something that patches ${LIB_SUFFIX} so we'll -set LIB_INSTALL_DIR. - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Kumar Gala - -Index: git/CMakeLists.txt -=================================================================== ---- git.orig/CMakeLists.txt -+++ git/CMakeLists.txt -@@ -36,7 +36,7 @@ FIND_PACKAGE(LibXml2 REQUIRED) - SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") - SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE) - SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE) --SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE) -+SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries") - SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE) - - CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc) diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb index ca9d94a19..f73b549df 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb @@ -3,38 +3,23 @@ DESCRIPTION = "The MusicBrainz client is a library which can be built into other HOMEPAGE = "http://musicbrainz.org" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24" -DEPENDS = "expat libxml2 libxml2-native neon neon-native" +DEPENDS = "expat libxml2 libxml2-native neon neon-native libmusicbrainz-native" PV = "5.1.0+git${SRCPV}" -SRCREV = "44c05779dd996035758f5ec426766aeedce29cc3" -SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \ - file://allow-libdir-override.patch " +SRCREV = "8be45b12a86bc0e46f2f836c8ac88e1e98d82aee" +SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git" S = "${WORKDIR}/git" inherit cmake pkgconfig -do_configure_prepend() { - # The native build really doesn't like being rebuilt, so delete - # it if it's already present. Also delete all other files not - # known to Git to fix subsequent invocations of do_configure. - git clean -dfx -e /.pc/ -e /patches/ . - mkdir build-native - cd build-native - LDFLAGS="${BUILD_LDFLAGS}" \ - cmake -DCMAKE_C_FLAGS=${BUILD_CFLAGS} \ - -DCMAKE_C_COMPILER=${BUILD_CC} \ - -DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \ - -DCMAKE_CXX_COMPILER=${BUILD_CXX} \ - -DCMAKE_EXE_LINKER_FLAGS=${BUILD_LDFLAGS} \ - .. - make make-c-interface - cd .. -} +EXTRA_OECMAKE_append_class-target = " -DIMPORT_EXECUTABLES=${STAGING_LIBDIR_NATIVE}/cmake/${BPN}/ImportExecutables.cmake" -EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir} \ - -DIMPORT_EXECUTABLES=build-native/ImportExecutables.cmake" +do_install_append_class-native() { + install -Dm 0755 ${B}/src/make-c-interface ${D}${bindir}/make-c-interface + install -Dm 0644 ${B}/ImportExecutables.cmake ${D}${libdir}/cmake/${BPN}/ImportExecutables.cmake + sed -i -e s:'${B}'/src/::g ${D}${libdir}/cmake/${BPN}/ImportExecutables.cmake +} -# out-of-tree building doesn't appear to work for this package. -B = "${S}" +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2.bb new file mode 100644 index 000000000..b178180ec --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/dhcp-relay_4.4.2.bb @@ -0,0 +1,72 @@ +SECTION = "console/network" +SUMMARY = "Internet Software Consortium DHCP Relay Agent" +DESCRIPTION = "A DHCP relay agent passes DHCP requests from one \ +LAN to another, so that a DHCP server is not needed on every LAN." + +HOMEPAGE = "http://www.isc.org/" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;md5=004a4db50a1e20972e924a8618747c01" + +DEPENDS = "openssl libcap zlib" + +SRC_URI = "https://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \ + file://default-relay \ + file://init-relay \ + file://dhcrelay.service \ + file://0001-Makefile.am-only-build-dhcrelay.patch \ + " + +SRC_URI[md5sum] = "2afdaf8498dc1edaf3012efdd589b3e1" +SRC_URI[sha256sum] = "1a7ccd64a16e5e68f7b5e0f527fd07240a2892ea53fe245620f4f5f607004521" + +UPSTREAM_CHECK_URI = "http://ftp.isc.org/isc/dhcp/" +UPSTREAM_CHECK_REGEX = "(?P\d+\.\d+\.(\d+?))/" + +S = "${WORKDIR}/dhcp-${PV}" + +inherit autotools-brokensep systemd + +SYSTEMD_SERVICE_${PN} = "dhcrelay.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +CFLAGS += "-D_GNU_SOURCE -fcommon" +LDFLAGS_append = " -pthread" + +EXTRA_OECONF = "--enable-paranoia \ + --disable-static \ + --enable-libtool \ + --with-randomdev=/dev/random \ + " +EXTRA_OEMAKE += "LIBTOOL='${S}/${HOST_SYS}-libtool'" + +# Enable shared libs per dhcp README +do_configure_prepend () { + cp configure.ac+lt configure.ac +} +do_compile_prepend() { + rm -rf ${S}/bind/bind-9.11.14/ + tar xf ${S}/bind/bind.tar.gz -C ${S}/bind + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/bind/bind-9.11.14/ + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/bind/bind-9.11.14/ + cp -fpR ${S}/m4/*.m4 ${S}/bind/bind-9.11.14/libtool.m4/ + rm -rf ${S}/bind/bind-9.11.14/libtool + install -m 0755 ${S}/${HOST_SYS}-libtool ${S}/bind/bind-9.11.14/ +} + +do_install_append () { + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/dhcrelay.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcrelay.service + else + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay + fi +} + +PARALLEL_MAKE = "" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0001-Makefile.am-only-build-dhcrelay.patch b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0001-Makefile.am-only-build-dhcrelay.patch new file mode 100644 index 000000000..fed85d2a8 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/0001-Makefile.am-only-build-dhcrelay.patch @@ -0,0 +1,30 @@ +From 17cc080e58894644dd18664ac6f3451096d5f065 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Thu, 13 May 2021 15:23:16 +0800 +Subject: [PATCH] Makefile.am: only build dhcrelay + +Drop client and server build as we don't need them. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Yi Zhao +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index ed692a5..34f9772 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -38,7 +38,7 @@ endif + + # Use an autoconf substitution vs an automake conditional here + # to fool automake when the bind directory does not exist. +-SUBDIRS = @BINDSUBDIR@ includes tests common omapip client dhcpctl relay server ++SUBDIRS = @BINDSUBDIR@ includes common omapip relay + + DIST_SUBDIRS = $(SUBDIRS) keama + +-- +2.17.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/default-relay b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/default-relay new file mode 100644 index 000000000..7961f014b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/default-relay @@ -0,0 +1,12 @@ +# Defaults for dhcp-relay initscript +# sourced by /etc/init.d/dhcp-relay + +# What servers should the DHCP relay forward requests to? +# e.g: SERVERS="192.168.0.1" +SERVERS="" + +# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests? +INTERFACES="" + +# Additional options that are passed to the DHCP relay daemon? +OPTIONS="" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/dhcrelay.service b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/dhcrelay.service new file mode 100644 index 000000000..15ff927d3 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/dhcrelay.service @@ -0,0 +1,10 @@ +[Unit] +Description=DHCP Relay Agent Daemon +After=network.target + +[Service] +EnvironmentFile=@SYSCONFDIR@/default/dhcp-relay +ExecStart=@SBINDIR@/dhcrelay -d --no-pid -q $SERVERS + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/init-relay b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/init-relay new file mode 100644 index 000000000..019a7e84c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcp/files/init-relay @@ -0,0 +1,44 @@ +#!/bin/sh +# +# $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $ +# + +# It is not safe to start if we don't have a default configuration... +if [ ! -f /etc/default/dhcp-relay ]; then + echo "/etc/default/dhcp-relay does not exist! - Aborting..." + echo "create this file to fix the problem." + exit 1 +fi + +# Read init script configuration (interfaces the daemon should listen on +# and the DHCP server we should forward requests to.) +. /etc/default/dhcp-relay + +# Build command line for interfaces (will be passed to dhrelay below.) +IFCMD="" +if test "$INTERFACES" != ""; then + for I in $INTERFACES; do + IFCMD=${IFCMD}"-i "${I}" " + done +fi + +DHCRELAYPID=/var/run/dhcrelay.pid + +case "$1" in + start) + start-stop-daemon -S -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS + ;; + stop) + start-stop-daemon -K -x /usr/sbin/dhcrelay + ;; + restart | force-reload) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "Usage: /etc/init.d/dhcp-relay {start|stop|restart|force-reload}" + exit 1 +esac + +exit 0 diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch new file mode 100644 index 000000000..2168a0713 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch @@ -0,0 +1,37 @@ +From d4ddfc7a350011b7944ed8d6bca80f164dfd1387 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 10 Jul 2020 17:08:34 +0200 +Subject: [PATCH] pyiec61850: don't break CMAKE_INSTALL_PATH by trying to find + python modules install path (site-packages) + +https://stackoverflow.com/questions/1242904/finding-python-site-packages-directory-with-cmake + +Signed-off-by: Romain Naour +--- + pyiec61850/CMakeLists.txt | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/pyiec61850/CMakeLists.txt b/pyiec61850/CMakeLists.txt +index 159ef4b..d1732a1 100644 +--- a/pyiec61850/CMakeLists.txt ++++ b/pyiec61850/CMakeLists.txt +@@ -31,14 +31,7 @@ endif() + + swig_link_libraries(iec61850 ${PYTHON_LIBRARIES} ${LIBS}) + +-# Finding python modules install path +-execute_process( +- COMMAND ${PYTHON_EXECUTABLE} -c +- "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())" +- OUTPUT_VARIABLE PYTHON_SITE_DIR +-) +- +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION ${PYTHON_SITE_DIR}) +-install(TARGETS _iec61850 LIBRARY DESTINATION ${PYTHON_SITE_DIR}) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) ++install(TARGETS _iec61850 LIBRARY DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) + + add_test(test_pyiec61850 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/test_pyiec61850.py) +-- +2.31.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-use-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-use-poll.h-instead-of-sys-poll.h.patch deleted file mode 100644 index a04473d21..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-use-poll.h-instead-of-sys-poll.h.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4cad505fc98240eb66eaabfae61a9694f8158dda Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 7 Apr 2020 20:58:37 +0200 -Subject: [PATCH] use instead of - -The manpage of poll(2) states that the prototype of poll is defined -in . Use that header file instead of to allow -compilation against musl-libc. - -Upstream status: Pending -https://github.com/mz-automation/libiec61850/pull/228 - -Signed-off-by: Romain Naour ---- - hal/ethernet/linux/ethernet_linux.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hal/ethernet/linux/ethernet_linux.c b/hal/ethernet/linux/ethernet_linux.c -index c3ab2e2..9aa5c28 100644 ---- a/hal/ethernet/linux/ethernet_linux.c -+++ b/hal/ethernet/linux/ethernet_linux.c -@@ -23,7 +23,7 @@ - - #include - #include --#include -+#include - #include - #include - #include --- -2.21.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0002-serial_port_linux-Add-missing-include-sys-time.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0002-serial_port_linux-Add-missing-include-sys-time.h.patch deleted file mode 100644 index e1b8ca15b..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0002-serial_port_linux-Add-missing-include-sys-time.h.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 661405eb6066b67dfe51d5ff9635e29f86bdd238 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 7 Apr 2020 21:02:54 +0200 -Subject: [PATCH] serial_port_linux: Add missing include sys/time.h - -POSIX says `struct timeval` is defined if is included. - -Adding this header allow to build against musl-libc. - -Upstream status: Pending -https://github.com/mz-automation/libiec61850/pull/228 - -Signed-off-by: Romain Naour ---- - hal/serial/linux/serial_port_linux.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/hal/serial/linux/serial_port_linux.c b/hal/serial/linux/serial_port_linux.c -index e6308c0..15e5794 100644 ---- a/hal/serial/linux/serial_port_linux.c -+++ b/hal/serial/linux/serial_port_linux.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - - #include "hal_serial.h" - #include "hal_time.h" --- -2.21.1 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch deleted file mode 100644 index 65567610b..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 89f326a427c7ad13c115e2d3f2ac27807aa5a795 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 10 Jul 2020 17:08:34 +0200 -Subject: [PATCH] pyiec61850: don't break CMAKE_INSTALL_PATH by trying to find - python modules install path (site-packages) - -https://stackoverflow.com/questions/1242904/finding-python-site-packages-directory-with-cmake - -Signed-off-by: Romain Naour ---- - pyiec61850/CMakeLists.txt | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - -diff --git a/pyiec61850/CMakeLists.txt b/pyiec61850/CMakeLists.txt -index 159ef4b..d1732a1 100644 ---- a/pyiec61850/CMakeLists.txt -+++ b/pyiec61850/CMakeLists.txt -@@ -31,14 +31,7 @@ endif() - - swig_link_libraries(iec61850 ${PYTHON_LIBRARIES} ${LIBS}) - --# Finding python modules install path --execute_process( -- COMMAND ${PYTHON_EXECUTABLE} -c -- "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())" -- OUTPUT_VARIABLE PYTHON_SITE_DIR --) -- --install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION ${PYTHON_SITE_DIR}) --install(TARGETS _iec61850 LIBRARY DESTINATION ${PYTHON_SITE_DIR}) -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) -+install(TARGETS _iec61850 LIBRARY DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) - - add_test(test_pyiec61850 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/test_pyiec61850.py) --- -2.21.3 - diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.4.2.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.4.2.1.bb deleted file mode 100644 index 18cb0cd8e..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.4.2.1.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Open source iec61850 implementation" -DESCRIPTION = "IEC 61850 is an international standard for \ -communication systems in Substation Automation Systems \ -(SAS) and management of Decentralized Energy Resources \ -(DER). It is seen as one of the communication standards \ -of the emerging Smart Grid. \ -The project libIEC61850 provides a server and client \ -library for the IEC 61850/MMS, IEC 61850/GOOSE and IEC \ -61850-9-2/Sampled Values communication protocols \ -written in C. It is available under the GPLv3 license." -HOMEPAGE = "http://libiec61850.com" -SECTION = "console/network" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -DEPENDS = "swig-native python3" -SRCREV = "d798814fb463115a835da597535a625b68a39cff" - -SRC_URI = "git://github.com/mz-automation/${BPN}.git;branch=v1.4 \ - file://0001-use-poll.h-instead-of-sys-poll.h.patch \ - file://0002-serial_port_linux-Add-missing-include-sys-time.h.patch \ - file://0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch \ -" - -S = "${WORKDIR}/git" - -inherit cmake pkgconfig python3-dir python3native siteinfo - -EXTRA_OECMAKE = " \ - -DBUILD_EXAMPLES=OFF \ - -DBUILD_PYTHON_BINDINGS=ON \ -" - -RDEPENDS_${PN}-python = " python3-core " -RDEPENDS_${PN} = " python3-core " - -FILES_${PN} += " \ - ${libdir}/${PYTHON_DIR}/site-packages/iec61850.py \ - ${libdir}/${PYTHON_DIR}/site-packages/_iec61850.so \ -" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.5.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.5.0.bb new file mode 100644 index 000000000..18e299283 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.5.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Open source iec61850 implementation" +DESCRIPTION = "IEC 61850 is an international standard for \ +communication systems in Substation Automation Systems \ +(SAS) and management of Decentralized Energy Resources \ +(DER). It is seen as one of the communication standards \ +of the emerging Smart Grid. \ +The project libIEC61850 provides a server and client \ +library for the IEC 61850/MMS, IEC 61850/GOOSE and IEC \ +61850-9-2/Sampled Values communication protocols \ +written in C. It is available under the GPLv3 license." +HOMEPAGE = "http://libiec61850.com" +SECTION = "console/network" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "swig-native python3" +SRCREV = "fcefc746fea286aeaa40d2f62240216da81c85e5" + +SRC_URI = "git://github.com/mz-automation/${BPN}.git;branch=v1.5 \ + file://0001-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch \ +" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig python3-dir python3native siteinfo + +EXTRA_OECMAKE = " \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_PYTHON_BINDINGS=ON \ +" + +RDEPENDS_${PN}-python = " python3-core " +RDEPENDS_${PN} = " python3-core " + +FILES_${PN} += " \ + ${libdir}/${PYTHON_DIR}/site-packages/iec61850.py \ + ${libdir}/${PYTHON_DIR}/site-packages/_iec61850.so \ +" diff --git a/meta-openembedded/meta-networking/recipes-connectivity/restinio/restinio_0.6.13.bb b/meta-openembedded/meta-networking/recipes-connectivity/restinio/restinio_0.6.13.bb new file mode 100644 index 000000000..e3567961a --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/restinio/restinio_0.6.13.bb @@ -0,0 +1,31 @@ +SUMMARY = "Header-only C++14 library that gives you an embedded HTTP server" +DESCRIPTION = "Cross-platform, efficient, customizable, and robust \ + asynchronous HTTP/WebSocket server C++14 library with the \ + right balance between performance and ease of use" +AUTHOR = "Stefan Wiehler " +HOMEPAGE = "https://stiffstream.com/en/products/restinio.html" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=f399b62ce0a152525d1589a5a40c0ff6" +DEPENDS = "asio fmt http-parser" + +SRC_URI = "https://github.com/Stiffstream/restinio/releases/download/v.${PV}/restinio-${PV}.tar.bz2" +SRC_URI[md5sum] = "37a4310e98912030a74bdd4ed789f33c" +SRC_URI[sha256sum] = "b35d696e6fafd4563ca708fcecf9d0cf6705c846d417b5000f5252e0188848e7" + +S = "${WORKDIR}/${PN}-${PV}/dev" + +inherit cmake + +EXTRA_OECMAKE += "\ + -DRESTINIO_TEST=OFF \ + -DRESTINIO_SAMPLE=OFF \ + -DRESTINIO_BENCH=OFF \ + -DRESTINIO_FIND_DEPS=ON \ + -DRESTINIO_ALLOW_SOBJECTIZER=OFF \ + -DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON \ + " + +# Header-only library +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb index 231d8d4da..24b9a1b49 100644 --- a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb +++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb @@ -100,6 +100,7 @@ RDEPENDS_packagegroup-meta-networking-daemons_remove_libc-musl = "opensaf" RDEPENDS_packagegroup-meta-networking-devtools = "\ python3-ldap \ + python3-scapy \ " RDEPENDS_packagegroup-meta-networking-extended = "\ @@ -192,6 +193,7 @@ RDEPENDS_packagegroup-meta-networking-support = "\ geoipupdate \ fwknop \ htpdate \ + http-parser \ iftop \ ifmetric \ ipvsadm \ diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-Fix-build-on-Fedora-Rawhide-772.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-Fix-build-on-Fedora-Rawhide-772.patch index 28a410c26..ff51f5344 100644 --- a/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-Fix-build-on-Fedora-Rawhide-772.patch +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-Fix-build-on-Fedora-Rawhide-772.patch @@ -11,10 +11,8 @@ Upstream-Status: Backport [https://github.com/kraj/squid/commit/1f8b5f0e1cc27634 src/Makefile.am | 4 ++++ src/ip/QosConfig.cc | 1 + src/ipc/mem/PageStack.cc | 1 + - src/proxyp/Parser.cc | 1 + - src/security/ServerOptions.cc | 2 ++ src/ssl/helper.cc | 2 ++ - 6 files changed, 11 insertions(+) + 4 files changed, 8 insertions(+) --- a/src/Makefile.am +++ b/src/Makefile.am @@ -70,17 +68,6 @@ Upstream-Status: Backport [https://github.com/kraj/squid/commit/1f8b5f0e1cc27634 /// used to mark a stack slot available for storing free page offsets const Ipc::Mem::PageStack::Value Writable = 0; ---- a/src/security/ServerOptions.cc -+++ b/src/security/ServerOptions.cc -@@ -24,6 +24,8 @@ - #endif - #endif - -+#include -+ - Security::ServerOptions & - Security::ServerOptions::operator =(const Security::ServerOptions &old) { - if (this != &old) { --- a/src/ssl/helper.cc +++ b/src/ssl/helper.cc @@ -19,6 +19,8 @@ @@ -92,14 +79,4 @@ Upstream-Status: Backport [https://github.com/kraj/squid/commit/1f8b5f0e1cc27634 Ssl::CertValidationHelper::LruCache *Ssl::CertValidationHelper::HelperCache = nullptr; #if USE_SSL_CRTD ---- a/src/acl/ConnMark.cc -+++ b/src/acl/ConnMark.cc -@@ -16,6 +16,8 @@ - #include "http/Stream.h" - #include "sbuf/Stream.h" -+#include -+ - bool - Acl::ConnMark::empty() const - { diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.14.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.14.bb deleted file mode 100644 index 6d154c87e..000000000 --- a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.14.bb +++ /dev/null @@ -1,117 +0,0 @@ -SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" -DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ -Squid offers a rich access control, authorization and logging environment to \ -develop web proxy and content serving applications. \ -Squid offers a rich set of traffic optimization options, most of which are \ -enabled by default for simpler installation and high performance. \ -" -HOMEPAGE = "http://www.squid-cache.org" -SECTION = "web" -LICENSE = "GPLv2+" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" -MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2 \ - file://Set-up-for-cross-compilation.patch \ - file://Skip-AC_RUN_IFELSE-tests.patch \ - file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ - file://squid-use-serial-tests-config-needed-by-ptest.patch \ - file://run-ptest \ - file://volatiles.03_squid \ - file://set_sysroot_patch.patch \ - file://squid-don-t-do-squid-conf-tests-at-build-time.patch \ - file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ - file://0001-tools.cc-fixed-unused-result-warning.patch \ - file://0001-splay.cc-fix-bind-is-not-a-member-of-std.patch \ - file://0001-Fix-build-on-Fedora-Rawhide-772.patch \ - " - -SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch" - -SRC_URI[sha256sum] = "4ad08884f065f8e1dac166aa13db6a872cde419a1717dff4c82c2c5337ee5756" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://errors/COPYRIGHT;md5=0e03cd976052c45697ad5d96e7dff8dc \ - " -DEPENDS = "libtool krb5 openldap db cyrus-sasl" - -inherit autotools pkgconfig useradd ptest perlnative - -LDFLAGS_append_mipsarch = " -latomic" -LDFLAGS_append_powerpc = " -latomic" -LDFLAGS_append_riscv64 = " -latomic" -LDFLAGS_append_riscv32 = " -latomic" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ - " -PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," -PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2" -PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" - -BASIC_AUTH = "DB SASL LDAP" - -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" - -EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \ - --sysconfdir=${sysconfdir}/${BPN} \ - --with-logdir=${localstatedir}/log/${BPN} \ - 'PERL=${USRBINPATH}/env perl'" - -export BUILDCXXFLAGS="${BUILD_CXXFLAGS}" - -TESTDIR = "test-suite" - -do_configure_prepend() { - export SYSROOT=$PKG_CONFIG_SYSROOT_DIR -} - -do_compile_ptest() { - oe_runmake -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} - cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} - - # do NOT need to rebuild Makefile itself - sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # Add squid-conf-tests for runtime tests - sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \ - -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \ - -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile - - # Ensure the path for command true is correct - sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile -} - -do_install_append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf - fi - - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid - - rmdir "${D}${localstatedir}/run/${BPN}" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" - - rmdir "${D}${localstatedir}/log/${BPN}" - rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" -} - -FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" -FILES_${PN}-dbg += "/usr/src/debug" -FILES_${PN}-doc += "${datadir}/*.txt" - -RDEPENDS_${PN} += "perl" -RDEPENDS_${PN}-ptest += "make" diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.15.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.15.bb new file mode 100644 index 000000000..8ba10674c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_4.15.bb @@ -0,0 +1,117 @@ +SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" +DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ +Squid offers a rich access control, authorization and logging environment to \ +develop web proxy and content serving applications. \ +Squid offers a rich set of traffic optimization options, most of which are \ +enabled by default for simpler installation and high performance. \ +" +HOMEPAGE = "http://www.squid-cache.org" +SECTION = "web" +LICENSE = "GPLv2+" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" +MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${BPN}-${PV}.tar.bz2 \ + file://Set-up-for-cross-compilation.patch \ + file://Skip-AC_RUN_IFELSE-tests.patch \ + file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ + file://squid-use-serial-tests-config-needed-by-ptest.patch \ + file://run-ptest \ + file://volatiles.03_squid \ + file://set_sysroot_patch.patch \ + file://squid-don-t-do-squid-conf-tests-at-build-time.patch \ + file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ + file://0001-tools.cc-fixed-unused-result-warning.patch \ + file://0001-splay.cc-fix-bind-is-not-a-member-of-std.patch \ + file://0001-Fix-build-on-Fedora-Rawhide-772.patch \ + " + +SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch" + +SRC_URI[sha256sum] = "71635811e766ce8b155225a9e3c7757cfc7ff93df26b28d82e5e6fc021b9a605" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://errors/COPYRIGHT;md5=0e03cd976052c45697ad5d96e7dff8dc \ + " +DEPENDS = "libtool krb5 openldap db cyrus-sasl" + +inherit autotools pkgconfig useradd ptest perlnative + +LDFLAGS_append_mipsarch = " -latomic" +LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_riscv64 = " -latomic" +LDFLAGS_append_riscv32 = " -latomic" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ + " +PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking," +PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2" +PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl" + +BASIC_AUTH = "DB SASL LDAP" + +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" + +EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-logdir=${localstatedir}/log/${BPN} \ + 'PERL=${USRBINPATH}/env perl'" + +export BUILDCXXFLAGS="${BUILD_CXXFLAGS}" + +TESTDIR = "test-suite" + +do_configure_prepend() { + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +do_compile_ptest() { + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Add squid-conf-tests for runtime tests + sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \ + -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \ + -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Ensure the path for command true is correct + sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile +} + +do_install_append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid + + rmdir "${D}${localstatedir}/run/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" + + rmdir "${D}${localstatedir}/log/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" +} + +FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" +FILES_${PN}-dbg += "/usr/src/debug" +FILES_${PN}-doc += "${datadir}/*.txt" + +RDEPENDS_${PN} += "perl" +RDEPENDS_${PN}-ptest += "make" diff --git a/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy/run-ptest b/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy/run-ptest new file mode 100644 index 000000000..797d8ecf7 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy/run-ptest @@ -0,0 +1,4 @@ +#!/bin/sh +UTscapy3 -t regression.uts -f text -l -C \ + -o @PTEST_PATH@/scapy_ptest_$(date +%Y%m%d-%H%M%S).log \ + 2>&1 | sed -e 's/^passed None/PASS:/' -e 's/^failed None/FAIL:/' diff --git a/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy_2.4.5.bb b/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy_2.4.5.bb new file mode 100644 index 000000000..01ca63746 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-devtools/python/python3-scapy_2.4.5.bb @@ -0,0 +1,41 @@ +SUMMARY = "Network scanning and manipulation tool" +DESCRIPTION = "Scapy is a powerful interactive packet manipulation program. \ +It is able to forge or decode packets of a wide number of protocols, send \ +them on the wire, capture them, match requests and replies, and much more. \ +It can easily handle most classical tasks like scanning, tracerouting, probing, \ +unit tests, attacks or network discovery (it can replace hping, 85% of nmap, \ +arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.). It also performs very \ +well at a lot of other specific tasks that most other tools can't handle, like \ +sending invalid frames, injecting your own 802.11 frames, combining technics \ +(VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted channel, ...), etc." +SECTION = "security" +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +# If you want ptest support, use the git repo +# UTscapy does not exist in the pypi pkg +# +SRCREV = "32cd7eb0f620d9adf171c48d55514e8326a538d7" +SRC_URI = "git://github.com/secdev/scapy.git \ + file://run-ptest" + +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_COMMITS = "1" + +inherit setuptools3 ptest + +do_install_append() { + mv ${D}${bindir}/scapy ${D}${bindir}/scapy3 + mv ${D}${bindir}/UTscapy ${D}${bindir}/UTscapy3 +} + +do_install_ptest() { + install -m 0644 ${S}/test/regression.uts ${D}${PTEST_PATH} + sed -i 's,@PTEST_PATH@,${PTEST_PATH},' ${D}${PTEST_PATH}/run-ptest +} + +RDEPENDS_${PN} = "tcpdump ${PYTHON_PN}-compression ${PYTHON_PN}-cryptography ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-netserver ${PYTHON_PN}-pydoc ${PYTHON_PN}-pkgutil ${PYTHON_PN}-shell \ + ${PYTHON_PN}-threading ${PYTHON_PN}-numbers ${PYTHON_PN}-pycrypto" diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch index 97b44dc7a..837cb6d72 100644 --- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch +++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch @@ -41,9 +41,9 @@ Subject: [PATCH] chrony: fix build failure for arma9 SCMP_SYS(getpid), - SCMP_SYS(getrlimit), SCMP_SYS(getuid), + SCMP_SYS(getuid32), SCMP_SYS(rt_sigaction), - SCMP_SYS(rt_sigreturn), -@@ -519,7 +517,6 @@ SYS_Linux_EnableSystemCallFilter(int lev +@@ -520,7 +518,6 @@ SYS_Linux_EnableSystemCallFilter(int lev /* Memory */ SCMP_SYS(brk), SCMP_SYS(madvise), @@ -51,7 +51,7 @@ Subject: [PATCH] chrony: fix build failure for arma9 SCMP_SYS(mmap2), SCMP_SYS(mprotect), SCMP_SYS(mremap), -@@ -573,8 +570,6 @@ SYS_Linux_EnableSystemCallFilter(int lev +@@ -580,8 +577,6 @@ SYS_Linux_EnableSystemCallFilter(int lev SCMP_SYS(sendmsg), SCMP_SYS(sendto), SCMP_SYS(shutdown), @@ -60,7 +60,7 @@ Subject: [PATCH] chrony: fix build failure for arma9 /* General I/O */ SCMP_SYS(_newselect), -@@ -597,7 +592,6 @@ SYS_Linux_EnableSystemCallFilter(int lev +@@ -604,7 +599,6 @@ SYS_Linux_EnableSystemCallFilter(int lev #ifdef __NR_futex_time64 SCMP_SYS(futex_time64), #endif @@ -68,7 +68,7 @@ Subject: [PATCH] chrony: fix build failure for arma9 SCMP_SYS(set_robust_list), SCMP_SYS(write), -@@ -605,6 +599,15 @@ SYS_Linux_EnableSystemCallFilter(int lev +@@ -612,6 +606,15 @@ SYS_Linux_EnableSystemCallFilter(int lev SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname), @@ -83,4 +83,4 @@ Subject: [PATCH] chrony: fix build failure for arma9 +#endif }; - const int socket_domains[] = { + const int denied_any[] = { diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.0.bb b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.0.bb deleted file mode 100644 index c8987013b..000000000 --- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.0.bb +++ /dev/null @@ -1,138 +0,0 @@ -SUMMARY = "Versatile implementation of the Network Time Protocol" -DESCRIPTION = "Chrony can synchronize the system clock with NTP \ -servers, reference clocks (e.g. GPS receiver), and manual input using \ -wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \ -server and peer to provide a time service to other computers in the \ -network. \ -\ -It is designed to perform well in a wide range of conditions, \ -including intermittent network connections, heavily congested \ -networks, changing temperatures (ordinary computer clocks are \ -sensitive to temperature), and systems that do not run continuously, or \ -run on a virtual machine. \ -\ -Typical accuracy between two machines on a LAN is in tens, or a few \ -hundreds, of microseconds; over the Internet, accuracy is typically \ -within a few milliseconds. With a good hardware reference clock \ -sub-microsecond accuracy is possible. \ -\ -Two programs are included in chrony: chronyd is a daemon that can be \ -started at boot time and chronyc is a command-line interface program \ -which can be used to monitor chronyd's performance and to change \ -various operating parameters whilst it is running. \ -\ -This recipe produces two binary packages: 'chrony' which contains chronyd, \ -the configuration file and the init script, and 'chronyc' which contains \ -the client program only." - -HOMEPAGE = "https://chrony.tuxfamily.org/" -SECTION = "net" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \ - file://chrony.conf \ - file://chronyd \ - file://arm_eabi.patch \ -" - -SRC_URI_append_libc-musl = " \ - file://0001-Fix-compilation-with-musl.patch \ -" -SRC_URI[sha256sum] = "be27ea14c55e7a4434b2fa51d53018c7051c42fa6a3198c9aa6a1658bae0c625" - -DEPENDS = "pps-tools" - -# Note: Despite being built via './configure; make; make install', -# chrony does not use GNU Autotools. -inherit update-rc.d systemd - -# Configuration options: -# - For command line editing support in chronyc, you may specify either -# 'editline' or 'readline' but not both. editline is smaller, but -# many systems already have readline for other purposes so you might want -# to choose that instead. However, beware license incompatibility -# since chrony is GPLv2 and readline versions after 6.0 are GPLv3+. -# You can of course choose neither, but if you're that tight on space -# consider dropping chronyc entirely (you can use it remotely with -# appropriate chrony.conf options). -# - Security-related: -# - 'sechash' is omitted by default because it pulls in nss which is huge. -# - 'privdrop' allows chronyd to run as non-root; would need changes to -# chrony.conf and init script. -# - 'scfilter' enables support for system call filtering, but requires the -# kernel to have CONFIG_SECCOMP enabled. -PACKAGECONFIG ??= "editline \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline" -PACKAGECONFIG[editline] = ",--without-editline,libedit" -PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss" -PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap" -PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp" -PACKAGECONFIG[ipv6] = ",--disable-ipv6," -PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" -PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" - -# --disable-static isn't supported by chrony's configure script. -DISABLE_STATIC = "" - -do_configure() { - ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \ - --localstatedir=${localstatedir} --datarootdir=${datadir} \ - --with-ntp-era=$(shell date -d '1970-01-01 00:00:00+00:00' +'%s') \ - --with-pidfile=/run/chrony/chronyd.pid \ - --chronyrundir=/run/chrony \ - --host-system=Linux \ - ${PACKAGECONFIG_CONFARGS} -} - -do_install() { - # Binaries - install -d ${D}${bindir} - install -m 0755 ${S}/chronyc ${D}${bindir} - install -d ${D}${sbindir} - install -m 0755 ${S}/chronyd ${D}${sbindir} - - # Config file - install -d ${D}${sysconfdir} - install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir} - - # System V init script - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d - - # systemd unit configuration file - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/ - - # Variable data (for drift and/or rtc file) - install -d ${D}${localstatedir}/lib/chrony - - # Fix hard-coded paths in config files and init scripts - sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \ - -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \ - ${D}${sysconfdir}/chrony.conf \ - ${D}${sysconfdir}/init.d/chronyd \ - ${D}${systemd_unitdir}/system/chronyd.service - sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd - sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service -} - -FILES_${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}/lib/chrony ${localstatedir}" -CONFFILES_${PN} = "${sysconfdir}/chrony.conf" -INITSCRIPT_NAME = "chronyd" -INITSCRIPT_PARAMS = "defaults" -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "chronyd.service" - -# It's probably a bad idea to run chrony and another time daemon on -# the same system. systemd includes the SNTP client 'timesyncd', which -# will be disabled by chronyd.service, however it will remain on the rootfs -# wasting 150 kB unless you put 'PACKAGECONFIG_remove_pn-systemd = "timesyncd"' -# in a conf file or bbappend somewhere. -RCONFLICTS_${PN} = "ntp ntimed" - -# Separate the client program into its own package -PACKAGES =+ "chronyc" -FILES_chronyc = "${bindir}/chronyc" diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb new file mode 100644 index 000000000..0262a6e8d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb @@ -0,0 +1,138 @@ +SUMMARY = "Versatile implementation of the Network Time Protocol" +DESCRIPTION = "Chrony can synchronize the system clock with NTP \ +servers, reference clocks (e.g. GPS receiver), and manual input using \ +wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \ +server and peer to provide a time service to other computers in the \ +network. \ +\ +It is designed to perform well in a wide range of conditions, \ +including intermittent network connections, heavily congested \ +networks, changing temperatures (ordinary computer clocks are \ +sensitive to temperature), and systems that do not run continuously, or \ +run on a virtual machine. \ +\ +Typical accuracy between two machines on a LAN is in tens, or a few \ +hundreds, of microseconds; over the Internet, accuracy is typically \ +within a few milliseconds. With a good hardware reference clock \ +sub-microsecond accuracy is possible. \ +\ +Two programs are included in chrony: chronyd is a daemon that can be \ +started at boot time and chronyc is a command-line interface program \ +which can be used to monitor chronyd's performance and to change \ +various operating parameters whilst it is running. \ +\ +This recipe produces two binary packages: 'chrony' which contains chronyd, \ +the configuration file and the init script, and 'chronyc' which contains \ +the client program only." + +HOMEPAGE = "https://chrony.tuxfamily.org/" +SECTION = "net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \ + file://chrony.conf \ + file://chronyd \ + file://arm_eabi.patch \ +" + +SRC_URI_append_libc-musl = " \ + file://0001-Fix-compilation-with-musl.patch \ +" +SRC_URI[sha256sum] = "ed76f2d3f9347ac6221a91ad4bd553dd0565ac188cd7490d0801d08f7171164c" + +DEPENDS = "pps-tools" + +# Note: Despite being built via './configure; make; make install', +# chrony does not use GNU Autotools. +inherit update-rc.d systemd + +# Configuration options: +# - For command line editing support in chronyc, you may specify either +# 'editline' or 'readline' but not both. editline is smaller, but +# many systems already have readline for other purposes so you might want +# to choose that instead. However, beware license incompatibility +# since chrony is GPLv2 and readline versions after 6.0 are GPLv3+. +# You can of course choose neither, but if you're that tight on space +# consider dropping chronyc entirely (you can use it remotely with +# appropriate chrony.conf options). +# - Security-related: +# - 'sechash' is omitted by default because it pulls in nss which is huge. +# - 'privdrop' allows chronyd to run as non-root; would need changes to +# chrony.conf and init script. +# - 'scfilter' enables support for system call filtering, but requires the +# kernel to have CONFIG_SECCOMP enabled. +PACKAGECONFIG ??= "editline \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline" +PACKAGECONFIG[editline] = ",--without-editline,libedit" +PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss" +PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap" +PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp" +PACKAGECONFIG[ipv6] = ",--disable-ipv6," +PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" +PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap" + +# --disable-static isn't supported by chrony's configure script. +DISABLE_STATIC = "" + +do_configure() { + ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \ + --localstatedir=${localstatedir} --datarootdir=${datadir} \ + --with-ntp-era=$(shell date -d '1970-01-01 00:00:00+00:00' +'%s') \ + --with-pidfile=/run/chrony/chronyd.pid \ + --chronyrundir=/run/chrony \ + --host-system=Linux \ + ${PACKAGECONFIG_CONFARGS} +} + +do_install() { + # Binaries + install -d ${D}${bindir} + install -m 0755 ${S}/chronyc ${D}${bindir} + install -d ${D}${sbindir} + install -m 0755 ${S}/chronyd ${D}${sbindir} + + # Config file + install -d ${D}${sysconfdir} + install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir} + + # System V init script + install -d ${D}${sysconfdir}/init.d + install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d + + # systemd unit configuration file + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/ + + # Variable data (for drift and/or rtc file) + install -d ${D}${localstatedir}/lib/chrony + + # Fix hard-coded paths in config files and init scripts + sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \ + -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \ + ${D}${sysconfdir}/chrony.conf \ + ${D}${sysconfdir}/init.d/chronyd \ + ${D}${systemd_unitdir}/system/chronyd.service + sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd + sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service +} + +FILES_${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}/lib/chrony ${localstatedir}" +CONFFILES_${PN} = "${sysconfdir}/chrony.conf" +INITSCRIPT_NAME = "chronyd" +INITSCRIPT_PARAMS = "defaults" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "chronyd.service" + +# It's probably a bad idea to run chrony and another time daemon on +# the same system. systemd includes the SNTP client 'timesyncd', which +# will be disabled by chronyd.service, however it will remain on the rootfs +# wasting 150 kB unless you put 'PACKAGECONFIG_remove_pn-systemd = "timesyncd"' +# in a conf file or bbappend somewhere. +RCONFLICTS_${PN} = "ntp ntimed" + +# Separate the client program into its own package +PACKAGES =+ "chronyc" +FILES_chronyc = "${bindir}/chronyc" diff --git a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot/0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot/0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch new file mode 100644 index 000000000..ec7a26a32 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot/0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch @@ -0,0 +1,30 @@ +From 6c0ff65f782ad38130b18e4ecb1538d9a8633684 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 29 May 2021 14:32:17 -0700 +Subject: [PATCH] m4: Check for libunwind instead of libunwind-generic + +libunwind-generic is specific to nongnu libunwind, when using llvm +libunwind this fails, so poking for libunwind make it generic + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + m4/want_unwind.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/m4/want_unwind.m4 b/m4/want_unwind.m4 +index cadb62b..5517314 100644 +--- a/m4/want_unwind.m4 ++++ b/m4/want_unwind.m4 +@@ -2,7 +2,7 @@ AC_DEFUN([DOVECOT_WANT_UNWIND], [ + have_libunwind=no + AS_IF([test "$want_libunwind" != "no"], [ + PKG_CHECK_EXISTS([libunwind], [ +- PKG_CHECK_MODULES([LIBUNWIND], [libunwind-generic],[ ++ PKG_CHECK_MODULES([LIBUNWIND], [libunwind],[ + have_libunwind=yes + AC_DEFINE([HAVE_LIBUNWIND],,[Define this if you have libunwind]) + ]) +-- +2.31.1 + diff --git a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb index c0f2863db..19ba2b1fc 100644 --- a/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb +++ b/meta-openembedded/meta-networking/recipes-support/dovecot/dovecot_2.3.14.bb @@ -10,6 +10,7 @@ SRC_URI = "http://dovecot.org/releases/2.3/dovecot-${PV}.tar.gz \ file://dovecot.service \ file://dovecot.socket \ file://0001-not-check-pandoc.patch \ + file://0001-m4-Check-for-libunwind-instead-of-libunwind-generic.patch \ " SRC_URI[md5sum] = "2f03532cec3280ae45a101a7a55ccef5" diff --git a/meta-openembedded/meta-networking/recipes-support/http-parser/http-parser_2.9.4.bb b/meta-openembedded/meta-networking/recipes-support/http-parser/http-parser_2.9.4.bb new file mode 100644 index 000000000..2d04ded34 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/http-parser/http-parser_2.9.4.bb @@ -0,0 +1,30 @@ +SUMMARY = "HTTP request/response parser for C" +DESCRIPTION = "This is a parser for HTTP messages written in C. It parses \ + both requests and responses. The parser is designed to be used \ + in performance HTTP applications. It does not make any \ + syscalls nor allocations, it does not buffer data, it can be \ + interrupted at anytime. Depending on your architecture, it \ + only requires about 40 bytes of data per message stream (in a \ + web server that is per connection)." +AUTHOR = "Stefan Wiehler " +HOMEPAGE = "https://github.com/nodejs/http-parser" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=9bfa835d048c194ab30487af8d7b3778" + +SRC_URI = "git://github.com/nodejs/http-parser.git" +SRCREV = "2343fd6b5214b2ded2cdcf76de2bf60903bb90cd" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" + +do_compile() { + oe_runmake library package +} + +do_install() { + oe_runmake install DESTDIR=${D} PREFIX=${prefix} +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.11.bb b/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.11.bb deleted file mode 100644 index 0db9e8a0a..000000000 --- a/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.11.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Configure network interfaces for parallel routing" -HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding" -SECTION = "net" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=acc89812938cf9ad6b1debc37cea0253" - -inherit manpages -MAN_PKG = "${PN}" - -SRCREV = "c26e9310f552e69d0d44eb48746e02c9ae4b4f6f" -SRC_URI = "git://salsa.debian.org/debian/ifenslave.git;protocol=https" - -S = "${WORKDIR}/git" - -do_install() { - install -m 0755 -D ${S}/debian/ifenslave.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/ifenslave - install -m 0755 -D ${S}/debian/ifenslave.if-post-down ${D}${sysconfdir}/network/if-post-down.d/ifenslave - install -m 0755 -D ${S}/debian/ifenslave.if-up ${D}${sysconfdir}/network/if-up.d/ifenslave -} - -FILES_${PN}-doc_remove = "${mandir}" diff --git a/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.12.bb b/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.12.bb new file mode 100644 index 000000000..db2d3a964 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/ifenslave/ifenslave_2.12.bb @@ -0,0 +1,22 @@ +SUMMARY = "Configure network interfaces for parallel routing" +HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding" +SECTION = "net" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=acc89812938cf9ad6b1debc37cea0253" + +inherit manpages +MAN_PKG = "${PN}" + +SRCREV = "88410a7003c31993e79471e151b24662fc2a0d64" +SRC_URI = "git://salsa.debian.org/debian/ifenslave.git;protocol=https" + +S = "${WORKDIR}/git" + +do_install() { + install -m 0755 -D ${S}/debian/ifenslave.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/ifenslave + install -m 0755 -D ${S}/debian/ifenslave.if-post-down ${D}${sysconfdir}/network/if-post-down.d/ifenslave + install -m 0755 -D ${S}/debian/ifenslave.if-up ${D}${sysconfdir}/network/if-up.d/ifenslave +} + +FILES_${PN}-doc_remove = "${mandir}" diff --git a/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools/0001-m4-sctp.m4-make-conpatible-to-autoconf-2.70.patch b/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools/0001-m4-sctp.m4-make-conpatible-to-autoconf-2.70.patch deleted file mode 100644 index 484af4e0f..000000000 --- a/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools/0001-m4-sctp.m4-make-conpatible-to-autoconf-2.70.patch +++ /dev/null @@ -1,89 +0,0 @@ -From d6d7130f0a2e3b81880fca29966e42c1b2be40a7 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Fri, 8 Jan 2021 22:22:52 +0000 -Subject: [PATCH] m4/sctp.m4: make conpatible to autoconf-2.70 - -On recently released `autoconf-2.70` generated `./configure` -fails as: - -``` -$ ./configure -... -checking for struct sctp_event_subscribe.sctp_stream_reset_event... yes -checking for gcc options needed to detect all undeclared functions... none needed -./configure: line 16464: syntax error: unexpected end of file -``` - -This happens becuase new autoconf generates less whitespace: - -``` -{ -if ... -... -fi} -``` - -It requires at least whitespace between `fi` and `}`. - -As input already has newlines the change just drops extra `{}`. - -Tested on `autoconf-2.69` and `autoconf-2.70`. - -Signed-off-by: Sergei Trofimovich -Signed-off-by: Marcelo Ricardo Leitner - -Upstream-Status: Backport [git://github.com/sctp/lksctp-tools.git] -Signed-off-by: Hongxu Jia - ---- - m4/sctp.m4 | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/m4/sctp.m4 b/m4/sctp.m4 -index 6593517..94527a6 100644 ---- a/m4/sctp.m4 -+++ b/m4/sctp.m4 -@@ -6,7 +6,7 @@ - - # Macros to assist on probing kernel features - # Probes if a type is defined --AC_DEFUN([LKSCTP_CHECK_TYPE], [{ -+AC_DEFUN([LKSCTP_CHECK_TYPE], [ - AC_CHECK_TYPE([$1], - AC_DEFINE([$2], 1, - [Define if $1 is present.]) -@@ -22,10 +22,10 @@ AC_CHECK_TYPE([$1], - #ifdef HAVE_LINUX_SCTP_H - # include - #endif --])}]) -+])]) - - # Probes if a struct has a given member --AC_DEFUN([LKSCTP_CHECK_MEMBER], [{ -+AC_DEFUN([LKSCTP_CHECK_MEMBER], [ - AC_CHECK_MEMBER([$1], - AC_DEFINE([$2], 1, - [Define if $1 is present.]) -@@ -41,10 +41,10 @@ AC_CHECK_MEMBER([$1], - #ifdef HAVE_LINUX_SCTP_H - # include - #endif --])}]) -+])]) - - # Probes if a declaration is present --AC_DEFUN([LKSCTP_CHECK_DECL], [{ -+AC_DEFUN([LKSCTP_CHECK_DECL], [ - AC_CHECK_DECL([$1], - AC_DEFINE([$2], 1, - [Define if $1 is present.]) -@@ -60,4 +60,4 @@ AC_CHECK_DECL([$1], - #ifdef HAVE_LINUX_SCTP_H - # include - #endif --])}]) -+])]) --- -2.27.0 - diff --git a/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb b/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb deleted file mode 100644 index f481ffee1..000000000 --- a/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.18.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project" -HOMEPAGE = "http://lksctp.org" -SECTION = "net" -LICENSE = "LGPLv2.1 & GPLv2" - -LIC_FILES_CHKSUM = " \ - file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \ - file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \ -" - -SRCREV = "12c74404e09755561dee40cf194954f7ff5afd60" - -PV .= "+git${SRCPV}" -LK_REL = "1.0.18" - -SRC_URI = " \ - git://github.com/sctp/lksctp-tools.git \ - file://0001-m4-sctp.m4-make-conpatible-to-autoconf-2.70.patch \ - file://run-ptest \ - file://v4test.sh \ - file://v6test.sh \ -" - -S = "${WORKDIR}/git" - -BBCLASSEXTEND = "native" - -inherit autotools-brokensep pkgconfig binconfig ptest - -do_install_ptest () { - install -m 0755 ${WORKDIR}/v4test.sh ${D}${PTEST_PATH} - install -m 0755 ${WORKDIR}/v6test.sh ${D}${PTEST_PATH} - for testcase in `find ${B}/src/apps/.libs ${B}/src/func_tests/.libs -maxdepth 1 -type f -executable`; do - install $testcase ${D}${PTEST_PATH} - done -} - -SOLIBVERSION="${LK_REL}" -SOLIBMAJORVERSION="1" - -PACKAGES =+ "${PN}-withsctp ${PN}-utils" - -FILES_${PN} = " \ - ${libdir}/libsctp.so.${SOLIBVERSION} \ - ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \ -" - -FILES_${PN}-withsctp = " \ - ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \ - ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \ -" - -FILES_${PN}-dev += " \ - ${libdir}/libsctp.so \ - ${libdir}/lksctp-tools/libwithsctp.so \ - ${datadir}/lksctp-tools/*.c \ - ${datadir}/lksctp-tools/*.h \ -" - -FILES_${PN}-utils = "${bindir}/*" - -RRECOMMENDS_${PN} += "kernel-module-sctp" -RRECOMMENDS_${PN}-utils += "kernel-module-sctp" -RRECOMMENDS_${PN}-ptest += "kernel-module-sctp" diff --git a/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.19.bb b/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.19.bb new file mode 100644 index 000000000..5eea5c208 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.19.bb @@ -0,0 +1,63 @@ +SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project" +HOMEPAGE = "http://lksctp.org" +SECTION = "net" +LICENSE = "LGPLv2.1 & GPLv2" + +LIC_FILES_CHKSUM = " \ + file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \ + file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \ +" + +SRCREV = "05b50d379ff0037de4957bb2a1befcce88b70225" + +PV .= "+git${SRCPV}" +LK_REL = "1.0.19" + +SRC_URI = " \ + git://github.com/sctp/lksctp-tools.git \ + file://run-ptest \ + file://v4test.sh \ + file://v6test.sh \ +" + +S = "${WORKDIR}/git" + +BBCLASSEXTEND = "native" + +inherit autotools-brokensep pkgconfig binconfig ptest + +do_install_ptest () { + install -m 0755 ${WORKDIR}/v4test.sh ${D}${PTEST_PATH} + install -m 0755 ${WORKDIR}/v6test.sh ${D}${PTEST_PATH} + for testcase in `find ${B}/src/apps/.libs ${B}/src/func_tests/.libs -maxdepth 1 -type f -executable`; do + install $testcase ${D}${PTEST_PATH} + done +} + +SOLIBVERSION="${LK_REL}" +SOLIBMAJORVERSION="1" + +PACKAGES =+ "${PN}-withsctp ${PN}-utils" + +FILES_${PN} = " \ + ${libdir}/libsctp.so.${SOLIBVERSION} \ + ${libdir}/libsctp.so.${SOLIBMAJORVERSION} \ +" + +FILES_${PN}-withsctp = " \ + ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \ + ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBMAJORVERSION} \ +" + +FILES_${PN}-dev += " \ + ${libdir}/libsctp.so \ + ${libdir}/lksctp-tools/libwithsctp.so \ + ${datadir}/lksctp-tools/*.c \ + ${datadir}/lksctp-tools/*.h \ +" + +FILES_${PN}-utils = "${bindir}/*" + +RRECOMMENDS_${PN} += "kernel-module-sctp" +RRECOMMENDS_${PN}-utils += "kernel-module-sctp" +RRECOMMENDS_${PN}-ptest += "kernel-module-sctp" diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.6.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.6.bb deleted file mode 100644 index 067911b4e..000000000 --- a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.6.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "nbdkit is a toolkit for creating NBD servers." -DESCRIPTION = "NBD — Network Block Device — is a protocol \ -for accessing Block Devices (hard disks and disk-like things) \ -over a Network. \ -\ -nbdkit is a toolkit for creating NBD servers." - -HOMEPAGE = "https://github.com/libguestfs/nbdkit" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0" - -SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \ -" - -SRCREV = "023dac3e09a0e39d6f91dea4b7f8efb8f5faae36" - -S = "${WORKDIR}/git" - -DEPENDS = "curl xz e2fsprogs zlib" - -# autotools-brokensep is needed as nbdkit does not support build in external directory -inherit pkgconfig python3native perlnative bash-completion autotools-brokensep - -# Those are required to build standalone -EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" - -# Disable some extended support (not desired for small embedded systems) -#EXTRA_OECONF += " --disable-python" -#EXTRA_OECONF += " --disable-ocaml" -#EXTRA_OECONF += " --disable-rust" -#EXTRA_OECONF += " --disable-ruby" -#EXTRA_OECONF += " --disable-tcl" -#EXTRA_OECONF += " --disable-lua" -#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.7.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.7.bb new file mode 100644 index 000000000..9dceb0f26 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.7.bb @@ -0,0 +1,34 @@ +SUMMARY = "nbdkit is a toolkit for creating NBD servers." +DESCRIPTION = "NBD — Network Block Device — is a protocol \ +for accessing Block Devices (hard disks and disk-like things) \ +over a Network. \ +\ +nbdkit is a toolkit for creating NBD servers." + +HOMEPAGE = "https://github.com/libguestfs/nbdkit" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f9dcc2d8acdde215fa4bd6ac12bb14f0" + +SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https \ +" + +SRCREV = "babc2e2717c9025392dce613006a6ecae5886a57" + +S = "${WORKDIR}/git" + +DEPENDS = "curl xz e2fsprogs zlib" + +# autotools-brokensep is needed as nbdkit does not support build in external directory +inherit pkgconfig python3native perlnative bash-completion autotools-brokensep + +# Those are required to build standalone +EXTRA_OECONF = " --without-libvirt --without-libguestfs --disable-perl" + +# Disable some extended support (not desired for small embedded systems) +#EXTRA_OECONF += " --disable-python" +#EXTRA_OECONF += " --disable-ocaml" +#EXTRA_OECONF += " --disable-rust" +#EXTRA_OECONF += " --disable-ruby" +#EXTRA_OECONF += " --disable-tcl" +#EXTRA_OECONF += " --disable-lua" +#EXTRA_OECONF += " --disable-vddk" diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_33.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_33.0.bb deleted file mode 100644 index 1c1569cfb..000000000 --- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_33.0.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Userspace support for InfiniBand/RDMA verbs" -DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." -SECTION = "libs" - -DEPENDS = "libnl" -RDEPENDS_${PN} = "bash perl" - -SRC_URI = "git://github.com/linux-rdma/rdma-core.git" -SRCREV = "e66ca0832e58dafac7af7ad9e6799eaef438061a" -S = "${WORKDIR}/git" - -#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md -LICENSE = "BSD-2-Clause | GPLv2" -LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ - file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -EXTRA_OECMAKE = " \ - -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ - -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ - -DNO_MAN_PAGES=1 \ -" - -LTO = "" - -FILES_SOLIBSDEV = "" -FILES_${PN} += "${libdir}/*" -INSANE_SKIP_${PN} += "dev-so" - -inherit cmake cpan-base systemd - -SYSTEMD_SERVICE_${PN} = " \ - srp_daemon.service \ - iwpmd.service \ - ibacm.socket \ - rdma-load-modules@.service \ - srp_daemon_port@.service \ - rdma-hw.target \ - ibacm.service \ -" -SYSTEMD_AUTO_ENABLE = "disable" - -OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb new file mode 100644 index 000000000..af4b3788b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb @@ -0,0 +1,42 @@ +SUMMARY = "Userspace support for InfiniBand/RDMA verbs" +DESCRIPTION = "This is the userspace components for the Linux Kernel's drivers Infiniband/RDMA subsystem." +SECTION = "libs" + +DEPENDS = "libnl" +RDEPENDS_${PN} = "bash perl" + +SRC_URI = "git://github.com/linux-rdma/rdma-core.git" +SRCREV = "e29a698e99028e9a092bb00c03ee4bfa31ae0cf3" +S = "${WORKDIR}/git" + +#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md +LICENSE = "BSD-2-Clause | GPLv2" +LIC_FILES_CHKSUM = "file://COPYING.BSD_FB;md5=0ec18bae1a9df92c8d6ae01f94a289ae \ + file://COPYING.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +EXTRA_OECMAKE = " \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=${systemd_system_unitdir} \ + -DCMAKE_INSTALL_PERLDIR=${libdir}/perl5/${@get_perl_version(d)} \ + -DNO_MAN_PAGES=1 \ +" + +LTO = "" + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*" +INSANE_SKIP_${PN} += "dev-so" + +inherit cmake cpan-base python3native systemd + +SYSTEMD_SERVICE_${PN} = " \ + srp_daemon.service \ + iwpmd.service \ + ibacm.socket \ + rdma-load-modules@.service \ + srp_daemon_port@.service \ + rdma-hw.target \ + ibacm.service \ +" +SYSTEMD_AUTO_ENABLE = "disable" + +OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" diff --git a/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb deleted file mode 100644 index 3346daddb..000000000 --- a/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.3.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Use previously captured traffic to test network devices" - -HOMEPAGE = "http://tcpreplay.synfin.net/" -SECTION = "net" - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=890b830b22fd632e9ffd996df20338f8" - -SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz" - -SRC_URI[md5sum] = "53b52bf64f0b6b9443428e657b37bc6b" -SRC_URI[sha256sum] = "ed2402caa9434ff5c74b2e7b31178c73e7c7c5c4ea1e1d0e2e39a7dc46958fde" - -UPSTREAM_CHECK_URI = "https://github.com/appneta/tcpreplay/releases" - -DEPENDS = "libpcap" - -EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr" - -inherit siteinfo autotools-brokensep - diff --git a/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.4.bb b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.4.bb new file mode 100644 index 000000000..eda51bb7f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.3.4.bb @@ -0,0 +1,21 @@ +SUMMARY = "Use previously captured traffic to test network devices" + +HOMEPAGE = "http://tcpreplay.synfin.net/" +SECTION = "net" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=10f0474a2f0e5dccfca20f69d6598ad8" + +SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz" + +SRC_URI[md5sum] = "305a84d84265705bd28f148698142188" +SRC_URI[sha256sum] = "ee065310806c22e2fd36f014e1ebb331b98a7ec4db958e91c3d9cbda0640d92c" + +UPSTREAM_CHECK_URI = "https://github.com/appneta/tcpreplay/releases" + +DEPENDS = "libpcap" + +EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr" + +inherit siteinfo autotools-brokensep + diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb index f44032802..3100e4c2c 100644 --- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb +++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.5.bb @@ -44,6 +44,7 @@ PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" PACKAGECONFIG[libssh] = ",,libssh2" PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" +PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd" # these next two options require addional layers PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares" diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Do-not-use-MINSIGSTKSZ.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Do-not-use-MINSIGSTKSZ.patch new file mode 100644 index 000000000..0ee64e9c6 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Do-not-use-MINSIGSTKSZ.patch @@ -0,0 +1,34 @@ +From 027044a692b588ef586d495f65eb58b07cc711a3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 11 May 2021 10:15:51 -0700 +Subject: [PATCH] Do not use MINSIGSTKSZ + +Since glibc 2.34+ MINSIGSTKSZ is no more a constant. So, +let's hardwire this for now until better fix is found. +64Kb should be good anyway + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/mongo/stdx/thread.h | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/src/mongo/stdx/thread.h b/src/mongo/stdx/thread.h +index f8058279e3..f31f309959 100644 +--- a/src/mongo/stdx/thread.h ++++ b/src/mongo/stdx/thread.h +@@ -104,10 +104,7 @@ private: + // . N Y : 4,344 | 13,048 | 7,352 + // . Y Y : 4,424 | 13,672 | 8,392 + // ( https://jira.mongodb.org/secure/attachment/233569/233569_stacktrace-writeup.txt ) +- static constexpr std::size_t kMongoMinSignalStackSize = std::size_t{64} << 10; +- +- static constexpr std::size_t kStackSize = +- std::max(kMongoMinSignalStackSize, std::size_t{MINSIGSTKSZ}); ++ static constexpr std::size_t kStackSize = std::size_t{64} << 10; + std::unique_ptr _stackStorage = std::make_unique(kStackSize); + + #else // !MONGO_HAS_SIGALTSTACK +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-explicit-typecast-to-size_t.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-explicit-typecast-to-size_t.patch new file mode 100644 index 000000000..5b724ff8a --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-explicit-typecast-to-size_t.patch @@ -0,0 +1,35 @@ +From 6fdb2d304e05a17e57b2efd7f8252794a8722dbe Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 1 Jun 2021 08:25:36 -0700 +Subject: [PATCH] Use explicit typecast to size_t + +maxMemoryUsageBytes is size_t type which may not match long long value +internalDocumentSourceGroupMaxMemoryBytes.load() returns, so typecast it +to avoid narrowing warning from clang + +document_source_group.cpp:378:22: error: non-constant-expression cannot be narrowed from type 'long long' to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] + maxMemoryUsageBytes ? *maxMemoryUsageBytes + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream-Status: Submitted [https://github.com/mongodb/mongo/pull/1405] +Signed-off-by: Khem Raj +--- + src/mongo/db/pipeline/document_source_group.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mongo/db/pipeline/document_source_group.cpp b/src/mongo/db/pipeline/document_source_group.cpp +index c7bf44e72e..a52906a940 100644 +--- a/src/mongo/db/pipeline/document_source_group.cpp ++++ b/src/mongo/db/pipeline/document_source_group.cpp +@@ -376,7 +376,7 @@ DocumentSourceGroup::DocumentSourceGroup(const intrusive_ptr& + _doingMerge(false), + _memoryTracker{pExpCtx->allowDiskUse && !pExpCtx->inMongos, + maxMemoryUsageBytes ? *maxMemoryUsageBytes +- : internalDocumentSourceGroupMaxMemoryBytes.load()}, ++ : (size_t)internalDocumentSourceGroupMaxMemoryBytes.load()}, + _initialized(false), + _groups(pExpCtx->getValueComparator().makeUnorderedValueMap()), + _spilled(false) { +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch deleted file mode 100644 index df4cee2b4..000000000 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch +++ /dev/null @@ -1,714 +0,0 @@ -From 44272ce47e768e090263df5cb9cb7ce17e544ad3 Mon Sep 17 00:00:00 2001 -From: Vincent Prince -Date: Tue, 15 Sep 2020 11:40:15 +0200 -Subject: [PATCH] kms-message: bump libmongocrypto to v1.0.4 - -This fixes compilation with alpinelinux -see https://github.com/mongodb/libmongocrypt/pull/89 - -Upstream-Status: Pending - -Signed-off-by: Vincent Prince ---- - .../kms-message/THIRD_PARTY_NOTICES | 2 +- - src/third_party/kms-message/src/hexlify.c | 21 +---- - src/third_party/kms-message/src/hexlify.h | 2 - - .../kms-message/src/kms_crypto_apple.c | 5 + - .../kms-message/src/kms_crypto_libcrypto.c | 94 +++++++++++++++++++ - .../kms-message/src/kms_crypto_none.c | 4 + - .../kms-message/src/kms_crypto_windows.c | 4 + - .../kms-message/src/kms_decrypt_request.c | 2 +- - .../kms-message/src/kms_encrypt_request.c | 2 +- - src/third_party/kms-message/src/kms_kv_list.c | 11 ++- - .../kms-message/src/kms_message/kms_message.h | 2 + - .../src/kms_message/kms_message_defines.h | 10 ++ - src/third_party/kms-message/src/kms_port.c | 33 +++++++ - src/third_party/kms-message/src/kms_port.h | 27 +++--- - src/third_party/kms-message/src/kms_request.c | 41 +++++--- - .../kms-message/src/kms_request_str.c | 13 ++- - .../kms-message/src/kms_request_str.h | 5 - - .../kms-message/src/kms_response_parser.c | 26 ++++- - .../scripts/kms_message_get_sources.sh | 2 +- - 19 files changed, 244 insertions(+), 62 deletions(-) - create mode 100644 src/third_party/kms-message/src/kms_crypto_libcrypto.c - create mode 100644 src/third_party/kms-message/src/kms_port.c - -diff --git a/src/third_party/kms-message/THIRD_PARTY_NOTICES b/src/third_party/kms-message/THIRD_PARTY_NOTICES -index 3fc095170c..4110c1b91e 100644 ---- a/src/third_party/kms-message/THIRD_PARTY_NOTICES -+++ b/src/third_party/kms-message/THIRD_PARTY_NOTICES -@@ -1,4 +1,4 @@ --License notice for common-b64.c -+License notice for kms_b64.c - ------------------------------------------------------------------------------- - - ISC License -diff --git a/src/third_party/kms-message/src/hexlify.c b/src/third_party/kms-message/src/hexlify.c -index be9ee030b9..941fc93d1b 100644 ---- a/src/third_party/kms-message/src/hexlify.c -+++ b/src/third_party/kms-message/src/hexlify.c -@@ -24,6 +24,8 @@ char * - hexlify (const uint8_t *buf, size_t len) - { - char *hex_chars = malloc (len * 2 + 1); -+ KMS_ASSERT (hex_chars); -+ - char *p = hex_chars; - size_t i; - -@@ -35,22 +37,3 @@ hexlify (const uint8_t *buf, size_t len) - - return hex_chars; - } -- --uint8_t * --unhexlify (const char *hex_chars, size_t *len) --{ -- uint8_t *buf; -- uint8_t *pos; -- -- *len = strlen (hex_chars) / 2; -- buf = malloc (*len); -- pos = buf; -- -- while (*hex_chars) { -- KMS_ASSERT (1 == sscanf (hex_chars, "%2hhx", pos)); -- pos++; -- hex_chars += 2; -- } -- -- return buf; --} -diff --git a/src/third_party/kms-message/src/hexlify.h b/src/third_party/kms-message/src/hexlify.h -index e0096eb6ca..a6a504ebe8 100644 ---- a/src/third_party/kms-message/src/hexlify.h -+++ b/src/third_party/kms-message/src/hexlify.h -@@ -19,5 +19,3 @@ - - char * - hexlify (const uint8_t *buf, size_t len); --uint8_t * --unhexlify (const char *hex_chars, size_t *len); -diff --git a/src/third_party/kms-message/src/kms_crypto_apple.c b/src/third_party/kms-message/src/kms_crypto_apple.c -index 61da0a6288..a26e0d65e8 100644 ---- a/src/third_party/kms-message/src/kms_crypto_apple.c -+++ b/src/third_party/kms-message/src/kms_crypto_apple.c -@@ -16,9 +16,12 @@ - - #include "kms_crypto.h" - -+#ifdef KMS_MESSAGE_ENABLE_CRYPTO_COMMON_CRYPTO -+ - #include - #include - -+ - int - kms_crypto_init () - { -@@ -54,3 +57,5 @@ kms_sha256_hmac (void *unused_ctx, - CCHmac (kCCHmacAlgSHA256, key_input, key_len, input, len, hash_out); - return true; - } -+ -+#endif /* KMS_MESSAGE_ENABLE_CRYPTO_COMMON_CRYPTO */ -diff --git a/src/third_party/kms-message/src/kms_crypto_libcrypto.c b/src/third_party/kms-message/src/kms_crypto_libcrypto.c -new file mode 100644 -index 0000000000..6f25657fdd ---- /dev/null -+++ b/src/third_party/kms-message/src/kms_crypto_libcrypto.c -@@ -0,0 +1,94 @@ -+/* -+ * Copyright 2018-present MongoDB, Inc. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#include "kms_crypto.h" -+ -+#ifdef KMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO -+ -+#include -+#include -+#include -+ -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) -+static EVP_MD_CTX * -+EVP_MD_CTX_new (void) -+{ -+ return calloc (sizeof (EVP_MD_CTX), 1); -+} -+ -+static void -+EVP_MD_CTX_free (EVP_MD_CTX *ctx) -+{ -+ EVP_MD_CTX_cleanup (ctx); -+ free (ctx); -+} -+#endif -+ -+int -+kms_crypto_init () -+{ -+ return 0; -+} -+ -+void -+kms_crypto_cleanup () -+{ -+} -+ -+bool -+kms_sha256 (void *unused_ctx, -+ const char *input, -+ size_t len, -+ unsigned char *hash_out) -+{ -+ EVP_MD_CTX *digest_ctxp = EVP_MD_CTX_new (); -+ bool rval = false; -+ -+ if (1 != EVP_DigestInit_ex (digest_ctxp, EVP_sha256 (), NULL)) { -+ goto cleanup; -+ } -+ -+ if (1 != EVP_DigestUpdate (digest_ctxp, input, len)) { -+ goto cleanup; -+ } -+ -+ rval = (1 == EVP_DigestFinal_ex (digest_ctxp, hash_out, NULL)); -+ -+cleanup: -+ EVP_MD_CTX_free (digest_ctxp); -+ -+ return rval; -+} -+ -+bool -+kms_sha256_hmac (void *unused_ctx, -+ const char *key_input, -+ size_t key_len, -+ const char *input, -+ size_t len, -+ unsigned char *hash_out) -+{ -+ return HMAC (EVP_sha256 (), -+ key_input, -+ key_len, -+ (unsigned char *) input, -+ len, -+ hash_out, -+ NULL) != NULL; -+} -+ -+#endif /* KMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO */ -diff --git a/src/third_party/kms-message/src/kms_crypto_none.c b/src/third_party/kms-message/src/kms_crypto_none.c -index 9ef2147687..94da5abd88 100644 ---- a/src/third_party/kms-message/src/kms_crypto_none.c -+++ b/src/third_party/kms-message/src/kms_crypto_none.c -@@ -16,6 +16,8 @@ - - #include "kms_crypto.h" - -+#ifndef KMS_MESSAGE_ENABLE_CRYPTO -+ - int - kms_crypto_init () - { -@@ -48,3 +50,5 @@ kms_sha256_hmac (void *unused_ctx, - /* only gets called if hooks were mistakenly not set */ - return false; - } -+ -+#endif /* KMS_MESSAGE_ENABLE_CRYPTO */ -diff --git a/src/third_party/kms-message/src/kms_crypto_windows.c b/src/third_party/kms-message/src/kms_crypto_windows.c -index ccdc7e095d..8177b0ddc0 100644 ---- a/src/third_party/kms-message/src/kms_crypto_windows.c -+++ b/src/third_party/kms-message/src/kms_crypto_windows.c -@@ -16,6 +16,8 @@ - - #include "kms_crypto.h" - -+#ifdef KMS_MESSAGE_ENABLE_CRYPTO_CNG -+ - // tell windows.h not to include a bunch of headers we don't need: - #define WIN32_LEAN_AND_MEAN - -@@ -130,3 +132,5 @@ cleanup: - - return status == STATUS_SUCCESS ? 1 : 0; - } -+ -+#endif /* KMS_MESSAGE_ENABLE_CRYPTO_CNG */ -diff --git a/src/third_party/kms-message/src/kms_decrypt_request.c b/src/third_party/kms-message/src/kms_decrypt_request.c -index 06faa43119..f1ca282768 100644 ---- a/src/third_party/kms-message/src/kms_decrypt_request.c -+++ b/src/third_party/kms-message/src/kms_decrypt_request.c -@@ -48,7 +48,7 @@ kms_decrypt_request_new (const uint8_t *ciphertext_blob, - if (!(b64 = malloc (b64_len))) { - KMS_ERROR (request, - "Could not allocate %d bytes for base64-encoding payload", -- b64_len); -+ (int) b64_len); - goto done; - } - -diff --git a/src/third_party/kms-message/src/kms_encrypt_request.c b/src/third_party/kms-message/src/kms_encrypt_request.c -index b5f4d6436e..24b064d95f 100644 ---- a/src/third_party/kms-message/src/kms_encrypt_request.c -+++ b/src/third_party/kms-message/src/kms_encrypt_request.c -@@ -47,7 +47,7 @@ kms_encrypt_request_new (const uint8_t *plaintext, - if (!(b64 = malloc (b64_len))) { - KMS_ERROR (request, - "Could not allocate %d bytes for base64-encoding payload", -- b64_len); -+ (int) b64_len); - goto done; - } - -diff --git a/src/third_party/kms-message/src/kms_kv_list.c b/src/third_party/kms-message/src/kms_kv_list.c -index 2d6845a1aa..0cff3dc2c6 100644 ---- a/src/third_party/kms-message/src/kms_kv_list.c -+++ b/src/third_party/kms-message/src/kms_kv_list.c -@@ -17,6 +17,7 @@ - - #include "kms_kv_list.h" - #include "kms_message/kms_message.h" -+#include "kms_message_private.h" - #include "kms_request_str.h" - #include "kms_port.h" - #include "sort.h" -@@ -39,9 +40,12 @@ kms_kv_list_t * - kms_kv_list_new (void) - { - kms_kv_list_t *lst = malloc (sizeof (kms_kv_list_t)); -+ KMS_ASSERT (lst); - - lst->size = 16; - lst->kvs = malloc (lst->size * sizeof (kms_kv_t)); -+ KMS_ASSERT (lst->kvs); -+ - lst->len = 0; - - return lst; -@@ -72,6 +76,7 @@ kms_kv_list_add (kms_kv_list_t *lst, - if (lst->len == lst->size) { - lst->size *= 2; - lst->kvs = realloc (lst->kvs, lst->size * sizeof (kms_kv_t)); -+ KMS_ASSERT (lst->kvs); - } - - kv_init (&lst->kvs[lst->len], key, value); -@@ -84,7 +89,7 @@ kms_kv_list_find (const kms_kv_list_t *lst, const char *key) - size_t i; - - for (i = 0; i < lst->len; i++) { -- if (0 == strcasecmp (lst->kvs[i].key->str, key)) { -+ if (0 == kms_strcasecmp (lst->kvs[i].key->str, key)) { - return &lst->kvs[i]; - } - } -@@ -119,8 +124,12 @@ kms_kv_list_dup (const kms_kv_list_t *lst) - } - - dup = malloc (sizeof (kms_kv_list_t)); -+ KMS_ASSERT (dup); -+ - dup->size = dup->len = lst->len; - dup->kvs = malloc (lst->len * sizeof (kms_kv_t)); -+ KMS_ASSERT (dup->kvs); -+ - - for (i = 0; i < lst->len; i++) { - kv_init (&dup->kvs[i], lst->kvs[i].key, lst->kvs[i].value); -diff --git a/src/third_party/kms-message/src/kms_message/kms_message.h b/src/third_party/kms-message/src/kms_message/kms_message.h -index 6ea95dd04c..8048528f2e 100644 ---- a/src/third_party/kms-message/src/kms_message/kms_message.h -+++ b/src/third_party/kms-message/src/kms_message/kms_message.h -@@ -17,6 +17,8 @@ - #ifndef KMS_MESSAGE_H - #define KMS_MESSAGE_H - -+#include -+ - #include "kms_message_defines.h" - #include "kms_request_opt.h" - #include "kms_request.h" -diff --git a/src/third_party/kms-message/src/kms_message/kms_message_defines.h b/src/third_party/kms-message/src/kms_message/kms_message_defines.h -index a4d019bd77..a539d531ef 100644 ---- a/src/third_party/kms-message/src/kms_message/kms_message_defines.h -+++ b/src/third_party/kms-message/src/kms_message/kms_message_defines.h -@@ -53,4 +53,14 @@ kms_message_cleanup (void); - } /* extern "C" */ - #endif - -+#ifdef _MSC_VER -+#include -+#pragma warning(disable : 4142) -+#ifndef _SSIZE_T_DEFINED -+#define _SSIZE_T_DEFINED -+typedef SSIZE_T ssize_t; -+#endif -+#pragma warning(default : 4142) -+#endif -+ - #endif /* KMS_MESSAGE_DEFINES_H */ -diff --git a/src/third_party/kms-message/src/kms_port.c b/src/third_party/kms-message/src/kms_port.c -new file mode 100644 -index 0000000000..ee9e6ed9c9 ---- /dev/null -+++ b/src/third_party/kms-message/src/kms_port.c -@@ -0,0 +1,33 @@ -+/* -+ * Copyright 2020-present MongoDB, Inc. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#include "kms_port.h" -+#if defined(_WIN32) -+#include -+#include -+char * kms_strndup (const char *src, size_t len) -+{ -+ char *dst = (char *) malloc (len + 1); -+ if (!dst) { -+ return 0; -+ } -+ -+ memcpy (dst, src, len); -+ dst[len] = '\0'; -+ -+ return dst; -+} -+#endif -\ No newline at end of file -diff --git a/src/third_party/kms-message/src/kms_port.h b/src/third_party/kms-message/src/kms_port.h -index c3cbbac369..2123a99dc9 100644 ---- a/src/third_party/kms-message/src/kms_port.h -+++ b/src/third_party/kms-message/src/kms_port.h -@@ -15,21 +15,18 @@ - * limitations under the License. - */ - --#if defined(_WIN32) --#define strcasecmp _stricmp -- --inline char * --strndup (const char *src, size_t len) --{ -- char *dst = (char *) malloc (len + 1); -- if (!dst) { -- return 0; -- } -- -- memcpy (dst, src, len); -- dst[len] = '\0'; -+#ifndef KMS_PORT_H -+#define KMS_PORT_H - -- return dst; --} -+#include - -+#if defined(_WIN32) -+#define kms_strcasecmp _stricmp -+char * -+kms_strndup (const char *src, size_t len); -+#else -+#define kms_strndup strndup -+#define kms_strcasecmp strcasecmp - #endif -+ -+#endif /* KMS_PORT_H */ -\ No newline at end of file -diff --git a/src/third_party/kms-message/src/kms_request.c b/src/third_party/kms-message/src/kms_request.c -index fa2d487123..ac2b07ea6b 100644 ---- a/src/third_party/kms-message/src/kms_request.c -+++ b/src/third_party/kms-message/src/kms_request.c -@@ -61,6 +61,7 @@ kms_request_new (const char *method, - kms_request_t *request = calloc (1, sizeof (kms_request_t)); - const char *question_mark; - -+ KMS_ASSERT (request); - /* parsing may set failed to true */ - request->failed = false; - -@@ -92,10 +93,14 @@ kms_request_new (const char *method, - request->header_fields = kms_kv_list_new (); - request->auto_content_length = true; - -- kms_request_set_date (request, NULL); -+ if (!kms_request_set_date (request, NULL)) { -+ return request; -+ } - - if (opt && opt->connection_close) { -- kms_request_add_header_field (request, "Connection", "close"); -+ if (!kms_request_add_header_field (request, "Connection", "close")) { -+ return request; -+ } - } - - if (opt && opt->crypto.sha256) { -@@ -164,7 +169,9 @@ kms_request_set_date (kms_request_t *request, const struct tm *tm) - kms_request_str_set_chars (request->date, buf, sizeof "YYYYmmDD" - 1); - kms_request_str_set_chars (request->datetime, buf, sizeof AMZ_DT_FORMAT - 1); - kms_kv_list_del (request->header_fields, "X-Amz-Date"); -- kms_request_add_header_field (request, "X-Amz-Date", buf); -+ if (!kms_request_add_header_field (request, "X-Amz-Date", buf)) { -+ return false; -+ } - - return true; - } -@@ -309,7 +316,8 @@ append_canonical_headers (kms_kv_list_t *lst, kms_request_str_t *str) - * values in headers that have multiple values." */ - for (i = 0; i < lst->len; i++) { - kv = &lst->kvs[i]; -- if (previous_key && 0 == strcasecmp (previous_key->str, kv->key->str)) { -+ if (previous_key && -+ 0 == kms_strcasecmp (previous_key->str, kv->key->str)) { - /* duplicate header */ - kms_request_str_append_char (str, ','); - kms_request_str_append_stripped (str, kv->value); -@@ -339,12 +347,13 @@ append_signed_headers (kms_kv_list_t *lst, kms_request_str_t *str) - - for (i = 0; i < lst->len; i++) { - kv = &lst->kvs[i]; -- if (previous_key && 0 == strcasecmp (previous_key->str, kv->key->str)) { -+ if (previous_key && -+ 0 == kms_strcasecmp (previous_key->str, kv->key->str)) { - /* duplicate header */ - continue; - } - -- if (0 == strcasecmp (kv->key->str, "connection")) { -+ if (0 == kms_strcasecmp (kv->key->str, "connection")) { - continue; - } - -@@ -412,7 +421,8 @@ finalize (kms_request_t *request) - static int - cmp_header_field_names (const void *a, const void *b) - { -- return strcasecmp (((kms_kv_t *) a)->key->str, ((kms_kv_t *) b)->key->str); -+ return kms_strcasecmp (((kms_kv_t *) a)->key->str, -+ ((kms_kv_t *) b)->key->str); - } - - static kms_kv_list_t * -@@ -447,6 +457,7 @@ kms_request_get_canonical (kms_request_t *request) - kms_request_str_append_newline (canonical); - normalized = kms_request_str_path_normalized (request->path); - kms_request_str_append_escaped (canonical, normalized, false); -+ kms_request_str_destroy (normalized); - kms_request_str_append_newline (canonical); - append_canonical_query (request, canonical); - kms_request_str_append_newline (canonical); -@@ -454,12 +465,14 @@ kms_request_get_canonical (kms_request_t *request) - append_canonical_headers (lst, canonical); - kms_request_str_append_newline (canonical); - append_signed_headers (lst, canonical); -- kms_request_str_append_newline (canonical); -- kms_request_str_append_hashed ( -- &request->crypto, canonical, request->payload); -- -- kms_request_str_destroy (normalized); - kms_kv_list_destroy (lst); -+ kms_request_str_append_newline (canonical); -+ if (!kms_request_str_append_hashed ( -+ &request->crypto, canonical, request->payload)) { -+ KMS_ERROR (request, "could not generate hash"); -+ kms_request_str_destroy (canonical); -+ return NULL; -+ } - - return kms_request_str_detach (canonical); - } -@@ -514,6 +527,10 @@ kms_request_get_string_to_sign (kms_request_t *request) - kms_request_str_append_chars (sts, "/aws4_request\n", -1); - - creq = kms_request_str_wrap (kms_request_get_canonical (request), -1); -+ if (!creq) { -+ goto done; -+ } -+ - if (!kms_request_str_append_hashed (&request->crypto, sts, creq)) { - goto done; - } -diff --git a/src/third_party/kms-message/src/kms_request_str.c b/src/third_party/kms-message/src/kms_request_str.c -index 0f7c19c972..65207d2f4f 100644 ---- a/src/third_party/kms-message/src/kms_request_str.c -+++ b/src/third_party/kms-message/src/kms_request_str.c -@@ -51,10 +51,13 @@ kms_request_str_t * - kms_request_str_new (void) - { - kms_request_str_t *s = malloc (sizeof (kms_request_str_t)); -+ KMS_ASSERT (s); - - s->len = 0; - s->size = 16; - s->str = malloc (s->size); -+ KMS_ASSERT (s->str); -+ - s->str[0] = '\0'; - - return s; -@@ -64,11 +67,15 @@ kms_request_str_t * - kms_request_str_new_from_chars (const char *chars, ssize_t len) - { - kms_request_str_t *s = malloc (sizeof (kms_request_str_t)); -+ KMS_ASSERT (s); -+ - size_t actual_len; - - actual_len = len < 0 ? strlen (chars) : (size_t) len; - s->size = actual_len + 1; - s->str = malloc (s->size); -+ KMS_ASSERT (s->str); -+ - memcpy (s->str, chars, actual_len); - s->str[actual_len] = '\0'; - s->len = actual_len; -@@ -86,6 +93,8 @@ kms_request_str_wrap (char *chars, ssize_t len) - } - - s = malloc (sizeof (kms_request_str_t)); -+ KMS_ASSERT (s); -+ - - s->str = chars; - s->len = len < 0 ? strlen (chars) : (size_t) len; -@@ -148,8 +157,10 @@ kms_request_str_t * - kms_request_str_dup (kms_request_str_t *str) - { - kms_request_str_t *dup = malloc (sizeof (kms_request_str_t)); -+ KMS_ASSERT (dup); -+ - -- dup->str = strndup (str->str, str->len); -+ dup->str = kms_strndup (str->str, str->len); - dup->len = str->len; - dup->size = str->len + 1; - -diff --git a/src/third_party/kms-message/src/kms_request_str.h b/src/third_party/kms-message/src/kms_request_str.h -index f053a595aa..0898f59067 100644 ---- a/src/third_party/kms-message/src/kms_request_str.h -+++ b/src/third_party/kms-message/src/kms_request_str.h -@@ -25,11 +25,6 @@ - #include - #include - --#if defined(_WIN32) --#include --typedef SSIZE_T ssize_t; --#endif // _WIN32 -- - typedef struct { - char *str; - size_t len; -diff --git a/src/third_party/kms-message/src/kms_response_parser.c b/src/third_party/kms-message/src/kms_response_parser.c -index 31e4868a68..6f86fac854 100644 ---- a/src/third_party/kms-message/src/kms_response_parser.c -+++ b/src/third_party/kms-message/src/kms_response_parser.c -@@ -1,7 +1,7 @@ - #include "kms_message/kms_response_parser.h" - #include "kms_message_private.h" - --#include "kms_message_private.h" -+#include - #include - #include - #include -@@ -24,6 +24,7 @@ _parser_init (kms_response_parser_t *parser) - parser->raw_response = kms_request_str_new (); - parser->content_length = -1; - parser->response = calloc (1, sizeof (kms_response_t)); -+ KMS_ASSERT (parser->response); - parser->response->headers = kms_kv_list_new (); - parser->state = PARSING_STATUS_LINE; - parser->start = 0; -@@ -34,6 +35,8 @@ kms_response_parser_t * - kms_response_parser_new (void) - { - kms_response_parser_t *parser = malloc (sizeof (kms_response_parser_t)); -+ KMS_ASSERT (parser); -+ - _parser_init (parser); - return parser; - } -@@ -59,11 +62,26 @@ static bool - _parse_int (const char *str, int *result) - { - char *endptr = NULL; -+ int64_t long_result; - -- *result = (int) strtol (str, &endptr, 10); -- if (*endptr) { -+ errno = 0; -+ long_result = strtol (str, &endptr, 10); -+ if (endptr == str) { -+ /* No digits were parsed. Consider this an error */ -+ return false; -+ } -+ if (endptr != NULL && *endptr != '\0') { -+ /* endptr points to the first invalid character. */ -+ return false; -+ } -+ if (errno == EINVAL || errno == ERANGE) { -+ return false; -+ } -+ if (long_result > INT32_MAX || long_result < INT32_MIN) { - return false; - } -+ *result = (int) long_result; -+ - return true; - } - -@@ -72,6 +90,8 @@ static bool - _parse_int_from_view (const char *str, int start, int end, int *result) - { - char *num_str = malloc (end - start + 1); -+ KMS_ASSERT (num_str); -+ - bool ret; - - strncpy (num_str, str + start, end - start); -diff --git a/src/third_party/scripts/kms_message_get_sources.sh b/src/third_party/scripts/kms_message_get_sources.sh -index 6ad2fbb0e6..52ce21b9dd 100755 ---- a/src/third_party/scripts/kms_message_get_sources.sh -+++ b/src/third_party/scripts/kms_message_get_sources.sh -@@ -18,7 +18,7 @@ if grep -q Microsoft /proc/version; then - fi - - NAME=libmongocrypt --REVISION=59c8c17bbdfa1cf0fdec60cfdde73a437a868221 -+REVISION=052f7fc610f0cea83a2adf3dd263a5ff04833371 - - if grep -q Microsoft /proc/version; then - SRC_ROOT=$(wslpath -u $(powershell.exe -Command "Get-ChildItem Env:TEMP | Get-Content | Write-Host")) --- -2.24.0 - diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb index b78255a04..95e0cf7a8 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb @@ -11,11 +11,10 @@ DEPENDS = "openssl libpcap zlib boost curl python3 \ inherit scons dos2unix siteinfo python3native systemd useradd -PV = "4.4.4" -#v4.4.4 -SRCREV = "8db30a63db1a9d84bdcad0c83369623f708e0397" +PV = "4.4.6" +#v4.4.6 +SRCREV = "72e66213c2c3eab37d9358d5e78ad7f5c1d0d0d7" SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \ - file://0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch \ file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \ file://0001-Use-long-long-instead-of-int64_t.patch \ file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \ @@ -30,6 +29,8 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \ file://0001-include-needed-c-header.patch \ file://disable_runtime_check.patch \ file://ppc64_ARCH_BITS.patch \ + file://0001-Do-not-use-MINSIGSTKSZ.patch \ + file://0001-Use-explicit-typecast-to-size_t.patch \ " SRC_URI_append_libc-musl ="\ file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \ diff --git a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb deleted file mode 100644 index 049cdeffc..000000000 --- a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "Header-only C++ library for JSON Schema validation" -HOMEPAGE = "https://github.com/tristanpenman/valijson" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2" - -SRC_URI = "git://github.com/tristanpenman/valijson.git" -SRCREV = "7a52fc88cdffd6678c009ca2fad700151f7363c6" - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE = "-DINSTALL_HEADERS=1 -DBUILD_TESTS=0" - -DEPENDS = "curlpp" - -# valijson is a header only C++ library, so the main package will be empty. -RDEPENDS_${PN}-dev = "" - -BBCLASSEXTEND = "native nativesdk" - -do_install() { - install -d ${D}${includedir}/compat - install -d ${D}${includedir}/valijson - install -d ${D}${includedir}/valijson/adapters - install -d ${D}${includedir}/valijson/constraints - install -d ${D}${includedir}/valijson/internal - install -d ${D}${includedir}/valijson/utils - - install -m 0644 ${S}/include/compat/* ${D}${includedir}/compat - install -D -m 0644 ${S}/include/valijson/*.hpp -t ${D}${includedir}/valijson - install -D -m 0644 ${S}/include/valijson/adapters/*.hpp -t ${D}${includedir}/valijson/adapters - install -D -m 0644 ${S}/include/valijson/constraints/*.hpp -t ${D}${includedir}/valijson/constraints - install -D -m 0644 ${S}/include/valijson/internal/*.hpp -t ${D}${includedir}/valijson/internal - install -D -m 0644 ${S}/include/valijson/utils/*.hpp -t ${D}${includedir}/valijson/utils -} diff --git a/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.4.bb b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.4.bb new file mode 100644 index 000000000..63930b960 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.4.bb @@ -0,0 +1,36 @@ +SUMMARY = "Header-only C++ library for JSON Schema validation" +HOMEPAGE = "https://github.com/tristanpenman/valijson" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2" + +SRC_URI = "git://github.com/tristanpenman/valijson.git" +SRCREV = "9183462118f58a3ca4be82b8f656f18707229737" + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DINSTALL_HEADERS=1 -DBUILD_TESTS=0" + +DEPENDS = "curlpp" + +# valijson is a header only C++ library, so the main package will be empty. +RDEPENDS_${PN}-dev = "" + +BBCLASSEXTEND = "native nativesdk" + +do_install() { + install -d ${D}${includedir}/compat + install -d ${D}${includedir}/valijson + install -d ${D}${includedir}/valijson/adapters + install -d ${D}${includedir}/valijson/constraints + install -d ${D}${includedir}/valijson/internal + install -d ${D}${includedir}/valijson/utils + + install -m 0644 ${S}/include/compat/* ${D}${includedir}/compat + install -D -m 0644 ${S}/include/valijson/*.hpp -t ${D}${includedir}/valijson + install -D -m 0644 ${S}/include/valijson/adapters/*.hpp -t ${D}${includedir}/valijson/adapters + install -D -m 0644 ${S}/include/valijson/constraints/*.hpp -t ${D}${includedir}/valijson/constraints + install -D -m 0644 ${S}/include/valijson/internal/*.hpp -t ${D}${includedir}/valijson/internal + install -D -m 0644 ${S}/include/valijson/utils/*.hpp -t ${D}${includedir}/valijson/utils +} diff --git a/meta-openembedded/meta-oe/licenses/Bellcore b/meta-openembedded/meta-oe/licenses/Bellcore new file mode 100644 index 000000000..6bbbf94e6 --- /dev/null +++ b/meta-openembedded/meta-oe/licenses/Bellcore @@ -0,0 +1,13 @@ +Copyright: (c) 1991 Bell Communications Research, Inc. (Bellcore) +License: Bellcore + Permission to use, copy, modify, and distribute this material + for any purpose and without fee is hereby granted, provided + that the above copyright notice and this permission notice + appear in all copies, and that the name of Bellcore not be + used in advertising or publicity pertaining to this + material without the specific, prior written permission + of an authorized representative of Bellcore. BELLCORE + MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY + OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS", + WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. + diff --git a/meta-openembedded/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb b/meta-openembedded/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb new file mode 100644 index 000000000..f21af4b80 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb @@ -0,0 +1,19 @@ +SUMMARY = "Measure socket and RDMA performance" +DESCRIPTION = "qperf measures bandwidth and latency between two nodes." +HOMEPAGE = "https://github.com/linux-rdma/qperf" +AUTHOR = "Johann George" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +inherit autotools-brokensep + +SRCREV = "c706363815a38ff2c5cbc07b73e2cfaaa59bae0f" +SRC_URI = "git://github.com/linux-rdma/qperf.git;protocol=https;branch=master" + +S = "${WORKDIR}/git" + +do_configure() { + ./cleanup + ./autogen.sh + oe_runconf +} diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb deleted file mode 100644 index a02442862..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc" -HOMEPAGE = "https://github.com/cminyard/gensio" -LICENSE = "GPL-2.0 & LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \ - file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \ - " - -SRCREV = "95cfb8f6d8985e2fb8ba51c4887dd70aa7551a03" - -SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=2.2.x" - -S = "${WORKDIR}/git" - -inherit autotools - -PACKAGECONFIG ??= "openssl tcp-wrappers" - -PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl" -PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers" -PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig" - -EXTRA_OECONF = "--without-python" - -RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.5.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.5.bb new file mode 100644 index 000000000..271a66875 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.5.bb @@ -0,0 +1,24 @@ +SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc" +HOMEPAGE = "https://github.com/cminyard/gensio" +LICENSE = "GPL-2.0 & LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \ + file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \ + " + +SRCREV = "ed307629e067a9ef55d79beec9c9f67b86efbaaf" + +SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=2.2.x" + +S = "${WORKDIR}/git" + +inherit autotools + +PACKAGECONFIG ??= "openssl tcp-wrappers" + +PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl" +PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers" +PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig" + +EXTRA_OECONF = "--without-python" + +RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-Prepare-for-CVE-2021-30004.patch.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-Prepare-for-CVE-2021-30004.patch.patch new file mode 100644 index 000000000..1bedb4f75 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-Prepare-for-CVE-2021-30004.patch.patch @@ -0,0 +1,45 @@ +From 14fab0772db19297c82dd1b8612c9335369dce41 Mon Sep 17 00:00:00 2001 +From: Alexander Vickberg +Date: Mon, 17 May 2021 17:54:13 +0200 +Subject: [PATCH] Prepare for CVE-2021-30004.patch + +Without this building fails for CONFIG_TLS=internal + +Signed-off-by: Alexander Vickberg +--- + src/tls/asn1.h | 6 ++++++ + src/utils/includes.h | 1 + + 2 files changed, 7 insertions(+) + +diff --git a/src/tls/asn1.h b/src/tls/asn1.h +index 6bd7df5..77b94ef 100644 +--- a/src/tls/asn1.h ++++ b/src/tls/asn1.h +@@ -66,6 +66,12 @@ void asn1_oid_to_str(const struct asn1_oid *oid, char *buf, size_t len); + unsigned long asn1_bit_string_to_long(const u8 *buf, size_t len); + int asn1_oid_equal(const struct asn1_oid *a, const struct asn1_oid *b); + ++static inline bool asn1_is_null(const struct asn1_hdr *hdr) ++{ ++ return hdr->class == ASN1_CLASS_UNIVERSAL && ++ hdr->tag == ASN1_TAG_NULL; ++} ++ + extern struct asn1_oid asn1_sha1_oid; + extern struct asn1_oid asn1_sha256_oid; + +diff --git a/src/utils/includes.h b/src/utils/includes.h +index 75513fc..741fc9c 100644 +--- a/src/utils/includes.h ++++ b/src/utils/includes.h +@@ -18,6 +18,7 @@ + + #include + #include ++#include + #include + #include + #include +-- +2.25.1 + diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb index e58601868..a9780bc6d 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb @@ -11,6 +11,7 @@ SRC_URI = " \ file://defconfig \ file://init \ file://hostapd.service \ + file://0001-Prepare-for-CVE-2021-30004.patch.patch \ file://CVE-2019-16275.patch \ file://CVE-2019-5061.patch \ file://CVE-2021-0326.patch \ diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch index 63d617f3e..9ed73104e 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch +++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch @@ -1,6 +1,6 @@ -From 0532cddcec9c3abff1f3bc22d2fa50df03d55d17 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 5 Apr 2021 14:11:40 -0700 +From b0b51d762f45ff9d320b96bd0acb89313148a446 Mon Sep 17 00:00:00 2001 +From: Zang Ruochen +Date: Wed, 12 May 2021 14:28:24 +0900 Subject: [PATCH] build: Use abs_top_srcdir instead of abs_srcdir for ell sources this makes it build when build dir is outside of sources dir @@ -10,13 +10,12 @@ Upstream-Status: Submitted [https://lists.01.org/hyperkitty/list/iwd@lists.01.or Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/Makefile.am b/Makefile.am +index 68035e4..e3f7990 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -625,9 +625,10 @@ unit/tls-settings.8021x: unit/cert-ca.pe - BUILT_SOURCES = $(ell_built_sources) src/builtin.h - - ell/shared: Makefile -+ $(AM_V_at)$(MKDIR_P) ell +@@ -628,7 +628,7 @@ ell/shared: Makefile + $(AM_V_at)$(MKDIR_P) ell $(AM_V_GEN)for f in $(ell_shared) ; do \ if [ ! -f $$f ] ; then \ - $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \ @@ -24,7 +23,7 @@ Upstream-Status: Submitted [https://lists.01.org/hyperkitty/list/iwd@lists.01.or fi \ done > $@ -@@ -635,7 +636,7 @@ ell/internal: Makefile +@@ -636,7 +636,7 @@ ell/internal: Makefile $(AM_V_at)$(MKDIR_P) ell $(AM_V_GEN)for f in $(ell_headers) $(ell_sources) ; do \ if [ ! -f $$f ] ; then \ @@ -33,3 +32,6 @@ Upstream-Status: Submitted [https://lists.01.org/hyperkitty/list/iwd@lists.01.or fi \ done > $@ +-- +2.25.1 + diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.13.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.13.bb deleted file mode 100644 index 19d3a509c..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.13.bb +++ /dev/null @@ -1,55 +0,0 @@ -SUMMARY = "Wireless daemon for Linux" -HOMEPAGE = "https://iwd.wiki.kernel.org/" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "ell" - -SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ - file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ - " -SRC_URI[sha256sum] = "b005f7ed0f0a96a2c6181c44560fc868533a18e7034bd4cb43ea0d40c21b4e7a" - -inherit autotools manpages pkgconfig python3native systemd - -PACKAGECONFIG ??= " \ - client \ - monitor \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ -" -PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" -PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" -PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" -PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" -PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" - -EXTRA_OECONF = "--enable-external-ell" - -SYSTEMD_SERVICE_${PN} = " \ - iwd.service \ - ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ -" - -do_configure_prepend() { - install -d ${S}/build-aux -} - -do_install_append() { - # If client and monitor are disabled, bindir is empty, causing a QA error - rmdir --ignore-fail-on-non-empty ${D}/${bindir} -} - -FILES_${PN} += " \ - ${datadir}/dbus-1 \ - ${nonarch_libdir}/modules-load.d \ - ${systemd_unitdir}/network \ -" - -RDEPENDS_${PN} = "dbus" - -RRECOMMENDS_${PN} = "\ - kernel-module-pkcs7-message \ - kernel-module-pkcs8-key-parser \ - kernel-module-x509-key-parser \ -" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.14.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.14.bb new file mode 100644 index 000000000..dbcc319dc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.14.bb @@ -0,0 +1,55 @@ +SUMMARY = "Wireless daemon for Linux" +HOMEPAGE = "https://iwd.wiki.kernel.org/" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "ell" + +SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \ + file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \ + " +SRC_URI[sha256sum] = "21be6ad59ba666ba1e50e01889d647472b9b2f96f4941123db036fd33c257f0b" + +inherit autotools manpages pkgconfig python3native systemd + +PACKAGECONFIG ??= " \ + client \ + monitor \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ +" +PACKAGECONFIG[client] = "--enable-client,--disable-client,readline" +PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor" +PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native" +PACKAGECONFIG[wired] = "--enable-wired,--disable-wired" +PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd" + +EXTRA_OECONF = "--enable-external-ell" + +SYSTEMD_SERVICE_${PN} = " \ + iwd.service \ + ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \ +" + +do_configure_prepend() { + install -d ${S}/build-aux +} + +do_install_append() { + # If client and monitor are disabled, bindir is empty, causing a QA error + rmdir --ignore-fail-on-non-empty ${D}/${bindir} +} + +FILES_${PN} += " \ + ${datadir}/dbus-1 \ + ${nonarch_libdir}/modules-load.d \ + ${systemd_unitdir}/network \ +" + +RDEPENDS_${PN} = "dbus" + +RRECOMMENDS_${PN} = "\ + kernel-module-pkcs7-message \ + kernel-module-pkcs8-key-parser \ + kernel-module-x509-key-parser \ +" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.7.bb b/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.7.bb deleted file mode 100644 index 07a7a1d23..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.7.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Library for IPv6 Neighbor Discovery Protocol" -HOMEPAGE = "http://libndp.org/" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/jpirko/libndp \ - " -# tag for v1.6 -SRCREV = "96674e7d4f4d569c2c961e865cc16152dfab5f09" -S = "${WORKDIR}/git" - -inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.8.bb new file mode 100644 index 000000000..0d35465c8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/libndp/libndp_1.8.bb @@ -0,0 +1,12 @@ +SUMMARY = "Library for IPv6 Neighbor Discovery Protocol" +HOMEPAGE = "http://libndp.org/" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/jpirko/libndp \ + " +# tag for v1.8 +SRCREV = "009ce9cd9b950ffa1f4f94c9436027b936850d0c" +S = "${WORKDIR}/git" + +inherit autotools diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.2.bb deleted file mode 100644 index 9be48b75f..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.2.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" -DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \ - devices which speak the Qualcomm MSM Interface (QMI) protocol" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -DEPENDS = "glib-2.0 glib-2.0-native" - -inherit autotools pkgconfig bash-completion gobject-introspection - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "8c8c3ee719874d2529bce9b35b028fe435b36f003979a360d3ad0938449db783" - -PACKAGECONFIG ??= "udev mbim" -PACKAGECONFIG[udev] = ",--without-udev,libgudev" -PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.4.bb new file mode 100644 index 000000000..c6422c392 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.4.bb @@ -0,0 +1,21 @@ +SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol" +DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \ + devices which speak the Qualcomm MSM Interface (QMI) protocol" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi" +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = "glib-2.0 glib-2.0-native" + +inherit autotools pkgconfig bash-completion gobject-introspection + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "3b14cd2ab5221a7adbb39fed16ef697538ea1c79308821ad2d19b505e1daaea0" + +PACKAGECONFIG ??= "udev mbim" +PACKAGECONFIG[udev] = ",--without-udev,libgudev" +PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.2.bb deleted file mode 100644 index d1ba8e43e..000000000 --- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.2.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" -DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" -LICENSE = "GPL-2.0 & LGPL-2.1" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ -" - -inherit gnomebase gettext systemd vala gobject-introspection bash-completion - -DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native" - -SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz" -SRC_URI[sha256sum] = "efa9a963499e0885f3f163096d433334143c4937545134ecd682e0157fa591e3" -S = "${WORKDIR}/ModemManager-${PV}" - -PACKAGECONFIG ??= "mbim qmi \ - ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \ -" - -PACKAGECONFIG[at] = "--with-at-command-via-dbus" -PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,," -PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit" -# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol. -PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim" -# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol. -PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi" - -EXTRA_OECONF = " \ - --with-udev-base-dir=${nonarch_base_libdir}/udev \ -" - -FILES_${PN} += " \ - ${datadir}/icons \ - ${datadir}/polkit-1 \ - ${datadir}/dbus-1 \ - ${datadir}/ModemManager \ - ${libdir}/ModemManager \ - ${systemd_unitdir}/system \ -" - -FILES_${PN}-dev += " \ - ${libdir}/ModemManager/*.la \ -" - -FILES_${PN}-staticdev += " \ - ${libdir}/ModemManager/*.a \ -" - -FILES_${PN}-dbg += "${libdir}/ModemManager/.debug" - -SYSTEMD_SERVICE_${PN} = "ModemManager.service" diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.4.bb new file mode 100644 index 000000000..f8e8aa1d4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.16.4.bb @@ -0,0 +1,53 @@ +SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" +DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" +LICENSE = "GPL-2.0 & LGPL-2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +inherit gnomebase gettext systemd vala gobject-introspection bash-completion + +DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native" + +SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz" +SRC_URI[sha256sum] = "167e60b26fa05887f87a0b3fb54143d7845e6e4d8c2f2dd93afac059f41e7edf" +S = "${WORKDIR}/ModemManager-${PV}" + +PACKAGECONFIG ??= "mbim qmi \ + ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \ +" + +PACKAGECONFIG[at] = "--with-at-command-via-dbus" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,," +PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit" +# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol. +PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim" +# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol. +PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi" + +EXTRA_OECONF = " \ + --with-udev-base-dir=${nonarch_base_libdir}/udev \ +" + +FILES_${PN} += " \ + ${datadir}/icons \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${datadir}/ModemManager \ + ${libdir}/ModemManager \ + ${systemd_unitdir}/system \ +" + +FILES_${PN}-dev += " \ + ${libdir}/ModemManager/*.la \ +" + +FILES_${PN}-staticdev += " \ + ${libdir}/ModemManager/*.a \ +" + +FILES_${PN}-dbg += "${libdir}/ModemManager/.debug" + +SYSTEMD_SERVICE_${PN} = "ModemManager.service" diff --git a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.2.bb b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.2.bb deleted file mode 100644 index 207d9394e..000000000 --- a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Common GNOME build files for C++ bindings" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase - -SRC_URI[archive.md5sum] = "440133a2676275ae26770b3651f89827" -SRC_URI[archive.sha256sum] = "a2a99f3fa943cf662f189163ed39a2cfc19a428d906dd4f92b387d3659d1641d" -SRC_URI += "file://0001-meson.build-do-not-ask-for-python-installation-versi.patch" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.3.bb b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.3.bb new file mode 100644 index 000000000..ae2bf2d02 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.3.bb @@ -0,0 +1,12 @@ +SUMMARY = "Common GNOME build files for C++ bindings" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase + +SRC_URI[archive.sha256sum] = "e81596625899aacf1d0bf27ccc2fcc7f373405ec48735ca1c7273c0fbcdc1ef5" +SRC_URI += "file://0001-meson.build-do-not-ask-for-python-installation-versi.patch" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index eb095a237..d0665f258 100644 --- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb @@ -74,6 +74,7 @@ RDEPENDS_packagegroup-meta-oe-benchmarks = "\ memtester \ nbench-byte \ phoronix-test-suite \ + qperf \ s-suite \ stressapptest \ sysbench \ @@ -300,6 +301,7 @@ RDEPENDS_packagegroup-meta-oe-devtools ="\ xmlrpc-c \ yasm \ json-schema-validator \ + poke \ " RDEPENDS_packagegroup-meta-oe-devtools_append_x86 = " cpuid msr-tools pmtools" RDEPENDS_packagegroup-meta-oe-devtools_append_x86-64 = " cpuid msr-tools pcimem pmtools" @@ -481,6 +483,7 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\ libforms \ lxdm \ numlockx \ + nyancat \ obconf \ openbox \ packagegroup-fonts-truetype \ @@ -696,6 +699,7 @@ RDEPENDS_packagegroup-meta-oe-security ="\ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "passwdqc", "", d)} \ softhsm \ tomoyo-tools \ + auditd \ " RDEPENDS_packagegroup-meta-oe-shells ="\ @@ -727,6 +731,7 @@ RDEPENDS_packagegroup-meta-oe-support ="\ digitemp \ dstat \ espeak \ + evemu-tools \ exiv2 \ libnice \ c-periphery \ diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/0001-Do-not-download-gtest-automatically.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/0001-Do-not-download-gtest-automatically.patch new file mode 100644 index 000000000..5bd3801f3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/0001-Do-not-download-gtest-automatically.patch @@ -0,0 +1,44 @@ +From af91a20ee201f13e56f225df536a56e5d8d259e8 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 27 May 2021 09:56:49 -0700 +Subject: [PATCH] Do not download gtest automatically + +Signed-off-by: Khem Raj +--- + tests/CMakeLists.txt | 9 +-------- + tests/googletest-download/CMakeLists.txt.in | 3 --- + 2 files changed, 1 insertion(+), 11 deletions(-) + +--- a/tests/googletest-download/CMakeLists.txt.in ++++ b/tests/googletest-download/CMakeLists.txt.in +@@ -7,10 +7,7 @@ project(googletest-download NONE) + include(ExternalProject) + + ExternalProject_Add(googletest +- GIT_REPOSITORY https://github.com/google/googletest.git +- GIT_TAG master +- GIT_SHALLOW 1 +- SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src" ++ SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/googletest-src" + BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build" + UPDATE_COMMAND "" + CONFIGURE_COMMAND "" +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -6,9 +6,7 @@ include(FetchContent) + + message("Fetching googletest...") + FetchContent_Declare(googletest +- GIT_REPOSITORY https://github.com/google/googletest.git +- GIT_TAG master +- GIT_SHALLOW 1 ++ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/googletest-src + UPDATE_COMMAND "") + + #FetchContent_MakeAvailable(googletest) # Not available in CMake 3.13 :-( Let's do it manually: +@@ -144,4 +142,4 @@ endif() + if(NOT CMAKE_CROSSCOMPILING) + add_test(NAME sdbus-c++-unit-tests COMMAND sdbus-c++-unit-tests) + add_test(NAME sdbus-c++-integration-tests COMMAND sdbus-c++-integration-tests) +-endif() ++endif() diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/0001-test-Check-for-googletest-on-system-first.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/0001-test-Check-for-googletest-on-system-first.patch new file mode 100644 index 000000000..8a6aceac8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/0001-test-Check-for-googletest-on-system-first.patch @@ -0,0 +1,41 @@ +From dc5fa7a4b342ef80cda533cdb821841d8183287c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 23 May 2021 09:01:09 -0700 +Subject: [PATCH] test: Check for googletest on system first + +This ensures if googletest is instslled already then use that version +before downloading and building own copy + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + tests/CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 97f7c1a..3dfdd1c 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -2,6 +2,10 @@ + # DOWNLOAD AND BUILD OF GOOGLETEST + #------------------------------- + ++find_package(GTest) ++ ++if(NOT GTest_FOUND) ++ + include(FetchContent) + + message("Fetching googletest...") +@@ -23,7 +27,7 @@ if(NOT googletest_POPULATED) + add_subdirectory(${googletest_SOURCE_DIR} ${googletest_BINARY_DIR}) + set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_BAK}) + endif() +- ++endif() + #------------------------------- + # SOURCE FILES CONFIGURATION + #------------------------------- +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/7c5fd25119a495009ea62f79e5daec34cc464628.patch b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/7c5fd25119a495009ea62f79e5daec34cc464628.patch new file mode 100644 index 000000000..ae449791f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/7c5fd25119a495009ea62f79e5daec34cc464628.patch @@ -0,0 +1,53 @@ +From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 12 Apr 2021 14:03:32 +0200 +Subject: [PATCH] meson: do not fail if rsync is not installed with meson + 0.57.2 + +https://github.com/mesonbuild/meson/issues/8641 + +Our CI started to fail. Even if the change is reverted in meson, +we need a quick workaround here. + +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin +--- + man/meson.build | 25 ++++++++++++++----------- + 1 file changed, 14 insertions(+), 11 deletions(-) + +diff --git a/man/meson.build b/man/meson.build +index 3cae8446cda..f9c4b83dc81 100644 +--- a/man/meson.build ++++ b/man/meson.build +@@ -184,17 +184,20 @@ html = custom_target( + depends : html_pages, + command : ['echo']) + +-run_target( +- 'doc-sync', +- depends : man_pages + html_pages, +- command : ['rsync', '-rlv', +- '--delete-excluded', +- '--include=man', +- '--include=*.html', +- '--exclude=*', +- '--omit-dir-times', +- meson.current_build_dir(), +- get_option('www-target')]) ++rsync = find_program('rsync', required : false) ++if rsync.found() ++ run_target( ++ 'doc-sync', ++ depends : man_pages + html_pages, ++ command : [rsync, '-rlv', ++ '--delete-excluded', ++ '--include=man', ++ '--include=*.html', ++ '--exclude=*', ++ '--omit-dir-times', ++ meson.current_build_dir(), ++ get_option('www-target')]) ++endif + + ############################################################ + diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb index 4b93087f4..dee3eab49 100644 --- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb @@ -12,9 +12,10 @@ DEPENDS += "gperf-native gettext-native util-linux libcap" SRCREV = "efb536d0cbe2e58f80e501d19999928c75e08f6a" SRCBRANCH = "v243-stable" -SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}" - -SRC_URI += "file://static-libsystemd-pkgconfig.patch" +SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \ + file://static-libsystemd-pkgconfig.patch \ + file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \ + " # patches needed by musl SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb index 98829765c..338a89dda 100644 --- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb +++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb @@ -17,7 +17,13 @@ PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${B DEPENDS += "expat" SRCREV = "6e8e5aadb674cccea5bdd55141db5dad887fbacd" -SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master" +SRCREV_gtest = "a3460d1aeeaa43fdf137a6adefef10ba0b59fe4b" +SRCREV_FORMAT = "default_gtest" + +SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master \ + git://github.com/google/googletest.git;protocol=https;branch=master;name=gtest;destsuffix=git/tests/googletest-src \ + file://0001-Do-not-download-gtest-automatically.patch \ +" SRC_URI += "file://run-ptest" EXTRA_OECMAKE = "-DBUILD_CODE_GEN=ON \ diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.14.0.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.14.0.bb deleted file mode 100644 index 13b2c6649..000000000 --- a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.14.0.bb +++ /dev/null @@ -1,53 +0,0 @@ -SUMMARY = "Crypto and TLS for C++11" -HOMEPAGE = "https://botan.randombit.net" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://license.txt;md5=a02e03c8fa2c5e7b9b3fcc1b9811fd3b" -SECTION = "libs" - -SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz" -SRC_URI[md5sum] = "ebc68c08b99bbc4b4fc9bdbfad398b02" -SRC_URI[sha256sum] = "0c10f12b424a40ee19bde00292098e201d7498535c062d8d5b586d07861a54b5" - -S = "${WORKDIR}/Botan-${PV}" - -inherit python3native siteinfo lib_package - -CPU ?= "${TARGET_ARCH}" -CPU_x86 = "x86_32" -CPU_armv7a = "armv7" -CPU_armv7ve = "armv7" - -do_configure() { - python3 ${S}/configure.py \ - --prefix="${D}${exec_prefix}" \ - --libdir="${D}${libdir}" \ - --cpu="${CPU}" \ - --cc-bin="${CXX}" \ - --cxxflags="${CXXFLAGS}" \ - --ldflags="${LDFLAGS}" \ - --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \ - ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \ - --with-sysroot-dir=${STAGING_DIR_HOST} \ - --with-build-dir="${B}" \ - --optimize-for-size \ - --with-stack-protector \ - --enable-shared-library \ - --with-python-versions=3 \ - ${EXTRA_OECONF} -} - -do_compile() { - oe_runmake -} -do_install() { - oe_runmake install - sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc -} - -PACKAGES += "${PN}-python3" - -FILES_${PN}-python3 = "${libdir}/python3" - -RDEPENDS_${PN}-python3 += "python3" - -COMPATIBLE_HOST_riscv32 = "null" diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.18.1.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.18.1.bb new file mode 100644 index 000000000..041eff039 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.18.1.bb @@ -0,0 +1,52 @@ +SUMMARY = "Crypto and TLS for C++11" +HOMEPAGE = "https://botan.randombit.net" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://license.txt;md5=a02e03c8fa2c5e7b9b3fcc1b9811fd3b" +SECTION = "libs" + +SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz" +SRC_URI[sha256sum] = "f8c7b46222a857168a754a5cc329bb780504122b270018dda5304c98db28ae29" + +S = "${WORKDIR}/Botan-${PV}" + +inherit python3native siteinfo lib_package + +CPU ?= "${TARGET_ARCH}" +CPU_x86 = "x86_32" +CPU_armv7a = "armv7" +CPU_armv7ve = "armv7" + +do_configure() { + python3 ${S}/configure.py \ + --prefix="${D}${exec_prefix}" \ + --libdir="${D}${libdir}" \ + --cpu="${CPU}" \ + --cc-bin="${CXX}" \ + --cxxflags="${CXXFLAGS}" \ + --ldflags="${LDFLAGS}" \ + --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \ + ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \ + --with-sysroot-dir=${STAGING_DIR_HOST} \ + --with-build-dir="${B}" \ + --optimize-for-size \ + --with-stack-protector \ + --enable-shared-library \ + --with-python-versions=3 \ + ${EXTRA_OECONF} +} + +do_compile() { + oe_runmake +} +do_install() { + oe_runmake install + sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc +} + +PACKAGES += "${PN}-python3" + +FILES_${PN}-python3 = "${libdir}/python3" + +RDEPENDS_${PN}-python3 += "python3" + +COMPATIBLE_HOST_riscv32 = "null" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.10.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.10.bb new file mode 100644 index 000000000..73b2a0980 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.10.bb @@ -0,0 +1,20 @@ +require mariadb.inc +inherit native + +PROVIDES += "mysql5-native" +DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native" + +RDEPENDS_${PN} = "" +PACKAGES = "" +EXTRA_OEMAKE = "" + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${bindir} + install -m 0755 sql/gen_lex_hash ${D}${bindir}/ + install -m 0755 sql/gen_lex_token ${D}${bindir}/ + install -m 0755 extra/comp_err ${D}${bindir}/ + install -m 0755 scripts/comp_sql ${D}${bindir}/ +} + diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.9.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.9.bb deleted file mode 100644 index 73b2a0980..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.9.bb +++ /dev/null @@ -1,20 +0,0 @@ -require mariadb.inc -inherit native - -PROVIDES += "mysql5-native" -DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native" - -RDEPENDS_${PN} = "" -PACKAGES = "" -EXTRA_OEMAKE = "" - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${bindir} - install -m 0755 sql/gen_lex_hash ${D}${bindir}/ - install -m 0755 sql/gen_lex_token ${D}${bindir}/ - install -m 0755 extra/comp_err ${D}${bindir}/ - install -m 0755 scripts/comp_sql ${D}${bindir}/ -} - diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc index 9833b2885..25e630a16 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -11,7 +11,6 @@ SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz file://install_db \ file://mysql-systemd-start \ file://configure.cmake-fix-valgrind.patch \ - file://fix-a-building-failure.patch \ file://support-files-CMakeLists.txt-fix-do_populate_sysroot.patch \ file://sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \ file://0001-disable-ucontext-on-musl.patch \ @@ -22,10 +21,12 @@ SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \ file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \ file://sys_futex.patch \ + file://cross-compiling.patch \ + file://ssize_t.patch \ " SRC_URI_append_libc-musl = " file://ppc-remove-glibc-dep.patch" -SRC_URI[sha256sum] = "40ab19aeb8de141fdc188cf2251213c9e7351bee4d0cd29db704fae68d1068cf" +SRC_URI[sha256sum] = "a5ff32f9fcaaf26bf5cba94accc7b246d2d5eb75710d027e40122df6bac0babb" UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch new file mode 100644 index 000000000..0f4815b18 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch @@ -0,0 +1,25 @@ +This is not needed for OE builds + +building failed since native does not generate import_executables.cmake +In fact, our building system will export the needed commands + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Roy Li +Signed-off-by: Mingli Yu +Signed-off-by: Khem Raj + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -392,11 +392,6 @@ CHECK_PCRE() + + CHECK_SYSTEMD() + +-IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR) +- SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build") +- INCLUDE(${IMPORT_EXECUTABLES}) +-ENDIF() +- + # + # Setup maintainer mode options. Platform checks are + # not run with the warning options as to not perturb fragile checks diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch deleted file mode 100644 index 9149ee21f..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 1b2b6a61c9f82157cd2e0c3744f6c07e07aeb0bd Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Mon, 4 Mar 2019 01:11:30 -0800 -Subject: [PATCH] fix a building failure - -Upstream-Status: Inappropriate [configuration] - -building failed since native does not generate import_executables.cmake -In fact, our building system will export the needed commands - -Signed-off-by: Roy Li -Signed-off-by: Mingli Yu ---- - CMakeLists.txt | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fc30750..4f9110e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -347,11 +347,6 @@ CHECK_PCRE() - - CHECK_SYSTEMD() - --IF(CMAKE_CROSSCOMPILING) -- SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build") -- INCLUDE(${IMPORT_EXECUTABLES}) --ENDIF() -- - # - # Setup maintainer mode options. Platform checks are - # not run with the warning options as to not perturb fragile checks --- -2.17.1 - diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch index 1ca86bcca..d082d424b 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch @@ -36,7 +36,7 @@ Signed-off-by: Khem Raj + __builtin_ppc_get_timebase(); #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__) /* Mainly, prevent the compiler from optimizing away delay loops */ - __asm__ __volatile__ ("":::"memory"); + __asm__ __volatile__ ("isb":::"memory"); --- a/storage/tokudb/PerconaFT/portability/toku_time.h +++ b/storage/tokudb/PerconaFT/portability/toku_time.h @@ -124,7 +124,7 @@ static inline tokutime_t toku_time_now(v diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ssize_t.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ssize_t.patch new file mode 100644 index 000000000..4e499d413 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ssize_t.patch @@ -0,0 +1,15 @@ +ssize_t comes from sys/types.h therefore include it + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- a/wsrep-lib/include/wsrep/gtid.hpp ++++ b/wsrep-lib/include/wsrep/gtid.hpp +@@ -25,7 +25,7 @@ + #include "compiler.hpp" + + #include +- ++#include + /** + * Minimum number of bytes guaratneed to store GTID string representation, + * terminating '\0' not included (36 + 1 + 20). diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.10.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.10.bb new file mode 100644 index 000000000..8ae8241b0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.10.bb @@ -0,0 +1,27 @@ +require mariadb.inc + +EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" + +DEPENDS += "mariadb-native bison-native boost libpcre2 curl openssl ncurses zlib libaio libedit libevent libxml2" + +PROVIDES += "mysql5 libmysqlclient" + +RPROVIDES_${PN} += "mysql5" +RREPLACES_${PN} += "mysql5" +RCONFLICTS_${PN} += "mysql5" + +RPROVIDES_${PN}-dbg += "mysql5-dbg" +RREPLACES_${PN}-dbg += "mysql5-dbg" +RCONFLICTS_${PN}-dbg += "mysql5-dbg" + +RPROVIDES_${PN}-leftovers += "mysql5-leftovers" +RREPLACES_${PN}-leftovers += "mysql5-leftovers" +RCONFLICTS_${PN}-leftovers += "mysql5-leftovers" + +RPROVIDES_${PN}-client += "mysql5-client" +RREPLACES_${PN}-client += "mysql5-client" +RCONFLICTS_${PN}-client += "mysql5-client" + +RPROVIDES_${PN}-server += "mysql5-server" +RREPLACES_${PN}-server += "mysql5-server" +RCONFLICTS_${PN}-server += "mysql5-server" diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.9.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.9.bb deleted file mode 100644 index e6743fe97..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.9.bb +++ /dev/null @@ -1,27 +0,0 @@ -require mariadb.inc - -EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" - -DEPENDS += "mariadb-native bison-native libpcre2 curl openssl ncurses zlib libaio libedit libevent libxml2" - -PROVIDES += "mysql5 libmysqlclient" - -RPROVIDES_${PN} += "mysql5" -RREPLACES_${PN} += "mysql5" -RCONFLICTS_${PN} += "mysql5" - -RPROVIDES_${PN}-dbg += "mysql5-dbg" -RREPLACES_${PN}-dbg += "mysql5-dbg" -RCONFLICTS_${PN}-dbg += "mysql5-dbg" - -RPROVIDES_${PN}-leftovers += "mysql5-leftovers" -RREPLACES_${PN}-leftovers += "mysql5-leftovers" -RCONFLICTS_${PN}-leftovers += "mysql5-leftovers" - -RPROVIDES_${PN}-client += "mysql5-client" -RREPLACES_${PN}-client += "mysql5-client" -RCONFLICTS_${PN}-client += "mysql5-client" - -RPROVIDES_${PN}-server += "mysql5-server" -RREPLACES_${PN}-server += "mysql5-server" -RCONFLICTS_${PN}-server += "mysql5-server" diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch index 970d750b1..45f283a02 100644 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch @@ -16,7 +16,7 @@ Signed-off-by: Yi Fan Yu +++ b/configure.in @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch un - AC_INIT([PostgreSQL], [13.2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) + AC_INIT([PostgreSQL], [13.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. -Untested combinations of 'autoconf' and PostgreSQL versions are not diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb deleted file mode 100644 index ca8a6c7ce..000000000 --- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb +++ /dev/null @@ -1,12 +0,0 @@ -require postgresql.inc - -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=255f15687738db8068fbe9b938c90217" - -SRC_URI += "\ - file://not-check-libperl.patch \ - file://0001-Add-support-for-RISC-V.patch \ - file://0001-Improve-reproducibility.patch \ - file://0001-configure.in-bypass-autoconf-2.69-version-check.patch \ -" - -SRC_URI[sha256sum] = "5fd7fcd08db86f5b2aed28fcfaf9ae0aca8e9428561ac547764c2a2b0f41adfc" diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.3.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.3.bb new file mode 100644 index 000000000..862dd61bd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_13.3.bb @@ -0,0 +1,12 @@ +require postgresql.inc + +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=255f15687738db8068fbe9b938c90217" + +SRC_URI += "\ + file://not-check-libperl.patch \ + file://0001-Add-support-for-RISC-V.patch \ + file://0001-Improve-reproducibility.patch \ + file://0001-configure.in-bypass-autoconf-2.69-version-check.patch \ +" + +SRC_URI[sha256sum] = "3cd9454fa8c7a6255b6743b767700925ead1b9ab0d7a0f9dcb1151010f8eb4a1" diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch new file mode 100644 index 000000000..52d4f42d5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch @@ -0,0 +1,100 @@ +From a9831f1cbf93fb18dd951453635f488037454ce9 Mon Sep 17 00:00:00 2001 +From: Abseil Team +Date: Mon, 3 May 2021 07:37:39 -0700 +Subject: [PATCH] Export of internal Abseil changes + +-- +cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro : + +Fixes build with latest glibc +Fixes #952 + +PiperOrigin-RevId: 371693908 + +-- +99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen : + +Add support for std::string_view in StrFormat even when +absl::string_view != std::string_view. + +PiperOrigin-RevId: 371693633 + +-- +e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team : + +Cmake builds should only install pkg-config when explicitly requested. + +PiperOrigin-RevId: 371403419 +GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583 +Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea +--- + CMake/AbseilHelpers.cmake | 3 ++- + absl/debugging/failure_signal_handler.cc | 3 ++- + absl/strings/internal/str_format/arg.h | 8 ++++++++ + absl/strings/internal/str_format/convert_test.cc | 3 +++ + 4 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake +index 1f754392..1a80b5b4 100644 +--- a/CMake/AbseilHelpers.cmake ++++ b/CMake/AbseilHelpers.cmake +@@ -141,7 +141,8 @@ function(absl_cc_library) + endif() + + # Generate a pkg-config file for every library: +- if(_build_type STREQUAL "static" OR _build_type STREQUAL "shared") ++ if((_build_type STREQUAL "static" OR _build_type STREQUAL "shared") ++ AND ABSL_ENABLE_INSTALL) + if(NOT ABSL_CC_LIB_TESTONLY) + if(absl_VERSION) + set(PC_VERSION "${absl_VERSION}") +diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc +index e458a795..689e5979 100644 +--- a/absl/debugging/failure_signal_handler.cc ++++ b/absl/debugging/failure_signal_handler.cc +@@ -136,7 +136,8 @@ static bool SetupAlternateStackOnce() { + #else + const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; + #endif +- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; ++ size_t stack_size = ++ (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ + defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) + // Account for sanitizer instrumentation requiring additional stack space. +diff --git a/absl/strings/internal/str_format/arg.h b/absl/strings/internal/str_format/arg.h +index 7040c866..3c91be70 100644 +--- a/absl/strings/internal/str_format/arg.h ++++ b/absl/strings/internal/str_format/arg.h +@@ -122,6 +122,14 @@ StringConvertResult FormatConvertImpl(const std::string& v, + StringConvertResult FormatConvertImpl(string_view v, + FormatConversionSpecImpl conv, + FormatSinkImpl* sink); ++#if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW) ++inline StringConvertResult FormatConvertImpl(std::string_view v, ++ FormatConversionSpecImpl conv, ++ FormatSinkImpl* sink) { ++ return FormatConvertImpl(absl::string_view(v.data(), v.size()), conv, sink); ++} ++#endif // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW ++ + ArgConvertResult + FormatConvertImpl(const char* v, const FormatConversionSpecImpl conv, +diff --git a/absl/strings/internal/str_format/convert_test.cc b/absl/strings/internal/str_format/convert_test.cc +index 926283cf..91e03609 100644 +--- a/absl/strings/internal/str_format/convert_test.cc ++++ b/absl/strings/internal/str_format/convert_test.cc +@@ -229,6 +229,9 @@ TEST_F(FormatConvertTest, BasicString) { + TestStringConvert(static_cast("hello")); + TestStringConvert(std::string("hello")); + TestStringConvert(string_view("hello")); ++#if defined(ABSL_HAVE_STD_STRING_VIEW) ++ TestStringConvert(std::string_view("hello")); ++#endif // ABSL_HAVE_STD_STRING_VIEW + } + + TEST_F(FormatConvertTest, NullString) { +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch index ee0c25473..a4937e1b3 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch +++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch @@ -53,21 +53,21 @@ Signed-off-by: Khem Raj #include "absl/base/attributes.h" #include "absl/base/internal/raw_logging.h" #include "absl/base/macros.h" -@@ -55,8 +59,10 @@ void* GetProgramCounter(void* vuc) { +@@ -63,8 +67,10 @@ void* GetProgramCounter(void* vuc) { return reinterpret_cast(context->uc_mcontext.pc); #elif defined(__powerpc64__) return reinterpret_cast(context->uc_mcontext.gp_regs[32]); -#elif defined(__powerpc__) +#elif defined(__powerpc__) && defined(__GLIBC__) - return reinterpret_cast(context->uc_mcontext.regs->nip); + return reinterpret_cast(context->uc_mcontext.uc_regs->gregs[32]); +#elif defined(__powerpc__) -+ return reinterpret_cast(((struct pt_regs *)context->uc_regs)->nip); ++ return reinterpret_cast(((struct pt_regs *)context->uc_regs)->gregs[32]); #elif defined(__riscv) return reinterpret_cast(context->uc_mcontext.__gregs[REG_PC]); #elif defined(__s390__) && !defined(__s390x__) --- a/absl/debugging/internal/stacktrace_config.h +++ b/absl/debugging/internal/stacktrace_config.h -@@ -64,7 +64,7 @@ +@@ -55,7 +55,7 @@ #elif defined(__i386__) || defined(__x86_64__) #define ABSL_STACKTRACE_INL_HEADER \ "absl/debugging/internal/stacktrace_x86-inl.inc" @@ -76,19 +76,3 @@ Signed-off-by: Khem Raj #define ABSL_STACKTRACE_INL_HEADER \ "absl/debugging/internal/stacktrace_powerpc-inl.inc" #elif defined(__aarch64__) ---- a/absl/debugging/internal/stacktrace_powerpc-inl.inc -+++ b/absl/debugging/internal/stacktrace_powerpc-inl.inc -@@ -130,8 +130,13 @@ static void **NextStackFrame(void **old_ - StacktracePowerPCGetLR(new_sp) == kernel_sigtramp_rt64_address) { - const ucontext_t* signal_context = - reinterpret_cast(uc); -+#if defined(__powerpc64__) - void **const sp_before_signal = - reinterpret_cast(signal_context->uc_mcontext.gp_regs[PT_R1]); -+#else -+ void **const sp_before_signal = -+ reinterpret_cast(signal_context->uc_mcontext.uc_regs->gregs[PT_R1]); -+#endif - // Check that alleged sp before signal is nonnull and is reasonably - // aligned. - if (sp_before_signal != nullptr && diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb index 903b7b4b8..01dd9f550 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb @@ -7,13 +7,14 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915" -PV = "20200923+git${SRCPV}" -SRCREV = "6f9d96a1f41439ac172ee2ef7ccd8edf0e5d068c" -BRANCH = "lts_2020_09_23" +PV = "20210324+git${SRCPV}" +SRCREV = "e1d388e7e74803050423d035e4374131b9b57919" +BRANCH = "lts_2021_03_24" SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH} \ file://0001-absl-always-use-asm-sgidefs.h.patch \ file://0002-Remove-maes-option-from-cross-compilation.patch \ file://abseil-ppc-fixes.patch \ + file://0001-Export-of-internal-Abseil-changes.patch \ " S = "${WORKDIR}/git" @@ -30,5 +31,4 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ BBCLASSEXTEND = "native nativesdk" -FILES_${PN} = "${libdir}/libabsl_*.so" -FILES_${PN}-dev = "${includedir} ${libdir}/cmake" +FILES_${PN}-dev += "${includedir} ${libdir}/cmake ${libdir}/pkgconfig" diff --git a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch new file mode 100644 index 000000000..87fb4992d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch @@ -0,0 +1,33 @@ +From bdd5f0834d95a9598b0d87a18e7e96afade9d418 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 10 May 2021 15:28:05 -0700 +Subject: [PATCH] libbacktrace: include config.h + +Fixes +thirdparty/libbacktrace/backtrace.h:53:10: fatal error: gstdint.h: No such file or directory + 53 | #include "gstdint.h" + | ^~~~~~~~~~~ +compilation terminated. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + thirdparty/libbacktrace/backtrace.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/thirdparty/libbacktrace/backtrace.h b/thirdparty/libbacktrace/backtrace.h +index 2814763f..802cf989 100644 +--- a/thirdparty/libbacktrace/backtrace.h ++++ b/thirdparty/libbacktrace/backtrace.h +@@ -33,6 +33,7 @@ POSSIBILITY OF SUCH DAMAGE. */ + #ifndef BACKTRACE_H + #define BACKTRACE_H + ++#include + #include + #include + +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb new file mode 100644 index 000000000..616d56daa --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "Tools for tracing OpenGL, Direct3D, and other graphics APIs" +HOMEPAGE = "http://apitrace.github.io/" +SECTION = "console/tools" +LICENSE = "MIT & BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50 \ + file://thirdparty/snappy/COPYING;md5=f62f3080324a97b3159a7a7e61812d0c" + +SRCREV = "03e4e9d2cab4f1a61d3f589785641a73dff027c5" +SRC_URI = "git://github.com/${BPN}/${BPN}.git \ + file://0001-libbacktrace-include-config.h.patch \ + " + +S = "${WORKDIR}/git" + +DEPENDS += "zlib libpng python3-native" + +inherit cmake + +EXTRA_OECMAKE += "\ + -DENABLE_GUI=OFF \ + -DENABLE_X11=OFF \ + -DENABLE_STATIC_LIBGCC=OFF \ + -DENABLE_STATIC_LIBSTDCXX=OFF \ + -DPython3_ROOT_DIR=/usr/bin/python3-native \ +" + +# Use the bundled snappy library +EXTRA_OECMAKE += "\ + -DENABLE_STATIC_SNAPPY=ON \ +" + +SECURITY_CFLAGS_toolchain-clang = "" diff --git a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_9.0.bb b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_9.0.bb deleted file mode 100644 index 826291a5e..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_9.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Tools for tracing OpenGL, Direct3D, and other graphics APIs" -HOMEPAGE = "http://apitrace.github.io/" -SECTION = "console/tools" -LICENSE = "MIT & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50 \ - file://thirdparty/snappy/COPYING;md5=f62f3080324a97b3159a7a7e61812d0c" - -SRCREV = "cae55f54c53449fd07f8a917dcd0874db2c15032" -SRC_URI = "git://github.com/${BPN}/${BPN}.git" - -S = "${WORKDIR}/git" - -DEPENDS += "zlib libpng python3-native" - -inherit cmake - -EXTRA_OECMAKE += "\ - -DENABLE_GUI=OFF \ - -DENABLE_X11=OFF \ - -DENABLE_STATIC_LIBGCC=OFF \ - -DENABLE_STATIC_LIBSTDCXX=OFF \ - -DPython3_ROOT_DIR=/usr/bin/python3-native \ -" - -# Use the bundled snappy library -EXTRA_OECMAKE += "\ - -DENABLE_STATIC_SNAPPY=ON \ -" - -SECURITY_CFLAGS_toolchain-clang = "" diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-exception_handler.cc-Match-the-types-for-SIGSTKSZ.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-exception_handler.cc-Match-the-types-for-SIGSTKSZ.patch new file mode 100644 index 000000000..afe8a61b2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/0001-exception_handler.cc-Match-the-types-for-SIGSTKSZ.patch @@ -0,0 +1,34 @@ +From 66a2b6e4ba8e2b49115043127ce4aa0fcd71ad1e Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 11 May 2021 11:12:35 -0700 +Subject: [PATCH] exception_handler.cc: Match the types for SIGSTKSZ + +In glibc 2.34, SIGSTKSZ is a syscall which returns a long int, therefore +current check fails + +| ../git/src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to 'max(int, long int)' +| 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); +| | ~~~~~~~~^~~~~~~~~~~~~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/client/linux/handler/exception_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc +index ca353c40..dc0fc4a9 100644 +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { + // SIGSTKSZ may be too small to prevent the signal handlers from overrunning + // the alternative stack. Ensure that the size of the alternative stack is + // large enough. +- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); ++ static const unsigned kSigStackSize = std::max(16384u, (unsigned)SIGSTKSZ); + + // Only set an alternative stack if there isn't already one, or if the current + // one is too small. +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb index 81955f450..4756ef772 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb @@ -40,6 +40,7 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad;branch=main \ file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \ file://mcontext.patch \ file://0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch \ + file://0001-exception_handler.cc-Match-the-types-for-SIGSTKSZ.patch \ file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \ file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \ file://0001-Do-not-add-stack-pointer-to-clobber-list.patch;patchdir=src/third_party/lss \ diff --git a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.88.bb b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.88.bb deleted file mode 100644 index b6a4ae773..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.88.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Count blank lines, comment lines, and physical lines of source code \ -in many programming languages." -AUTHOR = "Al Danial" - -LICENSE="GPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" - -SRC_URI = "https://github.com/AlDanial/cloc/releases/download/${PV}/${BP}.tar.gz" -SRC_URI[md5sum] = "9f12f29c824ef61c5eaba6cf2dd6e183" -SRC_URI[sha256sum] = "e4e30f083bf4e4a5efbe29efa0f6cefa223ba4e841ad1337653ad1f52702dc6f" - -UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases" - -do_configure[noexec] = "1" -do_compile[noexec] = "1" - -do_install() { - install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc -} - -RDEPENDS_${PN} = "perl perl-modules" diff --git a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.90.bb b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.90.bb new file mode 100644 index 000000000..d34f8c98d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.90.bb @@ -0,0 +1,21 @@ +SUMMARY = "Count blank lines, comment lines, and physical lines of source code \ +in many programming languages." +AUTHOR = "Al Danial" + +LICENSE="GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2" + +SRC_URI = "https://github.com/AlDanial/cloc/releases/download/v${PV}/${BP}.tar.gz" +SRC_URI[md5sum] = "e2364c2c9c9eda1d20890c19911c51fb" +SRC_URI[sha256sum] = "152502a61d4bae4a406a05a01bf52489b310ec03dbd8c645d0bb051fa4717ddb" + +UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc +} + +RDEPENDS_${PN} = "perl perl-modules" diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210502.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210502.0.bb index aca0502db..273d6e573 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210502.0.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210502.0.bb @@ -14,12 +14,21 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" inherit autotools-brokensep pkgconfig manpages -DEPENDS += "libxml2 jansson libyaml python3-docutils-native" SRCREV = "6df08b82d4845d1b9420d9268f24d5db16ee4480" SRC_URI = "git://github.com/universal-ctags/ctags" S = "${WORKDIR}/git" -#do_install() { -# install -Dm 755 ${B}/ctags ${D}${bindir}/ctags -#} +PACKAGECONFIG ??= " \ + readcmd \ + xml \ + json \ + yaml \ +" +PACKAGECONFIG[readcmd] = "--enable-readcmd,--disable-readcmd" +PACKAGECONFIG[etags] = "--enable-etags,--disable-etags" +PACKAGECONFIG[xml] = "--enable-xml,--disable-xml,libxml2" +PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson" +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" +PACKAGECONFIG[yaml] = "--enable-yaml,--disable-yaml,libyaml" +PACKAGECONFIG[manpages] = ",,python3-docutils-native" diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb deleted file mode 100644 index bbc2a4a1d..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Memory Efficient Serialization Library" -HOMEPAGE = "https://github.com/google/flatbuffers" -SECTION = "console/tools" -LICENSE = "Apache-2.0" - -inherit python3-dir - -PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-${PYTHON_PN}" - -RDEPENDS_${PN}-compiler = "${PN}" -RDEPENDS_${PN}-${PYTHON_PN} = "${PN}" -RDEPENDS_${PN}-dev += "${PN}-compiler" - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRCREV = "6df40a2471737b27271bdd9b900ab5f3aec746c7" - -SRC_URI = "git://github.com/google/flatbuffers.git" - -CVE_CHECK_WHITELIST += "CVE-2020-35864" - -CXXFLAGS += "-fPIC" -BUILD_CXXFLAGS += "-fPIC" - -# BUILD_TYPE=Release is required, otherwise flatc is not installed -EXTRA_OECMAKE += "\ - -DCMAKE_BUILD_TYPE=Release \ - -DFLATBUFFERS_BUILD_TESTS=OFF \ - -DFLATBUFFERS_BUILD_SHAREDLIB=ON \ -" - -inherit cmake - -S = "${WORKDIR}/git" - -do_install_append() { - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - cp -rf ${S}/python/flatbuffers ${D}${PYTHON_SITEPACKAGES_DIR} -} - -FILES_${PN}-compiler = "${bindir}" - -FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.0.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.0.bb new file mode 100644 index 000000000..f4f08012b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "Memory Efficient Serialization Library" +HOMEPAGE = "https://github.com/google/flatbuffers" +SECTION = "console/tools" +LICENSE = "Apache-2.0" + +inherit python3-dir + +PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-${PYTHON_PN}" + +RDEPENDS_${PN}-compiler = "${PN}" +RDEPENDS_${PN}-${PYTHON_PN} = "${PN}" +RDEPENDS_${PN}-dev += "${PN}-compiler" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "a9a295fecf3fbd5a4f571f53b01f63202a3e2113" +SRC_URI = "git://github.com/google/flatbuffers.git" +S = "${WORKDIR}/git" + +CVE_CHECK_WHITELIST += "CVE-2020-35864" + +CXXFLAGS += "-fPIC" +BUILD_CXXFLAGS += "-fPIC" + +# BUILD_TYPE=Release is required, otherwise flatc is not installed +EXTRA_OECMAKE += "\ + -DCMAKE_BUILD_TYPE=Release \ + -DFLATBUFFERS_BUILD_TESTS=OFF \ + -DFLATBUFFERS_BUILD_SHAREDLIB=ON \ +" + +inherit cmake + +do_install_append() { + install -d ${D}${PYTHON_SITEPACKAGES_DIR} + cp -rf ${S}/python/flatbuffers ${D}${PYTHON_SITEPACKAGES_DIR} +} + +FILES_${PN}-compiler = "${bindir}" + +FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-devtools/giflib/files/CVE-2019-15133.patch b/meta-openembedded/meta-oe/recipes-devtools/giflib/files/CVE-2019-15133.patch deleted file mode 100644 index 9957be82f..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/giflib/files/CVE-2019-15133.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 799eb6a3af8a3dd81e2429bf11a72a57e541f908 Mon Sep 17 00:00:00 2001 -From: "Eric S. Raymond" -Date: Sun, 17 Mar 2019 12:37:21 -0400 -Subject: [PATCH] Address SF bug #119: MemorySanitizer: FPE on unknown address - ---- - dgif_lib.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Upstream-status: Backport [https://sourceforge.net/p/giflib/code/ci/799eb6a3af8a3dd81e2429bf11a72a57e541f908/] -CVE: CVE-2019-15133 - ---- a/lib/dgif_lib.c 2021-01-13 19:28:18.923493586 +0100 -+++ b/lib/dgif_lib.c 2021-01-13 19:28:55.245863085 +0100 -@@ -1099,7 +1099,7 @@ DGifSlurp(GifFileType *GifFile) - - sp = &GifFile->SavedImages[GifFile->ImageCount - 1]; - /* Allocate memory for the image */ -- if (sp->ImageDesc.Width < 0 && sp->ImageDesc.Height < 0 && -+ if (sp->ImageDesc.Width <= 0 && sp->ImageDesc.Height <= 0 && - sp->ImageDesc.Width > (INT_MAX / sp->ImageDesc.Height)) { - return GIF_ERROR; - } diff --git a/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb b/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb deleted file mode 100644 index 1871bab46..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "shared library for GIF images" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a" - -SRC_URI = " \ - ${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2 \ - file://CVE-2019-15133.patch \ -" - -CVE_PRODUCT = "giflib_project:giflib" - -inherit autotools - -PACKAGES += "${PN}-utils" -FILES_${PN} = "${libdir}/libgif.so.*" -FILES_${PN}-utils = "${bindir}" - -BBCLASSEXTEND = "native" - -RDEPENDS_${PN}-utils = "perl" - -SRC_URI[md5sum] = "2c171ced93c0e83bb09e6ccad8e3ba2b" -SRC_URI[sha256sum] = "df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5" diff --git a/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb b/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb new file mode 100644 index 000000000..105c53eab --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "shared library for GIF images" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a" + +CVE_PRODUCT = "giflib_project:giflib" + +DEPENDS = "xmlto-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.gz" +SRC_URI[sha256sum] = "31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd" + +do_install() { + # using autotools's default will end up in /usr/local + oe_runmake DESTDIR=${D} PREFIX=${prefix} LIBDIR=${libdir} install +} + +PACKAGES += "${PN}-utils" +FILES_${PN} = "${libdir}/libgif.so.*" +FILES_${PN}-utils = "${bindir}" + +BBCLASSEXTEND = "native" + +RDEPENDS_${PN}-utils = "perl" diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-gsec-Fix-build-on-musl.patch b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-gsec-Fix-build-on-musl.patch new file mode 100644 index 000000000..faa18bb7f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-gsec-Fix-build-on-musl.patch @@ -0,0 +1,37 @@ +From 9af185be6068d279736c0d2b2162a4e768444d3d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 29 May 2021 00:41:32 -0700 +Subject: [PATCH] gsec: Fix build on musl + +musl defines iovec struct in alltypes.h file which is included by many +system include files, therefore check for appropriate define from musl +before defining it again + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + src/core/tsi/alts/crypt/gsec.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/core/tsi/alts/crypt/gsec.h b/src/core/tsi/alts/crypt/gsec.h +index 4d65caa944..3c367b2895 100644 +--- a/src/core/tsi/alts/crypt/gsec.h ++++ b/src/core/tsi/alts/crypt/gsec.h +@@ -26,11 +26,14 @@ + #include + + #include ++#include + ++#if !defined(__DEFINED_struct_iovec) + struct iovec { + void* iov_base; + size_t iov_len; + }; ++#endif + + /** + * A gsec interface for AEAD encryption schemes. The API is thread-compatible. +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb deleted file mode 100644 index 03de4997b..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.36.4.bb +++ /dev/null @@ -1,80 +0,0 @@ -DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ -Provides gRPC libraries for multiple languages written on top of shared C core library \ -(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" -HOMEPAGE = "https://github.com/grpc/grpc" -SECTION = "libs" -LICENSE = "Apache-2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2" -DEPENDS_append_class-target = " googletest grpc-native " -DEPENDS_append_class-nativesdk = " grpc-native " - -PACKAGE_BEFORE_PN = "${PN}-compiler" - -RDEPENDS_${PN}-compiler = "${PN}" -RDEPENDS_${PN}-dev += "${PN}-compiler" - -S = "${WORKDIR}/git" -SRCREV_grpc = "3e53dbe8213137d2c731ecd4d88ebd2948941d75" -BRANCH = "v1.36.x" -SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \ - " -# Fixes build with older compilers 4.8 especially on ubuntu 14.04 -CXXFLAGS_append_class-native = " -Wl,--no-as-needed" - -inherit cmake pkgconfig - -EXTRA_OECMAKE = " \ - -DgRPC_CARES_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_PROTOBUF_PROVIDER=package \ - -DgRPC_ABSL_PROVIDER=package \ - -DgRPC_RE2_PROVIDER=package \ - -DgRPC_INSTALL=ON \ - -DCMAKE_CROSSCOMPILING=ON \ - -DBUILD_SHARED_LIBS=ON \ - -DgRPC_INSTALL_LIBDIR=${baselib} \ - -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ - " - -PACKAGECONFIG ??= "cpp" -PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF" -PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" -PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" -PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" -PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" -PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" -PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" -PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite" - -do_configure_prepend() { - sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt -} - -do_configure_prepend_mipsarch() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_powerpc() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_riscv64() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_riscv32() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -do_configure_prepend_toolchain-clang_x86() { - sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt -} - -BBCLASSEXTEND = "native nativesdk" - -SYSROOT_DIRS_BLACKLIST_append_class-target = " ${baselib}/cmake/grpc" - -FILES_${PN}-compiler += "${bindir}" diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.0.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.0.bb new file mode 100644 index 000000000..2095d81d4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.0.bb @@ -0,0 +1,80 @@ +DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \ +Provides gRPC libraries for multiple languages written on top of shared C core library \ +(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)" +HOMEPAGE = "https://github.com/grpc/grpc" +SECTION = "libs" +LICENSE = "Apache-2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2" +DEPENDS_append_class-target = " googletest grpc-native " +DEPENDS_append_class-nativesdk = " grpc-native " + +PACKAGE_BEFORE_PN = "${PN}-compiler" + +RDEPENDS_${PN}-compiler = "${PN}" +RDEPENDS_${PN}-dev += "${PN}-compiler" + +S = "${WORKDIR}/git" +SRCREV_grpc = "54dc182082db941aa67c7c3f93ad858c99a16d7d" +BRANCH = "v1.38.x" +SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \ + " +# Fixes build with older compilers 4.8 especially on ubuntu 14.04 +CXXFLAGS_append_class-native = " -Wl,--no-as-needed" + +inherit cmake pkgconfig + +EXTRA_OECMAKE = " \ + -DgRPC_CARES_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_ABSL_PROVIDER=package \ + -DgRPC_RE2_PROVIDER=package \ + -DgRPC_INSTALL=ON \ + -DCMAKE_CROSSCOMPILING=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DgRPC_INSTALL_LIBDIR=${baselib} \ + -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \ + " + +PACKAGECONFIG ??= "cpp" +PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF" +PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" +PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" +PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" +PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" +PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" +PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" +PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite" + +do_configure_prepend() { + sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt +} + +do_configure_prepend_mipsarch() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +do_configure_prepend_powerpc() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +do_configure_prepend_riscv64() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +do_configure_prepend_riscv32() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +do_configure_prepend_toolchain-clang_x86() { + sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt +} + +BBCLASSEXTEND = "native nativesdk" + +SYSROOT_DIRS_BLACKLIST_append_class-target = " ${baselib}/cmake/grpc" + +FILES_${PN}-compiler += "${bindir}" diff --git a/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch b/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch new file mode 100644 index 000000000..a6547eded --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch @@ -0,0 +1,41 @@ +From bcfc4c8d7dc70bd81367c183a68cc9ee02ab4744 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Fri, 28 May 2021 17:52:57 -0700 +Subject: [PATCH] track: Check for unw_set_caching_policy before using + +llvm libunwind does not implement unw_cache_* functions yet +Include inttypes.h got PRI* macros + +Upstream-Status: Submitted [https://github.com/KDE/heaptrack/pull/33] +Signed-off-by: Khem Raj +--- + src/track/trace_libunwind.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/track/trace_libunwind.cpp b/src/track/trace_libunwind.cpp +index c76337c..96b2176 100644 +--- a/src/track/trace_libunwind.cpp ++++ b/src/track/trace_libunwind.cpp +@@ -26,6 +26,7 @@ + + #define UNW_LOCAL_ONLY + #include ++#include + + #include + +@@ -60,9 +61,11 @@ void Trace::print() + void Trace::setup() + { + // configure libunwind for better speed ++#if UNW_CACHE_PER_THREAD + if (unw_set_caching_policy(unw_local_addr_space, UNW_CACHE_PER_THREAD)) { + fprintf(stderr, "WARNING: Failed to enable per-thread libunwind caching.\n"); + } ++#endif + #if LIBUNWIND_HAS_UNW_SET_CACHE_SIZE + if (unw_set_cache_size(unw_local_addr_space, 1024, 0)) { + fprintf(stderr, "WARNING: Failed to set libunwind cache size.\n"); +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb b/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb index f2235afef..207c45284 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb @@ -14,6 +14,7 @@ SRC_URI = "git://github.com/KDE/heaptrack.git;protocol=https \ file://0002-heaptrack_inject-Include-dlfcn.h-for-dlopen-dlclose.patch \ file://0003-heaptrack_preload-Make-noexcept-attribute-conditiona.patch \ file://0004-backtrace-Always-include-stdint.h.patch \ + file://0001-track-Check-for-unw_set_caching_policy-before-using.patch \ " SRCREV = "bc9e3744bcc47de978673d1e382f4125a1ab5fa8" diff --git a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb deleted file mode 100644 index 77e080c8b..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "Message Passing Interface (MPI) implementation" -HOMEPAGE = "http://www.mpich.org/" -SECTION = "devel" - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163" - -SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" -SRC_URI[sha256sum] = "8836939804ef6d492bcee7d54abafd6477d2beca247157d92688654d13779727" - -RDEPENDS_${PN} += "bash perl libxml2" - -EXTRA_OECONF = "--enable-debuginfo \ - --enable-fast \ - --enable-shared \ - --with-pm=gforker \ - --disable-rpath \ - --disable-f77 \ - --disable-fc \ - --disable-fortran \ - --disable-cxx \ - BASH_SHELL='${USRBINPATH}/env bash' \ - PERL='${USRBINPATH}/env perl' \ - --with-device=ch3:nemesis \ - --with-rdmacm=no \ - --disable-numa \ -" - -PACKAGECONFIG += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ -" -PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" - -inherit autotools gettext pkgconfig - -do_configure() { - for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \ - src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \ - modules/yaksa/m4 modules/json-c modules/ucx test/mpi/dtpools/confdb \ - src/mpl/confdb src/mpi/romio/confdb; do - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d - install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d - done -# cd ${S} -# autoupdate -# autoreconf --verbose --install --force -# cd ${B} - oe_runconf -} - -do_install_append() { - sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la - sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc -} diff --git a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb new file mode 100644 index 000000000..0ee02d685 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb @@ -0,0 +1,56 @@ +SUMMARY = "Message Passing Interface (MPI) implementation" +HOMEPAGE = "http://www.mpich.org/" +SECTION = "devel" + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163" + +SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" +SRC_URI[sha256sum] = "5c19bea8b84e8d74cca5f047e82b147ff3fba096144270e3911ad623d6c587bf" + +RDEPENDS_${PN} += "bash perl libxml2" + +EXTRA_OECONF = "--enable-debuginfo \ + --enable-fast \ + --enable-shared \ + --with-pm=gforker \ + --disable-rpath \ + --disable-f77 \ + --disable-fc \ + --disable-fortran \ + --disable-cxx \ + BASH_SHELL='${USRBINPATH}/env bash' \ + PERL='${USRBINPATH}/env perl' \ + --with-device=ch3:nemesis \ + --with-rdmacm=no \ + --disable-numa \ +" + +PACKAGECONFIG += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ +" +PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" + +LDFLAGS_append_x86-64 = " -lgcc" + +inherit autotools gettext pkgconfig + +do_configure() { + for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \ + src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \ + modules/yaksa/m4 modules/json-c modules/ucx test/mpi/dtpools/confdb \ + src/mpl/confdb src/mpi/romio/confdb; do + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d + install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d + done +# cd ${S} +# autoupdate +# autoreconf --verbose --install --force +# cd ${B} + oe_runconf +} + +do_install_append() { + sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la + sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch b/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch new file mode 100644 index 000000000..3bd041a0e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch @@ -0,0 +1,43 @@ +From cef3fc90f02ef4fc49515745194bac3d81a2265b Mon Sep 17 00:00:00 2001 +From: "Jose E. Marchesi" +Date: Fri, 30 Apr 2021 13:17:05 +0200 +Subject: [PATCH] build: do not check for Tcl/Tk if --disable-gui is specified + +2021-04-30 Jose E. Marchesi + + * configure.ac: Do not check for tcl/tk if --disable-gui is + specified at configure time. + +(cherry picked from commit 280a5e154287e43c0a40d9530a9cc658a7367a9c) +[Romain: remove Changelog entry] +Signed-off-by: Romain Naour +--- + configure.ac | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c7205513..c2f0760a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -214,12 +214,15 @@ fi + dnl The GUI is optional, and depends on the availability of Tcl and + dnl Tk. + +-POKE_TCLTK +- + AC_ARG_ENABLE([gui], + AS_HELP_STRING([--enable-gui], + [Enable the GUI (default is YES)]), +- [gui_enabled=$enableval], [gui_enabled=$has_tcltk]) ++ [gui_enabled=$enableval], [gui_enabled=yes]) ++ ++if test "x$gui_enabled" = "xyes"; then ++ POKE_TCLTK ++ gui_enabled=$has_tcltk ++fi + + AM_CONDITIONAL([GUI], [test "x$gui_enabled" = "xyes"]) + +-- +2.30.2 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch b/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch new file mode 100644 index 000000000..fa55f817f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch @@ -0,0 +1,45 @@ +From c37419e459bd5863534719fa50755174d0912e6d Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 30 Apr 2021 14:32:21 +0200 +Subject: [PATCH] jitter: jitter-config.in: avoit host poisoning while + cross-compiling + +When jitter is bundled into another project (poke), jitter-config --cppflags +return an unsafe path "-I /usr/include". + +In the context of Buildroot, such configuration script woulf be "fixed" +after installation. But jitter-config is not installed by poke since it's +build as static library and liked to poke. + +For now, patch jitter-config.in instead of jitter-config.in.m4sh since +there is an issue while converting the M4sh m4sh script ( .in.m4sh ) +into a portable shell script ( .in ) ready to be processed by aclocal +for @-substitutions. + +[1] https://git.buildroot.net/buildroot/tree/package/pkg-generic.mk?h=2021.02.1#n291 + +Signed-off-by: Romain Naour +--- + jitter/bin/jitter-config.in | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/jitter/bin/jitter-config.in b/jitter/bin/jitter-config.in +index 5e124f0..af0ac9d 100644 +--- a/jitter/bin/jitter-config.in ++++ b/jitter/bin/jitter-config.in +@@ -998,11 +998,7 @@ while test "$#" != "0"; do + append_to_output cflags;; + --cppflags) + no_option_argument +- append_to_output cppflags +- # Append a -I argument. This is defined separately from the rest, +- # as the installation prefix can be decided very late, at Jitter +- # installation time. +- output="$output -I $includedir";; ++ append_to_output cppflags;; + --ldadd) + no_option_argument + append_to_output ldadd;; +-- +2.30.2 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch b/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch new file mode 100644 index 000000000..f217c917f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch @@ -0,0 +1,34 @@ +From 8ba76a5a7ce311f67890199c5595bc1f626495ad Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 30 Apr 2021 15:43:59 +0200 +Subject: [PATCH] configure.ac: HELP2MAN replace ':' by 'true' when + cross-compiling + +Avoid: +/usr/bin/make ./../poke/poke +../run \ + : -p poke --name="The GNU extensible binary editor" \ + ./../poke/poke -o ./poke.1 +../run: line 51: exec: :: not found + +Signed-off-by: Romain Naour +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c2f0760a..93769ef9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -74,7 +74,7 @@ gl_LIBTEXTSTYLE_OPTIONAL([0.20.5]) + if test $cross_compiling = no; then + AM_MISSING_PROG(HELP2MAN, help2man) + else +- HELP2MAN=: ++ HELP2MAN=true + fi + + dnl recfix is part of the GNU recutils suite, and is used in cfg.mk to +-- +2.30.2 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/poke/poke_1.2.bb b/meta-openembedded/meta-oe/recipes-devtools/poke/poke_1.2.bb new file mode 100644 index 000000000..dd118a0aa --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/poke/poke_1.2.bb @@ -0,0 +1,32 @@ +SUMMARY = "GNU poke is an extensible editor for structured binary data" +HOMEPAGE = "https://pokology.org" +DESCRIPTION = "GNU poke is an interactive, extensible editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them." +SECTION = "console/utils" +LICENSE = "GPL-3.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "${GNU_MIRROR}/poke/poke-${PV}.tar.gz \ + file://0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch \ + file://0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch \ + file://0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch \ + " + +DEPENDS = "flex-native bison-native bdwgc readline" + +SRC_URI[sha256sum] = "f61cf8da5b64c01a1359373725aad1ca257f35c1c9269e4d50dd0664183ddf62" + +# poke does not support using out-of-tree builds +inherit autotools-brokensep gettext pkgconfig + +# The automatic m4 path detection gets confused, so force the right value from +# the poke bootstrap script. +acpaths = "-I ./m4" + +EXTRA_OECONF = "--disable-gui \ + --disable-libnbd \ + --with-libreadline-prefix=${STAGING_INCDIR} \ + " + +PACKAGECONFIG[mi] = "--enable-mi,--disable-mi,json-c" + +FILES_${PN} += "${datadir}/emacs/site-lisp" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb deleted file mode 100644 index 0392f9339..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb +++ /dev/null @@ -1,90 +0,0 @@ -SUMMARY = "Protocol Buffers - structured data serialisation mechanism" -DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \ -efficient yet extensible format. Google uses Protocol Buffers for almost \ -all of its internal RPC protocols and file formats." -HOMEPAGE = "https://github.com/google/protobuf" -SECTION = "console/tools" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b" - -DEPENDS = "zlib" -DEPENDS_append_class-target = " protobuf-native" - -SRCREV = "d7e943b8d2bc444a8c770644e73d090b486f8b37" - -SRC_URI = "git://github.com/protocolbuffers/protobuf.git \ - file://run-ptest \ - file://0001-protobuf-fix-configure-error.patch \ - file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \ - file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ -" -S = "${WORKDIR}/git" - -inherit autotools-brokensep pkgconfig ptest - -PACKAGECONFIG ??= "" -PACKAGECONFIG[python] = ",," - -EXTRA_OECONF += "--with-protoc=echo" - -TEST_SRC_DIR = "examples" -LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" - -do_compile_ptest() { - mkdir -p "${B}/${TEST_SRC_DIR}" - - # Add the location of the cross-compiled header and library files - # which haven't been installed yet. - cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" - export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}" - - # Save the pkgcfg sysroot variable, and update it to nothing so - # that it doesn't append the sysroot to the beginning of paths. - # The header and library files aren't installed to the target - # system yet. So the absolute paths were specified above. - save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR - export PKG_CONFIG_SYSROOT_DIR= - - # Compile the tests - for lang in ${LANG_SUPPORT}; do - oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang} - done - - # Restore the pkgconfig sysroot variable - export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir -} - -do_install_ptest() { - local olddir=`pwd` - - cd "${S}/${TEST_SRC_DIR}" - install -d "${D}/${PTEST_PATH}" - for i in add_person* list_people*; do - if [ -x "$i" ]; then - install "$i" "${D}/${PTEST_PATH}" - fi - done - cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}" - cd "$olddir" -} - -PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" - -FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" -FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}" - -RDEPENDS_${PN}-compiler = "${PN}" -RDEPENDS_${PN}-dev += "${PN}-compiler" -RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}" - -MIPS_INSTRUCTION_SET = "mips" - -BBCLASSEXTEND = "native nativesdk" - -LDFLAGS_append_arm = " -latomic" -LDFLAGS_append_mips = " -latomic" -LDFLAGS_append_powerpc = " -latomic" -LDFLAGS_append_mipsel = " -latomic" diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.0.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.0.bb new file mode 100644 index 000000000..81af2d50f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.0.bb @@ -0,0 +1,90 @@ +SUMMARY = "Protocol Buffers - structured data serialisation mechanism" +DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \ +efficient yet extensible format. Google uses Protocol Buffers for almost \ +all of its internal RPC protocols and file formats." +HOMEPAGE = "https://github.com/google/protobuf" +SECTION = "console/tools" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b" + +DEPENDS = "zlib" +DEPENDS_append_class-target = " protobuf-native" + +SRCREV = "652d99a8ee8aa6b801e11977951fbf444cfccc8f" + +SRC_URI = "git://github.com/protocolbuffers/protobuf.git \ + file://run-ptest \ + file://0001-protobuf-fix-configure-error.patch \ + file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \ + file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \ +" +S = "${WORKDIR}/git" + +inherit autotools-brokensep pkgconfig ptest + +PACKAGECONFIG ??= "" +PACKAGECONFIG[python] = ",," + +EXTRA_OECONF += "--with-protoc=echo" + +TEST_SRC_DIR = "examples" +LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}" + +do_compile_ptest() { + mkdir -p "${B}/${TEST_SRC_DIR}" + + # Add the location of the cross-compiled header and library files + # which haven't been installed yet. + cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc" + export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}" + + # Save the pkgcfg sysroot variable, and update it to nothing so + # that it doesn't append the sysroot to the beginning of paths. + # The header and library files aren't installed to the target + # system yet. So the absolute paths were specified above. + save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR + export PKG_CONFIG_SYSROOT_DIR= + + # Compile the tests + for lang in ${LANG_SUPPORT}; do + oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang} + done + + # Restore the pkgconfig sysroot variable + export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir +} + +do_install_ptest() { + local olddir=`pwd` + + cd "${S}/${TEST_SRC_DIR}" + install -d "${D}/${PTEST_PATH}" + for i in add_person* list_people*; do + if [ -x "$i" ]; then + install "$i" "${D}/${PTEST_PATH}" + fi + done + cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}" + cd "$olddir" +} + +PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite" + +FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}" +FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}" + +RDEPENDS_${PN}-compiler = "${PN}" +RDEPENDS_${PN}-dev += "${PN}-compiler" +RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}" + +MIPS_INSTRUCTION_SET = "mips" + +BBCLASSEXTEND = "native nativesdk" + +LDFLAGS_append_arm = " -latomic" +LDFLAGS_append_mips = " -latomic" +LDFLAGS_append_powerpc = " -latomic" +LDFLAGS_append_mipsel = " -latomic" diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-Fix-error-on-aarch64-with-binutils2.35.1.patch b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-Fix-error-on-aarch64-with-binutils2.35.1.patch deleted file mode 100644 index ac17cf433..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace/0001-Fix-error-on-aarch64-with-binutils2.35.1.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0bc502989822506af308a559ac1cd52af82cac03 Mon Sep 17 00:00:00 2001 -From: Lei Maohui -Date: Wed, 14 Apr 2021 09:35:35 +0900 -Subject: [PATCH] Fix error on aarch64 with binutils2.35.1. - -WARN: child terminated by signal: 11: Segmentation fault - -Upstream-status: Pending - -Signed-off-by: Lei Maohui ---- - arch/aarch64/mcount-arch.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/aarch64/mcount-arch.h b/arch/aarch64/mcount-arch.h -index 69efe521..60c2c1ba 100644 ---- a/arch/aarch64/mcount-arch.h -+++ b/arch/aarch64/mcount-arch.h -@@ -31,7 +31,7 @@ struct mcount_arch_context { - double d[ARCH_MAX_FLOAT_REGS]; - }; - --#define ARCH_PLT0_SIZE 32 -+#define ARCH_PLT0_SIZE 16 - #define ARCH_PLTHOOK_ADDR_OFFSET 0 - - struct mcount_disasm_engine; diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.10.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.10.bb new file mode 100644 index 000000000..828c21cf9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.10.bb @@ -0,0 +1,45 @@ +SUMMARY = "Trace and analyze execution of a program written in C/C++" +HOMEPAGE = "https://github.com/namhyung/uftrace" +BUGTRACKER = "https://github.com/namhyung/uftrace/issues" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "elfutils" +DEPENDS_append_libc-musl = " argp-standalone" + +inherit autotools + +PV .= "+git${SRCPV}" +SRCREV = "a5e5a51d32bdfe59af8b453ca08d78cbdf0b3c61" +SRC_URI = "git://github.com/namhyung/${BPN} \ + " +S = "${WORKDIR}/git" + +LDFLAGS_append_libc-musl = " -largp" + +def set_target_arch(d): + import re + arch = d.getVar('TARGET_ARCH') + if re.match(r'i.86', arch, re.I): + return 'i386' + elif re.match('armeb', arch, re.I): + return 'arm' + else: + return arch + +EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \ + with_elfutils=/use/libelf/from/sysroot" + +do_configure() { + ${S}/configure ${EXTRA_UFTRACE_OECONF} +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/*.so" + +COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)" + +# uftrace supports armv6 and above +COMPATIBLE_HOST_armv4 = 'null' +COMPATIBLE_HOST_armv5 = 'null' diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb deleted file mode 100644 index 4b4fc831c..000000000 --- a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Trace and analyze execution of a program written in C/C++" -HOMEPAGE = "https://github.com/namhyung/uftrace" -BUGTRACKER = "https://github.com/namhyung/uftrace/issues" -SECTION = "devel" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "elfutils" -DEPENDS_append_libc-musl = " argp-standalone" - -inherit autotools - -PV .= "+git${SRCPV}" -SRCREV = "d648bbffedef529220896283fb59e35531c13804" -SRC_URI = "git://github.com/namhyung/${BPN} \ - file://0001-Fix-error-on-aarch64-with-binutils2.35.1.patch \ - " -S = "${WORKDIR}/git" - -LDFLAGS_append_libc-musl = " -largp" - -def set_target_arch(d): - import re - arch = d.getVar('TARGET_ARCH') - if re.match(r'i.86', arch, re.I): - return 'i386' - elif re.match('armeb', arch, re.I): - return 'arm' - else: - return arch - -EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \ - with_elfutils=/use/libelf/from/sysroot" - -do_configure() { - ${S}/configure ${EXTRA_UFTRACE_OECONF} -} - -FILES_SOLIBSDEV = "" -FILES_${PN} += "${libdir}/*.so" - -COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)" - -# uftrace supports armv6 and above -COMPATIBLE_HOST_armv4 = 'null' -COMPATIBLE_HOST_armv5 = 'null' diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb deleted file mode 100644 index 5f165617c..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210319.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "display dialog boxes from shell scripts" -DESCRIPTION = "Dialog lets you to present a variety of questions \ -or display messages using dialog boxes from a shell \ -script (or any scripting language)." -HOMEPAGE = "http://invisible-island.net/dialog/" -SECTION = "console/utils" -DEPENDS = "ncurses" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \ - " -SRC_URI[md5sum] = "45a28836769d52c00c800fa3226c530d" -SRC_URI[sha256sum] = "42c6c2b35dd6d1c6cf231238e3bd6d3b7af53fc279a1af547ab9890044d46652" - -# hardcoded here for use in dialog-static recipe -S = "${WORKDIR}/dialog-${PV}" - -inherit autotools-brokensep pkgconfig - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" - -EXTRA_OECONF = "--with-ncurses \ - --disable-rpath-hack" - -do_configure() { - gnu-configize --force - sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure - sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure - oe_runconf -} diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb new file mode 100644 index 000000000..2bfa575d7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb @@ -0,0 +1,31 @@ +SUMMARY = "display dialog boxes from shell scripts" +DESCRIPTION = "Dialog lets you to present a variety of questions \ +or display messages using dialog boxes from a shell \ +script (or any scripting language)." +HOMEPAGE = "http://invisible-island.net/dialog/" +SECTION = "console/utils" +DEPENDS = "ncurses" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz" +SRC_URI[sha256sum] = "ae478fe7d5fca82bcf4b51684641e07d2ee68489d319710fe1e81f41a197bd66" + +# hardcoded here for use in dialog-static recipe +S = "${WORKDIR}/dialog-${PV}" + +inherit autotools-brokensep pkgconfig + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" + +PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11" + +EXTRA_OECONF = "--with-ncurses \ + --disable-rpath-hack" + +do_configure() { + gnu-configize --force + sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure + sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure + oe_runconf +} diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch index f8f1fd00f..7a2ecdc10 100644 --- a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch @@ -21,11 +21,8 @@ index 9241ce5..b24e291 100644 ## Process this file with automake to produce Makefile.in -*-Makefile-*- AUTOMAKE_OPTIONS = foreign --SUBDIRS = config m4 term src docs man demo tutorial share +-SUBDIRS = config m4 term src docs man demo share +SUBDIRS = docs - EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \ - Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \ --- -2.14.3 - + EXTRA_DIST = BUGS Copyright FAQ.pdf INSTALL INSTALL.gnu \ + PATCHLEVEL PGPKEYS README RELEASE_NOTES \ diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch index 8e0b4a271..5f96cdf69 100644 --- a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch @@ -14,18 +14,18 @@ Signed-off-by: Andreas Müller 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am -index 9241ce5..b24e291 100644 +index 7e2c400..a8dbf96 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- AUTOMAKE_OPTIONS = foreign --SUBDIRS = config m4 term src docs man demo tutorial share -+SUBDIRS = config m4 term src docs man tutorial share +-SUBDIRS = config m4 term src docs man demo share ++SUBDIRS = config m4 term src docs man share - EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \ - Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \ + EXTRA_DIST = BUGS Copyright FAQ.pdf INSTALL INSTALL.gnu \ + PATCHLEVEL PGPKEYS README RELEASE_NOTES \ -- -2.14.3 +2.31.1 diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch index a4039c317..c2d2f7f3f 100644 --- a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch @@ -6,16 +6,22 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + Signed-off-by: Andreas Müller + --- docs/Makefile.am | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/Makefile.am b/docs/Makefile.am -index 3baf0c4..e82f87d 100644 +index b20918a..47406eb 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am -@@ -152,7 +152,7 @@ gnuplot-groff.ps: gnuplot.ms $(srcdir)/titlepag.ms +@@ -156,7 +156,7 @@ gnuplot-groff.ps: gnuplot.ms $(srcdir)/titlepag.ms ### doc2xxx dependencies gnuplot.ms: doc2ms$(EXEEXT) $(srcdir)/gnuplot.doc @@ -24,7 +30,7 @@ index 3baf0c4..e82f87d 100644 doc2ms_SOURCES = doc2ms.c termdoc.c doc2ms_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS) -@@ -173,10 +173,10 @@ pdf_figures: $(GNUPLOT_EXE) $(srcdir)/plotstyles.gnu +@@ -177,10 +177,10 @@ pdf_figures: $(GNUPLOT_EXE) $(srcdir)/plotstyles.gnu $(AM_V_GEN)touch $@ figures.tex: allterm.h doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc @@ -37,7 +43,7 @@ index 3baf0c4..e82f87d 100644 pdf: gnuplot.pdf pdf_nofig: nofigures.pdf -@@ -256,7 +256,7 @@ gnuplot.ps: gnuplot.dvi +@@ -260,7 +260,7 @@ gnuplot.ps: gnuplot.dvi hlp: gnuplot.hlp gnuplot.hlp: doc2hlp$(EXEEXT) $(srcdir)/gnuplot.doc @@ -46,7 +52,7 @@ index 3baf0c4..e82f87d 100644 doc2hlp_SOURCES = doc2hlp.c termdoc.c -@@ -264,14 +264,14 @@ doc2hlp_SOURCES = doc2hlp.c termdoc.c +@@ -268,14 +268,14 @@ doc2hlp_SOURCES = doc2hlp.c termdoc.c gih: gnuplot.gih gnuplot.gih: doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc @@ -63,16 +69,16 @@ index 3baf0c4..e82f87d 100644 alldoc2gih_SOURCES = doc2gih.c termdoc.c alldoc2gih_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS) -@@ -286,7 +286,7 @@ $(srcdir)/windows/wgnuplot.hhk +@@ -290,7 +290,7 @@ $(srcdir)/windows/wgnuplot.hhk wxhelp/wgnuplot.hhc wxhelp/wgnuplot.hhk wxhelp/*.html windows/*.png wxhelp/wgnuplot.html: doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc - $(AM_V_GEN) ./doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc wxhelp/ + $(AM_V_GEN) doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc wxhelp/ - #doc2wxhtml_SOURCES = windows/doc2html.c termdoc.c xref.c allterm.h - #doc2wxhtml_CPPFLAGS = -DALL_TERM_DOC -DWXHELP -I../src $(AM_CPPFLAGS) -@@ -336,7 +336,7 @@ install-info: gnuplot.info + doc2wxhtml_SOURCES = windows/doc2html.c termdoc.c xref.c allterm.h + doc2wxhtml_CPPFLAGS = -DALL_TERM_DOC -DWXHELP -I../src $(AM_CPPFLAGS) +@@ -340,7 +340,7 @@ install-info: gnuplot.info ipf: gnuplot.ipf gnuplot.ipf: doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc @@ -81,7 +87,7 @@ index 3baf0c4..e82f87d 100644 doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c -@@ -344,7 +344,7 @@ doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c +@@ -348,7 +348,7 @@ doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c rtf: gnuplot.rtf gnuplot.rtf: doc2rtf$(EXEEXT) $(srcdir)/gnuplot.doc @@ -90,7 +96,7 @@ index 3baf0c4..e82f87d 100644 doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c -@@ -352,13 +352,13 @@ doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c +@@ -356,13 +356,13 @@ doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c rnh: gnuplot.rnh gnuplot.rnh: doc2rnh$(EXEEXT) $(srcdir)/gnuplot.doc diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb deleted file mode 100644 index b2c41756e..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "Gnuplot is a portable command-line driven graphing utility" -DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \ -(text or binary) and function plotting utility." -HOMEPAGE = "http://www.gnuplot.info/" -SECTION = "console/scientific" -LICENSE = "gnuplot" -LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f" -DEPENDS = "${BPN}-native virtual/libx11 gd readline" - -inherit autotools features_check -# depends on virtual/libx11 -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \ - http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \ - file://gnuplot.desktop \ - file://gnuplot.png \ -" -SRC_URI_append_class-target = " \ - file://0002-do-not-build-demos.patch \ - file://0003-Use-native-tools-to-build-docs.patch \ - file://0004-Add-configure-option-to-find-qt5-native-tools.patch \ -" - -SRC_URI[archive.md5sum] = "2df8767c7399bee57a96296d46b4d5fb" -SRC_URI[archive.sha256sum] = "60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37" -SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6" -SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132" - -# for building docs (they deserve it) we need *doc2* tools native -BBCLASSEXTEND = "native" -DEPENDS_class-native = "readline-native" -PACKAGECONFIG_class-native = "" - -SRC_URI_append_class-native = " file://0001-reduce-build-to-conversion-tools-for-native-build.patch" - -do_install_class-native() { - install -d ${D}${bindir} - install ${B}/docs/*doc* ${D}${bindir} - rm ${D}${bindir}/*.o -} - -PACKAGECONFIG ??= "cairo" -PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango" -PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua" -PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native" - -EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \ - --without-tutorial \ - --disable-wxwidgets" - -do_compile_prepend() { - install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/ -} - -do_install_append_class-target() { - install -d ${D}${datadir}/applications/ - install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/ - install -d ${D}${datadir}/pixmaps/ - install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/ -} - -PACKAGES =+ "${PN}-x11" - -RPROVIDES_${PN}-dbg += "${PN}-x11-dbg" - -DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot." -SECTION_${PN}-x11 = "x11/scientific" -FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 " - -FILES_${PN} += "${datadir}/texmf" diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.1.bb b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.1.bb new file mode 100644 index 000000000..3d75f0604 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.1.bb @@ -0,0 +1,71 @@ +SUMMARY = "Gnuplot is a portable command-line driven graphing utility" +DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \ +(text or binary) and function plotting utility." +HOMEPAGE = "http://www.gnuplot.info/" +SECTION = "console/scientific" +LICENSE = "gnuplot" +LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f" +DEPENDS = "${BPN}-native virtual/libx11 gd readline" + +inherit autotools features_check +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz;name=archive \ + http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \ + file://gnuplot.desktop \ + file://gnuplot.png \ +" +SRC_URI_append_class-target = " \ + file://0002-do-not-build-demos.patch \ + file://0003-Use-native-tools-to-build-docs.patch \ + file://0004-Add-configure-option-to-find-qt5-native-tools.patch \ +" + +SRC_URI[archive.sha256sum] = "6b690485567eaeb938c26936e5e0681cf70c856d273cc2c45fabf64d8bc6590e" +SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132" + +# for building docs (they deserve it) we need *doc2* tools native +BBCLASSEXTEND = "native" +DEPENDS_class-native = "readline-native" +PACKAGECONFIG_class-native = "" + +SRC_URI_append_class-native = " file://0001-reduce-build-to-conversion-tools-for-native-build.patch" + +do_install_class-native() { + install -d ${D}${bindir} + install ${B}/docs/*doc* ${D}${bindir} + rm ${D}${bindir}/*.o +} + +PACKAGECONFIG ??= "cairo" +PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango" +PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua" +PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native" + +EXTRA_OECONF = " \ + --with-readline=${STAGING_LIBDIR}/.. \ + -disable-wxwidgets \ +" + +do_compile_prepend() { + install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/ +} + +do_install_append_class-target() { + install -d ${D}${datadir}/applications/ + install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/ + install -d ${D}${datadir}/pixmaps/ + install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/ +} + +PACKAGES =+ "${PN}-x11" + +RPROVIDES_${PN}-dbg += "${PN}-x11-dbg" + +DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot." +SECTION_${PN}-x11 = "x11/scientific" +FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 " + +FILES_${PN} += "${datadir}/texmf" diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch index 794394855..c5e210afc 100644 --- a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch +++ b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch @@ -10,11 +10,9 @@ Signed-off-by: Naveen Saini configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/configure.ac b/configure.ac -index c5e3ca03..4b89396a 100644 --- a/configure.ac +++ b/configure.ac -@@ -140,7 +140,7 @@ AC_CHECK_FUNC([getloadavg],[AC_DEFINE([HAVE_GETLOADAVG2], 1, [getloadavg() is av +@@ -160,7 +160,7 @@ AC_CHECK_FUNCS([backtrace_symbols_fd mem AC_FUNC_SELECT_ARGTYPES AC_MSG_CHECKING([for strlcpy]) @@ -23,7 +21,7 @@ index c5e3ca03..4b89396a 100644 char a[2]; if (strlcpy(a, "yes", 2) != 3) return 1;]])], -@@ -156,7 +156,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]],[[ +@@ -176,7 +176,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#includ ]) AC_MSG_CHECKING([for strlcat]) @@ -32,6 +30,25 @@ index c5e3ca03..4b89396a 100644 char a[4] = "no"; if (strlcat(a, "yes", 4) != 5) return 1;]])], --- -2.17.1 - +@@ -191,21 +191,6 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#includ + [Define to 1 if you have the strlcat function.]) + ]) + +-AC_MSG_CHECKING([for C++11 by default]) +-AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]],[[ +- if (__cplusplus < 201103L) return 1;]])], +- [AC_MSG_RESULT([yes])], +- [AC_MSG_RESULT([no]) +- AC_MSG_CHECKING([for C++11 when forced]) +- CXXFLAGS="$CXXFLAGS -std=c++11" +- AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include ]],[[ +- if (__cplusplus < 201103L) return 1;]])], +- [AC_MSG_RESULT([yes])], +- [AC_MSG_RESULT([no]) +- AC_MSG_ERROR([Need C++11. Please set CXXFLAGS.]) +- ]) +- ]) +- + PKG_CHECK_MODULES([CORE],[fontconfig xrender xcomposite xdamage xfixes xext x11]) + AC_SUBST([CORE_CFLAGS]) + AC_SUBST([CORE_LIBS]) diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb deleted file mode 100644 index 241a2b30f..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb +++ /dev/null @@ -1,46 +0,0 @@ -DESCRIPTION = "Ice Window Manager (IceWM)" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b" - -SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \ - file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \ - " -SRC_URI[sha256sum] = "d41e6abf842ff3f8705a81d352be7c5b181c587549c183de0641c3820234a7b2" - -UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases" - -inherit autotools pkgconfig gettext perlnative features_check qemu update-alternatives -REQUIRED_DISTRO_FEATURES = "x11" - -EXTRA_OECONF += "--with-libdir=${datadir}/icewm \ - --with-cfgdir=${sysconfdir}/icewm \ - --with-docdir=${docdir}/icewm \ - --enable-fribidi \ - --enable-xinerama \ - --enable-shape" - -DEPENDS = "asciidoc-native fontconfig gdk-pixbuf libxft libxpm libxrandr \ - libxinerama libice libsm libx11 libxext libxrender libxcomposite libxdamage \ - libxfixes" -DEPENDS_append = " qemu-native" -RDEPENDS_${PN} = "perl fribidi" - -do_compile_prepend_class-target() { - - cd ${B} - oe_runmake -C src genpref - - qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}',['${B}/src/.libs','${STAGING_DIR_TARGET}/${libdir}','${STAGING_DIR_TARGET}/${base_libdir}'])}" - cat >qemuwrapper < src/preferences -} - -ALTERNATIVE_${PN} = "x-session-manager" -ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/icewm-session" -ALTERNATIVE_PRIORITY_${PN} = "100" - -FILES_${PN} += "${datadir}/xsessions" diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.3.3.bb b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.3.3.bb new file mode 100644 index 000000000..abc3e098c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.3.3.bb @@ -0,0 +1,46 @@ +DESCRIPTION = "Ice Window Manager (IceWM)" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b" + +SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \ + file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \ + " +SRC_URI[sha256sum] = "4162565cf7566d78d786e4ecf4b0639451b8464bcb24e761b1f08ef43e95e513" + +UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases" + +inherit autotools pkgconfig gettext perlnative features_check qemu update-alternatives +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OECONF += "--with-libdir=${datadir}/icewm \ + --with-cfgdir=${sysconfdir}/icewm \ + --with-docdir=${docdir}/icewm \ + --enable-fribidi \ + --enable-xinerama \ + --enable-shape" + +DEPENDS = "asciidoc-native fontconfig fribidi gdk-pixbuf imlib2 libxft libxpm libxrandr \ + libxinerama libice libsm libx11 libxext libxrender libxcomposite libxdamage \ + libxfixes" +DEPENDS_append = " qemu-native" +RDEPENDS_${PN} = "perl fribidi" + +do_compile_prepend_class-target() { + + cd ${B} + oe_runmake -C src genpref + + qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}',['${B}/src/.libs','${STAGING_DIR_TARGET}/${libdir}','${STAGING_DIR_TARGET}/${base_libdir}'])}" + cat >qemuwrapper < src/preferences +} + +ALTERNATIVE_${PN} = "x-session-manager" +ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/icewm-session" +ALTERNATIVE_PRIORITY_${PN} = "100" + +FILES_${PN} += "${datadir}/xsessions" diff --git a/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb index b7c1958ee..116ecd84a 100644 --- a/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb @@ -8,9 +8,9 @@ DEPENDS = "libusb1" inherit autotools pkgconfig -PV = "0.6.0" +PV = "0.7.0" -SRCREV = "1195abc2f4acc7b10175d570ec73549d0938c83e" +SRCREV = "47cbed5355ffda7b952193a770a9a9fa9f89b25b" SRC_URI = "git://github.com/libdivecomputer/libdivecomputer.git;protocol=https \ " diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-build-with-libc.patch b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-build-with-libc.patch new file mode 100644 index 000000000..c1c118196 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/files/0001-Fix-build-with-libc.patch @@ -0,0 +1,36 @@ +From 72e0fe484444169007e481c9b33d8f78ebe03674 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 27 May 2021 15:44:10 -0700 +Subject: [PATCH] Fix build with libc++ + +In libc++ on 32-bit platforms, int64_t is defined as alias of long long. On 64-bit platforms: long. + +On the other hand in definition of std::chrono::duration aliases, that you can find here long long is used + +Therefore create custom unit to avoid incompatibility between libstdc++ +and libc++ + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + extensions/expression-language/Expression.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/extensions/expression-language/Expression.cpp b/extensions/expression-language/Expression.cpp +index a25e1d3f..68d6320c 100644 +--- a/extensions/expression-language/Expression.cpp ++++ b/extensions/expression-language/Expression.cpp +@@ -629,7 +629,8 @@ Value expr_toDate(const std::vector &args) { + #endif // EXPRESSION_LANGUAGE_USE_DATE + + Value expr_now(const std::vector &args) { +- return Value(std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count()); ++ using Milliseconds = std::chrono::duration; ++ return Value(std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count()); + } + + Value expr_unescapeCsv(const std::vector &args) { +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb index 322b58477..86c149ba5 100644 --- a/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb +++ b/meta-openembedded/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb @@ -29,6 +29,7 @@ SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git \ file://0003-cmake-BundledOSSPUUID.cmake-use-ossp-uuid-local-sour.patch \ file://0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch \ file://0001-cxxopts-Add-limits-header.patch \ + file://0001-Fix-build-with-libc.patch \ file://minifi.service \ file://systemd-volatile.conf \ file://sysvinit-volatile.conf \ diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.2.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.2.bb index 62467b01d..c3505ab06 100644 --- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.2.bb +++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.2.bb @@ -22,7 +22,7 @@ DEPENDS = " \ PREMIRRORS = "" SRC_URI = " \ - gitsm://github.com/ostreedev/ostree \ + gitsm://github.com/ostreedev/ostree;branch=main \ file://run-ptest \ " SRCREV = "6a72674ec621a2282043c3a083fe1e45cd6a8761" diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch index ae2751745..1f08d1603 100644 --- a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch @@ -1,4 +1,4 @@ -From b6b1782af4aa7f9084d32e4144738dc2535c8d6f Mon Sep 17 00:00:00 2001 +From 653674e11872465dd5edf1c1e8413ea813d7e086 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 23 Apr 2018 23:07:21 -0700 Subject: [PATCH] Fix narrowing errors -Wc++11-narrowing @@ -17,6 +17,7 @@ also reported here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224930 Upstream-Status: Pending Signed-off-by: Khem Raj + --- CPP/Windows/ErrorMsg.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch index 177d1455f..9ba107807 100644 --- a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch @@ -1,4 +1,7 @@ -p7zip: Fix CVE-2017-17969 +From 7f2da4f810b429ddb7afa0e252e3d02ced0eba87 Mon Sep 17 00:00:00 2001 +From: Radovan Scasny +Date: Tue, 20 Feb 2018 12:08:13 +0100 +Subject: [PATCH] p7zip: Fix CVE-2017-17969 [No upstream tracking] -- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888297 @@ -8,12 +11,18 @@ Compress/ShrinkDecoder.cpp: Heap-based buffer overflow in the NCompress::NShrink::CDecoder::CodeReal method in 7-Zip before 18.00 and p7zip allows remote attackers to cause a denial of service (out-of-bounds write) -or potentially execute arbitrary code via a crafted ZIP archive. +or potentially execute arbitrary code via a crafted ZIP archive. Upstream-Status: Backport [https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/8316/attachment/CVE-2017-17969.patch] CVE: CVE-2017-17969 Signed-off-by: Radovan Scasny +--- + CPP/7zip/Compress/ShrinkDecoder.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/CPP/7zip/Compress/ShrinkDecoder.cpp b/CPP/7zip/Compress/ShrinkDecoder.cpp +index 80b7e67..5bb0559 100644 --- a/CPP/7zip/Compress/ShrinkDecoder.cpp +++ b/CPP/7zip/Compress/ShrinkDecoder.cpp @@ -121,7 +121,12 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream * diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch new file mode 100644 index 000000000..93eb0588c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch @@ -0,0 +1,34 @@ +From 0820ef4b9238c1e39ae5bda32cc08cce3fd3ce89 Mon Sep 17 00:00:00 2001 +From: Nisha Parrakat +Date: Wed, 26 May 2021 19:59:28 +0000 +Subject: [PATCH] fixes the below error + +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp: In member function 'virtual LONG NArchive::NWim::CHandler::GetArchiveProperty(PROPID, PROPVARIANT*)': +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:308:11: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17 +| 308 | numMethods++; +| | ^~~~~~~~~~ +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:318:9: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17 +| 318 | numMethods++; + +use unsigned instead of bool +Signed-off-by: Nisha Parrakat + +Upstream-Status: Pending + +--- + CPP/7zip/Archive/Wim/WimHandler.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CPP/7zip/Archive/Wim/WimHandler.cpp b/CPP/7zip/Archive/Wim/WimHandler.cpp +index 27d3298..4ff5cfe 100644 +--- a/CPP/7zip/Archive/Wim/WimHandler.cpp ++++ b/CPP/7zip/Archive/Wim/WimHandler.cpp +@@ -298,7 +298,7 @@ STDMETHODIMP CHandler::GetArchiveProperty(PROPID propID, PROPVARIANT *value) + + AString res; + +- bool numMethods = 0; ++ unsigned numMethods = 0; + for (unsigned i = 0; i < ARRAY_SIZE(k_Methods); i++) + { + if (methodMask & ((UInt32)1 << i)) diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch index b0a560fe9..2636e7f6f 100644 --- a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch @@ -1,4 +1,7 @@ -do not override compiler and do not strip +From b2aa209dfc5e59d6329b55b9764782334b63dbe8 Mon Sep 17 00:00:00 2001 +From: Raphael Freudiger +Date: Wed, 11 Feb 2015 09:11:47 +0100 +Subject: [PATCH] do not override compiler and do not strip The default makefile sets the compiler to g++ or gcc. This leads to a wrong architecture when cross-compiling. Remove the hardcoded compiler and just append the flags to CXX and CC. @@ -7,9 +10,14 @@ Upstream-Status: Pending Signed-off-by: Raphael Freudiger Reviewed-By: Pascal Bach -diff -Nurp p7zip_15.14.1_orig/makefile.machine p7zip_15.14.1/makefile.machine ---- p7zip_15.14.1_orig/makefile.machine 2016-03-23 20:37:47.000000000 +0100 -+++ p7zip_15.14.1/makefile.machine 2016-06-17 15:33:39.720454477 +0200 +--- + makefile.machine | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/makefile.machine b/makefile.machine +index 9e34c34..e9244d9 100644 +--- a/makefile.machine ++++ b/makefile.machine @@ -2,7 +2,7 @@ # makefile for Linux (x86, PPC, alpha ...) # diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb b/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb index 13479a90f..ada49114c 100644 --- a/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb @@ -9,6 +9,7 @@ SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_al file://do_not_override_compiler_and_do_not_strip.patch \ file://CVE-2017-17969.patch \ file://0001-Fix-narrowing-errors-Wc-11-narrowing.patch \ + file://change_numMethods_from_bool_to_unsigned.patch \ " SRC_URI[md5sum] = "a0128d661cfe7cc8c121e73519c54fbf" @@ -16,10 +17,26 @@ SRC_URI[sha256sum] = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6 S = "${WORKDIR}/${BPN}_${PV}" +do_compile_append() { + oe_runmake 7z +} +FILES_${PN} += "${libdir}/* ${bindir}/7z" + +FILES_SOLIBSDEV = "" +INSANE_SKIP_${PN} += "dev-so" + do_install() { install -d ${D}${bindir} - install -m 0755 ${S}/bin/* ${D}${bindir} + install -d ${D}${bindir}/Codecs + install -d ${D}${libdir} + install -d ${D}${libdir}/Codecs + install -m 0755 ${S}/bin/7za ${D}${bindir} ln -s 7za ${D}${bindir}/7z + install -m 0755 ${S}/bin/Codecs/* ${D}${libdir}/Codecs/ + install -m 0755 ${S}/bin/7z.so ${D}${libdir}/lib7z.so } -BBCLASSEXTEND = "native" +RPROVIDES_${PN} += "lib7z.so()(64bit) 7z lib7z.so" +RPROVIDES_${PN}-dev += "lib7z.so()(64bit) 7z lib7z.so" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch index b5c4133e3..66ab0ee33 100644 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch @@ -10,15 +10,16 @@ e.g. -latomic is needed on clang/x86 to provide for 64bit atomics Upstream-Status: Pending Signed-off-by: Khem Raj + --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile -index 7f7c625..c71dd3b 100644 +index 5564351..83ccd76 100644 --- a/src/Makefile +++ b/src/Makefile -@@ -75,7 +75,7 @@ endif +@@ -91,7 +91,7 @@ endif FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) @@ -26,7 +27,4 @@ index 7f7c625..c71dd3b 100644 +FINAL_LIBS+=-lm DEBUG=-g -ggdb - # Linux ARM needs -latomic at linking time --- -2.23.0 - + # Linux ARM32 needs -latomic at linking time diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.2.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.2.bb deleted file mode 100644 index 65b525709..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.2.bb +++ /dev/null @@ -1,66 +0,0 @@ -SUMMARY = "Redis key-value store" -DESCRIPTION = "Redis is an open source, advanced key-value store." -HOMEPAGE = "http://redis.io" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2" -DEPENDS = "readline lua ncurses" - -SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ - file://redis.conf \ - file://init-redis-server \ - file://redis.service \ - file://hiredis-use-default-CC-if-it-is-set.patch \ - file://lua-update-Makefile-to-use-environment-build-setting.patch \ - file://oe-use-libc-malloc.patch \ - file://0001-src-Do-not-reset-FINAL_LIBS.patch \ - file://GNU_SOURCE.patch \ - file://0006-Define-correct-gregs-for-RISCV32.patch \ - " -SRC_URI[sha256sum] = "7a260bb74860f1b88c3d5942bf8ba60ca59f121c6dce42d3017bed6add0b9535" - -inherit autotools-brokensep update-rc.d systemd useradd - -FINAL_LIBS_x86_toolchain-clang = "-latomic" -FINAL_LIBS_riscv32_toolchain-clang = "-latomic" -FINAL_LIBS_mips = "-latomic" -FINAL_LIBS_arm = "-latomic" -FINAL_LIBS_powerpc = "-latomic" - -export FINAL_LIBS - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" -GROUPADD_PARAM_${PN} = "--system redis" - -REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" - -do_compile_prepend() { - (cd deps && oe_runmake hiredis lua linenoise) -} - -do_install() { - export PREFIX=${D}/${prefix} - oe_runmake install - install -d ${D}/${sysconfdir}/redis - install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf - install -d ${D}/${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server - install -d ${D}/var/lib/redis/ - chown redis.redis ${D}/var/lib/redis/ - - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} - sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service - - if [ "${REDIS_ON_SYSTEMD}" = true ]; then - sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf - fi -} - -CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" - -INITSCRIPT_NAME = "redis-server" -INITSCRIPT_PARAMS = "defaults 87" - -SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.3.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.3.bb new file mode 100644 index 000000000..67ac974de --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.3.bb @@ -0,0 +1,66 @@ +SUMMARY = "Redis key-value store" +DESCRIPTION = "Redis is an open source, advanced key-value store." +HOMEPAGE = "http://redis.io" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2" +DEPENDS = "readline lua ncurses" + +SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \ + file://redis.conf \ + file://init-redis-server \ + file://redis.service \ + file://hiredis-use-default-CC-if-it-is-set.patch \ + file://lua-update-Makefile-to-use-environment-build-setting.patch \ + file://oe-use-libc-malloc.patch \ + file://0001-src-Do-not-reset-FINAL_LIBS.patch \ + file://GNU_SOURCE.patch \ + file://0006-Define-correct-gregs-for-RISCV32.patch \ + " +SRC_URI[sha256sum] = "98ed7d532b5e9671f5df0825bb71f0f37483a16546364049384c63db8764512b" + +inherit autotools-brokensep update-rc.d systemd useradd + +FINAL_LIBS_x86_toolchain-clang = "-latomic" +FINAL_LIBS_riscv32_toolchain-clang = "-latomic" +FINAL_LIBS_mips = "-latomic" +FINAL_LIBS_arm = "-latomic" +FINAL_LIBS_powerpc = "-latomic" + +export FINAL_LIBS + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis" +GROUPADD_PARAM_${PN} = "--system redis" + +REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}" + +do_compile_prepend() { + (cd deps && oe_runmake hiredis lua linenoise) +} + +do_install() { + export PREFIX=${D}/${prefix} + oe_runmake install + install -d ${D}/${sysconfdir}/redis + install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server + install -d ${D}/var/lib/redis/ + chown redis.redis ${D}/var/lib/redis/ + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir} + sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service + + if [ "${REDIS_ON_SYSTEMD}" = true ]; then + sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf + fi +} + +CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf" + +INITSCRIPT_NAME = "redis-server" +INITSCRIPT_PARAMS = "defaults 87" + +SYSTEMD_SERVICE_${PN} = "redis.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch new file mode 100644 index 000000000..27357d88a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy/0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch @@ -0,0 +1,71 @@ +From 4728803cc8687431449c8c9fbfabb1da04943400 Mon Sep 17 00:00:00 2001 +From: "Georgi D. Sotirov" +Date: Wed, 5 May 2021 14:16:46 +0300 +Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE + +Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to +fix the following compilation errors and a warning with GCC: + +[ 2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o +/usr/bin/c++ -DHAVE_CONFIG_H -Dsnappy_EXPORTS +-I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9 -O3 +-march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3 +-DNDEBUG -fPIC -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c +/tmp/snappy-1.1.9/snappy.cc +/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline +function might not be inlinable [-Wattributes] + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair snappy::DecompressBranchless(const uint8_t*, const +uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned +char; ptrdiff_t = int]': +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +CMakeFiles/snappy.dir/build.make:137: recipe for target +'CMakeFiles/snappy.dir/snappy.cc.o' failed + +Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE +macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++ +inline specifier. + +Signed-off-by: Martin Jansa + +Upstream-Status: Submitted [https://github.com/google/snappy/pull/128] +--- + snappy.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/snappy.cc b/snappy.cc +index 79dc0e8..51157be 100644 +--- a/snappy.cc ++++ b/snappy.cc +@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) { + } + + SNAPPY_ATTRIBUTE_ALWAYS_INLINE +-size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { ++inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + const uint8_t*& ip = *ip_p; + // This section is crucial for the throughput of the decompression loop. + // The latency of an iteration is fundamentally constrained by the diff --git a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb deleted file mode 100644 index d6d1e4110..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (C) 2014 Wind River Systems, Inc. -# Released under the BSD-3-Clause license (see COPYING.BSD-3 for the terms) -# -SUMMARY = "A compression/decompression library" -DESCRIPTION = "Snappy is a fast data compression and decompression library \ -It was designed to be very fast and stable, but not to achieve a high \ -compression ratio." - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c" - -SRC_URI = "https://src.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.8.tar.gz/sha512/efe18ff1b3edda1b4b6cefcbc6da8119c05d63afdbf7a784f3490353c74dced76baed7b5f1aa34b99899729192b9d657c33c76de4b507a51553fa8001ae75c1c/snappy-1.1.8.tar.gz" - -SRC_URI[md5sum] = "70e48cba7fecf289153d009791c9977f" -SRC_URI[sha256sum] = "16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f" - -inherit cmake pkgconfig - -PACKAGECONFIG ??= "" -PACKAGECONFIG[lzo] = "-DHAVE_LIBLZO2=1,-DHAVE_LIBLZO2=0,lzo," -TARGET_CFLAGS += "-fPIC" - -EXTRA_OECMAKE += '-DBUILD_SHARED_LIBS="ON" \ - ' diff --git a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb new file mode 100644 index 000000000..5c786d891 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb @@ -0,0 +1,26 @@ +# +# Copyright (C) 2014 Wind River Systems, Inc. +# Released under the BSD-3-Clause license (see COPYING.BSD-3 for the terms) +# +SUMMARY = "A compression/decompression library" +DESCRIPTION = "Snappy is a fast data compression and decompression library \ +It was designed to be very fast and stable, but not to achieve a high \ +compression ratio." + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c" + +SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https \ + file://0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch \ +" +SRCREV = "2b63814b15a2aaae54b7943f0cd935892fae628f" +S = "${WORKDIR}/git" + + +inherit cmake pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[lzo] = "-DHAVE_LIBLZO2=1,-DHAVE_LIBLZO2=0,lzo," +TARGET_CFLAGS += "-fPIC" + +EXTRA_OECMAKE += '-DBUILD_SHARED_LIBS="ON" -DSNAPPY_BUILD_TESTS="OFF" -DSNAPPY_BUILD_BENCHMARKS="OFF"' diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb index d9da19057..f1b77070c 100644 --- a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb +++ b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_git.bb @@ -14,6 +14,7 @@ JIT_mipsarchn32 = "" JIT_mipsarchn64 = "" JIT_riscv64 = "" JIT_riscv32 = "" +JIT_powerpc = "" DEPENDS += "libb64 lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp tbb jq openssl elfutils protobuf protobuf-native jq-native" RDEPENDS_${PN} = "bash" @@ -49,3 +50,4 @@ COMPATIBLE_HOST_libc-musl = "null" COMPATIBLE_HOST_mips = "null" COMPATIBLE_HOST_riscv64 = "null" COMPATIBLE_HOST_riscv32 = "null" +COMPATIBLE_HOST_powerpc = "null" diff --git a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb deleted file mode 100644 index bbfba55a3..000000000 --- a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Library for reading and writing Jcat files" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" - -DEPENDS = "\ - glib-2.0 \ - json-glib \ -" - -SRC_URI = "\ - git://github.com/hughsie/libjcat.git \ - file://run-ptest \ -" -SRCREV = "c4f032468c56a5750e1e15b01fa31539b5c7ae51" -S = "${WORKDIR}/git" - -inherit gobject-introspection gtk-doc meson ptest-gnome vala - -PACKAGECONFIG ??= "\ - gpg \ - pkcs7 \ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ -" -PACKAGECONFIG[gpg] = "-Dgpg=true,-Dgpg=false,gpgme" -PACKAGECONFIG[pkcs7] = "-Dpkcs7=true,-Dpkcs7=false,gnutls gnutls-native" -PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" - -# manpage generation is broken because help2man needs to run the target binary on the host... -EXTRA_OEMESON = "-Dman=false" -GTKDOC_MESON_OPTION = "gtkdoc" - -RDEPENDS_${PN}_class-target = "\ - ${@bb.utils.contains('PACKAGECONFIG', 'gpg', 'gnupg', '', d)} \ -" diff --git a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.7.bb b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.7.bb new file mode 100644 index 000000000..b857cc5bd --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.7.bb @@ -0,0 +1,34 @@ +SUMMARY = "Library for reading and writing Jcat files" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" + +DEPENDS = "\ + glib-2.0 \ + json-glib \ +" + +SRC_URI = "\ + git://github.com/hughsie/libjcat.git \ + file://run-ptest \ +" +SRCREV = "e5307885528cf07058be073d0621624749cc10df" +S = "${WORKDIR}/git" + +inherit gobject-introspection gtk-doc meson ptest-gnome vala + +PACKAGECONFIG ??= "\ + gpg \ + pkcs7 \ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ +" +PACKAGECONFIG[gpg] = "-Dgpg=true,-Dgpg=false,gpgme" +PACKAGECONFIG[pkcs7] = "-Dpkcs7=true,-Dpkcs7=false,gnutls gnutls-native" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" + +# manpage generation is broken because help2man needs to run the target binary on the host... +EXTRA_OEMESON = "-Dman=false" +GTKDOC_MESON_OPTION = "gtkdoc" + +RDEPENDS_${PN}_class-target = "\ + ${@bb.utils.contains('PACKAGECONFIG', 'gpg', 'gnupg', '', d)} \ +" diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch deleted file mode 100644 index 86586fe71..000000000 --- a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 53a4f19887d9ae4e77f32dd6d71c8a7b516b4d5d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Mon, 10 Aug 2020 21:53:33 +0200 -Subject: [PATCH] Do not build tests when introspection is disabled/missing -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes: -| ../libpeas-1.26.0/tests/libpeas/introspection/meson.build:47:0: ERROR: Unknown variable "libpeas_gir". - -Upstrem-Status: Submitted[https://gitlab.gnome.org/GNOME/libpeas/-/merge_requests/28] - -Signed-off-by: Andreas Müller ---- - meson.build | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 8322fea..43fb062 100644 ---- a/meson.build -+++ b/meson.build -@@ -254,7 +254,9 @@ subdir('loaders') - if build_demos == true - subdir('peas-demo') - endif --subdir('tests') -+if generate_gir == true -+ subdir('tests') -+endif - - summary = [ - '', --- -2.26.2 - diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch deleted file mode 100644 index 664693128..000000000 --- a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 3cc69f1eaa86163c3816265fa64cb660f4def364 Mon Sep 17 00:00:00 2001 -From: Christian Hergert -Date: Fri, 13 Mar 2020 10:32:21 -0700 -Subject: [PATCH] demo: add missing locale.h include - -Fixes #39 - -Upstream-Status: backport - -diff --git a/peas-demo/peas-demo.c b/peas-demo/peas-demo.c -index 47ac005..466a392 100644 ---- a/peas-demo/peas-demo.c -+++ b/peas-demo/peas-demo.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include - #include diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb deleted file mode 100644 index fd4ce7de5..000000000 --- a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "libpeas is a gobject-based plugins engine" -HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas" -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d" - -DEPENDS = "gtk+3" - -GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" - -inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache features_check - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI += " \ - file://add_missing_locale_include.patch \ - file://0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch \ -" - -SRC_URI[archive.md5sum] = "f7723bf8433b7984121157e1e9a629b5" -SRC_URI[archive.sha256sum] = "a976d77e20496479a8e955e6a38fb0e5c5de89cf64d9f44e75c2213ee14f7376" - -PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject" - -PACKAGES =+ "${PN}-demo ${PN}-python3" -FILES_${PN}-demo = " \ - ${bindir}/peas-demo \ - ${libdir}/peas-demo \ -" - -RDEPENDS_${PN}-python3 = "python3-pygobject" -FILES_${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so" diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.30.0.bb b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.30.0.bb new file mode 100644 index 000000000..316a92784 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.30.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "libpeas is a gobject-based plugins engine" +HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d" + +DEPENDS = "gtk+3" + +GNOMEBASEBUILDCLASS = "meson" +GTKDOC_MESON_OPTION = "gtk_doc" + +inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI[archive.sha256sum] = "0bf5562e9bfc0382a9dcb81f64340787542568762a3a367d9d90f6185898b9a3" + +PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject" + +PACKAGES =+ "${PN}-demo ${PN}-python3" +FILES_${PN}-demo = " \ + ${bindir}/peas-demo \ + ${libdir}/peas-demo \ +" + +RDEPENDS_${PN}-python3 = "python3-pygobject" +FILES_${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so" diff --git a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb deleted file mode 100644 index d677d2436..000000000 --- a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.0.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "A library to help create and query binary XML blobs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" - -SRC_URI = "\ - git://github.com/hughsie/libxmlb.git \ - file://run-ptest \ -" -SRCREV = "8f2f28eda419dbe31cb1a9aa022f0ca9d30ecb6a" -S = "${WORKDIR}/git" - -inherit gobject-introspection gtk-doc meson ptest-gnome - -PACKAGECONFIG ??= "\ - ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ -" -PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" - -GTKDOC_MESON_OPTION = "gtkdoc" diff --git a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.1.bb b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.1.bb new file mode 100644 index 000000000..72d3aba44 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.1.bb @@ -0,0 +1,19 @@ +SUMMARY = "A library to help create and query binary XML blobs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742" + +SRC_URI = "\ + git://github.com/hughsie/libxmlb.git \ + file://run-ptest \ +" +SRCREV = "98fc241305306de9468249301474820696acb4be" +S = "${WORKDIR}/git" + +inherit gobject-introspection gtk-doc meson ptest-gnome + +PACKAGECONFIG ??= "\ + ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ +" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" + +GTKDOC_MESON_OPTION = "gtkdoc" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb deleted file mode 100644 index d9b6886ec..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.108.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "VCD (Value Change Dump) file waveform viewer" -DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) " -HOMEPAGE = "http://gtkwave.sourceforge.net/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" - -SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz" - -SRC_URI[md5sum] = "dd40f09f44d7aed937e63c29b63cd3af" -SRC_URI[sha256sum] = "ece447340442e7ad029713789552e8392b75dd3808c882ac5193d42fce55eb3b" - -inherit pkgconfig autotools gettext texinfo mime mime-xdg -DEPENDS += "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0" -RDEPENDS_${PN} += "tk-lib" - -# depends on gtk+ which has this restriction -inherit features_check -ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" - -EXTRA_OECONF = "--with-tcl=${STAGING_BINDIR_CROSS} --with-tk=${STAGING_BINDIR_CROSS} --with-tirpc --disable-mime-update" - -FILES_${PN} = "${bindir} ${datadir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.109.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.109.bb new file mode 100644 index 000000000..e1cb3d4a5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.109.bb @@ -0,0 +1,44 @@ +SUMMARY = "VCD (Value Change Dump) file waveform viewer" +DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) " +HOMEPAGE = "http://gtkwave.sourceforge.net/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" + +SRC_URI = "http://gtkwave.sourceforge.net/gtkwave-gtk3-${PV}.tar.gz" +SRC_URI[sha256sum] = "35461eccd9b8b4470caa78ab9a8f14ecacbcc9eff63033d8dce58093e786deb7" +S = "${WORKDIR}/${BPN}-gtk3-${PV}" + +DEPENDS = " \ + gperf-native \ + gtk+3 \ + gdk-pixbuf \ + tcl \ + tk \ + bzip2 \ + xz \ + pango \ + zlib \ +" + +inherit pkgconfig autotools gettext texinfo mime mime-xdg + +inherit features_check +# depends on gtk+3 which has this restriction +# ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +# but https://github.com/gtkwave/gtkwave/blob/f9d82a82aa3ddc30ca47984278371f62c9a3bd81/gtkwave3-gtk3/src/gtk23compat.h#L10 +# explicitly includes gdk/gdkwayland.h for gtk-3.22.26 and newer (oe-core currently has 3.24.29) +# and it needs x11 as well for tk dependency (so it happends to be both GTK3DISTROFEATURES instead of either of them) +REQUIRED_DISTRO_FEATURES = "wayland x11" + +EXTRA_OECONF = " \ + --enable-gtk3 \ + --with-tcl=${STAGING_BINDIR_CROSS} \ + --with-tk=${STAGING_BINDIR_CROSS} \ + --with-tirpc \ + --disable-mime-update \ +" + +FILES_${PN} = "${bindir} ${datadir}" + +RDEPENDS_${PN} += "tk-lib" diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch new file mode 100644 index 000000000..2db67966c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch @@ -0,0 +1,27 @@ +From 97fefd050976bbbfca9608499f6a7d9fb86e70db Mon Sep 17 00:00:00 2001 +From: Sam Lantinga +Date: Tue, 30 Jul 2019 11:00:00 -0700 +Subject: [PATCH] Fixed bug 4538 - validate image size when loading BMP files +--- + src/video/SDL_bmp.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/video/SDL_bmp.c b/src/video/SDL_bmp.c +index 8eadc5f..5b5e12c 100644 +--- a/src/video/SDL_bmp.c ++++ b/src/video/SDL_bmp.c +@@ -143,6 +143,11 @@ SDL_Surface * SDL_LoadBMP_RW (SDL_RWops *src, int freesrc) + (void) biYPelsPerMeter; + (void) biClrImportant; + ++ if (biWidth <= 0 || biHeight == 0) { ++ SDL_SetError("BMP file with bad dimensions (%dx%d)", biWidth, biHeight); ++ was_error = SDL_TRUE; ++ goto done; ++ } + if (biHeight < 0) { + topDown = SDL_TRUE; + biHeight = -biHeight; +-- +2.25.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb index 7a0190832..d91a1856b 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb @@ -27,6 +27,7 @@ SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \ file://CVE-2019-7637.patch \ file://CVE-2019-7638.patch \ file://CVE-2019-7576.patch \ + file://CVE-2019-13616.patch \ " UPSTREAM_CHECK_REGEX = "SDL-(?P\d+(\.\d+)+)\.tar" diff --git a/meta-openembedded/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb b/meta-openembedded/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb new file mode 100644 index 000000000..7ba8f38a9 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb @@ -0,0 +1,17 @@ +SUMMARY = "Render a loop of the Nyan Cat / Poptart Cat animation" +HOMEPAGE = "https://nyancat.dakko.us/" +SECTION = "graphics" + +LICENSE = "NCSA" +LIC_FILES_CHKSUM = "file://src/nyancat.c;beginline=27;endline=49;md5=285f7ac87da4a631f348800687d845bd" + +S = "${WORKDIR}/git" + +SRCREV = "5ffb6c5c03d0e9156db8f360599d4f0449bb16b9" +SRC_URI = " \ + git://github.com/klange/nyancat;protocol=https;branch=master \ +" + +do_install_append() { + install -Dm 0755 ${S}/src/${BPN} ${D}${bindir}/${BPN} +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch deleted file mode 100644 index 6ba1e4268..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 49dd914109fd1ee9e1e917890bf18f85dd95ff31 Mon Sep 17 00:00:00 2001 -From: Reid Kleckner -Date: Sun, 29 Dec 2019 23:17:16 -0800 -Subject: [PATCH] Remove glslang::pool_allocator::setAllocator - -TPoolAllocator is not copy assignable, so this setter could never have -been used. After a recent change (878a24ee2), new versions of Clang -reject this code outright. - -Upstream-Status: Backport [https://github.com/KhronosGroup/glslang/commit/0de87ee9a5bf5d094a3faa1a71fd9080e80b6be0] - -Signed-off-by: Khem Raj ---- - renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h -index 0e237a6a2..b8eccb883 100644 ---- a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h -+++ b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h -@@ -304,7 +304,6 @@ public: - size_type max_size() const { return static_cast(-1) / sizeof(T); } - size_type max_size(int size) const { return static_cast(-1) / size; } - -- void setAllocator(TPoolAllocator* a) { allocator = *a; } - TPoolAllocator& getAllocator() const { return allocator; } - - protected: --- -2.24.1 - diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb new file mode 100644 index 000000000..fa74fb39e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb @@ -0,0 +1,38 @@ +SUMMARY = "RenderDoc recipe providing renderdoccmd" +DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger" +HOMEPAGE = "https://github.com/baldurk/renderdoc" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5486c0df458c74c85828e0cdbffd499e" + +SRCREV = "cc05b288b6d1660ab04c6cf01173f1bb62e6f5dd" +SRC_URI = " \ + git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \ + file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \ +" +S = "${WORKDIR}/git" + +DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native" + +RDEPENDS_${PN} = "libxcb xcb-util-keysyms" + +inherit cmake python3native features_check + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +python __anonymous () { + # only works on glibc systems + if d.getVar('TCLIBC') != "glibc": + raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC')) +} + +COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux" + +EXTRA_OECMAKE += "\ + -DENABLE_QRENDERDOC=OFF \ + -DENABLE_PYRENDERDOC=OFF \ + -DENABLE_RENDERDOCCMD=ON \ + -DCMAKE_BUILD_TYPE=Release \ +" + +FILES_${PN} += "${libdir}" +FILES_${PN}-dev = "${includedir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb deleted file mode 100644 index 6ea632d06..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "RenderDoc recipe providing renderdoccmd" -DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger" -HOMEPAGE = "https://github.com/baldurk/renderdoc" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=df7ea9e196efc7014c124747a0ef9772" - -SRCREV = "a56af589d94dc851809fd5344d0ae441da70c1f2" -SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \ - file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \ - file://0001-Remove-glslang-pool_allocator-setAllocator.patch \ -" -S = "${WORKDIR}/git" - -DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native" - -RDEPENDS_${PN} = "libxcb xcb-util-keysyms" - -inherit cmake python3native features_check - -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -python __anonymous () { - # only works on glibc systems - if d.getVar('TCLIBC') != "glibc": - raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC')) -} - -COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux" - -EXTRA_OECMAKE += "\ - -DENABLE_QRENDERDOC=OFF \ - -DENABLE_PYRENDERDOC=OFF \ - -DENABLE_RENDERDOCCMD=ON \ - -DCMAKE_BUILD_TYPE=Release \ -" - -FILES_${PN} += "${libdir}" -FILES_${PN}-dev = "${includedir}" diff --git a/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch b/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch index fb90432ea..93f1a9f42 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch +++ b/meta-openembedded/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch @@ -1,41 +1,28 @@ -From e97bb73851f5bbd94260da553a222526485cdfb1 Mon Sep 17 00:00:00 2001 +From 9de4f5fa81891e14e205fe61e1408f1218369e55 Mon Sep 17 00:00:00 2001 From: Leon Anavi -Date: Fri, 15 Nov 2019 18:24:42 +0000 +Date: Tue, 18 May 2021 15:03:22 +0000 Subject: [PATCH] config.mk: Fix compiler and linker -Do not set explicitly compiler and linker. +Fix LIBS Signed-off-by: Leon Anavi --- - config.mk | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) + config.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.mk b/config.mk -index df6e812..5deb991 100644 +index 2eb9fb0..032bf9f 100644 --- a/config.mk +++ b/config.mk -@@ -15,17 +15,17 @@ GTKINC = `pkg-config --cflags gtk+-3.0 webkit2gtk-4.0` - GTKLIB = `pkg-config --libs gtk+-3.0 webkit2gtk-4.0` +@@ -19,7 +19,7 @@ WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio- # includes and libs --INCS = -I. -I/usr/include -I${X11INC} ${GTKINC} --LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0 -+INCS = ${GTKINC} + INCS = $(X11INC) $(GTKINC) +-LIBS = $(X11LIB) $(GTKLIB) -lgthread-2.0 +LIBS = -lc -lX11 ${GTKLIB} -lgthread-2.0 # flags - CPPFLAGS = -DVERSION=\"${VERSION}\" -DWEBEXTDIR=\"${LIBPREFIX}\" -D_DEFAULT_SOURCE - CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} --LDFLAGS = -s ${LIBS} -+LDFLAGS = ${LIBS} - - # Solaris - #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" - #LDFLAGS = ${LIBS} - - # compiler and linker --CC = cc -+CC ?= cc + CPPFLAGS = -DVERSION=\"$(VERSION)\" -DGCR_API_SUBJECT_TO_CHANGE \ -- -2.7.4 +2.17.1 diff --git a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb deleted file mode 100644 index 989730186..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.0.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Simple web browser" -DESCRIPTION = "Simple open source web browser based on WebKit2/GTK" -HOMEPAGE = "https://surf.suckless.org/" -SECTION = "x11/graphics" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b57e7f7720307a02d5a6598b00fe3afa" - -DEPENDS = "webkitgtk gtk+3 glib-2.0" - -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \ - file://0001-config.mk-Fix-compiler-and-linker.patch \ -" -SRCREV = "b814567e2bf8bda07cea8de1c7a062f4aa437b65" - -S = "${WORKDIR}/git" - -inherit pkgconfig features_check - -TARGET_CC_ARCH += "${LDFLAGS}" - -do_install () { - install -D -m 0755 ${S}/surf ${D}${bindir}/surf -} diff --git a/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.1.bb b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.1.bb new file mode 100644 index 000000000..307ee9b98 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/surf/surf_2.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "Simple web browser" +DESCRIPTION = "Simple open source web browser based on WebKit2/GTK" +HOMEPAGE = "https://surf.suckless.org/" +SECTION = "x11/graphics" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2a6f86d002ae9ae1eb1ccc466289f146" + +DEPENDS = "webkitgtk gtk+3 glib-2.0 gcr" + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \ + file://0001-config.mk-Fix-compiler-and-linker.patch \ +" +SRCREV = "bcd7d74e613fb8af11b40c351f0a6c1a771b2d2b" + +S = "${WORKDIR}/git" + +inherit pkgconfig features_check + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install () { + install -D -m 0755 ${S}/surf ${D}${bindir}/surf +} diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb new file mode 100644 index 000000000..c9cb74c9f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb @@ -0,0 +1,23 @@ +require ttf.inc + +SUMMARY = "The project goal is to improve existing offerings of the fonts \ +- making sure the Lohit fonts deliver the best available quality and functions \ +to the community." +HOMEPAGE = "https://fedorahosted.org/lohit" +LICENSE = "OFL-1.1" +LIC_FILES_CHKSUM = "file://OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402" + +SRCREV = "a403c9b7f509dad5e58dde85ef63b1c36fde3a21" +SRC_URI = "git://github.com/pravins/lohit.git;branch=master" + +DEPENDS = "fontforge-native" +S = "${WORKDIR}/git" +FONT_PACKAGES = "${PN}" +FILES_${PN} = "${datadir}" + +inherit python3native + +do_compile() { + cd ${S}; make ttf; +} + diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb deleted file mode 100644 index 0af0e91d6..000000000 --- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb +++ /dev/null @@ -1,23 +0,0 @@ -require ttf.inc - -SUMMARY = "The project goal is to improve existing offerings of the fonts \ -- making sure the Lohit fonts deliver the best available quality and functions \ -to the community." -HOMEPAGE = "https://fedorahosted.org/lohit" -LICENSE = "OFL-1.1" -LIC_FILES_CHKSUM = "file://OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402" - -SRCREV = "d678f1b1807ea5602586279e90b5db6d62ed475e" -SRC_URI = "git://github.com/pravins/lohit.git;branch=master" - -DEPENDS = "fontforge-native" -S = "${WORKDIR}/git" -FONT_PACKAGES = "${PN}" -FILES_${PN} = "${datadir}" - -inherit python3native - -do_compile() { - cd ${S}; make ttf; -} - diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts.patch new file mode 100644 index 000000000..2fd1d7123 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts.patch @@ -0,0 +1,40 @@ +From 273df2423d9226093310cbcaa8b924bb6b5d6586 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 31 May 2021 17:31:33 -0700 +Subject: [PATCH] vulkancts: + +O_TRUNC value in OperationId enum collides with the macro O_TRUNC +defined in the POSIX header fnctl.h. To avoid the collision undefine +O_TRUNC in this particular sourcefile before its is used in enums +down below. + +This is fixed upstream differently +https://github.com/KhronosGroup/VK-GL-CTS/commit/564c6062f72fe7ecd92b4aea1558c441e651c76b + +But until we get this module uprev'ed to that, lets use a simpler +workaround + +Upstream-Status: Inappropriate [Fixed Differently] +Signed-off-by: Khem Raj +--- + .../vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp +index 22e6c75fa..db7f4b54a 100644 +--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp ++++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp +@@ -38,6 +38,10 @@ + #include + #include + ++#ifdef O_TRUNC ++#undef O_TRUNC ++#endif ++ + namespace vkt + { + namespace SpirVAssembly +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc index d0f0e2342..dc38bd169 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc +++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc @@ -24,6 +24,7 @@ DEPENDS += "libpng zlib virtual/libgles2 virtual/egl" SRC_URI += "file://0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch;patchdir=external/amber/src \ file://0001-Include-limits-header-for-numeric_limits.patch;patchdir=external/vulkancts \ + file://0001-vulkancts.patch \ " SRC_URI_append_libc-musl = "\ diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch index 270cc3562..2b108ab6c 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch +++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch @@ -17,10 +17,8 @@ Signed-off-by: Mingli Yu Makefile | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) -Index: git/Makefile -=================================================================== ---- git.orig/Makefile -+++ git/Makefile +--- a/Makefile ++++ b/Makefile @@ -8,12 +8,6 @@ ifeq ($(strip $CC),) CC = gcc endif @@ -79,7 +77,7 @@ Index: git/Makefile + -DRELEASE_DATE='"$(DATE)"' + SRC_BASE = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h sadump_info.h - SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c tools.c + SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c tools.c printk.c OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART)) @@ -52,12 +53,12 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH)) @@ -104,7 +102,7 @@ Index: git/Makefile +CFLAGS_COMMON += -DUSESNAPPY endif - LIBS := -lpthread $(LIBS) + LIBS := $(LIBS) -lpthread @@ -90,14 +91,14 @@ LIBS := $(LIBS) $(call try-run,\ all: makedumpfile diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch index 85d883365..f46fb3117 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch +++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch @@ -28,10 +28,8 @@ Signed-off-by: Mingli Yu arch/ppc64.c | 38 ++------------------------------------ 1 file changed, 2 insertions(+), 36 deletions(-) -Index: git/arch/ppc64.c -=================================================================== ---- git.orig/arch/ppc64.c -+++ git/arch/ppc64.c +--- a/arch/ppc64.c ++++ b/arch/ppc64.c @@ -462,44 +462,6 @@ ppc64_vtop_level4(unsigned long vaddr) return paddr; } diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.8.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.8.bb deleted file mode 100644 index 475465124..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.8.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "VMcore extraction tool" -DESCRIPTION = "\ - This program is used to extract a subset of the memory available either \ - via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \ - images without extra uneeded information (zero pages, userspace programs, \ - etc). \ -" -HOMEPAGE = "https://github.com/makedumpfile/makedumpfile" - -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -LICENSE = "GPLv2.0" - -SRCBRANCH ?= "master" -SRCREV = "18e0cdba48feeccea2429b3b0b2691f4314d1062" - -DEPENDS = "bzip2 zlib elfutils xz" -RDEPENDS_${PN}-tools = "perl ${PN}" - -# arm and aarch64 would compile but has never been tested upstream. mips would not compile. -# -COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux" - -PACKAGES =+ "${PN}-tools" -FILES_${PN}-tools = "${bindir}/*.pl" - -SRC_URI = "\ - git://github.com/makedumpfile/makedumpfile;branch=${SRCBRANCH} \ - file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \ - file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \ -" - -S = "${WORKDIR}/git" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" - -SECTION = "base" - -# If we do not specify TARGET, makedumpfile will build for the host but use the -# target gcc. -# -EXTRA_OEMAKE = "\ - LINKTYPE=static \ - TARGET=${TARGET_ARCH} \ - ${PACKAGECONFIG_CONFARGS} \ -" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[lzo] = "USELZO=on,USELZO=off,lzo" -PACKAGECONFIG[snappy] = "USESNAPPY=on,USESNAPPY=off,snappy" - -do_install () { - mkdir -p ${D}/usr/bin - install -m 755 ${S}/makedumpfile ${D}/usr/bin - install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin - - mkdir -p ${D}/usr/share/man/man8 - install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8 - - mkdir -p ${D}/usr/share/man/man5 - install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5 - - mkdir -p ${D}/etc/ - install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample -} diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.9.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.9.bb new file mode 100644 index 000000000..79bad0a01 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.9.bb @@ -0,0 +1,64 @@ +SUMMARY = "VMcore extraction tool" +DESCRIPTION = "\ + This program is used to extract a subset of the memory available either \ + via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \ + images without extra uneeded information (zero pages, userspace programs, \ + etc). \ +" +HOMEPAGE = "https://github.com/makedumpfile/makedumpfile" + +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +LICENSE = "GPLv2.0" + +SRCBRANCH ?= "master" +SRCREV = "a9ad811c15e769c8e6d8d915a05cebc32f2ea2f5" + +DEPENDS = "bzip2 zlib elfutils xz" +RDEPENDS_${PN}-tools = "perl ${PN}" + +# arm and aarch64 would compile but has never been tested upstream. mips would not compile. +# +COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux" + +PACKAGES =+ "${PN}-tools" +FILES_${PN}-tools = "${bindir}/*.pl" + +SRC_URI = "\ + git://github.com/makedumpfile/makedumpfile;branch=${SRCBRANCH} \ + file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \ + file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \ +" + +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+(\.\d+)+)" + +SECTION = "base" + +# If we do not specify TARGET, makedumpfile will build for the host but use the +# target gcc. +# +EXTRA_OEMAKE = "\ + LINKTYPE=static \ + TARGET=${TARGET_ARCH} \ + ${PACKAGECONFIG_CONFARGS} \ +" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[lzo] = "USELZO=on,USELZO=off,lzo" +PACKAGECONFIG[snappy] = "USESNAPPY=on,USESNAPPY=off,snappy" + +do_install () { + mkdir -p ${D}/usr/bin + install -m 755 ${S}/makedumpfile ${D}/usr/bin + install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin + + mkdir -p ${D}/usr/share/man/man8 + install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8 + + mkdir -p ${D}/usr/share/man/man5 + install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5 + + mkdir -p ${D}/etc/ + install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample +} diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch deleted file mode 100644 index ad255fae0..000000000 --- a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 6181d9c3c407ee030b4c3a94045318b9e3a3cc89 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 25 Jul 2017 14:08:54 -0700 -Subject: [PATCH] minicoredumper: Initialize pointer to config struct to null - -Fixes -corestripper.c:3632:13: error: variable 'cfg' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized] - -Signed-off-by: Khem Raj ---- - src/minicoredumper/corestripper.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c -index a764073..ddb0d25 100644 ---- a/src/minicoredumper/corestripper.c -+++ b/src/minicoredumper/corestripper.c -@@ -3605,7 +3605,7 @@ out: - - static int do_all_dumps(struct dump_info *di, int argc, char *argv[]) - { -- struct config *cfg; -+ struct config *cfg = 0; - const char *recept; - bool live_dumper; - char *comm_base; --- -2.13.3 - diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch new file mode 100644 index 000000000..455e6f318 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch @@ -0,0 +1,33 @@ +From 5895caba6573e84f73f159d9e84cd1aa7e969f18 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 9 May 2021 14:37:00 -0700 +Subject: [PATCH] replace pthread_mutexattr_setrobust_np with + pthread_mutexattr_setrobust + +This is now part of standard POSIX function [1] + +Upstream-Status: Submitted [https://github.com/diamon/minicoredumper/pull/3] + +[1] https://man7.org/linux/man-pages/man3/pthread_mutexattr_setrobust_np.3.html + +Signed-off-by: Khem Raj +--- + src/minicoredumper_regd/daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/minicoredumper_regd/daemon.c b/src/minicoredumper_regd/daemon.c +index 115ec92..b9ad1ea 100644 +--- a/src/minicoredumper_regd/daemon.c ++++ b/src/minicoredumper_regd/daemon.c +@@ -224,7 +224,7 @@ static int setup_shm(void) + + pthread_mutexattr_init(&attr); + pthread_mutexattr_setprotocol(&attr, PTHREAD_PRIO_INHERIT); +- pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP); ++ pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST); + pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED); + pthread_mutex_init(&sh->m, &attr); + +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb index d381c83ae..6a04e7891 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb @@ -14,6 +14,7 @@ SRCREV = "16a0d44f1725eaa93096eaa0e086f42ef4c2712c" PR .= "+git${SRCPV}" SRC_URI = "git://github.com/diamon/minicoredumper;protocol=https \ + file://0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch \ file://minicoredumper.service \ file://minicoredumper.init \ " diff --git a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch new file mode 100644 index 000000000..33557275f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch @@ -0,0 +1,51 @@ +From 9bbc991a927722439cad38c892fc9f57207089d3 Mon Sep 17 00:00:00 2001 +From: Liwei Song +Date: Mon, 24 May 2021 08:27:28 +0000 +Subject: [PATCH] sleepgraph.py: parse unfished cpu exec line + +exist the below case in ftrace file: +sleepgraph-6508 [003] .... 18197.824037: tracing_mark_write: ps - xxx..., lock_torture_wr-94 169,lock_torture_wr-95 143,lock_tort +sleepgraph-6508 [003] .... 18197.824043: tracing_mark_write: ure_wr-96 189,lock_torture_wr-97 174,lock_torture_wr-98 160,lock_torture_st-99 1 + +lock_torture_wr-96 was split to different line due to limited buffer +size(1k) set in kernel, check this case and re-parse the unfinished +line. + +Upstream-Status: [Submitted: https://github.com/intel/pm-graph/pull/20] + +Signed-off-by: Liwei Song +--- + sleepgraph.py | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/sleepgraph.py b/sleepgraph.py +index e340d5b3f03b..38b4439db8eb 100755 +--- a/sleepgraph.py ++++ b/sleepgraph.py +@@ -3365,8 +3365,21 @@ def parseTraceLog(live=False): + val = ps.split() + if not val: + continue +- name = val[0].replace('--', '-') +- proclist[name] = int(val[1]) ++ if not len(val) < 2: ++ name = val[0].replace('--', '-') ++ proclist[name] = int(val[1]) ++ else: ++ proclist = dict() ++ nextline = next(tf) ++ mcont = re.match(tp.ftrace_line_fmt, nextline) ++ n = m.group('ps') + mcont.group('msg').split(': ')[1] ++ for pscont in n.split(','): ++ val = pscont.split() ++ if not val: ++ continue ++ if not len(val) < 2: ++ name = val[0].replace('--', '-') ++ proclist[name] = int(val[1]) + data.pstl[t.time] = proclist + continue + # find the end of resume +-- +2.29.2 + diff --git a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb index 4526eeed3..4d7a1b2d4 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb @@ -10,6 +10,7 @@ SRC_URI = "git://github.com/intel/pm-graph.git \ file://0001-Makefile-fix-multilib-build-failure.patch \ file://0001-sleepgraph.py-use-python3.patch \ file://0001-sleepgraph-add-support-for-RT-kernel-ftrace-flags.patch \ + file://0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch \ " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb b/meta-openembedded/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb index d39afff8e..906ca2c1f 100644 --- a/meta-openembedded/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb +++ b/meta-openembedded/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb @@ -12,6 +12,8 @@ S = "${WORKDIR}/git" do_install() { oe_runmake etcdir=${sysconfdir} DESTDIR=${D} install + mkdir -p ${D}${libdir}/traceevent/plugins/${BPN} + mv ${D}/${libdir}/traceevent/plugins/*.so ${D}${libdir}/traceevent/plugins/${BPN}/ } FILES_${PN} += "${libdir}/traceevent/plugins" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb index 3344821fa..54d396343 100644 --- a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb +++ b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb @@ -12,6 +12,9 @@ SRC_URI = "${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \ file://0002-Do-not-use-rcmd-on-build-with-musl.patch \ file://0001-genisoimage-Add-missing-extern-definition.patch \ " +SRC_URI_append_class-nativesdk = " \ + file://0001-install-netscsid-to-bin-for-nativesdk.patch \ +" SRC_URI[md5sum] = "efe08e2f3ca478486037b053acd512e9" SRC_URI[sha256sum] = "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da" @@ -51,7 +54,7 @@ FILES_wodim = " \ " do_install_append() { - ln -sf ${bindir}/genisoimage ${D}${bindir}/mkisofs + ln -sf --relative ${D}${bindir}/genisoimage ${D}${bindir}/mkisofs } -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-install-netscsid-to-bin-for-nativesdk.patch b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-install-netscsid-to-bin-for-nativesdk.patch new file mode 100644 index 000000000..fdf1563b3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-install-netscsid-to-bin-for-nativesdk.patch @@ -0,0 +1,28 @@ +From 6b698b7c1045d279fe24818d45c67d9884d5fd81 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Fri, 7 May 2021 15:10:04 +0800 +Subject: [PATCH] install netscsid to bin for nativesdk + +For Yocto, the nativesdk does not have sbin dir, use bin to relpace + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Hongxu Jia +--- + netscsid/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/netscsid/CMakeLists.txt b/netscsid/CMakeLists.txt +index f6bddf1..cf23312 100644 +--- a/netscsid/CMakeLists.txt ++++ b/netscsid/CMakeLists.txt +@@ -9,5 +9,5 @@ ADD_EXECUTABLE (netscsid netscsid.c) + #SET_SOURCE_FILES_PROPERTIES(netscsid.c ) + TARGET_LINK_LIBRARIES(netscsid ${EXTRA_LIBS} ) + #SET_TARGET_PROPERTIES(netscsid PROPERTIES SKIP_BUILD_RPATH TRUE) +-INSTALL(TARGETS netscsid DESTINATION sbin) ++INSTALL(TARGETS netscsid DESTINATION bin) + +-- +2.27.0 + diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb deleted file mode 100644 index 171eef7b7..000000000 --- a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb +++ /dev/null @@ -1,114 +0,0 @@ -SUMMARY = "Open Source multimedia player" -DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more." -SECTION = "multimedia" -HOMEPAGE = "http://www.mpv.io/" - -DEPENDS = "zlib ffmpeg jpeg libv4l" - -DEPENDS += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' virtual/libx11 xsp libxv libxscrnsaver libxinerama', '', d)} \ -" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=91f1cb870c1cc2d31351a4d2595441cb" - -SRCREV_mpv = "70b991749df389bcc0a4e145b5687233a03b4ed7" -SRC_URI = " \ - git://github.com/mpv-player/mpv;name=mpv \ - https://waf.io/waf-2.0.20;name=waf;subdir=git \ -" -SRC_URI[waf.sha256sum] = "bf971e98edc2414968a262c6aa6b88541a26c3cd248689c89f4c57370955ee7f" - -S = "${WORKDIR}/git" - -inherit waf pkgconfig mime-xdg - -LDFLAGS_append_riscv64 = " -latomic" - -LUA ?= "lua" -LUA_mips64 = "" -LUA_aarch64 = "" -LUA_powerpc64 = "" -LUA_powerpc64le = "" -LUA_riscv64 = "" -LUA_riscv32 = "" -LUA_powerpc = "" - -# Note: both lua and libass are required to get on-screen-display (controls) -PACKAGECONFIG ??= " \ - ${LUA} \ - libass \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \ -" - -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11" -PACKAGECONFIG[xv] = "--enable-xv,--disable-xv,libxv" -PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl" -PACKAGECONFIG[egl] = "--enable-egl,--disable-egl," -PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm" -PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm" -PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit" -PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" -PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive" -PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack" -PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" -PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native libxkbcommon" - -python __anonymous() { - packageconfig = (d.getVar("PACKAGECONFIG") or "").split() - extras = [] - if "x11" in packageconfig and "opengl" in packageconfig: - extras.append(" --enable-gl-x11") - if "x11" in packageconfig and "egl" in packageconfig: - extras.append(" --enable-egl-x11") - if "egl" in packageconfig and "drm" in packageconfig: - extras.append(" --enable-egl-drm") - if "vaapi" in packageconfig and "x11" in packageconfig: - extras.append(" --enable-vaapi-x11") - if "vaapi" in packageconfig and "drm" in packageconfig: - extras.append(" --enable-vaapi-drm") - if "vaapi" in packageconfig and "x11" in packageconfig and "egl" in packageconfig: - extras.append(" --enable-vaapi-x-egl") - if "vdpau" in packageconfig and "opengl" in packageconfig and "x11" in packageconfig: - extras.append(" --enable-vdpau-gl-x11") - if "wayland" in packageconfig and "opengl" in packageconfig: - extras.append(" --enable-gl-wayland") - if "wayland" in packageconfig and "vaapi" in packageconfig: - extras.append(" --enable-vaapi-wayland") - if extras: - d.appendVar("EXTRA_OECONF", "".join(extras)) -} - -SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}" - -EXTRA_OECONF = " \ - --prefix=${prefix} \ - --target=${SIMPLE_TARGET_SYS} \ - --confdir=${sysconfdir} \ - --datadir=${datadir} \ - --disable-manpage-build \ - --disable-libsmbclient \ - --disable-libbluray \ - --disable-dvdnav \ - --disable-cdda \ - --disable-uchardet \ - --disable-rubberband \ - --disable-lcms2 \ - --disable-vapoursynth \ - ${PACKAGECONFIG_CONFARGS} \ -" - -link_waf() { - ln -s waf-2.0.20 ${S}/waf -} -do_unpack[postfuncs] += "link_waf" - -FILES_${PN} += " \ - ${datadir}/icons \ - ${datadir}/zsh \ - ${datadir}/bash-completion \ - " -EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}" diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.33.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.33.1.bb new file mode 100644 index 000000000..1a9150479 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.33.1.bb @@ -0,0 +1,116 @@ +SUMMARY = "Open Source multimedia player" +DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more." +SECTION = "multimedia" +HOMEPAGE = "http://www.mpv.io/" + +DEPENDS = " \ + zlib \ + ffmpeg \ + jpeg \ + libv4l \ + libass \ +" + +DEPENDS += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' virtual/libx11 xsp libxv libxscrnsaver libxinerama', '', d)} \ +" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=91f1cb870c1cc2d31351a4d2595441cb" + +SRCREV_mpv = "b5d3e43198b9d57af5620b63537885aaa41fa8cd" +SRC_URI = " \ + git://github.com/mpv-player/mpv;name=mpv;branch=release/0.33;protocol=https \ + https://waf.io/waf-2.0.20;name=waf;subdir=git \ +" +SRC_URI[waf.sha256sum] = "bf971e98edc2414968a262c6aa6b88541a26c3cd248689c89f4c57370955ee7f" + +S = "${WORKDIR}/git" + +inherit waf pkgconfig mime-xdg + +LDFLAGS_append_riscv64 = " -latomic" + +LUA ?= "lua" +LUA_mips64 = "" +LUA_powerpc64 = "" +LUA_powerpc64le = "" +LUA_riscv64 = "" +LUA_riscv32 = "" +LUA_powerpc = "" + +# Note: lua is required to get on-screen-display (controls) +PACKAGECONFIG ??= " \ + ${LUA} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \ +" + +PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11" +PACKAGECONFIG[xv] = "--enable-xv,--disable-xv,libxv" +PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl" +PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" +PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm" +PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm" +PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit" +PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive" +PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack" +PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native libxkbcommon" + +python __anonymous() { + packageconfig = (d.getVar("PACKAGECONFIG") or "").split() + extras = [] + if "x11" in packageconfig and "opengl" in packageconfig: + extras.append(" --enable-gl-x11") + if "x11" in packageconfig and "egl" in packageconfig: + extras.append(" --enable-egl-x11") + if "egl" in packageconfig and "drm" in packageconfig: + extras.append(" --enable-egl-drm") + if "vaapi" in packageconfig and "x11" in packageconfig: + extras.append(" --enable-vaapi-x11") + if "vaapi" in packageconfig and "drm" in packageconfig: + extras.append(" --enable-vaapi-drm") + if "vaapi" in packageconfig and "x11" in packageconfig and "egl" in packageconfig: + extras.append(" --enable-vaapi-x-egl") + if "vdpau" in packageconfig and "opengl" in packageconfig and "x11" in packageconfig: + extras.append(" --enable-vdpau-gl-x11") + if "wayland" in packageconfig and "opengl" in packageconfig: + extras.append(" --enable-gl-wayland") + if "wayland" in packageconfig and "vaapi" in packageconfig: + extras.append(" --enable-vaapi-wayland") + if extras: + d.appendVar("EXTRA_OECONF", "".join(extras)) +} + +SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}" + +EXTRA_OECONF = " \ + --prefix=${prefix} \ + --target=${SIMPLE_TARGET_SYS} \ + --confdir=${sysconfdir} \ + --datadir=${datadir} \ + --disable-manpage-build \ + --disable-libbluray \ + --disable-dvdnav \ + --disable-cdda \ + --disable-uchardet \ + --disable-rubberband \ + --disable-lcms2 \ + --disable-vapoursynth \ + ${PACKAGECONFIG_CONFARGS} \ +" + +link_waf() { + ln -s waf-2.0.20 ${S}/waf +} +do_unpack[postfuncs] += "link_waf" + +FILES_${PN} += " \ + ${datadir}/icons \ + ${datadir}/zsh \ + ${datadir}/bash-completion \ + " +EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}" diff --git a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb deleted file mode 100644 index 4f21575c3..000000000 --- a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb +++ /dev/null @@ -1,36 +0,0 @@ -DESCRIPTION = "PDF transformation/inspection software" -HOMEPAGE = "http://qpdf.sourceforge.net" -LICENSE = "Artistic-2.0" -SECTION = "libs" -DEPENDS = "libpcre zlib libjpeg-turbo" - -SRC_URI = "${SOURCEFORGE_MIRROR}/qpdf/qpdf-${PV}.tar.gz" - -LIC_FILES_CHKSUM = "file://Artistic-2.0;md5=7806296b9fae874361e6fb10072b7ee3" -SRC_URI[md5sum] = "c8f4430823603ee3b430b3250015ede5" -SRC_URI[sha256sum] = "43ef260f4e70672660e1882856d59b9319301c6f170673ab465430a71cffe44c" - -inherit autotools-brokensep gettext - -# disable random file detection for cross-compile -EXTRA_OECONF = "--without-random \ - --disable-static \ - --disable-check-autofiles \ - " - -EXTRA_OEMAKE_class-target = "LIBTOOL=${HOST_SYS}-libtool" - -LDFLAGS_append_mipsarch = " -latomic" -LDFLAGS_append_riscv32 = " -latomic" - -S="${WORKDIR}/${BPN}-${PV}" - -# avoid Makefile returning error on 'make clean' before configure was run -CLEANBROKEN = "1" - -DEBIAN_NOAUTONAME_libqpdf = "1" - -PACKAGES =+ "libqpdf" -FILES_libqpdf = "${libdir}/libqpdf.so.*" - -RDEPENDS_${PN} = "libqpdf" diff --git a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.3.2.bb b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.3.2.bb new file mode 100644 index 000000000..53ebf7b6a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.3.2.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "PDF transformation/inspection software" +HOMEPAGE = "http://qpdf.sourceforge.net" +LICENSE = "Artistic-2.0" +SECTION = "libs" +DEPENDS = "libpcre zlib libjpeg-turbo" + +SRC_URI = "${SOURCEFORGE_MIRROR}/qpdf/qpdf-${PV}.tar.gz" + +LIC_FILES_CHKSUM = "file://Artistic-2.0;md5=7806296b9fae874361e6fb10072b7ee3" +SRC_URI[sha256sum] = "062808c40ef8741ec8160ae00168638a712cfa1d4bf673e8e595ab5eba1da947" + +inherit autotools-brokensep gettext + +# disable random file detection for cross-compile +EXTRA_OECONF = "--without-random \ + --disable-static \ + --disable-check-autofiles \ + " + +EXTRA_OEMAKE_class-target = "LIBTOOL=${HOST_SYS}-libtool" + +LDFLAGS_append_mipsarch = " -latomic" +LDFLAGS_append_riscv32 = " -latomic" + +S="${WORKDIR}/${BPN}-${PV}" + +# avoid Makefile returning error on 'make clean' before configure was run +CLEANBROKEN = "1" + +DEBIAN_NOAUTONAME_libqpdf = "1" + +PACKAGES =+ "libqpdf" +FILES_libqpdf = "${libdir}/libqpdf.so.*" + +RDEPENDS_${PN} = "libqpdf" diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/Add-substitue-functions-for-strndupa-rawmemchr.patch b/meta-openembedded/meta-oe/recipes-security/audit/audit/Add-substitue-functions-for-strndupa-rawmemchr.patch new file mode 100644 index 000000000..bb6c61e80 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit/Add-substitue-functions-for-strndupa-rawmemchr.patch @@ -0,0 +1,133 @@ +From bdcdc3dff4469aac88e718bd15958d5ed4b9392a Mon Sep 17 00:00:00 2001 +From: Steve Grubb +Date: Tue, 26 Feb 2019 18:33:33 -0500 +Subject: [PATCH] Add substitue functions for strndupa & rawmemchr + +Upstream-Status: Backport +[https://github.com/linux-audit/audit-userspace/commit/d579a08bb1cde71f939c13ac6b2261052ae9f77e] +--- + auparse/auparse.c | 12 +++++++++++- + auparse/interpret.c | 9 ++++++++- + configure.ac | 14 +++++++++++++- + src/ausearch-lol.c | 12 +++++++++++- + 4 files changed, 43 insertions(+), 4 deletions(-) + +diff --git a/auparse/auparse.c b/auparse/auparse.c +index 650db02..2e1c737 100644 +--- a/auparse/auparse.c ++++ b/auparse/auparse.c +@@ -1,5 +1,5 @@ + /* auparse.c -- +- * Copyright 2006-08,2012-17 Red Hat Inc., Durham, North Carolina. ++ * Copyright 2006-08,2012-19 Red Hat Inc., Durham, North Carolina. + * All Rights Reserved. + * + * This library is free software; you can redistribute it and/or +@@ -1118,6 +1118,16 @@ static int str2event(char *s, au_event_t *e) + return 0; + } + ++#ifndef HAVE_STRNDUPA ++static inline char *strndupa(const char *old, size_t n) ++{ ++ size_t len = strnlen(old, n); ++ char *tmp = alloca(len + 1); ++ tmp[len] = 0; ++ return memcpy(tmp, old, len); ++} ++#endif ++ + /* Returns 0 on success and 1 on error */ + static int extract_timestamp(const char *b, au_event_t *e) + { +diff --git a/auparse/interpret.c b/auparse/interpret.c +index 51c4a5e..67b7b77 100644 +--- a/auparse/interpret.c ++++ b/auparse/interpret.c +@@ -853,6 +853,13 @@ err_out: + return print_escaped(id->val); + } + ++// rawmemchr is faster. Let's use it if we have it. ++#ifdef HAVE_RAWMEMCHR ++#define STRCHR rawmemchr ++#else ++#define STRCHR strchr ++#endif ++ + static const char *print_proctitle(const char *val) + { + char *out = (char *)print_escaped(val); +@@ -863,7 +870,7 @@ static const char *print_proctitle(const char *val) + // Proctitle has arguments separated by NUL bytes + // We need to write over the NUL bytes with a space + // so that we can see the arguments +- while ((ptr = rawmemchr(ptr, '\0'))) { ++ while ((ptr = STRCHR(ptr, '\0'))) { + if (ptr >= end) + break; + *ptr = ' '; +diff --git a/configure.ac b/configure.ac +index 54bdbf1..aef07fb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,7 +1,7 @@ + dnl + define([AC_INIT_NOTICE], + [### Generated automatically using autoconf version] AC_ACVERSION [ +-### Copyright 2005-18 Steve Grubb ++### Copyright 2005-19 Steve Grubb + ### + ### Permission is hereby granted, free of charge, to any person obtaining a + ### copy of this software and associated documentation files (the "Software"), +@@ -72,6 +72,18 @@ dnl; posix_fallocate is used in audisp-remote + AC_CHECK_FUNCS([posix_fallocate]) + dnl; signalfd is needed for libev + AC_CHECK_FUNC([signalfd], [], [ AC_MSG_ERROR([The signalfd system call is necessary for auditd]) ]) ++dnl; check if rawmemchr is available ++AC_CHECK_FUNCS([rawmemchr]) ++dnl; check if strndupa is available ++AC_LINK_IFELSE( ++ [AC_LANG_SOURCE( ++ [[ ++ #define _GNU_SOURCE ++ #include ++ int main() { (void) strndupa("test", 10); return 0; }]])], ++ [AC_DEFINE(HAVE_STRNDUPA, 1, [Let us know if we have it or not])], ++ [] ++) + + ALLWARNS="" + ALLDEBUG="-g" +diff --git a/src/ausearch-lol.c b/src/ausearch-lol.c +index 5d17a72..758c33e 100644 +--- a/src/ausearch-lol.c ++++ b/src/ausearch-lol.c +@@ -1,6 +1,6 @@ + /* + * ausearch-lol.c - linked list of linked lists library +-* Copyright (c) 2008,2010,2014,2016 Red Hat Inc., Durham, North Carolina. ++* Copyright (c) 2008,2010,2014,2016,2019 Red Hat Inc., Durham, North Carolina. + * All Rights Reserved. + * + * This software may be freely redistributed and/or modified under the +@@ -152,6 +152,16 @@ static int compare_event_time(event *e1, event *e2) + return 0; + } + ++#ifndef HAVE_STRNDUPA ++static inline char *strndupa(const char *old, size_t n) ++{ ++ size_t len = strnlen(old, n); ++ char *tmp = alloca(len + 1); ++ tmp[len] = 0; ++ return memcpy(tmp, old, len); ++} ++#endif ++ + /* + * This function will look at the line and pick out pieces of it. + */ +-- +2.7.4 + diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch b/meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch new file mode 100644 index 000000000..740bcb5a7 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit/Fixed-swig-host-contamination-issue.patch @@ -0,0 +1,57 @@ +From 3d13f92c1bb293523670ba01aea7e655b00a6709 Mon Sep 17 00:00:00 2001 +From: Li xin +Date: Sun, 19 Jul 2015 02:42:58 +0900 +Subject: [PATCH] audit: Fixed swig host contamination issue + +The audit build uses swig to generate a python wrapper. +Unfortunately, the swig info file references host include +directories. Some of these were previously noticed and +eliminated, but the one fixed here was not. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Anders Hedlund +Signed-off-by: Joe Slater +Signed-off-by: Yi Zhao +--- + bindings/swig/python3/Makefile.am | 3 ++- + bindings/swig/src/auditswig.i | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/bindings/swig/python3/Makefile.am b/bindings/swig/python3/Makefile.am +index dd9d934..61b486d 100644 +--- a/bindings/swig/python3/Makefile.am ++++ b/bindings/swig/python3/Makefile.am +@@ -22,6 +22,7 @@ + CONFIG_CLEAN_FILES = *.loT *.rej *.orig + AM_CFLAGS = -fPIC -DPIC -fno-strict-aliasing $(PYTHON3_CFLAGS) + AM_CPPFLAGS = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES) ++STDINC ?= /usr/include + LIBS = $(top_builddir)/lib/libaudit.la + SWIG_FLAGS = -python -py3 -modern + SWIG_INCLUDES = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES) +@@ -36,7 +37,7 @@ _audit_la_DEPENDENCIES =${top_srcdir}/lib/libaudit.h ${top_builddir}/lib/libaudi + _audit_la_LIBADD = ${top_builddir}/lib/libaudit.la + nodist__audit_la_SOURCES = audit_wrap.c + audit.py audit_wrap.c: ${srcdir}/../src/auditswig.i +- swig -o audit_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/auditswig.i ++ swig -o audit_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} -I$(STDINC) ${srcdir}/../src/auditswig.i + + CLEANFILES = audit.py* audit_wrap.c *~ + +diff --git a/bindings/swig/src/auditswig.i b/bindings/swig/src/auditswig.i +index 21aafca..dd0f62c 100644 +--- a/bindings/swig/src/auditswig.i ++++ b/bindings/swig/src/auditswig.i +@@ -39,7 +39,7 @@ signed + #define __attribute(X) /*nothing*/ + typedef unsigned __u32; + typedef unsigned uid_t; +-%include "/usr/include/linux/audit.h" ++%include "linux/audit.h" + #define __extension__ /*nothing*/ + %include + %include "../lib/libaudit.h" +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/audit-volatile.conf b/meta-openembedded/meta-oe/recipes-security/audit/audit/audit-volatile.conf new file mode 100644 index 000000000..9cbe1547a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit/audit-volatile.conf @@ -0,0 +1 @@ +d /var/log/audit 0750 root root - diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/auditd b/meta-openembedded/meta-oe/recipes-security/audit/audit/auditd new file mode 100644 index 000000000..6aa7f9475 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit/auditd @@ -0,0 +1,153 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: auditd +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Audit Daemon +# Description: Collects audit information from Linux 2.6 Kernels. +### END INIT INFO + +# Author: Philipp Matthias Hahn +# Based on Debians /etc/init.d/skeleton and Auditds init.d/auditd.init + +# June, 2012: Adopted for yocto + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DESC="audit daemon" +NAME=auditd +DAEMON=/sbin/auditd +PIDFILE=/var/run/"$NAME".pid +SCRIPTNAME=/etc/init.d/"$NAME" + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/"$NAME" ] && . /etc/default/"$NAME" + +. /etc/default/rcS + +. /etc/init.d/functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon -S --quiet --pidfile "$PIDFILE" --exec "$DAEMON" --test > /dev/null \ + || return 1 + start-stop-daemon -S --quiet --pidfile "$PIDFILE" --exec "$DAEMON" -- \ + $EXTRAOPTIONS \ + || return 2 + if [ -f /etc/audit/audit.rules ] + then + /sbin/auditctl -R /etc/audit/audit.rules >/dev/null + fi +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon -K --quiet --pidfile "$PIDFILE" --name "$NAME" + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f "$PIDFILE" + rm -f /var/run/audit_events + # Remove watches so shutdown works cleanly + case "$AUDITD_CLEAN_STOP" in + no|NO) ;; + *) /sbin/auditctl -D >/dev/null ;; + esac + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +if [ ! -e /var/log/audit ]; then + mkdir -p /var/log/audit + [ -x /sbin/restorecon ] && /sbin/restorecon -F $(readlink -f /var/log/audit) +fi + +case "$1" in + start) + [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && echo 0 ;; + 2) [ "$VERBOSE" != no ] && echo 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && echo 0 ;; + 2) [ "$VERBOSE" != no ] && echo 1 ;; + esac + ;; + reload|force-reload) + echo "Reloading $DESC" "$NAME" + do_reload + echo $? + ;; + restart) + echo "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) echo 0 ;; + 1) echo 1 ;; # Old process is still running + *) echo 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + echo 1 + ;; + esac + ;; + rotate) + echo "Rotating $DESC logs" "$NAME" + start-stop-daemon -K --signal USR1 --quiet --pidfile "$PIDFILE" --name "$NAME" + echo $? + ;; + status) + pidofproc "$DAEMON" >/dev/null + status=$? + if [ $status -eq 0 ]; then + echo "$NAME is running." + else + echo "$NAME is not running." + fi + exit $status + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|rotate|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/auditd.service b/meta-openembedded/meta-oe/recipes-security/audit/audit/auditd.service new file mode 100644 index 000000000..06c63f0e5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit/auditd.service @@ -0,0 +1,28 @@ +[Unit] +Description=Security Auditing Service +DefaultDependencies=no +After=local-fs.target systemd-tmpfiles-setup.service +Before=sysinit.target shutdown.target +Conflicts=shutdown.target +ConditionKernelCommandLine=!audit=0 + +[Service] +Type=forking +PIDFile=/run/auditd.pid +ExecStart=/sbin/auditd +## To use augenrules, uncomment the next line and comment/delete the auditctl line. +## NOTE: augenrules expect any rules to be added to /etc/audit/rules.d/ +#ExecStartPost=-/sbin/augenrules --load +ExecStartPost=-/sbin/auditctl -R /etc/audit/audit.rules +# By default we don't clear the rules on exit. +# To enable this, uncomment the next line. +#ExecStopPost=/sbin/auditctl -R /etc/audit/audit-stop.rules + +### Security Settings ### +MemoryDenyWriteExecute=true +LockPersonality=true +ProtectControlGroups=true +ProtectKernelModules=true + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit_2.8.5.bb b/meta-openembedded/meta-oe/recipes-security/audit/audit_2.8.5.bb new file mode 100644 index 000000000..ee3b3b5e0 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit_2.8.5.bb @@ -0,0 +1,105 @@ +SUMMARY = "User space tools for kernel auditing" +DESCRIPTION = "The audit package contains the user space utilities for \ +storing and searching the audit records generated by the audit subsystem \ +in the Linux kernel." +HOMEPAGE = "http://people.redhat.com/sgrubb/audit/" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=2.8_maintenance \ + file://Add-substitue-functions-for-strndupa-rawmemchr.patch \ + file://Fixed-swig-host-contamination-issue.patch \ + file://auditd \ + file://auditd.service \ + file://audit-volatile.conf \ +" + +S = "${WORKDIR}/git" +SRCREV = "5fae55c1ad15b3cefe6890eba7311af163e9133c" + +inherit autotools python3native update-rc.d systemd + +UPDATERCPN = "auditd" +INITSCRIPT_NAME = "auditd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_PACKAGES = "auditd" +SYSTEMD_SERVICE_auditd = "auditd.service" + +DEPENDS += "python3 tcp-wrappers libcap-ng linux-libc-headers swig-native" + +EXTRA_OECONF += "--without-prelude \ + --with-libwrap \ + --enable-gssapi-krb5=no \ + --with-libcap-ng=yes \ + --with-python3=yes \ + --libdir=${base_libdir} \ + --sbindir=${base_sbindir} \ + --without-python \ + --without-golang \ + --disable-zos-remote \ + " +EXTRA_OECONF_append_arm = " --with-arm=yes" +EXTRA_OECONF_append_aarch64 = " --with-aarch64=yes" + +EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}' \ + PYINC='${STAGING_INCDIR}/$(PYLIBVER)' \ + pyexecdir=${libdir}/python${PYTHON_BASEVERSION}/site-packages \ + STDINC='${STAGING_INCDIR}' \ + pkgconfigdir=${libdir}/pkgconfig \ + " + +SUMMARY_audispd-plugins = "Plugins for the audit event dispatcher" +DESCRIPTION_audispd-plugins = "The audispd-plugins package provides plugins for the real-time \ +interface to the audit system, audispd. These plugins can do things \ +like relay events to remote machines or analyze events for suspicious \ +behavior." + +PACKAGES =+ "audispd-plugins" +PACKAGES += "auditd ${PN}-python" + +FILES_${PN} = "${sysconfdir}/libaudit.conf ${base_libdir}/libaudit.so.1* ${base_libdir}/libauparse.so.*" +FILES_auditd += "${bindir}/* ${base_sbindir}/* ${sysconfdir}/*" +FILES_audispd-plugins += "${sysconfdir}/audisp/audisp-remote.conf \ + ${sysconfdir}/audisp/plugins.d/au-remote.conf \ + ${sbindir}/audisp-remote ${localstatedir}/spool/audit \ + " +FILES_${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug" +FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" + +CONFFILES_auditd += "${sysconfdir}/audit/audit.rules" +RDEPENDS_auditd += "bash" + +do_install_append() { + rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.a + rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.la + + # reuse auditd config + [ ! -e ${D}/etc/default ] && mkdir ${D}/etc/default + mv ${D}/etc/sysconfig/auditd ${D}/etc/default + rmdir ${D}/etc/sysconfig/ + + # replace init.d + install -D -m 0755 ${WORKDIR}/auditd ${D}/etc/init.d/auditd + rm -rf ${D}/etc/rc.d + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 0644 ${WORKDIR}/audit-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + fi + + # install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/auditd.service ${D}${systemd_unitdir}/system + + # audit-2.5 doesn't install any rules by default, so we do that here + mkdir -p ${D}/etc/audit ${D}/etc/audit/rules.d + cp ${S}/rules/10-base-config.rules ${D}/etc/audit/rules.d/audit.rules + + chmod 750 ${D}/etc/audit ${D}/etc/audit/rules.d + chmod 640 ${D}/etc/audit/auditd.conf ${D}/etc/audit/rules.d/audit.rules + + # Based on the audit.spec "Copy default rules into place on new installation" + cp ${D}/etc/audit/rules.d/audit.rules ${D}/etc/audit/audit.rules +} diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.1.bb b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.1.bb new file mode 100644 index 000000000..ba24d360e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.1.bb @@ -0,0 +1,109 @@ +SUMMARY = "User space tools for kernel auditing" +DESCRIPTION = "The audit package contains the user space utilities for \ +storing and searching the audit records generated by the audit subsystem \ +in the Linux kernel." +HOMEPAGE = "http://people.redhat.com/sgrubb/audit/" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master \ + file://Fixed-swig-host-contamination-issue.patch \ + file://auditd \ + file://auditd.service \ + file://audit-volatile.conf \ +" + +S = "${WORKDIR}/git" +SRCREV = "46cb7d92443c9ec7b3af15fb0baa65f65f6415d3" + +inherit autotools python3native update-rc.d systemd + +UPDATERCPN = "auditd" +INITSCRIPT_NAME = "auditd" +INITSCRIPT_PARAMS = "defaults" + +SYSTEMD_PACKAGES = "auditd" +SYSTEMD_SERVICE_auditd = "auditd.service" + +DEPENDS = "python3 tcp-wrappers libcap-ng linux-libc-headers swig-native" + +EXTRA_OECONF = " --with-libwrap \ + --enable-gssapi-krb5=no \ + --with-libcap-ng=yes \ + --with-python3=yes \ + --libdir=${base_libdir} \ + --sbindir=${base_sbindir} \ + --without-python \ + --without-golang \ + --disable-zos-remote \ + --with-arm=yes \ + --with-aarch64=yes \ + " + +EXTRA_OEMAKE = "PYLIBVER='python${PYTHON_BASEVERSION}' \ + PYINC='${STAGING_INCDIR}/$(PYLIBVER)' \ + pyexecdir=${libdir}/python${PYTHON_BASEVERSION}/site-packages \ + STDINC='${STAGING_INCDIR}' \ + pkgconfigdir=${libdir}/pkgconfig \ + " + +SUMMARY_audispd-plugins = "Plugins for the audit event dispatcher" +DESCRIPTION_audispd-plugins = "The audispd-plugins package provides plugins for the real-time \ +interface to the audit system, audispd. These plugins can do things \ +like relay events to remote machines or analyze events for suspicious \ +behavior." + +PACKAGES =+ "audispd-plugins" +PACKAGES += "auditd ${PN}-python" + +FILES_${PN} = "${sysconfdir}/libaudit.conf ${base_libdir}/libaudit.so.1* ${base_libdir}/libauparse.so.*" +FILES_auditd = "${bindir}/* ${base_sbindir}/* ${sysconfdir}/* ${datadir}/audit/*" +FILES_audispd-plugins = "${sysconfdir}/audit/audisp-remote.conf \ + ${sysconfdir}/audit/plugins.d/au-remote.conf \ + ${sysconfdir}/audit/plugins.d/syslog.conf \ + ${base_sbindir}/audisp-remote \ + ${base_sbindir}/audisp-syslog \ + ${localstatedir}/spool/audit \ + " +FILES_${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug" +FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" + +CONFFILES_auditd = "${sysconfdir}/audit/audit.rules" +RDEPENDS_auditd = "bash" + +do_install_append() { + rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.a + rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.la + + # reuse auditd config + [ ! -e ${D}/etc/default ] && mkdir ${D}/etc/default + mv ${D}/etc/sysconfig/auditd ${D}/etc/default + rmdir ${D}/etc/sysconfig/ + + # replace init.d + install -D -m 0755 ${WORKDIR}/auditd ${D}/etc/init.d/auditd + rm -rf ${D}/etc/rc.d + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + # install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/auditd.service ${D}${systemd_unitdir}/system + + install -d ${D}${sysconfdir}/tmpfiles.d/ + install -m 0644 ${WORKDIR}/audit-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ + fi + + # audit-2.5 doesn't install any rules by default, so we do that here + mkdir -p ${D}/etc/audit ${D}/etc/audit/rules.d + cp ${S}/rules/10-base-config.rules ${D}/etc/audit/rules.d/audit.rules + + chmod 750 ${D}/etc/audit ${D}/etc/audit/rules.d + chmod 640 ${D}/etc/audit/auditd.conf ${D}/etc/audit/rules.d/audit.rules + + # Based on the audit.spec "Copy default rules into place on new installation" + cp ${D}/etc/audit/rules.d/audit.rules ${D}/etc/audit/audit.rules + + # Create /var/spool/audit directory for audisp-remote + install -m 0700 -d ${D}${localstatedir}/spool/audit +} diff --git a/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb b/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb index c76d2324e..17bc40911 100644 --- a/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb +++ b/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb @@ -50,9 +50,11 @@ do_configure() { } do_install_append() { - if [ -f "${D}${bindir}/ndiff" ]; then - sed -i 's@^#!.*$@#!/usr/bin/env python3@g' ${D}${bindir}/ndiff - fi + for f in ndiff uninstall_ndiff; do + if [ -f ${D}${bindir}/$f ]; then + sed -i 's@^#!.*$@#!/usr/bin/env python3@g' ${D}${bindir}/$f + fi + done } FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat" diff --git a/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb b/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb deleted file mode 100644 index aa372b70a..000000000 --- a/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb +++ /dev/null @@ -1,65 +0,0 @@ -SUMMARY = "UNIX Shell similar to the Korn shell" -DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \ - powerful scripting language. Many of the useful features of bash, \ - ksh, and tcsh were incorporated into zsh; many original features were added." -HOMEPAGE = "http://www.zsh.org" -SECTION = "base/shell" - -LICENSE = "zsh" -LIC_FILES_CHKSUM = "file://LICENCE;md5=1a4c4cda3e8096d2fd483ff2f4514fec" - -DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz" -SRC_URI[md5sum] = "dfe156fd69b0d8d1745ecf6d6e02e047" -SRC_URI[sha256sum] = "957bcdb2c57f64c02f673693ea5a7518ef24b6557aeb3a4ce222cefa6d74acc9" - -inherit autotools gettext update-alternatives - -EXTRA_OECONF = " \ - --bindir=${base_bindir} \ - --enable-etcdir=${sysconfdir} \ - --enable-fndir=${datadir}/${PN}/${PV}/functions \ - --enable-site-fndir=${datadir}/${PN}/site-functions \ - --with-term-lib='ncursesw ncurses' \ - --with-tcsetpgrp \ - --enable-cap \ - --enable-multibyte \ - --disable-gdbm \ - --disable-dynamic \ - zsh_cv_shared_environ=yes \ -" - -# Configure respects --bindir from EXTRA_OECONF, but then Src/Makefile will read bindir from environment -export bindir="${base_bindir}" - -EXTRA_OEMAKE = "-e MAKEFLAGS=" - -ALTERNATIVE_${PN} = "sh" -ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" -ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}" -ALTERNATIVE_PRIORITY = "90" - -export AUTOHEADER = "true" - -do_configure () { - gnu-configize --force ${S} - oe_runconf -} - -do_install_append () { - rm -fr ${D}/usr/share - rmdir --ignore-fail-on-non-empty ${D}/usr -} - -pkg_postinst_${PN} () { - touch $D${sysconfdir}/shells - grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells - grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells -} - -FILES_${PN}-dbg += "\ - ${libdir}/${PN}/${PV}/${PN}/.debug/*.so \ - ${libdir}/${PN}/${PV}/${PN}/db/.debug/*.so \ - ${libdir}/${PN}/${PV}/${PN}/net/.debug/*.so \ -" diff --git a/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.8.bb b/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.8.bb new file mode 100644 index 000000000..f87231db2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-shells/zsh/zsh_5.8.bb @@ -0,0 +1,58 @@ +SUMMARY = "UNIX Shell similar to the Korn shell" +DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \ + powerful scripting language. Many of the useful features of bash, \ + ksh, and tcsh were incorporated into zsh; many original features were added." +HOMEPAGE = "http://www.zsh.org" +SECTION = "base/shell" + +LICENSE = "zsh" +LIC_FILES_CHKSUM = "file://LICENCE;md5=1a4c4cda3e8096d2fd483ff2f4514fec" + +DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/5.8/${BP}.tar.xz" +SRC_URI[sha256sum] = "dcc4b54cc5565670a65581760261c163d720991f0d06486da61f8d839b52de27" + +inherit autotools-brokensep gettext update-alternatives manpages + +EXTRA_OECONF = " \ + --bindir=${base_bindir} \ + --enable-etcdir=${sysconfdir} \ + --enable-fndir=${datadir}/${PN}/${PV}/functions \ + --enable-site-fndir=${datadir}/${PN}/site-functions \ + --with-term-lib='ncursesw ncurses' \ + --with-tcsetpgrp \ + --enable-cap \ + --enable-multibyte \ + --disable-gdbm \ + --disable-dynamic \ + zsh_cv_shared_environ=yes \ +" + +# Configure respects --bindir from EXTRA_OECONF, but then Src/Makefile will read bindir from environment +export bindir="${base_bindir}" + +EXTRA_OEMAKE = "-e MAKEFLAGS=" + +ALTERNATIVE_${PN} = "sh" +ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" +ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}" +ALTERNATIVE_PRIORITY = "90" + +export AUTOHEADER = "true" + +do_configure () { + gnu-configize --force ${S} + oe_runconf +} + +pkg_postinst_${PN} () { + touch $D${sysconfdir}/shells + grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells + grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells +} + +# work around QA failures with usrmerge installing zsh in /usr/bin/zsh instead of /bin/zsh +# ERROR: QA Issue: /usr/share/zsh/5.8/functions/zed contained in package zsh requires /bin/zsh, but no providers found in RDEPENDS_zsh? [file-rdeps] +# like bash does since https://git.openembedded.org/openembedded-core/commit/?id=4759408677a4e60c5fa7131afcb5bc184cf2f90a +RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/zsh', '', d)}" diff --git a/meta-openembedded/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch b/meta-openembedded/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch index 278b90e07..aae2be8c1 100644 --- a/meta-openembedded/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch +++ b/meta-openembedded/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch @@ -89,11 +89,11 @@ index a5e2328..dec509a 100644 +} + diff --git a/lib/colord/cd-icc.c b/lib/colord/cd-icc.c -index f231814..2c8fe77 100644 +index 8beec43..398ff7a 100644 --- a/lib/colord/cd-icc.c +++ b/lib/colord/cd-icc.c -@@ -3094,68 +3094,6 @@ out: - return ret; +@@ -3114,68 +3114,6 @@ cd_icc_create_default (CdIcc *icc, GError **error) + return cd_icc_create_default_full (icc, CD_ICC_LOAD_FLAGS_NONE, error); } -/** diff --git a/meta-openembedded/meta-oe/recipes-support/colord/colord.inc b/meta-openembedded/meta-oe/recipes-support/colord/colord.inc index 7497fed51..09e600c94 100644 --- a/meta-openembedded/meta-oe/recipes-support/colord/colord.inc +++ b/meta-openembedded/meta-oe/recipes-support/colord/colord.inc @@ -6,8 +6,7 @@ LIC_FILES_CHKSUM = " \ file://meson.build;beginline=3;endline=3;md5=f42198707d793be58b274d34fd5238c3 \ " -PV = "1.4.4" +PV = "1.4.5" SRC_URI = "https://www.freedesktop.org/software/colord/releases/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "32c2709a6002d9ee750483aaed6379c8" -SRC_URI[sha256sum] = "9a0fe80160bf88efddb582a9fc0169f56065276dc3882c47dddb9eecd048c0a5" +SRC_URI[sha256sum] = "b774ea443d239f4a2ee1853bd678426e669ddeda413dcb71cea1638c4d6c5e17" diff --git a/meta-openembedded/meta-oe/recipes-support/evemu-tools/evemu-tools_git.bb b/meta-openembedded/meta-oe/recipes-support/evemu-tools/evemu-tools_git.bb new file mode 100644 index 000000000..c9a382ad4 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/evemu-tools/evemu-tools_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "Kernel evdev device emulation" +DESCRIPTION = "The evemu library and tools are used to describe devices, record data, create devices and replay data from kernel evdev devices." +HOMEPAGE = "https://www.freedesktop.org/wiki/Evemu" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" + +DEPENDS = "libevdev" + +SRCREV = "86a5627dbeac8d9d9bc34326a758d6a477e876e4" +SRC_URI = "git://git@gitlab.freedesktop.org/libevdev/evemu.git;protocol=https;branch=master" + +S = "${WORKDIR}/git" +PV = "gitr${SRCPV}" + +inherit autotools pkgconfig + +PACKAGES =+ "${PN}-python" +FILES_${PN}-python = "${libdir}/python*/site-packages/*" +RDEPENDS_${PN}-python = "python3" + diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29457.patch b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29457.patch new file mode 100644 index 000000000..e5d069487 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29457.patch @@ -0,0 +1,26 @@ +From 13e5a3e02339b746abcaee6408893ca2fd8e289d Mon Sep 17 00:00:00 2001 +From: Pydera +Date: Thu, 8 Apr 2021 17:36:16 +0200 +Subject: [PATCH] Fix out of buffer access in #1529 + +--- + src/jp2image.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/jp2image.cpp b/src/jp2image.cpp +index 88ab9b2d6..12025f966 100644 +--- a/src/jp2image.cpp ++++ b/src/jp2image.cpp +@@ -776,9 +776,10 @@ static void boxes_check(size_t b,size_t m) + #endif + box.length = (uint32_t) (io_->size() - io_->tell() + 8); + } +- if (box.length == 1) ++ if (box.length < 8) + { +- // FIXME. Special case. the real box size is given in another place. ++ // box is broken, so there is nothing we can do here ++ throw Error(kerCorruptedMetadata); + } + + // Read whole box : Box header + Box data (not fixed size - can be null). diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29458.patch b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29458.patch new file mode 100644 index 000000000..285f6fe4c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29458.patch @@ -0,0 +1,37 @@ +From 9b7a19f957af53304655ed1efe32253a1b11a8d0 Mon Sep 17 00:00:00 2001 +From: Kevin Backhouse +Date: Fri, 9 Apr 2021 13:37:48 +0100 +Subject: [PATCH] Fix integer overflow. +--- + src/crwimage_int.cpp | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/crwimage_int.cpp b/src/crwimage_int.cpp +index aefaf22..2e3e507 100644 +--- a/src/crwimage_int.cpp ++++ b/src/crwimage_int.cpp +@@ -559,7 +559,7 @@ namespace Exiv2 { + void CiffComponent::setValue(DataBuf buf) + { + if (isAllocated_) { +- delete pData_; ++ delete[] pData_; + pData_ = 0; + size_ = 0; + } +@@ -1167,7 +1167,11 @@ namespace Exiv2 { + pCrwMapping->crwDir_); + if (edX != edEnd || edY != edEnd || edO != edEnd) { + uint32_t size = 28; +- if (cc && cc->size() > size) size = cc->size(); ++ if (cc) { ++ if (cc->size() < size) ++ throw Error(kerCorruptedMetadata); ++ size = cc->size(); ++ } + DataBuf buf(size); + std::memset(buf.pData_, 0x0, buf.size_); + if (cc) std::memcpy(buf.pData_ + 8, cc->pData() + 8, cc->size() - 8); +-- +2.25.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29463.patch b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29463.patch new file mode 100644 index 000000000..5ab64a7d3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29463.patch @@ -0,0 +1,120 @@ +From 783b3a6ff15ed6f82a8f8e6c8a6f3b84a9b04d4b Mon Sep 17 00:00:00 2001 +From: Kevin Backhouse +Date: Mon, 19 Apr 2021 18:06:00 +0100 +Subject: [PATCH] Improve bound checking in WebPImage::doWriteMetadata() + +--- + src/webpimage.cpp | 41 ++++++++++++++++++++++++++++++----------- + 1 file changed, 30 insertions(+), 11 deletions(-) + +diff --git a/src/webpimage.cpp b/src/webpimage.cpp +index 4ddec544c..fee110bca 100644 +--- a/src/webpimage.cpp ++++ b/src/webpimage.cpp +@@ -145,7 +145,7 @@ namespace Exiv2 { + DataBuf chunkId(WEBP_TAG_SIZE+1); + chunkId.pData_ [WEBP_TAG_SIZE] = '\0'; + +- io_->read(data, WEBP_TAG_SIZE * 3); ++ readOrThrow(*io_, data, WEBP_TAG_SIZE * 3, Exiv2::kerCorruptedMetadata); + uint64_t filesize = Exiv2::getULong(data + WEBP_TAG_SIZE, littleEndian); + + /* Set up header */ +@@ -185,13 +185,20 @@ namespace Exiv2 { + case we have any exif or xmp data, also check + for any chunks with alpha frame/layer set */ + while ( !io_->eof() && (uint64_t) io_->tell() < filesize) { +- io_->read(chunkId.pData_, WEBP_TAG_SIZE); +- io_->read(size_buff, WEBP_TAG_SIZE); +- long size = Exiv2::getULong(size_buff, littleEndian); ++ readOrThrow(*io_, chunkId.pData_, WEBP_TAG_SIZE, Exiv2::kerCorruptedMetadata); ++ readOrThrow(*io_, size_buff, WEBP_TAG_SIZE, Exiv2::kerCorruptedMetadata); ++ const uint32_t size_u32 = Exiv2::getULong(size_buff, littleEndian); ++ ++ // Check that `size_u32` is safe to cast to `long`. ++ enforce(size_u32 <= static_cast(std::numeric_limits::max()), ++ Exiv2::kerCorruptedMetadata); ++ const long size = static_cast(size_u32); + DataBuf payload(size); +- io_->read(payload.pData_, payload.size_); +- byte c; +- if ( payload.size_ % 2 ) io_->read(&c,1); ++ readOrThrow(*io_, payload.pData_, payload.size_, Exiv2::kerCorruptedMetadata); ++ if ( payload.size_ % 2 ) { ++ byte c; ++ readOrThrow(*io_, &c, 1, Exiv2::kerCorruptedMetadata); ++ } + + /* Chunk with information about features + used in the file. */ +@@ -199,6 +206,7 @@ namespace Exiv2 { + has_vp8x = true; + } + if (equalsWebPTag(chunkId, WEBP_CHUNK_HEADER_VP8X) && !has_size) { ++ enforce(size >= 10, Exiv2::kerCorruptedMetadata); + has_size = true; + byte size_buf[WEBP_TAG_SIZE]; + +@@ -227,6 +235,7 @@ namespace Exiv2 { + } + #endif + if (equalsWebPTag(chunkId, WEBP_CHUNK_HEADER_VP8) && !has_size) { ++ enforce(size >= 10, Exiv2::kerCorruptedMetadata); + has_size = true; + byte size_buf[2]; + +@@ -244,11 +253,13 @@ namespace Exiv2 { + + /* Chunk with with lossless image data. */ + if (equalsWebPTag(chunkId, WEBP_CHUNK_HEADER_VP8L) && !has_alpha) { ++ enforce(size >= 5, Exiv2::kerCorruptedMetadata); + if ((payload.pData_[4] & WEBP_VP8X_ALPHA_BIT) == WEBP_VP8X_ALPHA_BIT) { + has_alpha = true; + } + } + if (equalsWebPTag(chunkId, WEBP_CHUNK_HEADER_VP8L) && !has_size) { ++ enforce(size >= 5, Exiv2::kerCorruptedMetadata); + has_size = true; + byte size_buf_w[2]; + byte size_buf_h[3]; +@@ -276,11 +287,13 @@ namespace Exiv2 { + + /* Chunk with animation frame. */ + if (equalsWebPTag(chunkId, WEBP_CHUNK_HEADER_ANMF) && !has_alpha) { ++ enforce(size >= 6, Exiv2::kerCorruptedMetadata); + if ((payload.pData_[5] & 0x2) == 0x2) { + has_alpha = true; + } + } + if (equalsWebPTag(chunkId, WEBP_CHUNK_HEADER_ANMF) && !has_size) { ++ enforce(size >= 12, Exiv2::kerCorruptedMetadata); + has_size = true; + byte size_buf[WEBP_TAG_SIZE]; + +@@ -309,16 +322,22 @@ namespace Exiv2 { + + io_->seek(12, BasicIo::beg); + while ( !io_->eof() && (uint64_t) io_->tell() < filesize) { +- io_->read(chunkId.pData_, 4); +- io_->read(size_buff, 4); ++ readOrThrow(*io_, chunkId.pData_, 4, Exiv2::kerCorruptedMetadata); ++ readOrThrow(*io_, size_buff, 4, Exiv2::kerCorruptedMetadata); ++ ++ const uint32_t size_u32 = Exiv2::getULong(size_buff, littleEndian); + +- long size = Exiv2::getULong(size_buff, littleEndian); ++ // Check that `size_u32` is safe to cast to `long`. ++ enforce(size_u32 <= static_cast(std::numeric_limits::max()), ++ Exiv2::kerCorruptedMetadata); ++ const long size = static_cast(size_u32); + + DataBuf payload(size); +- io_->read(payload.pData_, size); ++ readOrThrow(*io_, payload.pData_, size, Exiv2::kerCorruptedMetadata); + if ( io_->tell() % 2 ) io_->seek(+1,BasicIo::cur); // skip pad + + if (equalsWebPTag(chunkId, WEBP_CHUNK_HEADER_VP8X)) { ++ enforce(size >= 1, Exiv2::kerCorruptedMetadata); + if (has_icc){ + payload.pData_[0] |= WEBP_VP8X_ICC_BIT; + } else { diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29464.patch b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29464.patch new file mode 100644 index 000000000..f0c482450 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29464.patch @@ -0,0 +1,72 @@ +From 61734d8842cb9cc59437463e3bac54d6231d9487 Mon Sep 17 00:00:00 2001 +From: Wang Mingyu +Date: Tue, 18 May 2021 10:52:54 +0900 +Subject: [PATCH] modify + +Signed-off-by: Wang Mingyu +--- + src/jp2image.cpp | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/src/jp2image.cpp b/src/jp2image.cpp +index 52723a4..0ac4f50 100644 +--- a/src/jp2image.cpp ++++ b/src/jp2image.cpp +@@ -643,11 +643,11 @@ static void boxes_check(size_t b,size_t m) + void Jp2Image::encodeJp2Header(const DataBuf& boxBuf,DataBuf& outBuf) + { + DataBuf output(boxBuf.size_ + iccProfile_.size_ + 100); // allocate sufficient space +- int outlen = sizeof(Jp2BoxHeader) ; // now many bytes have we written to output? +- int inlen = sizeof(Jp2BoxHeader) ; // how many bytes have we read from boxBuf? ++ long outlen = sizeof(Jp2BoxHeader) ; // now many bytes have we written to output? ++ long inlen = sizeof(Jp2BoxHeader) ; // how many bytes have we read from boxBuf? + Jp2BoxHeader* pBox = (Jp2BoxHeader*) boxBuf.pData_; +- int32_t length = getLong((byte*)&pBox->length, bigEndian); +- int32_t count = sizeof (Jp2BoxHeader); ++ uint32_t length = getLong((byte*)&pBox->length, bigEndian); ++ uint32_t count = sizeof (Jp2BoxHeader); + char* p = (char*) boxBuf.pData_; + bool bWroteColor = false ; + +@@ -664,6 +664,7 @@ static void boxes_check(size_t b,size_t m) + #ifdef EXIV2_DEBUG_MESSAGES + std::cout << "Jp2Image::encodeJp2Header subbox: "<< toAscii(subBox.type) << " length = " << subBox.length << std::endl; + #endif ++ enforce(subBox.length <= length - count, Exiv2::kerCorruptedMetadata); + count += subBox.length; + newBox.type = subBox.type; + } else { +@@ -672,12 +673,13 @@ static void boxes_check(size_t b,size_t m) + count = length; + } + +- int32_t newlen = subBox.length; ++ uint32_t newlen = subBox.length; + if ( newBox.type == kJp2BoxTypeColorHeader ) { + bWroteColor = true ; + if ( ! iccProfileDefined() ) { + const char* pad = "\x01\x00\x00\x00\x00\x00\x10\x00\x00\x05\x1cuuid"; + uint32_t psize = 15; ++ enforce(newlen <= output.size_ - outlen, Exiv2::kerCorruptedMetadata); + ul2Data((byte*)&newBox.length,psize ,bigEndian); + ul2Data((byte*)&newBox.type ,newBox.type,bigEndian); + ::memcpy(output.pData_+outlen ,&newBox ,sizeof(newBox)); +@@ -686,6 +688,7 @@ static void boxes_check(size_t b,size_t m) + } else { + const char* pad = "\0x02\x00\x00"; + uint32_t psize = 3; ++ enforce(newlen <= output.size_ - outlen, Exiv2::kerCorruptedMetadata); + ul2Data((byte*)&newBox.length,psize+iccProfile_.size_,bigEndian); + ul2Data((byte*)&newBox.type,newBox.type,bigEndian); + ::memcpy(output.pData_+outlen ,&newBox ,sizeof(newBox) ); +@@ -694,6 +697,7 @@ static void boxes_check(size_t b,size_t m) + newlen = psize + iccProfile_.size_; + } + } else { ++ enforce(newlen <= output.size_ - outlen, Exiv2::kerCorruptedMetadata); + ::memcpy(output.pData_+outlen,boxBuf.pData_+inlen,subBox.length); + } + +-- +2.25.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29470.patch b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29470.patch new file mode 100644 index 000000000..eedf9d79a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29470.patch @@ -0,0 +1,32 @@ +From 6628a69c036df2aa036290e6cd71767c159c79ed Mon Sep 17 00:00:00 2001 +From: Kevin Backhouse +Date: Wed, 21 Apr 2021 12:06:04 +0100 +Subject: [PATCH] Add more bounds checks in Jp2Image::encodeJp2Header +--- + src/jp2image.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/jp2image.cpp b/src/jp2image.cpp +index b424225..349a9f0 100644 +--- a/src/jp2image.cpp ++++ b/src/jp2image.cpp +@@ -645,13 +645,16 @@ static void boxes_check(size_t b,size_t m) + DataBuf output(boxBuf.size_ + iccProfile_.size_ + 100); // allocate sufficient space + long outlen = sizeof(Jp2BoxHeader) ; // now many bytes have we written to output? + long inlen = sizeof(Jp2BoxHeader) ; // how many bytes have we read from boxBuf? ++ enforce(sizeof(Jp2BoxHeader) <= static_cast(output.size_), Exiv2::kerCorruptedMetadata); + Jp2BoxHeader* pBox = (Jp2BoxHeader*) boxBuf.pData_; + uint32_t length = getLong((byte*)&pBox->length, bigEndian); ++ enforce(length <= static_cast(output.size_), Exiv2::kerCorruptedMetadata); + uint32_t count = sizeof (Jp2BoxHeader); + char* p = (char*) boxBuf.pData_; + bool bWroteColor = false ; + + while ( count < length || !bWroteColor ) { ++ enforce(sizeof(Jp2BoxHeader) <= length - count, Exiv2::kerCorruptedMetadata); + Jp2BoxHeader* pSubBox = (Jp2BoxHeader*) (p+count) ; + + // copy data. pointer could be into a memory mapped file which we will decode! +-- +2.25.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29473.patch b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29473.patch new file mode 100644 index 000000000..4afedf8e5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-29473.patch @@ -0,0 +1,21 @@ +From e6a0982f7cd9282052b6e3485a458d60629ffa0b Mon Sep 17 00:00:00 2001 +From: Kevin Backhouse +Date: Fri, 23 Apr 2021 11:44:44 +0100 +Subject: [PATCH] Add bounds check in Jp2Image::doWriteMetadata(). + +--- + src/jp2image.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/jp2image.cpp b/src/jp2image.cpp +index 1694fed27..ca8c9ddbb 100644 +--- a/src/jp2image.cpp ++++ b/src/jp2image.cpp +@@ -908,6 +908,7 @@ static void boxes_check(size_t b,size_t m) + + case kJp2BoxTypeUuid: + { ++ enforce(boxBuf.size_ >= 24, Exiv2::kerCorruptedMetadata); + if(memcmp(boxBuf.pData_ + 8, kJp2UuidExif, 16) == 0) + { + #ifdef EXIV2_DEBUG_MESSAGES diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-3482.patch b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-3482.patch new file mode 100644 index 000000000..e7c5e1b65 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2/CVE-2021-3482.patch @@ -0,0 +1,54 @@ +From 22ea582c6b74ada30bec3a6b15de3c3e52f2b4da Mon Sep 17 00:00:00 2001 +From: Robin Mills +Date: Mon, 5 Apr 2021 20:33:25 +0100 +Subject: [PATCH] fix_1522_jp2image_exif_asan + +--- + src/jp2image.cpp | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/jp2image.cpp b/src/jp2image.cpp +index eb31cea4a..88ab9b2d6 100644 +--- a/src/jp2image.cpp ++++ b/src/jp2image.cpp +@@ -28,6 +28,7 @@ + #include "image.hpp" + #include "image_int.hpp" + #include "basicio.hpp" ++#include "enforce.hpp" + #include "error.hpp" + #include "futils.hpp" + #include "types.hpp" +@@ -353,7 +354,7 @@ static void boxes_check(size_t b,size_t m) + if (io_->error()) throw Error(kerFailedToReadImageData); + if (bufRead != rawData.size_) throw Error(kerInputDataReadFailed); + +- if (rawData.size_ > 0) ++ if (rawData.size_ > 8) // "II*\0long" + { + // Find the position of Exif header in bytes array. + long pos = ( (rawData.pData_[0] == rawData.pData_[1]) +@@ -497,6 +498,7 @@ static void boxes_check(size_t b,size_t m) + position = io_->tell(); + box.length = getLong((byte*)&box.length, bigEndian); + box.type = getLong((byte*)&box.type, bigEndian); ++ enforce(box.length <= io_->size()-io_->tell() , Exiv2::kerCorruptedMetadata); + + if (bPrint) { + out << Internal::stringFormat("%8ld | %8ld | ", (size_t)(position - sizeof(box)), +@@ -581,12 +583,13 @@ static void boxes_check(size_t b,size_t m) + throw Error(kerInputDataReadFailed); + + if (bPrint) { +- out << Internal::binaryToString(makeSlice(rawData, 0, 40)); ++ out << Internal::binaryToString( ++ makeSlice(rawData, 0, rawData.size_>40?40:rawData.size_)); + out.flush(); + } + lf(out, bLF); + +- if (bIsExif && bRecursive && rawData.size_ > 0) { ++ if (bIsExif && bRecursive && rawData.size_ > 8) { // "II*\0long" + if ((rawData.pData_[0] == rawData.pData_[1]) && + (rawData.pData_[0] == 'I' || rawData.pData_[0] == 'M')) { + BasicIo::AutoPtr p = BasicIo::AutoPtr(new MemIo(rawData.pData_, rawData.size_)); diff --git a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb index ed1e8de5c..d5d9e62ff 100644 --- a/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb +++ b/meta-openembedded/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb @@ -9,7 +9,14 @@ SRC_URI[sha256sum] = "a79f5613812aa21755d578a297874fb59a85101e793edc64ec2c6bd994 # Once patch is obsolete (project should be aware due to PRs), dos2unix can be removed either inherit dos2unix -SRC_URI += "file://0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch" +SRC_URI += "file://0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch \ + file://CVE-2021-29457.patch \ + file://CVE-2021-29458.patch \ + file://CVE-2021-29463.patch \ + file://CVE-2021-29464.patch \ + file://CVE-2021-29470.patch \ + file://CVE-2021-29473.patch \ + file://CVE-2021-3482.patch" S = "${WORKDIR}/${BPN}-${PV}-Source" diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb b/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb index 2636287e3..5d5a236be 100644 --- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb +++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk-native.bb @@ -9,12 +9,15 @@ EXTRA_OECMAKE += " \ -DOPTION_USE_THREADS=OFF \ -DOPTION_USE_XDBE=OFF \ -DOPTION_USE_XFT=OFF \ - -DOPTION_BUILD_EXAMPLES=OFF \ + -DFLTK_BUILD_TEST=OFF \ -DOPTION_USE_XINERAMA=OFF \ -DOPTION_USE_XFIXES=OFF \ -DOPTION_USE_XCURSOR=OFF \ " +# lib/libfltk.a(Fl_Native_File_Chooser.cxx.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5' +LDFLAGS += "-ldl" + do_install_append() { # make sure native fltk-config is not used accidentaly rm -f ${D}${bindir}/fltk-config diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb index 09344cf7d..51b4a0bc8 100644 --- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb +++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb @@ -5,14 +5,10 @@ DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft" inherit features_check binconfig lib_package gtk-icon-cache mime mime-xdg REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI += " \ - file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch \ - file://0004-Fix-build-error-when-enable-package-config-examples.patch \ -" - EXTRA_OECMAKE = " \ -DOPTION_BUILD_SHARED_LIBS=ON \ -DOPTION_USE_THREADS=ON \ + -DFLTK_BUILD_TEST=OFF \ -DOPTION_USE_XDBE=ON \ -DOPTION_USE_XFT=ON \ -DFLTK_CONFIG_PATH=${libdir}/cmake \ @@ -20,7 +16,6 @@ EXTRA_OECMAKE = " \ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" -PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,fltk-native" PACKAGECONFIG[cairo] = "-DOPTION_CAIRO=ON,-DOPTION_CAIRO=OFF,cairo" PACKAGECONFIG[opengl] = "-DOPTION_USE_GL=ON,-DOPTION_USE_GL=OFF,virtual/libgl" PACKAGECONFIG[xinerama] = "-DOPTION_USE_XINERAMA=ON,-DOPTION_USE_XINERAMA=OFF,libxinerama" diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc index 97a1fbfc7..403cbddbb 100644 --- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc +++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc @@ -11,9 +11,8 @@ SRC_URI = " \ file://0002-always-build-fluid-and-export-pointers.patch \ " -PV = "1.3.5" -SRC_URI[md5sum] = "0de2b45a1896be2b4a8cafae89b84248" -SRC_URI[sha256sum] = "2933c72400f9e7c0f4c3a81a1ce98bc9582b2a3edc44b8597ccd26e240e32c3c" +PV = "1.3.6" +SRC_URI[sha256sum] = "20d2627c97b4485ee3eab5522303985bc22b798a878ba80239e6d43dcfed067e" inherit cmake pkgconfig diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch b/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch index cca977c66..0d91aab3a 100644 --- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch +++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch @@ -1,6 +1,6 @@ From 16010cb1a69ea2326d8102b7f1e34b65aca4b278 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Tue, 28 Feb 2017 01:20:42 +0100 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Sat, 22 May 2021 12:33:15 +0200 Subject: [PATCH] always build fluid and export pointers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -8,24 +8,24 @@ Content-Transfer-Encoding: 8bit Upstream-Status: Inappropriate [embedded specific] -Signed-off-by: Andreas Müller +Signed-off-by: Andreas Müller --- CMake/export.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMake/export.cmake b/CMake/export.cmake -index 968186a..95e04eb 100644 +index 6e8bc5d..71b6f6c 100644 --- a/CMake/export.cmake +++ b/CMake/export.cmake -@@ -21,7 +21,7 @@ - # final config and export +@@ -20,7 +20,7 @@ ####################################################################### + # Set the fluid executable path --if(CMAKE_CROSSCOMPILING) -+if(FALSE) - find_file(FLUID_PATH - NAMES fluid fluid.exe - PATHS ENV PATH +-if (CMAKE_CROSSCOMPILING) ++if (FALSE) + find_file(FLUID_PATH + NAMES fluid fluid.exe + PATHS ENV PATH -- -2.9.3 +2.31.1 diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch b/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch deleted file mode 100644 index 1f2f8aecf..000000000 --- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch +++ /dev/null @@ -1,41 +0,0 @@ -From bc38fb41044503c9debf5710910c51dd29674b6a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Fri, 15 Dec 2017 22:14:01 +0100 -Subject: [PATCH] CMake build: Force shared libs with unsuffixed names -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -For windows build sake CMake complains when a project wants to build shared and -static libraries with same name. This caused the authors of fltk to generate -libraries with names suffixed by '_SHARED' when building fltk with cmake - -autotools builds do not suffix. - -Reasons to build shared libs with correct names: - -* Shared libraries are the preferred choice for embedded devices -* There are projects (e.g yoshimi) expecting shared libraries with unsuffixed - names - as created by autotools build. These projects link against static - libraries by accident causing unusable binaries. - -Signed-off-by: Andreas Müller ---- - CMake/macros.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMake/macros.cmake b/CMake/macros.cmake -index 4def62d..ab675f0 100644 ---- a/CMake/macros.cmake -+++ b/CMake/macros.cmake -@@ -49,7 +49,7 @@ macro(FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES) - PROPERTIES - VERSION ${FLTK_VERSION_FULL} - SOVERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR} -- PREFIX "lib" # for MSVC static/shared coexistence -+ OUTPUT_NAME ${LIBNAME} CLEAN_DIRECT_OUTPUT 1 - ) - endif (${LIBTYPE} STREQUAL "SHARED") - --- -2.9.5 - diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch b/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch deleted file mode 100644 index 974c02fe6..000000000 --- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch +++ /dev/null @@ -1,182 +0,0 @@ -Fix build error when enable package config examples. - -Upstream-Status: Backport [https://github.com/fltk/fltk/commit/16774dd] - -Signed-off-by: Kai Kang - - -From 16774ddc4e000c89e560fde0ced8be9814ef041e Mon Sep 17 00:00:00 2001 -From: Albrecht Schlosser -Date: Wed, 8 Feb 2017 02:06:52 +0000 -Subject: [PATCH] Rename test/help demo program to test/help_dialog. - -This change avoids a name conflict with CMake's auto-generated target 'help' -for "Unix Makefiles", "Ninja", and supposedly other generators as well. - - -git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 ---- - CMake/macros.cmake | 5 ----- - documentation/src/examples.dox | 8 +++---- - test/CMakeLists.txt | 27 +++++++++++++++++++---- - test/demo.menu | 2 +- - test/{help.cxx => help_dialog.cxx} | 6 ++--- - test/{help-test.html => help_dialog.html} | 0 - 6 files changed, 31 insertions(+), 17 deletions(-) - rename test/{help.cxx => help_dialog.cxx} (88%) - rename test/{help-test.html => help_dialog.html} (100%) - -diff --git a/CMake/macros.cmake b/CMake/macros.cmake -index 5b0d0fa..7134fcb 100644 ---- a/CMake/macros.cmake -+++ b/CMake/macros.cmake -@@ -90,11 +90,6 @@ function(CREATE_EXAMPLE NAME SOURCES LIBRARIES) - - set (tname ${NAME}) # target name - -- # rename reserved target name "help" (CMake 2.8.12 and later) -- if (${tname} MATCHES "^help$") -- set (tname "test_help") -- endif (${tname} MATCHES "^help$") -- - foreach(src ${SOURCES}) - if ("${src}" MATCHES "\\.fl$") - list(APPEND flsrcs ${src}) -diff --git a/documentation/src/examples.dox b/documentation/src/examples.dox -index 5105b7b..7961b02 100644 ---- a/documentation/src/examples.dox -+++ b/documentation/src/examples.dox -@@ -60,7 +60,7 @@ you build FLTK, unlike those in the 'test' directory shown below. - - - \ref examples_hello -- \ref examples_help -+ \ref examples_help_dialog - \ref examples_iconize - \ref examples_image - \ref examples_inactive -@@ -326,13 +326,13 @@ easily under FLTK. - tiny demo shows how little is needed to get a functioning application - running with FLTK. Quite impressive, I'd say. - --\subsection examples_help help -+\subsection examples_help_dialog help_dialog - - \par --\c help displays the built-in FLTK help browser. The -+\c help_dialog displays the built-in FLTK help browser. The - Fl_Help_Dialog understands a subset of html and renders - various image formats. This widget makes it easy to provide help --pages to the user without depending on the operating system's -+pages to the user without depending on the operating system's - html browser. - - \subsection examples_iconize iconize -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 22ec9ab..4caffa5 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -1,3 +1,22 @@ -+# -+# "$Id$" -+# -+# CMakeLists.txt used to build test and demo apps by the CMake build system -+# -+# Copyright 2004-2017 by Bill Spitzak and others. -+# -+# This library is free software. Distribution and use rights are outlined in -+# the file "COPYING" which should have been included with this file. If this -+# file is missing or damaged, see the license at: -+# -+# http://www.fltk.org/COPYING.php -+# -+# Please report all bugs and problems on the following page: -+# -+# http://www.fltk.org/str.php -+# -+####################################################################### -+ - set(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin/examples) - - ####################################################################### -@@ -64,7 +83,7 @@ CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images") - CREATE_EXAMPLE(fonts fonts.cxx fltk) - CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms") - CREATE_EXAMPLE(hello hello.cxx fltk) --CREATE_EXAMPLE(help help.cxx "fltk;fltk_images") -+CREATE_EXAMPLE(help_dialog help_dialog.cxx "fltk;fltk_images") - CREATE_EXAMPLE(icon icon.cxx fltk) - CREATE_EXAMPLE(iconize iconize.cxx fltk) - CREATE_EXAMPLE(image image.cxx fltk) -@@ -134,7 +153,7 @@ endif(FLTK_HAVE_CAIRO) - # Note: this is incomplete as of 11 Feb 2015 - # Todo: currently all files are copied, but some of them need configuration: - # - demo.menu: fluid can't be started (wrong path) --# - demo.menu: help (help-test.html) can't find its images (not copied) -+# - demo.menu: help_dialog (help_dialog.html) can't find its images (not copied) - # - maybe more ... - - # prepare for a "better" test file installation path -@@ -149,11 +168,11 @@ configure_file(demo.menu ${TESTFILE_PATH}/demo.menu COPYONLY) - - # use target directory only to avoid redundancy - configure_file(rgb.txt ${TESTFILE_PATH} COPYONLY) --configure_file(help-test.html ${TESTFILE_PATH} COPYONLY) -+configure_file(help_dialog.html ${TESTFILE_PATH} COPYONLY) - configure_file(browser.cxx ${TESTFILE_PATH} COPYONLY) - configure_file(editor.cxx ${TESTFILE_PATH} COPYONLY) - if(APPLE AND NOT OPTION_APPLE_X11) - configure_file(browser.cxx "${TESTFILE_PATH}/browser.app/Contents/Resources/browser.cxx" COPYONLY) - configure_file(rgb.txt ${TESTFILE_PATH}/colbrowser.app/Contents/Resources/rgb.txt COPYONLY) -- configure_file(help-test.html ${TESTFILE_PATH}/help.app/Contents/Resources/help-test.html COPYONLY) -+ configure_file(help_dialog.html ${TESTFILE_PATH}/help_dialog.app/Contents/Resources/help_dialog.html COPYONLY) - endif(APPLE AND NOT OPTION_APPLE_X11) -diff --git a/test/demo.menu b/test/demo.menu -index 337a71c..97e522a 100644 ---- a/test/demo.menu -+++ b/test/demo.menu -@@ -77,7 +77,7 @@ - @o:Font Tests...:@of - @of:Fonts:fonts - @of:UTF-8:utf8 -- @o:HelpDialog:help -+ @o:HelpDialog:help_dialog - @o:Input Choice:input_choice - @o:Preferences:preferences - @o:Threading:threads -diff --git a/test/help.cxx b/test/help_dialog.cxx -similarity index 88% -rename from test/help.cxx -rename to test/help_dialog.cxx -index f5c51d6..7866641 100644 ---- a/test/help.cxx -+++ b/test/help_dialog.cxx -@@ -3,7 +3,7 @@ - // - // Fl_Help_Dialog test program. - // --// Copyright 1999-2010 by Easy Software Products. -+// Copyright 2011-2017 by Bill Spitzak and others. - // - // This library is free software. Distribution and use rights are outlined in - // the file "COPYING" which should have been included with this file. If this -@@ -46,13 +46,13 @@ main(int argc, // I - Number of command-line arguments - strcpy(buf, argv[0]); - char *slash = strrchr(buf, '/'); - if (slash) -- strcpy(slash, "/../Resources/help-test.html"); -+ strcpy(slash, "/../Resources/help_dialog.html"); - help->load(buf); - - #else - - if (argc <= 1) -- help->load("help-test.html"); -+ help->load("help_dialog.html"); - else - help->load(argv[1]); - -diff --git a/test/help-test.html b/test/help_dialog.html -similarity index 100% -rename from test/help-test.html -rename to test/help_dialog.html diff --git a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb index 3da67d1e3..28c2d809a 100644 --- a/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb +++ b/meta-openembedded/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb @@ -141,7 +141,7 @@ S = "${WORKDIR}/git" do_install() { for LANGUAGE in `ls -d1 ${S}/dictionaries/*` ; do - LANGUAGE_DIR=`basename $LANGUAGE` + LANGUAGE_DIR=`basename $LANGUAGE | sed 's:-:_:'` install -D -m0644 $LANGUAGE/index.dic ${D}${datadir}/hunspell/$LANGUAGE_DIR.dic install -D -m0644 $LANGUAGE/index.aff ${D}${datadir}/hunspell/$LANGUAGE_DIR.aff install -D -m0644 $LANGUAGE/LICENSE ${D}${datadir}/hunspell/LICENSE-$LANGUAGE_DIR 2>/dev/null || echo "No LICENSE for language $LANGUAGE" diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.347.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.347.bb new file mode 100644 index 000000000..43fb9189c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.347.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Hardware identification and configuration data" +HOMEPAGE = "https://github.com/vcrhonek/hwdata" +SECTION = "System/Base" + +LICENSE = "GPL-2.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57" + +SRCREV = "ae89c73d89bb9f416b25ad9e850e9606e66a573e" +SRC_URI = "git://github.com/vcrhonek/${BPN}.git" +S = "${WORKDIR}/git" + +do_configure() { + ${S}/configure --datadir=${datadir} --libdir=${libdir} +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + +FILES_${PN} = "${libdir}/* \ + ${datadir}/* " diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb deleted file mode 100644 index 738c32d63..000000000 --- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "Hardware identification and configuration data" -HOMEPAGE = "https://github.com/vcrhonek/hwdata" -SECTION = "System/Base" - -LICENSE = "GPL-2.0+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57" - -PV = "0.346" -SRCREV = "a2bff16032a68b089eeb169f09dea08094891c9c" -SRC_URI = "git://github.com/vcrhonek/${BPN}.git" - -S = "${WORKDIR}/git" - -do_configure() { - ${S}/configure --datadir=${datadir} --libdir=${libdir} -} - -do_install() { - oe_runmake install DESTDIR=${D} -} - -FILES_${PN} = "${libdir}/* \ - ${datadir}/* " diff --git a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb deleted file mode 100644 index 6ce318d0b..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms." -AUTHOR = "Benoît Jacob and Gaël Guennebaud and others" -HOMEPAGE = "http://eigen.tuxfamily.org/" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad" - -SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;nobranch=1" - -SRCREV = "21ae2afd4edaa1b69782c67a54182d34efe43f9c" - -S = "${WORKDIR}/git" - -inherit cmake - -FILES_${PN} = "${libdir}" -FILES_${PN}-dev = "${includedir} ${datadir}/eigen3/cmake ${datadir}/cmake/Modules ${datadir}/pkgconfig" - -# ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.9.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.9.bb new file mode 100644 index 000000000..d6ef98f94 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.9.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms." +AUTHOR = "Benoît Jacob and Gaël Guennebaud and others" +HOMEPAGE = "http://eigen.tuxfamily.org/" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad" + +SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;nobranch=1" + +SRCREV = "0fd6b4f71dd85b2009ee4d1aeb296e2c11fc9d68" + +S = "${WORKDIR}/git" + +inherit cmake + +FILES_${PN}-dev += "${datadir}/eigen3/cmake" + +# ${PN} is empty so we need to tweak -dev and -dbg package dependencies +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.5.bb b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.5.bb deleted file mode 100644 index c4b0ff372..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.5.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "GUsb is a GObject wrapper for libusb1" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" - -DEPENDS = "glib-2.0 libusb" - -inherit meson gobject-introspection gtk-doc gettext vala - -SRC_URI = "git://github.com/hughsie/libgusb.git \ - " -SRCREV = "1f712812327091c42c62b1ab1148d738d1a22b51" -S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.6.bb b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.6.bb new file mode 100644 index 000000000..2f74013ca --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.6.bb @@ -0,0 +1,11 @@ +SUMMARY = "GUsb is a GObject wrapper for libusb1" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + +DEPENDS = "glib-2.0 libusb" + +inherit meson gobject-introspection gtk-doc gettext vala + +SRC_URI = "git://github.com/hughsie/libgusb.git" +SRCREV = "b0464454048cac6779d4d51f12fe7f37ae4bbd57" +S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb index 00c016db4..6f37d1e89 100644 --- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb +++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb @@ -27,10 +27,11 @@ EXTRA_OECMAKE = " \ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \ " -PACKAGECONFIG ??= "usb_backend network_backend" +PACKAGECONFIG ??= "usb_backend network_backend serial_backend" -PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1,libxml2" +PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1 libxml2" PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2" +PACKAGECONFIG[serial_backend] = "-DWITH_SERIAL_BACKEND=ON,-DWITH_SERIAL_BACKEND=off,libserialport libxml2" PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF" PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}" diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb deleted file mode 100644 index 4e77d6cc0..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.1.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "Tiny XML Library" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -HOMEPAGE = "https://www.msweet.org/mxml/" -BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues" - -SRC_URI = "git://github.com/michaelrsweet/mxml.git" -SRCREV = "e483e5fd8a33386fd46967681521bdd2da2b548f" -S = "${WORKDIR}/git" - -inherit autotools - -PACKAGECONFIG ??= "threads" -PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" - -# Package does not support out of tree builds. -B = "${S}" - -# MXML uses autotools but it explicitly states it does not support autoheader. -EXTRA_AUTORECONF = "--exclude=autopoint,autoheader" - -do_configure_prepend() { - # Respect optimization CFLAGS specified by OE. - sed -e 's/-Os -g//' -i ${S}/configure.ac - - # Enable verbose compilation output. This is required for extra QA checks to work. - sed -e '/.SILENT:/d' -i ${S}/Makefile.in -} - -do_install() { - # Package uses DSTROOT instread of standard DESTDIR to specify install location. - oe_runmake install DSTROOT=${D} -} diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.2.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.2.bb new file mode 100644 index 000000000..c0ed72d99 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.2.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Tiny XML Library" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" +HOMEPAGE = "https://www.msweet.org/mxml/" +BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues" + +SRC_URI = "git://github.com/michaelrsweet/mxml.git;nobranch=1" +SRCREV = "38b044ed8ca2a611ed9ed3e26c4b46416335194e" +S = "${WORKDIR}/git" + +inherit autotools + +PACKAGECONFIG ??= "threads" +PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" + +# Package does not support out of tree builds. +B = "${S}" + +# MXML uses autotools but it explicitly states it does not support autoheader. +EXTRA_AUTORECONF = "--exclude=autopoint,autoheader" + +do_configure_prepend() { + # Respect optimization CFLAGS specified by OE. + sed -e 's/-Os -g//' -i ${S}/configure.ac + + # Enable verbose compilation output. This is required for extra QA checks to work. + sed -e '/.SILENT:/d' -i ${S}/Makefile.in +} + +do_install() { + # Package uses DSTROOT instread of standard DESTDIR to specify install location. + oe_runmake install DSTROOT=${D} +} diff --git a/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.20.2.bb b/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.20.2.bb new file mode 100644 index 000000000..0a7c534be --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libraw/libraw_0.20.2.bb @@ -0,0 +1,11 @@ +SUMMARY = "raw image decoder" +LICENSE = "LGPL-2.1 | CDDL-1.0" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=74c9dffdc42805f9c0de2f97df6031fc" + +SRC_URI = "git://github.com/LibRaw/LibRaw.git" +SRCREV = "0209b6a2caec189e6d1a9b21c10e9e49f46e5a92" +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +DEPENDS = "jpeg jasper lcms" diff --git a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb deleted file mode 100644 index a2491cf9e..000000000 --- a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs" -HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/" -SECTION = "libs" -LICENSE = "Zlib" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd" - -SRC_URI = "git://github.com/leethomason/tinyxml2.git" - -SRCREV = "bf15233ad88390461f6ab0dbcf046cce643c5fcb" - -S = "${WORKDIR}/git" - -inherit cmake - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.1.0.bb b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.1.0.bb new file mode 100644 index 000000000..5245059a8 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.1.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs" +HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/" +SECTION = "libs" +LICENSE = "Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd" + +SRC_URI = "git://github.com/leethomason/tinyxml2.git" + +SRCREV = "3291390336141573e51dfa991b4179c8bcd8f306" + +S = "${WORKDIR}/git" + +inherit cmake + +BBCLASSEXTEND = "native" + +EXTRA_OECMAKE += "-Dtinyxml2_SHARED_LIBS=YES" diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch index 19bf14708..03ab07531 100644 --- a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch +++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch @@ -1,4 +1,4 @@ -From 3ee2f1e231bde18a99f86da747a9b8feca3c179d Mon Sep 17 00:00:00 2001 +From 653c39b0b30b2a329db5041e558cfc97c03d6bfb Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 17 Feb 2021 19:18:16 -0800 Subject: [PATCH] do not build examples @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile -index 948e004..8b63024 100644 +index 5d9c4dc..53e1615 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,6 @@ default: all @@ -23,8 +23,8 @@ index 948e004..8b63024 100644 @$(MAKE) -C test - @$(MAKE) -C examples - partcheck: all - @echo "make partcheck => TODO add tests with out kernel support" + .PHONY: all install default clean test + .PHONY: FORCE cscope -- -2.30.1 +2.31.1 diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-examples-ucontext-cp.c-Do-not-use-SIGSTKSZ.patch b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-examples-ucontext-cp.c-Do-not-use-SIGSTKSZ.patch new file mode 100644 index 000000000..a2ba66c3a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-examples-ucontext-cp.c-Do-not-use-SIGSTKSZ.patch @@ -0,0 +1,37 @@ +From a30d62dfb9ea30af58ef331fae1e6f727d0558c0 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 4 May 2021 10:32:08 -0700 +Subject: [PATCH] examples/ucontext-cp.c: Do not use SIGSTKSZ + +glibc 2.34 has removed SIGSTKSZ therefore we replace it + +Signed-off-by: Khem Raj +--- + examples/ucontext-cp.c | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +--- a/examples/ucontext-cp.c ++++ b/examples/ucontext-cp.c +@@ -3,6 +3,7 @@ + * gcc -Wall -O2 -D_GNU_SOURCE -o ucontext-cp ucontext-cp.c -luring + */ + #define _POSIX_C_SOURCE 199309L ++#include + #include + #include + #include +@@ -22,13 +23,9 @@ + #define QD 64 + #define BS 1024 + +-#ifndef SIGSTKSZ +-#define SIGSTKSZ 8192 +-#endif +- + typedef struct { + struct io_uring *ring; +- unsigned char stack_buf[SIGSTKSZ]; ++ max_align_t stack_buf[(8 * 1024 + sizeof (max_align_t) - 1) / sizeof (max_align_t)]; + ucontext_t ctx_main, ctx_fnew; + } async_context; + diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch deleted file mode 100644 index 01c5ccd53..000000000 --- a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0a9b12eda0f6e487398dad004121bdd1be792428 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 14 Nov 2020 16:18:44 -0800 -Subject: [PATCH] test: Fix build on 32bit architectures with 6bit time_t - -It uses SYS_futex, which it expects from system C library. -in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex) -rv32 is using 64bit time_t from get go unlike other 32bit architectures -in glibc, therefore it wont have NR_futex defined but just NR_futex_time64 -this aliases it to NR_futex so that SYS_futex is then defined for rv32 - -Upstream-Status: Submitted [https://github.com/axboe/liburing/pull/237] -Signed-off-by: Khem Raj ---- - test/35fa71a030ca-test.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/test/35fa71a030ca-test.c b/test/35fa71a030ca-test.c -index 4ecf211..7f2124b 100644 ---- a/test/35fa71a030ca-test.c -+++ b/test/35fa71a030ca-test.c -@@ -24,6 +24,10 @@ - - #include - -+#if !defined(SYS_futex) && defined(SYS_futex_time64) -+# define SYS_futex SYS_futex_time64 -+#endif -+ - static void sleep_ms(uint64_t ms) - { - usleep(ms * 1000); --- -2.29.2 - diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-tests-fix-portability-issue-when-using-__NR_mmap-sys.patch b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-tests-fix-portability-issue-when-using-__NR_mmap-sys.patch new file mode 100644 index 000000000..f2f03c18b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-tests-fix-portability-issue-when-using-__NR_mmap-sys.patch @@ -0,0 +1,53 @@ +From 2d3940163e14d183fddc4d8b24cc1d3865bba0b3 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 5 May 2021 09:36:36 -0700 +Subject: [PATCH] tests: fix portability issue when using __NR_mmap syscall + +On some architectures e.g. ARM and RISCV32, __NR_mmap does not exist and +libc will then use NR_mmap2 to implement mmap() API, therefore use +system C library mmap() API instead of calling the syscall directly + +Upstream-Status: Partial Backport [https://github.com/axboe/liburing/commit/808b6c72ab753bda0c300b5683cfd31750d1d49b] +Signed-off-by: Khem Raj +--- + test/double-poll-crash.c | 6 +++--- + test/sqpoll-disable-exit.c | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/test/double-poll-crash.c b/test/double-poll-crash.c +index 1a219c7..6e08285 100644 +--- a/test/double-poll-crash.c ++++ b/test/double-poll-crash.c +@@ -150,9 +150,9 @@ int main(int argc, char *argv[]) + if (argc > 1) + return 0; + +- syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul); +- syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul); +- syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul); ++ mmap((void *) 0x1ffff000, (size_t) 0x1000, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS, -1, 0); ++ mmap((void *) 0x20000000, (size_t) 0x1000000, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_FIXED | MAP_ANONYMOUS, -1, 0); ++ mmap((void *) 0x21000000, (size_t) 0x1000, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS, -1, 0); + intptr_t res = 0; + *(uint32_t*)0x20000484 = 0; + *(uint32_t*)0x20000488 = 0; +diff --git a/test/sqpoll-disable-exit.c b/test/sqpoll-disable-exit.c +index d4e17f8..a0d00cc 100644 +--- a/test/sqpoll-disable-exit.c ++++ b/test/sqpoll-disable-exit.c +@@ -223,9 +223,9 @@ void execute_one(void) + } + int main(void) + { +- syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul); +- syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul); +- syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul); ++ mmap((void *) 0x1ffff000, (size_t) 0x1000, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS, -1, 0); ++ mmap((void *) 0x20000000, (size_t) 0x1000000, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_FIXED | MAP_ANONYMOUS, -1, 0); ++ mmap((void *) 0x21000000, (size_t) 0x1000, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS, -1, 0); + loop(); + return 0; + } +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb deleted file mode 100644 index d79389a69..000000000 --- a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_0.7.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "This is the io_uring library, liburing." -DESCRIPTION = "liburing provides helpers to setup and teardown io_uring \ -instances, and also a simplified interface for applications that don't need \ -(or want) to deal with the full kernel side implementation." -HOMEPAGE = "https://github.com/axboe/liburing" -BUGTRACKER = "https://github.com/axboe/liburing/issues" -SECTION = "libs" - -LICENSE = "LGPLv2.1 | MIT" -LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9" - -SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \ - file://0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch \ - " -SRC_URI_append_libc-musl_riscv64 = " file://0001-do-not-build-examples.patch " -SRC_URI_append_libc-musl_riscv32 = " file://0001-do-not-build-examples.patch " - -SRCREV = "45f0735219a615ae848033c47c7e2d85d101d43e" -S = "${WORKDIR}/git" - -DEPENDS_append_libc-musl = " libucontext" -XCFLAGS = "-pthread" -XCFLAGS_append_libc-musl = " -lucontext" - -EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'" -do_configure() { - ${S}/configure --prefix=${prefix} -} -do_install () { - oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir} -} diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.0.bb b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.0.bb new file mode 100644 index 000000000..9eddf2e2a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "This is the io_uring library, liburing." +DESCRIPTION = "liburing provides helpers to setup and teardown io_uring \ +instances, and also a simplified interface for applications that don't need \ +(or want) to deal with the full kernel side implementation." +HOMEPAGE = "https://github.com/axboe/liburing" +BUGTRACKER = "https://github.com/axboe/liburing/issues" +SECTION = "libs" + +LICENSE = "LGPLv2.1 | MIT" +LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9" + +SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \ + file://0001-examples-ucontext-cp.c-Do-not-use-SIGSTKSZ.patch \ + file://0001-tests-fix-portability-issue-when-using-__NR_mmap-sys.patch \ + " +SRC_URI_append_libc-musl_riscv64 = " file://0001-do-not-build-examples.patch " +SRC_URI_append_libc-musl_riscv32 = " file://0001-do-not-build-examples.patch " + +SRCREV = "b013dfd5a5f65116373d5e0f0bdfb73db9d8816e" +S = "${WORKDIR}/git" + +DEPENDS_append_libc-musl = " libucontext" +XCFLAGS = "-pthread" +XCFLAGS_append_libc-musl = " -lucontext" + +EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'" +do_configure() { + ${S}/configure --prefix=${prefix} +} +do_install () { + oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir} +} diff --git a/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.48.bb b/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.48.bb deleted file mode 100644 index 1137f5012..000000000 --- a/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.48.bb +++ /dev/null @@ -1,64 +0,0 @@ -SECTION = "base" -SUMMARY = "MIME files 'mime.types' & 'mailcap', and support programs" -LICENSE = "PD" -LIC_FILES_CHKSUM = "file://debian/README;md5=36bbe2ace0a05c3fb684b73208fbf30b" - -DEPENDS = "file" -RDEPENDS_${PN} = "perl" -RRECOMMENDS_${PN} = "file" - -SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}-1.tar.gz" -S = "${WORKDIR}/${BPN}" - -inherit update-alternatives - -FILES_${PN} += " ${libdir}/mime" - -docdir_append = "/${BPN}" - -do_install () { - install -d ${D}${sysconfdir} - install -d ${D}${libdir}/mime/packages - install -d ${D}${docdir} - install -d ${D}${sbindir} - install -d ${D}${bindir} - install -d ${D}${mandir}/man1 - install -d ${D}${mandir}/man5 - install -d ${D}${mandir}/man8 - install -m 644 mime.types ${D}${sysconfdir}/ - install -m 644 mailcap ${D}${libdir}/mime/ - install -m 644 mailcap.order ${D}${sysconfdir}/ - install -m 644 mailcap.man ${D}${mandir}/man5/mailcap.5 - install -m 644 mailcap.order.man ${D}${mandir}/man5/mailcap.order.5 -# install -m 755 install-mime ${D}${sbindir}/ -# install -m 644 install-mime.man ${D}${mandir}/man8/install-mime.8 - install -m 755 update-mime ${D}${sbindir}/ - install -m 644 update-mime.man ${D}${mandir}/man8/update-mime.8 - install -m 755 run-mailcap ${D}${bindir}/ - install -m 644 run-mailcap.man ${D}${mandir}/man1/run-mailcap.1 -# install -m 644 rfcs/* ${D}${docdir}/ - install -m 644 debian/changelog ${D}${docdir}/changelog.Debian - install -m 644 debian/README ${D}${docdir}/copyright - install -m 755 debian-view ${D}${libdir}/mime/ - install -m 755 playaudio ${D}${libdir}/mime/ - install -m 755 playdsp ${D}${libdir}/mime/ - install -m 644 mailcap.entries ${D}${libdir}/mime/packages/mime-support - cd ${D}${mandir}; gzip -9fv */* - cd ${D}${docdir}; gzip -9v * - cd ${D}${docdir}; gunzip copyright.gz - cd ${D}${bindir}; ln -s run-mailcap see - cd ${D}${bindir}; ln -s run-mailcap edit - cd ${D}${bindir}; ln -s run-mailcap compose - cd ${D}${bindir}; ln -s run-mailcap print - cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz see.1.gz - cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz edit.1.gz - cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz compose.1.gz - cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz print.1.gz -} - -SRC_URI[md5sum] = "d6e5d715e331147352c50c158dbdec6d" -SRC_URI[sha256sum] = "a529c7892cb786f514af71f4ca5a4c3ebc58b538a49ff959c0d97592d38f040a" - -ALTERNATIVE_PRIORITY = "90" -ALTERNATIVE_${PN} = "mime.types" -ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types" diff --git a/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.62.bb b/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.62.bb new file mode 100644 index 000000000..858521b65 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/mime-support/mime-support_3.62.bb @@ -0,0 +1,65 @@ +SECTION = "base" +SUMMARY = "MIME files 'mime.types' & 'mailcap', and support programs" +LICENSE = "PD & Bellcore" +LICENSE_${PN} = "PD" +# mailcap.man's license is Bellcore +LICENSE_${PN}-doc = "PD & Bellcore" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=53c851e31d27c3ea8a6217073a5ff01c" + +DEPENDS = "file" +RDEPENDS_${PN} = "perl" +RRECOMMENDS_${PN} = "file" + +SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}.tar.gz" +SRC_URI[sha256sum] = "54e0a03e0cd63c7c9fe68a18ead0a2143fd3c327604215f989d85484d0409f4a" +S = "${WORKDIR}/${BPN}" + +inherit update-alternatives + +FILES_${PN} += " ${libdir}/mime" + +docdir_append = "/${BPN}" + +do_install () { + install -d ${D}${sysconfdir} + install -d ${D}${libdir}/mime/packages + install -d ${D}${docdir} + install -d ${D}${sbindir} + install -d ${D}${bindir} + install -d ${D}${mandir}/man1 + install -d ${D}${mandir}/man5 + install -d ${D}${mandir}/man8 + install -m 644 mime.types ${D}${sysconfdir}/ + install -m 644 mailcap ${D}${libdir}/mime/ + install -m 644 mailcap.order ${D}${sysconfdir}/ + install -m 644 mailcap.man ${D}${mandir}/man5/mailcap.5 + install -m 644 mailcap.order.man ${D}${mandir}/man5/mailcap.order.5 +# install -m 755 install-mime ${D}${sbindir}/ +# install -m 644 install-mime.man ${D}${mandir}/man8/install-mime.8 + install -m 755 update-mime ${D}${sbindir}/ + install -m 644 update-mime.man ${D}${mandir}/man8/update-mime.8 + install -m 755 run-mailcap ${D}${bindir}/ + install -m 644 run-mailcap.man ${D}${mandir}/man1/run-mailcap.1 +# install -m 644 rfcs/* ${D}${docdir}/ + install -m 644 debian/changelog ${D}${docdir}/changelog.Debian + install -m 644 debian/copyright ${D}${docdir}/copyright + install -m 755 debian-view ${D}${libdir}/mime/ + install -m 755 playaudio ${D}${libdir}/mime/ + install -m 755 playdsp ${D}${libdir}/mime/ + install -m 644 mailcap.entries ${D}${libdir}/mime/packages/mime-support + cd ${D}${mandir}; gzip -9fv */* + cd ${D}${docdir}; gzip -9v * + cd ${D}${docdir}; gunzip copyright.gz + cd ${D}${bindir}; ln -s run-mailcap see + cd ${D}${bindir}; ln -s run-mailcap edit + cd ${D}${bindir}; ln -s run-mailcap compose + cd ${D}${bindir}; ln -s run-mailcap print + cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz see.1.gz + cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz edit.1.gz + cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz compose.1.gz + cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz print.1.gz +} + +ALTERNATIVE_PRIORITY = "90" +ALTERNATIVE_${PN} = "mime.types" +ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types" diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.6.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.6.bb deleted file mode 100644 index 1ce08dd50..000000000 --- a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.6.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ -Not ANOther editor) is an enhanced clone of the \ -Pico text editor." -HOMEPAGE = "http://www.nano-editor.org/" -SECTION = "console/utils" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" - -DEPENDS = "ncurses file" -RDEPENDS_${PN} = "ncurses-terminfo-base" - -PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" - -SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" -SRC_URI[sha256sum] = "fce183e4a7034d07d219c79aa2f579005d1fd49f156db6e50f53543a87637a32" - -UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano" - -inherit autotools gettext pkgconfig - -PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_5.7.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.7.bb new file mode 100644 index 000000000..6a293c763 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_5.7.bb @@ -0,0 +1,22 @@ +SUMMARY = "Small and friendly console text editor" +DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ +Not ANOther editor) is an enhanced clone of the \ +Pico text editor." +HOMEPAGE = "http://www.nano-editor.org/" +SECTION = "console/utils" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +DEPENDS = "ncurses file" +RDEPENDS_${PN} = "ncurses-terminfo-base" + +PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" + +SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" +SRC_URI[sha256sum] = "d4b181cc2ec11def3711b4649e34f2be7a668e70ab506860514031d069cccafa" + +UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano" + +inherit autotools gettext pkgconfig + +PACKAGECONFIG[tiny] = "--enable-tiny," diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.64.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.64.bb index 1863db131..fce5a856e 100644 --- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.64.bb +++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.64.bb @@ -43,10 +43,6 @@ inherit siteinfo TD = "${S}/tentative-dist" TDS = "${S}/tentative-dist-staging" -# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a -# which caused -march conflicts in gcc -TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto" - TARGET_CC_ARCH += "${LDFLAGS}" do_configure_prepend_libc-musl () { @@ -96,6 +92,7 @@ do_compile() { export NS_USE_GCC=1 export NSS_USE_SYSTEM_SQLITE=1 export NSS_ENABLE_ECC=1 + export NSS_ENABLE_WERROR=0 ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)} diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb index 311355bd7..31dcc3c29 100644 --- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb +++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb @@ -106,6 +106,12 @@ PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}" +# TBB does not build for powerpc so disable that package config +PACKAGECONFIG_remove_powerpc = "tbb" +# tbb now needs getcontect/setcontext which is not there for all arches on musl +PACKAGECONFIG_remove_libc-musl_riscv64 = "tbb" +PACKAGECONFIG_remove_libc-musl_riscv32 = "tbb" + PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade" PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas," PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft," @@ -224,5 +230,3 @@ do_install_append() { -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake fi } - -TOOLCHAIN = "gcc" diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb deleted file mode 100644 index de5f38036..000000000 --- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.04.0.bb +++ /dev/null @@ -1,51 +0,0 @@ -SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" -HOMEPAGE = "https://poppler.freedesktop.org/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ - file://0001-Do-not-overwrite-all-our-build-flags.patch \ - file://basename-include.patch \ - " -SRC_URI[sha256sum] = "5e2219656c6bbd36154133fef2e12b7d0938464518827098b29a10b1697ea79c" - -DEPENDS = "fontconfig zlib cairo lcms glib-2.0" - -inherit cmake pkgconfig gobject-introspection - -PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" -PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" -PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" -PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" -PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" -PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost" - -# surprise - did not expect this to work :) -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} - -SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" - -EXTRA_OECMAKE += " \ - -DENABLE_CMS=lcms2 \ - -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ - -DBUILD_GTK_TESTS=OFF \ - -DENABLE_ZLIB=ON \ - -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ - ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ -" - -do_configure_append() { - # poppler macro uses pkg-config to check for g-ir runtimes. Something - # makes them point to /usr/bin. Align them to sysroot - that's where the - # gir-wrappers are: - sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja -} - -PACKAGES =+ "libpoppler libpoppler-glib" -FILES_libpoppler = "${libdir}/libpoppler.so.*" -FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" - -RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.05.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.05.0.bb new file mode 100644 index 000000000..4cfc5bd86 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.05.0.bb @@ -0,0 +1,51 @@ +SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" +HOMEPAGE = "https://poppler.freedesktop.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \ + file://0001-Do-not-overwrite-all-our-build-flags.patch \ + file://basename-include.patch \ + " +SRC_URI[sha256sum] = "dafd537b680fad1215bc40fc53d1f38e8449d7c185bc60d5a89e1d26c90dbd8c" + +DEPENDS = "fontconfig zlib cairo lcms glib-2.0" + +inherit cmake pkgconfig gobject-introspection + +PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash" +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg" +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng" +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff" +PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl" +PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg" +PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native" +PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss" +PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost" + +# surprise - did not expect this to work :) +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} + +SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}" + +EXTRA_OECMAKE += " \ + -DENABLE_CMS=lcms2 \ + -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ + -DBUILD_GTK_TESTS=OFF \ + -DENABLE_ZLIB=ON \ + -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \ +" + +do_configure_append() { + # poppler macro uses pkg-config to check for g-ir runtimes. Something + # makes them point to /usr/bin. Align them to sysroot - that's where the + # gir-wrappers are: + sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja +} + +PACKAGES =+ "libpoppler libpoppler-glib" +FILES_libpoppler = "${libdir}/libpoppler.so.*" +FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" + +RDEPENDS_libpoppler = "poppler-data" diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/files/ldflags.patch b/meta-openembedded/meta-oe/recipes-support/portaudio/files/ldflags.patch deleted file mode 100644 index aca93a51f..000000000 --- a/meta-openembedded/meta-oe/recipes-support/portaudio/files/ldflags.patch +++ /dev/null @@ -1,51 +0,0 @@ -Upstream forgot to pass LDFLAGS to everything apart from the main library. - -Upstream-Status: Pending -Signed-off-by: Ross Burton - -diff --git a/Makefile.in b/Makefile.in -index 5e1a764..61ecdd1 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -171,20 +171,20 @@ lib/$(PALIB): lib-stamp $(LTOBJS) $(MAKEFILE) $(PAINC) - @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS) - - $(ALL_TESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) test/%.c -- @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS) -- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS) -+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS) -+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS) - - $(EXAMPLES): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) examples/%.c -- @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS) -- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS) -+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS) -+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS) - - $(SELFTESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) qa/%.c -- @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS) -- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS) -+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS) -+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS) - - bin/paloopback: lib/$(PALIB) $(MAKEFILE) $(PAINC) $(LOOPBACK_OBJS) -- @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS) -- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS) -+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS) -+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS) - - install: lib/$(PALIB) portaudio-2.0.pc - $(INSTALL) -d $(DESTDIR)$(libdir) -@@ -224,10 +224,10 @@ distclean: clean - $(CC) -c $(CFLAGS) $< -o $@ - - %.lo: %.c $(MAKEFILE) $(PAINC) -- $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $< -o $@ -+ $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $(LDFLAGS) $< -o $@ - - %.lo: %.cpp $(MAKEFILE) $(PAINC) -- $(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $< -o $@ -+ $(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $(LDFLAGS) $< -o $@ - - %.o: %.cpp $(MAKEFILE) $(PAINC) - $(CXX) -c $(CXXFLAGS) $< -o $@ diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-Find-jack.patch b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-Find-jack.patch new file mode 100644 index 000000000..d6c6300ec --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19/0001-Find-jack.patch @@ -0,0 +1,32 @@ +From 8ec1b100afda5b3e31f9d44af04b04b16dfff2e4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Tue, 18 May 2021 00:15:46 +0200 +Subject: [PATCH] Find jack with pkgconfig +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 122fe93..ab7d7f5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,7 +274,8 @@ ELSE() + + ELSEIF(UNIX) + +- FIND_PACKAGE(Jack) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules (JACK jack) + IF(JACK_FOUND) + OPTION(PA_USE_JACK "Enable support for Jack" ON) + ELSE() +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb new file mode 100644 index 000000000..3a0f7894f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "A portable audio library" +SECTION = "libs/multimedia" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df" + +PV = "v190700" + +SRC_URI = " \ + git://github.com/PortAudio/portaudio.git \ + file://0001-Find-jack.patch \ +" +SRCREV = "147dd722548358763a8b649b3e4b41dfffbcfbb6" +S = "${WORKDIR}/git" + +inherit cmake + +PACKAGECONFIG ??= "alsa jack" +PACKAGECONFIG[alsa] = ",,alsa-lib" +PACKAGECONFIG[jack] = ",,jack" +PACKAGECONFIG[examples] = "-DPA_BUILD_EXAMPLES=ON,-DPA_BUILD_EXAMPLES=OFF" + +do_install_append() { + if [ -d ${B}/examples ]; then + install -d ${D}${bindir} + for example in ${B}/examples/pa*; do + install -m755 $example ${D}${bindir}/ + done + fi +} + +FILES_SOLIBSDEV = "" +FILES_${PN} += "${libdir}/libportaudio.so" diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb deleted file mode 100644 index 489f8ad9e..000000000 --- a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "A portable audio library" -SECTION = "libs/multimedia" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df" - -PV = "v190600" - -SRC_URI = "http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz \ - file://ldflags.patch" -SRC_URI[md5sum] = "4df8224e047529ca9ad42f0521bf81a8" -SRC_URI[sha256sum] = "f5a21d7dcd6ee84397446fa1fa1a0675bb2e8a4a6dceb4305a8404698d8d1513" - -S = "${WORKDIR}/portaudio" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "alsa jack" -PACKAGECONFIG[alsa] = "--with-alsa, --without-alsa, alsa-lib," -PACKAGECONFIG[jack] = "--with-jack, --without-jack, jack," - -EXTRA_OECONF = "--without-oss --without-asihpi" - -do_install_append() { - mkdir --parents ${D}${bindir} - for b in ${B}/bin/pa*; do - # Bit nasty, should always work - ${B}/*-libtool --mode install install $b ${D}${bindir} - done -} - -PACKAGES += "portaudio-examples" -FILES_portaudio-examples = "${bindir}" diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.11.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.11.bb deleted file mode 100644 index 215c04a22..000000000 --- a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.11.bb +++ /dev/null @@ -1,36 +0,0 @@ -DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+" -HOMEPAGE = "https://remmina.org" -SECTION = "Support" -LICENSE = "GPLv2 & openssl" -LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769" -DEPENDS += "openssl freerdp gtk+3 gdk-pixbuf atk libgcrypt avahi libsodium libssh vte json-glib libsoup-2.4 libvncserver libsecret libxkbfile" - - -DEPENDS_append_libc-musl = " libexecinfo" -LDFLAGS_append_libc-musl = " -lexecinfo" - -SRCREV = "6a8737111adebf571c46f35599cc62e7f7b0bd65" -SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=rel/v1.4.11 \ -" - -PV .= "+git${SRCPV}" - -S = "${WORKDIR}/git" - -inherit cmake features_check mime-xdg -REQUIRED_DISTRO_FEATURES = "x11" - -EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF" - -do_install_append(){ - # We dont need the extra stuff form other desktop environments - rm -rf ${D}/${datadir}/xsessions - rm -rf ${D}/${datadir}/metainfo - rm -rf ${D}/${datadir}/gnome-session -} - -PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol" - -RDEPENDS_${PN} = "bash" - -FILES_${PN}_append = " ${datadir}/icons/hicolor/*" diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.17.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.17.bb new file mode 100644 index 000000000..ef7876786 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.17.bb @@ -0,0 +1,46 @@ +DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+" +HOMEPAGE = "https://remmina.org" +SECTION = "Support" +LICENSE = "GPLv2 & openssl" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769" + +DEPENDS = " \ + glib-2.0-native \ + openssl \ + freerdp \ + gtk+3 \ + gdk-pixbuf \ + atk \ + libgcrypt \ + libsodium \ + libssh \ + vte \ + json-glib \ + libsoup-2.4 \ + libvncserver \ + libsecret \ + libxkbfile \ +" + +DEPENDS_append_libc-musl = " libexecinfo" +LDFLAGS_append_libc-musl = " -lexecinfo" + +SRCREV = "0ef1621b3e16b3168213147a2bfca39da2c2668f" +SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https" +S = "${WORKDIR}/git" + +inherit cmake features_check mime mime-xdg gtk-icon-cache +REQUIRED_DISTRO_FEATURES = "x11" + +EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF" + +PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol" +# Switch on gtk support in avahi recipe if you want to enable avahi support +PACKAGECONFIG[avahi] = "-DWITH_AVAHI=ON, -DWITH_AVAHI=OFF, avahi" + +RDEPENDS_${PN} = "bash" + +FILES_${PN}+= " \ + ${datadir}/metainfo \ + ${datadir}/mime \ +" diff --git a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.8.1.bb b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.8.1.bb deleted file mode 100644 index 6956f5fe6..000000000 --- a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.8.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "single-file header-only version of a C++20-like span for C++98, C++11 and later" -HOMEPAGE = "https://github.com/martinmoene/span-lite" -LICENSE = "BSL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" - -SRC_URI += "git://github.com/martinmoene/span-lite" -SRCREV = "937262f25fb702592cbc5c772111a73a5e3c1e07" - -S = "${WORKDIR}/git" - -inherit cmake -inherit ptest diff --git a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.9.2.bb b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.9.2.bb new file mode 100644 index 000000000..16b7c3e54 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.9.2.bb @@ -0,0 +1,12 @@ +SUMMARY = "single-file header-only version of a C++20-like span for C++98, C++11 and later" +HOMEPAGE = "https://github.com/martinmoene/span-lite" +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +SRC_URI += "git://github.com/martinmoene/span-lite" +SRCREV = "126453198fe2236b31ddfa7353e95d3a06c478ab" + +S = "${WORKDIR}/git" + +inherit cmake +inherit ptest diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-set_my_tls_end_of_input-Use-an-arbitrary-but-valid-p.patch b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-set_my_tls_end_of_input-Use-an-arbitrary-but-valid-p.patch new file mode 100644 index 000000000..caa68e64c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb/0001-set_my_tls_end_of_input-Use-an-arbitrary-but-valid-p.patch @@ -0,0 +1,37 @@ +From a996fd451bbd7be93cff5f466bff7282ae972fe1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 11 May 2021 10:52:51 -0700 +Subject: [PATCH] set_my_tls_end_of_input: Use an arbitrary but valid pointer + as value + +Pass a valid pointer to pthread_setspecific to avoid GCC 11 warning. +Fixes + +src/tbb/tls.h:44:46: error: 'int pthread_setspecific(pthread_key_t, const void*)' expecting 1 byte in a region of size 0 [-Werror=stringop-overread] +| 44 | void set( T value ) { pthread_setspecific(my_key, (void*)value); } +| | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ +| compilation terminated due to -Wfatal-errors. + +Upstream-Status: Submitted [https://github.com/oneapi-src/oneTBB/pull/394] +Signed-off-by: Khem Raj +--- + src/tbb/parallel_pipeline.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/tbb/parallel_pipeline.cpp b/src/tbb/parallel_pipeline.cpp +index b7655c6b..ca518b5b 100644 +--- a/src/tbb/parallel_pipeline.cpp ++++ b/src/tbb/parallel_pipeline.cpp +@@ -243,7 +243,8 @@ public: + return end_of_input_tls.get() != 0; + } + void set_my_tls_end_of_input() { +- end_of_input_tls.set(1); ++ // Use an arbitrary but valid pointer as value. ++ end_of_input_tls.set(array_size); + } + }; + +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb index 771ddd49b..f4c52daf4 100644 --- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb +++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.2.0.bb @@ -18,6 +18,7 @@ SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH file://GLIBC-PREREQ-is-not-defined-on-musl.patch \ file://0001-CMakeLists.txt-exclude-riscv64-riscv32.patch \ file://0001-Disable-use-of-_tpause-instruction.patch \ + file://0001-set_my_tls_end_of_input-Use-an-arbitrary-but-valid-p.patch \ " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.20.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.20.bb deleted file mode 100644 index 9df2e3960..000000000 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.20.bb +++ /dev/null @@ -1,83 +0,0 @@ -SUMMARY = "VirtualBox Linux Guest Drivers" -SECTION = "core" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660" - -DEPENDS = "virtual/kernel" - -inherit module kernel-module-split - -COMPATIBLE_MACHINE = "(qemux86|qemux86-64)" - -VBOX_NAME = "VirtualBox-${PV}" - -SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ - file://Makefile.utils \ - file://add__divmoddi4.patch \ -" -SRC_URI[md5sum] = "f2fe05e72c37d40afb36b9fb3aa38b78" -SRC_URI[sha256sum] = "e690c91974a2e7a5aca2c0939ad514382f9a2136797a5e0b96aab778e42bc8a7" - -S ?= "${WORKDIR}/vbox_module" -S_task-patch = "${WORKDIR}/${VBOX_NAME}" - -export BUILD_TARGET_ARCH="${ARCH}" -export BUILD_TARGET_ARCH_x86-64="amd64" - -EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1" - -# otherwise 5.2.22 builds just vboxguest -MAKE_TARGETS = "all" - -addtask export_sources after do_patch before do_configure - -do_export_sources() { - mkdir -p "${S}" - ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz - tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz - - # add a mount utility to use shared folder from VBox Addition Source Code - mkdir -p "${S}/utils" - install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils - install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils - install ${S}/../Makefile.utils ${S}/utils/Makefile - -} - -do_configure_prepend() { - # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop. - # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in /build, or the variable KERN_VER must be set. Stop. - mkdir -p ${WORKDIR}/${KERNEL_VERSION} - ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build -} - -# compile and install mount utility -do_compile() { - oe_runmake all - oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils - if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then - echo "ERROR: One of vbox*.ko modules wasn't built" - exit 1 - fi -} - -module_do_install() { - MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc - install -d $MODULE_DIR - install -m 644 vboxguest.ko $MODULE_DIR - install -m 644 vboxsf.ko $MODULE_DIR - install -m 644 vboxvideo.ko $MODULE_DIR -} - -do_install_append() { - install -d ${D}${base_sbindir} - install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} -} - -PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" -RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" - -FILES_${PN} = "${base_sbindir}" - -# autoload if installed -KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.22.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.22.bb new file mode 100644 index 000000000..a074d0a55 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.22.bb @@ -0,0 +1,83 @@ +SUMMARY = "VirtualBox Linux Guest Drivers" +SECTION = "core" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660" + +DEPENDS = "virtual/kernel" + +inherit module kernel-module-split + +COMPATIBLE_MACHINE = "(qemux86|qemux86-64)" + +VBOX_NAME = "VirtualBox-${PV}" + +SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ + file://Makefile.utils \ + file://add__divmoddi4.patch \ +" +SRC_URI[md5sum] = "abb1a20021e5915fe38c666e8c11cf80" +SRC_URI[sha256sum] = "99816d2a15205d49362a31e8ffeb8262d2fa0678c751dfd0a7c43b2faca8be49" + +S ?= "${WORKDIR}/vbox_module" +S_task-patch = "${WORKDIR}/${VBOX_NAME}" + +export BUILD_TARGET_ARCH="${ARCH}" +export BUILD_TARGET_ARCH_x86-64="amd64" + +EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1" + +# otherwise 5.2.22 builds just vboxguest +MAKE_TARGETS = "all" + +addtask export_sources after do_patch before do_configure + +do_export_sources() { + mkdir -p "${S}" + ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz + tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz + + # add a mount utility to use shared folder from VBox Addition Source Code + mkdir -p "${S}/utils" + install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils + install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils + install ${S}/../Makefile.utils ${S}/utils/Makefile + +} + +do_configure_prepend() { + # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop. + # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in /build, or the variable KERN_VER must be set. Stop. + mkdir -p ${WORKDIR}/${KERNEL_VERSION} + ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build +} + +# compile and install mount utility +do_compile() { + oe_runmake all + oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils + if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then + echo "ERROR: One of vbox*.ko modules wasn't built" + exit 1 + fi +} + +module_do_install() { + MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc + install -d $MODULE_DIR + install -m 644 vboxguest.ko $MODULE_DIR + install -m 644 vboxsf.ko $MODULE_DIR + install -m 644 vboxvideo.ko $MODULE_DIR +} + +do_install_append() { + install -d ${D}${base_sbindir} + install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir} +} + +PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" +RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo" + +FILES_${PN} = "${base_sbindir}" + +# autoload if installed +KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo" diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch index c06aa7b6c..ea3eb11f0 100644 --- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch +++ b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch @@ -9,14 +9,19 @@ Signed-off-by: Khem Raj common/arch.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +diff --git a/common/arch.h b/common/arch.h +index 617feb5e..6edb39db 100644 --- a/common/arch.h +++ b/common/arch.h -@@ -84,7 +84,7 @@ typedef int bool_t; +@@ -85,7 +85,7 @@ typedef int bool_t; #define NEED_ALIGN #elif defined(__x86__) || defined(__x86_64__) || \ defined(__AMD64__) || defined(_M_IX86) || defined (_M_AMD64) || \ - defined(__i386__) || defined(__aarch64__) || \ + defined(__i386__) || defined(__aarch64__) || defined(__powerpc64__) || \ + defined(__PPC__) || defined(__LITTLE_ENDIAN__) || \ + defined(__s390__) || defined (__s390x__) || \ defined(__riscv) - #define NO_NEED_ALIGN - #else +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb deleted file mode 100644 index 039ba1a76..000000000 --- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.15.bb +++ /dev/null @@ -1,94 +0,0 @@ -SUMMARY = "An open source remote desktop protocol(rdp) server." - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \ -" - -inherit features_check autotools pkgconfig useradd systemd - -DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native" - -REQUIRED_DISTRO_FEATURES = "x11 pam" - -SRC_URI = "git://github.com/neutrinolabs/xrdp.git;branch=devel \ - file://xrdp.sysconfig \ - file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \ - file://0001-Fix-the-compile-error.patch \ - file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \ - " -SRCREV = "f24b7b7988140b18202908654db3289659303772" - -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system xrdp" -USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \ - --no-create-home --shell /bin/false xrdp" - -FILES_${PN} += "${datadir}/dbus-1/services/*.service \ - ${datadir}/dbus-1/accessibility-services/*.service " - -FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \ - ${libdir}/xrdp/libxrdp.so \ - ${libdir}/xrdp/libscp.so \ - ${libdir}/xrdp/libxrdpapi.so " - -EXTRA_OECONF = "--enable-pam-config=suse" - -do_configure_prepend() { - cd ${S} - ./bootstrap - cd - -} - -do_compile_prepend() { - sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in -} - - -do_install_append() { - install -d ${D}${sysconfdir} - install -d ${D}${sysconfdir}/xrdp - install -d ${D}${sysconfdir}/xrdp/pam.d - install -d ${D}${sysconfdir}/sysconfig/xrdp - - # deal with systemd unit files - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service - install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service - - install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/sesman/sesman.ini.in ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/xrdp/xrdp.ini.in ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/ - install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/ - install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/ - chown xrdp:xrdp ${D}${sysconfdir}/xrdp -} - -SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service" - -pkg_postinst_${PN}() { - if test -z "$D" - then - if test -x ${bindir}/xrdp-keygen - then - ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null - fi - if test ! -s ${sysconfdir}/xrdp/cert.pem - then - openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \ - -keyout ${sysconfdir}/xrdp/key.pem \ - -out ${sysconfdir}/xrdp/cert.pem \ - -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1 - chmod 400 ${sysconfdir}/xrdp/key.pem - fi - fi -} diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.16.bb b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.16.bb new file mode 100644 index 000000000..d7a371b08 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.16.bb @@ -0,0 +1,94 @@ +SUMMARY = "An open source remote desktop protocol(rdp) server." + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \ +" + +inherit features_check autotools pkgconfig useradd systemd + +DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native" + +REQUIRED_DISTRO_FEATURES = "x11 pam" + +SRC_URI = "git://github.com/neutrinolabs/xrdp.git;branch=devel \ + file://xrdp.sysconfig \ + file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \ + file://0001-Fix-the-compile-error.patch \ + file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \ + " +SRCREV = "a4c7ee077c049202d73f82f518b2de958d722890" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system xrdp" +USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \ + --no-create-home --shell /bin/false xrdp" + +FILES_${PN} += "${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/accessibility-services/*.service " + +FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \ + ${libdir}/xrdp/libxrdp.so \ + ${libdir}/xrdp/libscp.so \ + ${libdir}/xrdp/libxrdpapi.so " + +EXTRA_OECONF = "--enable-pam-config=suse" + +do_configure_prepend() { + cd ${S} + ./bootstrap + cd - +} + +do_compile_prepend() { + sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in +} + + +do_install_append() { + install -d ${D}${sysconfdir} + install -d ${D}${sysconfdir}/xrdp + install -d ${D}${sysconfdir}/xrdp/pam.d + install -d ${D}${sysconfdir}/sysconfig/xrdp + + # deal with systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service + install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service + + install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/sesman/sesman.ini.in ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/xrdp/xrdp.ini.in ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/ + install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/ + install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/ + chown xrdp:xrdp ${D}${sysconfdir}/xrdp +} + +SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service" + +pkg_postinst_${PN}() { + if test -z "$D" + then + if test -x ${bindir}/xrdp-keygen + then + ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null + fi + if test ! -s ${sysconfdir}/xrdp/cert.pem + then + openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \ + -keyout ${sysconfdir}/xrdp/key.pem \ + -out ${sysconfdir}/xrdp/cert.pem \ + -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1 + chmod 400 ${sysconfdir}/xrdp/key.pem + fi + fi +} diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.4.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.4.bb deleted file mode 100644 index 21004726a..000000000 --- a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.4.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \ -TDD and BDD - using C++11, C++14, C++17 and later." -AUTHOR = "Phil Nash, Martin Horenovsky and others" -HOMEPAGE = "https://github.com/catchorg/Catch2" -LICENSE = "BSL-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" - -SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x" -SRCREV = "de6fe184a9ac1a06895cdd1c9b437f0a0bdf14ad" - -S = "${WORKDIR}/git" - -inherit cmake python3native - -do_install_append() { - rm ${D}${datadir}/Catch2/lldbinit - rm ${D}${datadir}/Catch2/gdbinit - rmdir ${D}${datadir}/Catch2/ -} -# Header-only library -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.6.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.6.bb new file mode 100644 index 000000000..fd677a3e3 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.6.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \ +TDD and BDD - using C++11, C++14, C++17 and later." +AUTHOR = "Phil Nash, Martin Horenovsky and others" +HOMEPAGE = "https://github.com/catchorg/Catch2" +LICENSE = "BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" + +SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x" +SRCREV = "5c88067bd339465513af4aec606bd2292f1b594a" + +S = "${WORKDIR}/git" + +inherit cmake python3native + +do_install_append() { + rm ${D}${datadir}/Catch2/lldbinit + rm ${D}${datadir}/Catch2/gdbinit + rmdir ${D}${datadir}/Catch2/ +} +# Header-only library +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" diff --git a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb index 354e7de33..2e0fecf7a 100644 --- a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb +++ b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb @@ -2,15 +2,14 @@ DESCRIPTION = "Google's framework for writing C++ tests" HOMEPAGE = "https://github.com/google/googletest" SECTION = "libs" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ - file://googletest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a" +LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a" -PV = "1.10.0" +PV = "1.10.0+git${SRCPV}" PROVIDES += "gmock gtest" S = "${WORKDIR}/git" -SRCREV = "703bd9caab50b139428cea1aaff9974ebee5742e" +SRCREV = "662fe38e44900c007eccb65a5d2ea19df7bd520e" SRC_URI = "git://github.com/google/googletest.git" inherit cmake diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.08.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.08.bb deleted file mode 100644 index 3f1d35be8..000000000 --- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.08.bb +++ /dev/null @@ -1,106 +0,0 @@ -# NOTE: -# You should use perl-module-encode rather than this package -# unless you specifically need a version newer than what is -# provided by perl. - -SUMMARY = "Encode - character encodings" -DESCRIPTION = "The \"Encode\" module provides the interfaces between \ -Perl's strings and the rest of the system. Perl strings are sequences \ -of characters." - -AUTHOR = "Dan Kogai " -HOMEPAGE = "https://metacpan.org/release/Encode" -SECTION = "lib" -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5" - -SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz" -SRC_URI[md5sum] = "3889cf6d1b75e486d54f9fd6517a02b4" -SRC_URI[sha256sum] = "ed063d01d01a140a3a3ec0aeba2f2b4849a35c18ca96ac231a5d7c7d54d17b5b" - -UPSTREAM_CHECK_REGEX = "Encode\-(?P(\d+\.\d+))(?!_\d+).tar" - -S = "${WORKDIR}/Encode-${PV}" - -inherit cpan ptest-perl - -do_install_prepend() { - # Requires "-T" (taint) option on command line - rm -rf ${B}/t/taint.t - # Circular dependency of perl-module-open on perl-module-encode - # and we cannot load perl-module-encode because we are providing - # an alternative - rm -rf ${B}/t/use-Encode-Alias.t -} - -do_install_ptest() { - mkdir ${D}${PTEST_PATH}/bin - cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin - cp -r ${B}/blib ${D}${PTEST_PATH} - chown -R root:root ${D}${PTEST_PATH} -} - -# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 -# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 -# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 -RCONFLICTS_${PN} = "perl-misc perl-module-encode" - -RDEPENDS_${PN} += " \ - perl-module-bytes \ - perl-module-constant \ - perl-module-parent \ - perl-module-storable \ - perl-module-xsloader \ - " - -RPROVIDES_${PN} += " \ - libencode-alias-perl \ - libencode-byte-perl \ - libencode-cjkconstants-perl \ - libencode-cn-perl \ - libencode-cn-hz-perl \ - libencode-config-perl \ - libencode-ebcdic-perl \ - libencode-encoder-perl \ - libencode-encoding-perl \ - libencode-gsm0338-perl \ - libencode-guess-perl \ - libencode-jp-perl \ - libencode-jp-h2z-perl \ - libencode-jp-jis7-perl \ - libencode-kr-perl \ - libencode-kr-2022_kr-perl \ - libencode-mime-header-perl \ - libencode-mime-name-perl \ - libencode-symbol-perl \ - libencode-tw-perl \ - libencode-unicode-perl \ - libencode-unicode-utf7-perl \ - libencoding-perl \ - libencode-internal-perl \ - libencode-mime-header-iso_2022_jp-perl \ - libencode-utf8-perl \ - libencode-utf_ebcdic-perl \ - " - -RDEPENDS_${PN}-ptest += " \ - perl-module-blib \ - perl-module-charnames \ - perl-module-file-compare \ - perl-module-file-copy \ - perl-module-filehandle \ - perl-module-findbin \ - perl-module-integer \ - perl-module-io-select \ - perl-module-ipc-open3 \ - perl-module-mime-base64 \ - perl-module-perlio \ - perl-module-perlio-encoding \ - perl-module-perlio-scalar \ - perl-module-test-more \ - perl-module-tie-scalar \ - perl-module-unicore \ - perl-module-utf8 \ - " - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.10.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.10.bb new file mode 100644 index 000000000..94f5a0825 --- /dev/null +++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.10.bb @@ -0,0 +1,106 @@ +# NOTE: +# You should use perl-module-encode rather than this package +# unless you specifically need a version newer than what is +# provided by perl. + +SUMMARY = "Encode - character encodings" +DESCRIPTION = "The \"Encode\" module provides the interfaces between \ +Perl's strings and the rest of the system. Perl strings are sequences \ +of characters." + +AUTHOR = "Dan Kogai " +HOMEPAGE = "https://metacpan.org/release/Encode" +SECTION = "lib" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5" + +SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz" +SRC_URI[md5sum] = "7377c8694a7afeeaa46ee035d0d7335c" +SRC_URI[sha256sum] = "c2d7906af17664d6b6f16bf76572c95c16c30ad096b7dd980c08c3de33e319a9" + +UPSTREAM_CHECK_REGEX = "Encode\-(?P(\d+\.\d+))(?!_\d+).tar" + +S = "${WORKDIR}/Encode-${PV}" + +inherit cpan ptest-perl + +do_install_prepend() { + # Requires "-T" (taint) option on command line + rm -rf ${B}/t/taint.t + # Circular dependency of perl-module-open on perl-module-encode + # and we cannot load perl-module-encode because we are providing + # an alternative + rm -rf ${B}/t/use-Encode-Alias.t +} + +do_install_ptest() { + mkdir ${D}${PTEST_PATH}/bin + cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin + cp -r ${B}/blib ${D}${PTEST_PATH} + chown -R root:root ${D}${PTEST_PATH} +} + +# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 +# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 +# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586 +RCONFLICTS_${PN} = "perl-misc perl-module-encode" + +RDEPENDS_${PN} += " \ + perl-module-bytes \ + perl-module-constant \ + perl-module-parent \ + perl-module-storable \ + perl-module-xsloader \ + " + +RPROVIDES_${PN} += " \ + libencode-alias-perl \ + libencode-byte-perl \ + libencode-cjkconstants-perl \ + libencode-cn-perl \ + libencode-cn-hz-perl \ + libencode-config-perl \ + libencode-ebcdic-perl \ + libencode-encoder-perl \ + libencode-encoding-perl \ + libencode-gsm0338-perl \ + libencode-guess-perl \ + libencode-jp-perl \ + libencode-jp-h2z-perl \ + libencode-jp-jis7-perl \ + libencode-kr-perl \ + libencode-kr-2022_kr-perl \ + libencode-mime-header-perl \ + libencode-mime-name-perl \ + libencode-symbol-perl \ + libencode-tw-perl \ + libencode-unicode-perl \ + libencode-unicode-utf7-perl \ + libencoding-perl \ + libencode-internal-perl \ + libencode-mime-header-iso_2022_jp-perl \ + libencode-utf8-perl \ + libencode-utf_ebcdic-perl \ + " + +RDEPENDS_${PN}-ptest += " \ + perl-module-blib \ + perl-module-charnames \ + perl-module-file-compare \ + perl-module-file-copy \ + perl-module-filehandle \ + perl-module-findbin \ + perl-module-integer \ + perl-module-io-select \ + perl-module-ipc-open3 \ + perl-module-mime-base64 \ + perl-module-perlio \ + perl-module-perlio-encoding \ + perl-module-perlio-scalar \ + perl-module-test-more \ + perl-module-tie-scalar \ + perl-module-unicore \ + perl-module-utf8 \ + " + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb index 0418b5930..9f3d48253 100644 --- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb +++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb @@ -38,6 +38,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-astroid \ python3-asttokens \ python3-async-timeout \ + python3-asyncio-glib \ python3-attr \ python3-autobahn \ python3-automat \ @@ -215,7 +216,6 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-lxml \ python3-lz4 \ python3-m2crypto \ - python3-markdown \ python3-markupsafe \ python3-matplotlib \ python3-mccabe \ @@ -290,6 +290,7 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-pybind11-json \ python3-pybluez \ python3-pychromecast \ + python3-pycocotools \ python3-pycodestyle \ python3-pyconnman \ python3-pycparser \ @@ -366,7 +367,6 @@ RDEPENDS_packagegroup-meta-python3 = "\ python3-robotframework-seriallibrary \ python3-rsa \ python3-ruamel-yaml \ - python3-scapy \ python3-scrypt \ python3-sdnotify \ python3-semver \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.0.0.bb deleted file mode 100644 index cb8462d24..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.0.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Advanced Enumerations library" -HOMEPAGE = "https://pypi.org/project/aenum/" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://aenum/LICENSE;md5=c6a85477543f8b8591b9c1f82abebbe9" - -SRC_URI[sha256sum] = "17cd8cfed1ee4b617198c9fabbabd70ebd8f01e54ac29cd6c3a92df14bd86656" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb new file mode 100644 index 000000000..cb5eab15a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "Advanced Enumerations library" +HOMEPAGE = "https://pypi.org/project/aenum/" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://aenum/LICENSE;md5=c6a85477543f8b8591b9c1f82abebbe9" + +SRC_URI[sha256sum] = "87f0e9ef4f828578ab06af30e4d7944043bf4ecd3f4b7bd1cbe37e2173cde94a" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.6.0.bb deleted file mode 100644 index 89157b504..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.6.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "File support for asyncio" -DESCRIPTION = "Asynchronous local file IO library for asyncio and Python" -HOMEPAGE = "https://github.com/aio-libs/aiohttp" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" - -SRC_URI[md5sum] = "3b7ba03babd3d3a6101524469358843e" -SRC_URI[sha256sum] = "e0281b157d3d5d59d803e3f4557dcc9a3dff28a4dd4829a9ff478adae50ca092" - -PYPI_PACKAGE = "aiofiles" - -inherit pypi setuptools3 - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-asyncio \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.7.0.bb new file mode 100644 index 000000000..9d7a49eb6 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.7.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "File support for asyncio" +DESCRIPTION = "Asynchronous local file IO library for asyncio and Python" +HOMEPAGE = "https://github.com/aio-libs/aiohttp" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" + +SRC_URI[sha256sum] = "a1c4fc9b2ff81568c83e21392a82f344ea9d23da906e4f6a52662764545e19d4" + +PYPI_PACKAGE = "aiofiles" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-asyncio \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.2.0.bb deleted file mode 100644 index a2a7363f6..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.2.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Asynchronous library to control Philips Hue" -HOMEPAGE = "https://pypi.org/project/aiohue/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -# No license file available but the license is specified in PKG-INFO and setup.py. -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515" - -SRC_URI[sha256sum] = "35696d04d6eb0328b7031ea3c0a3cfe5d83dfcf62f920522e4767d165c6bc529" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "${PYTHON_PN}-aiohttp" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.5.0.bb new file mode 100644 index 000000000..a29625acc --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_2.5.0.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "Asynchronous library to control Philips Hue" +HOMEPAGE = "https://pypi.org/project/aiohue/" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=dab31a1d28183826937f4b152143a33f" + +SRC_URI[sha256sum] = "e2ae49be45261283a899cc1b95786f07fe5076be9a311d250dbe2de1b8c38f0f" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-aiohttp" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.8.bb deleted file mode 100644 index fdf0d36b5..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.5.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "A database migration tool for SQLAlchemy" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c4ece55266dcdd02ce165b1ee0e490bb" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "e27fd67732c97a1c370c33169ef4578cf96436fa0e7dcfaeeef4a917d0737d56" - -PYPI_PACKAGE = "alembic" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-editor \ - ${PYTHON_PN}-mako \ - ${PYTHON_PN}-sqlalchemy \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.6.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.6.5.bb new file mode 100644 index 000000000..6b58c7704 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.6.5.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "A database migration tool for SQLAlchemy" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c4ece55266dcdd02ce165b1ee0e490bb" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "a21fedebb3fb8f6bbbba51a11114f08c78709377051384c9c5ead5705ee93a51" + +PYPI_PACKAGE = "alembic" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-editor \ + ${PYTHON_PN}-mako \ + ${PYTHON_PN}-sqlalchemy \ + ${PYTHON_PN}-misc \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.6.bb deleted file mode 100644 index 62c54a46b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.6.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "An abstract syntax tree for Python with inference support." -HOMEPAGE = "https://pypi.python.org/pypi/astroid" -SECTION = "devel/python" -LICENSE = "LGPL-2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1" - -SRC_URI[sha256sum] = "8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-pytest-runner-native" - -PACKAGES =+ "${PN}-tests" - -FILES_${PN}-tests += " \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ - ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ -" - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-lazy-object-proxy \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-wrapt \ - ${PYTHON_PN}-setuptools \ -" - -RDEPENDS_${PN}-tests_class-target += "\ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.7.bb new file mode 100644 index 000000000..c805dc4dc --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.5.7.bb @@ -0,0 +1,32 @@ +SUMMARY = "An abstract syntax tree for Python with inference support." +HOMEPAGE = "https://pypi.python.org/pypi/astroid" +SECTION = "devel/python" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1" + +SRC_URI[sha256sum] = "d66a600e1602736a0f24f725a511b0e50d12eb18f54b31ec276d2c26a0a62c6a" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-pytest-runner-native" + +PACKAGES =+ "${PN}-tests" + +FILES_${PN}-tests += " \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/test* \ + ${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \ +" + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-lazy-object-proxy \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-wrapt \ + ${PYTHON_PN}-setuptools \ +" + +RDEPENDS_${PN}-tests_class-target += "\ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb new file mode 100644 index 000000000..72da6081a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb @@ -0,0 +1,11 @@ +SUMMARY = "An implementation of the Python 3 asyncio event loop on top of GLib" +AUTHOR = "James Henstridge" +LICENSE = "LGPL-2.1" +LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c" + +inherit setuptools3 pypi + +SRC_URI[md5sum] = "60153055e76ceaacdfbaeafb03d61dd9" +SRC_URI[sha256sum] = "fe3ceb2ba5f541330c07ca1bd7ae792468d625bad1acf5354a3a7a0b9fd87521" + +RDEPENDS_${PN} += "python3-asyncio python3-pygobject" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.9.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.9.0.bb deleted file mode 100644 index 7248abf33..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.9.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION = "A collection of tools for internationalizing Python applications" -HOMEPAGE = "http://babel.edgewall.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=22a580b27e4ebf9689e466b63aedeb7f" - -SRC_URI[sha256sum] = "da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05" - -PYPI_PACKAGE = "Babel" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-codecs \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pytz \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-threading \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.9.1.bb new file mode 100644 index 000000000..a54f0d210 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-babel_2.9.1.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "A collection of tools for internationalizing Python applications" +HOMEPAGE = "http://babel.edgewall.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=05fb707293a85504aa67afc8ea34d747" + +SRC_URI[sha256sum] = "bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0" + +PYPI_PACKAGE = "Babel" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-difflib \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pytz \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-threading \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bidict_0.21.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bidict_0.21.2.bb new file mode 100644 index 000000000..237bd2a63 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bidict_0.21.2.bb @@ -0,0 +1,11 @@ +SUMMARY = "The bidirectional mapping library for Python." +DESCRIPTION = "The bidirectional mapping library for Python." +HOMEPAGE = "https://bidict.readthedocs.io/" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3" + +SRC_URI[sha256sum] = "4fa46f7ff96dc244abfc437383d987404ae861df797e2fd5b190e233c302be09" + +inherit pypi setuptools3 + +DEPENDS += "python3-setuptools-scm-native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.0.1.bb deleted file mode 100644 index a91e246d4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.0.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" -HOMEPAGE = "https://github.com/ilanschnell/bitarray" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" - -SRC_URI[sha256sum] = "ec3a4f6d711a79ed23aea9541638d3353dc3f083f293a13180b14b482e3e19ef" - -inherit setuptools3 pypi - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.1.0.bb new file mode 100644 index 000000000..12de2c97a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.1.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "A high-level Python efficient arrays of booleans -- C extension" +HOMEPAGE = "https://github.com/ilanschnell/bitarray" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d" + +SRC_URI[sha256sum] = "97224a19325ecee49a3bf4df3ee0531d3af9cf288b67d089a7ef44a3c4ea3839" + +inherit setuptools3 pypi + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.3.bb deleted file mode 100644 index 4da233959..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.3.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Controller Area Network (CAN) interface module for Python" -SECTION = "devel/python" -LICENSE = "LGPLv3" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e6a600fd5e1d9cbde2d983680233ad02" - -SRC_URI[md5sum] = "1310da316799e4b12944a6c1dcb017a9" -SRC_URI[sha256sum] = "ecd69cf6b2f0235345ebe607a15325cf1384c85b24ffbe1d68c3754357f87488" - -PYPI_PACKAGE="python-can" - -inherit pypi setuptools3 - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-aenum \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-codecs \ - ${PYTHON_PN}-compression \ - ${PYTHON_PN}-fcntl \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-sqlite3 \ - ${PYTHON_PN}-wrapt \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.4.bb new file mode 100644 index 000000000..3ca303c72 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_3.3.4.bb @@ -0,0 +1,27 @@ +SUMMARY = "Controller Area Network (CAN) interface module for Python" +SECTION = "devel/python" +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e6a600fd5e1d9cbde2d983680233ad02" + +SRC_URI[md5sum] = "305075968c56bd85130b19d86e9e505d" +SRC_URI[sha256sum] = "2d3c223b7adc4dd46ce258d4a33b7e0dbb6c339e002faa40ee4a69d5fdce9449" + +PYPI_PACKAGE="python-can" + +inherit pypi setuptools3 + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-aenum \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-fcntl \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-sqlite3 \ + ${PYTHON_PN}-wrapt \ + ${PYTHON_PN}-pkg-resources \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.2.0.bb deleted file mode 100644 index cc067c41a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.2.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)." -DEPENDS +="${PYTHON_PN}-setuptools-scm-native" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -SRC_URI[sha256sum] = "a33aa2e5534fd74401ac95686886e655e3b2ce6383b3f958199b6e70a87c94bf" -SRC_URI[md5sum] = "0940aa8bfd1a07f06a983bb6dc78f1ca" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-unixadmin \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-datetime \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.3.0.bb new file mode 100644 index 000000000..32d2016e5 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.3.0.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)." +DEPENDS +="${PYTHON_PN}-setuptools-scm-native" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRC_URI[sha256sum] = "462b3604d9579458a79e6ca350943c49aabbc98c794c111a79b98720b9164336" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-unixadmin \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.3.bb deleted file mode 100644 index fa0bbb0aa..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.3.bb +++ /dev/null @@ -1,11 +0,0 @@ -SUMMARY = "Lightweight, extensible schema and data validation tool for Python dictionaries." -HOMEPAGE = "http://docs.python-cerberus.org/" -SECTION = "devel/python" -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=48f8e9432d0dac5e0e7a18211a0bacdb" - -# The PyPI package uses a capital letter so we have to specify this explicitly -PYPI_PACKAGE = "Cerberus" -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "eec10585c33044fb7c69650bc5b68018dac0443753337e2b07684ee0f3c83329" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.4.bb new file mode 100644 index 000000000..95934c6e4 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cerberus_1.3.4.bb @@ -0,0 +1,13 @@ +SUMMARY = "Lightweight, extensible schema and data validation tool for Python dictionaries." +HOMEPAGE = "http://docs.python-cerberus.org/" +SECTION = "devel/python" +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=48f8e9432d0dac5e0e7a18211a0bacdb" + +RDEPENDS_${PN} += "python3-setuptools" + +# The PyPI package uses a capital letter so we have to specify this explicitly +PYPI_PACKAGE = "Cerberus" +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "d1b21b3954b2498d9a79edf16b3170a3ac1021df88d197dc2ce5928ba519237c" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2020.12.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2020.12.5.bb deleted file mode 100644 index dd2f6a2f6..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2020.12.5.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Python package for providing Mozilla's CA Bundle." -DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \ -Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \ -which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set." -HOMEPAGE = " http://certifi.io/" - -LICENSE = "ISC" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1" - -SRC_URI[sha256sum] = "1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2021.5.30.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2021.5.30.bb new file mode 100644 index 000000000..ef2c66b14 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2021.5.30.bb @@ -0,0 +1,14 @@ +SUMMARY = "Python package for providing Mozilla's CA Bundle." +DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \ +Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \ +which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set." +HOMEPAGE = " http://certifi.io/" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8" + +SRC_URI[sha256sum] = "2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.1.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.1.6.bb deleted file mode 100644 index fce9f9805..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.1.6.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "REPL plugin for Click" -HOMEPAGE = "https://github.com/untitaker/click-repl" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fee2943fdd4d8afbac9ccc1c8ac137d5" - -SRC_URI[md5sum] = "2d5f4d42cbd1da9a50a49dff4d6087ca" -SRC_URI[sha256sum] = "b9f29d52abc4d6059f8e276132a111ab8d94980afe6a5432b9d996544afa95d5" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.2.0.bb new file mode 100644 index 000000000..76affe274 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click-repl_0.2.0.bb @@ -0,0 +1,10 @@ +SUMMARY = "REPL plugin for Click" +HOMEPAGE = "https://github.com/untitaker/click-repl" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fee2943fdd4d8afbac9ccc1c8ac137d5" + +SRC_URI[sha256sum] = "cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = "${PYTHON_PN}-click" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.1.2.bb deleted file mode 100644 index 0b513e7cb..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_7.1.2.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "A simple wrapper around optparse for powerful command line utilities." -DESCRIPTION = "\ -Click is a Python package for creating beautiful command line interfaces \ -in a composable way with as little code as necessary. It's the "Command \ -Line Interface Creation Kit". It's highly configurable but comes with \ -sensible defaults out of the box." -HOMEPAGE = "http://click.pocoo.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=1fa98232fd645608937a0fdc82e999b8" - -SRC_URI[md5sum] = "53692f62cb99a1a10c59248f1776d9c0" -SRC_URI[sha256sum] = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a" - -inherit pypi setuptools3 ptest - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-terminal \ - ${PYTHON_PN}-unixadmin \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -UPSTREAM_CHECK_REGEX = "click/(?P\d+(\.\d+)+)/" - -CLEANBROKEN = "1" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-threading \ - " - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb new file mode 100644 index 000000000..22c6c7903 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "A simple wrapper around optparse for powerful command line utilities." +DESCRIPTION = "\ +Click is a Python package for creating beautiful command line interfaces \ +in a composable way with as little code as necessary. It's the "Command \ +Line Interface Creation Kit". It's highly configurable but comes with \ +sensible defaults out of the box." +HOMEPAGE = "http://click.pocoo.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=1fa98232fd645608937a0fdc82e999b8" + +SRC_URI[sha256sum] = "8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a" + +inherit pypi setuptools3 ptest + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-terminal \ + ${PYTHON_PN}-unixadmin \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +UPSTREAM_CHECK_REGEX = "click/(?P\d+(\.\d+)+)/" + +CLEANBROKEN = "1" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-threading \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.1.bb new file mode 100644 index 000000000..0c851fef3 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." +HOMEPAGE = "https://github.com/bw2/ConfigArgParse" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" + +SRC_URI[sha256sum] = "6df537158f28c5ef2e8a8146781833abbc6cb7fca81b1b55d18808ce3439235e" + +PYPI_PACKAGE = "ConfigArgParse" + +inherit pypi setuptools3 + +PACKAGECONFIG ?= "yaml" +PACKAGECONFIG[yaml] = ",,,${PYTHON_PN}-pyyaml" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-shell \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.bb deleted file mode 100644 index 393f13874..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-configargparse_1.4.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables." -HOMEPAGE = "https://github.com/bw2/ConfigArgParse" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=da746463714cc35999ed9a42339f2943" - -SRC_URI[sha256sum] = "abef9ff44fb0091f0e3bb2ee7e5b26a02b5b62d45408a5272a9bd461f5b59b4b" - -PYPI_PACKAGE = "ConfigArgParse" - -inherit pypi setuptools3 - -PACKAGECONFIG ?= "yaml" -PACKAGECONFIG[yaml] = ",,,${PYTHON_PN}-pyyaml" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-shell \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.12.bb deleted file mode 100644 index fd7046895..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.12.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "croniter provides iteration for datetime object with cron like format" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=b8ee59850b882cbf623188489ea748e2" - -PYPI_PACKAGE = "croniter" - -SRC_URI[sha256sum] = "3603ef0d60fc6df98ce356c01529de90b06a002379b9f5e9eae981fb9c1fd936" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " python3-dateutil python3-natsort" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.13.bb new file mode 100644 index 000000000..c520fa715 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-croniter_1.0.13.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "croniter provides iteration for datetime object with cron like format" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=b8ee59850b882cbf623188489ea748e2" + +PYPI_PACKAGE = "croniter" + +SRC_URI[sha256sum] = "57f36df4f5a1c31bbf50bbffa3551612c19f6156ab1e88e2e42342ccbb9f9b9a" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " python3-dateutil python3-natsort" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.7.bb deleted file mode 100644 index 3131b2bc0..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.7.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Python decorator utilities" -DESCRIPTION = "\ -The aim of the decorator module it to simplify the usage of decorators \ -for the average programmer, and to popularize decorators by showing \ -various non-trivial examples. Of course, as all techniques, decorators \ -can be abused and you should not try to solve every problem with a \ -decorator, just because you can." - -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=be2fd2007972bf96c08af3293d728b22" - -SRC_URI[sha256sum] = "6f201a6c4dac3d187352661f508b9364ec8091217442c9478f1f83c003a0f060" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-stringold \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.9.bb new file mode 100644 index 000000000..c3acc518a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-decorator_5.0.9.bb @@ -0,0 +1,18 @@ +SUMMARY = "Python decorator utilities" +DESCRIPTION = "\ +The aim of the decorator module it to simplify the usage of decorators \ +for the average programmer, and to popularize decorators by showing \ +various non-trivial examples. Of course, as all techniques, decorators \ +can be abused and you should not try to solve every problem with a \ +decorator, just because you can." + +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=be2fd2007972bf96c08af3293d728b22" + +SRC_URI[sha256sum] = "72ecfba4320a893c53f9706bebb2d55c270c1e51a28789361aa93e4a21319ed5" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-stringold \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-deprecated_1.2.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-deprecated_1.2.12.bb new file mode 100644 index 000000000..4651a8ae3 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-deprecated_1.2.12.bb @@ -0,0 +1,9 @@ +SUMMARY = "Python @deprecated decorator to deprecate old python classes, functions or methods." +HOMEPAGE = "https://deprecated.readthedocs.io/en/latest/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=44288e26f4896bdab14072d4fa35ff01" + +PYPI_PACKAGE = "Deprecated" +SRC_URI[sha256sum] = "6d2de2de7931a968874481ef30208fd4e08da39177d61d3d4ebdf4366e7dbca1" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.20.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.20.bb deleted file mode 100644 index 905d022a4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.20.bb +++ /dev/null @@ -1,9 +0,0 @@ -require python-django.inc -inherit setuptools3 - -SRC_URI[md5sum] = "947060d96ccc0a05e8049d839e541b25" -SRC_URI[sha256sum] = "2569f9dc5f8e458a5e988b03d6b7a02bda59b006d6782f4ea0fd590ed7336a64" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-sqlparse \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.23.bb new file mode 100644 index 000000000..ab4b68fc8 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.23.bb @@ -0,0 +1,9 @@ +require python-django.inc +inherit setuptools3 + +SRC_URI[md5sum] = "d72405637143e201b745714e300bb546" +SRC_URI[sha256sum] = "12cfc045a4ccb2348719aaaa77b17e66a26bff9fc238b4c765a3e825ef92e414" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-sqlparse \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.3.bb new file mode 100644 index 000000000..7a9611ca1 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.3.bb @@ -0,0 +1,13 @@ +require python-django.inc +inherit setuptools3 + +SRC_URI[sha256sum] = "13ac78dbfd189532cad8f383a27e58e18b3d33f80009ceb476d7fcbfc5dcebd8" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-sqlparse \ +" + +# Set DEFAULT_PREFERENCE so that the LTS version of django is built by +# default. To build the 3.x branch, +# PREFERRED_VERSION_python3-django = "3.2.2" can be added to local.conf +DEFAULT_PREFERENCE = "-1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.bb deleted file mode 100644 index e147e2f9d..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_3.2.bb +++ /dev/null @@ -1,13 +0,0 @@ -require python-django.inc -inherit setuptools3 - -SRC_URI[sha256sum] = "21f0f9643722675976004eb683c55d33c05486f94506672df3d6a141546f389d" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-sqlparse \ -" - -# Set DEFAULT_PREFERENCE so that the LTS version of django is built by -# default. To build the 3.x branch, -# PREFERRED_VERSION_python3-django = "3.2" can be added to local.conf -DEFAULT_PREFERENCE = "-1" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.16.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.16.1.bb deleted file mode 100644 index 819d41e86..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.16.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "ECDSA cryptographic signature library (pure python)" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=66ffc5e30f76cbb5358fe54b645e5a1d" - -DEPENDS += "python3-pip python3-pbr" - -PYPI_PACKAGE = "ecdsa" -SRC_URI[sha256sum] = "cfc046a2ddd425adbd1a78b3c46f0d1325c657811c0f45ecc3a0a6236c1e50ff" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "python3-six python3-gmpy2 python3-pbr" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.17.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.17.0.bb new file mode 100644 index 000000000..1401f8e58 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ecdsa_0.17.0.bb @@ -0,0 +1,13 @@ +SUMMARY = "ECDSA cryptographic signature library (pure python)" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=66ffc5e30f76cbb5358fe54b645e5a1d" + +DEPENDS += "python3-pip python3-pbr" + +PYPI_PACKAGE = "ecdsa" +SRC_URI[sha256sum] = "b9f500bb439e4153d0330610f5d26baaf18d17b8ced1bc54410d189385ea68aa" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "python3-six python3-gmpy2 python3-pbr" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.1.bb deleted file mode 100644 index b0a733968..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Provide XPath 1.0 and 2.0 selectors for Python's ElementTree XML data structures, both for the standard ElementTree library and for the lxml.etree library." -HOMEPAGE = "https://github.com/sissaschool/elementpath" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5dbb7fb7d72da3921202dd7b995d3ecf" - -SRC_URI[sha256sum] = "c7b996c5624926f329f4379fbcffd5787629e08b2f8d7159d23525e9243ba637" - -PYPI_PACKAGE = "elementpath" -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.2.bb new file mode 100644 index 000000000..c793592be --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.2.2.bb @@ -0,0 +1,11 @@ +DESCRIPTION = "Provide XPath 1.0 and 2.0 selectors for Python's ElementTree XML data structures, both for the standard ElementTree library and for the lxml.etree library." +HOMEPAGE = "https://github.com/sissaschool/elementpath" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5dbb7fb7d72da3921202dd7b995d3ecf" + +SRC_URI[sha256sum] = "68de07c1aec3b1d33126111252cc699600dd1e45802625344aa6eb9e680ef157" + +PYPI_PACKAGE = "elementpath" +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.13.0.bb deleted file mode 100644 index 51f853390..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.13.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Engine.IO server" -HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "python-engineio" - -SRC_URI[md5sum] = "822b5dba0308dde6b8cbfd022daae0e4" -SRC_URI[sha256sum] = "2da5e1e5565e170a17169d1a76eb6a099cc96f0a25a5b1e0f9785f151485daea" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.0.bb new file mode 100644 index 000000000..15b321c35 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.2.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "Engine.IO server" +HOMEPAGE = "https://github.com/miguelgrinberg/python-engineio/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "python-engineio" + +RDEPENDS_${PN} += " \ + python3-netclient \ + python3-json \ + python3-logging \ + python3-compression \ + python3-asyncio \ +" + +SRC_URI[md5sum] = "1fa937ec2a9f6feac27e9f65824c5781" +SRC_URI[sha256sum] = "4e97c1189c23923858f5bb6dc47cfcd915005383c3c039ff01c89f2c00d62077" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.7.0.bb deleted file mode 100644 index 1bf0dfa80..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_2.7.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85" - -SRC_URI[sha256sum] = "ae2f05671588762dd83a21d8b18c51fe355e86783e24594995ff8d7380dffe38" - -PYPI_PACKAGE = "Flask-Migrate" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-flask-sqlalchemy \ - ${PYTHON_PN}-alembic \ - ${PYTHON_PN}-flask \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.0.0.bb new file mode 100644 index 000000000..8f84e0597 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.0.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alembic" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85" + +SRC_URI[sha256sum] = "a6607e66bf1d68489b2281ead5caa6fdf7a21b71984fae922ef5f915ac45bbcb" + +PYPI_PACKAGE = "Flask-Migrate" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-flask-sqlalchemy \ + ${PYTHON_PN}-alembic \ + ${PYTHON_PN}-flask \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.8.bb deleted file mode 100644 index 3de916afd..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Simple framework for creating REST APIs" -DESCRIPTION = "\ -Flask-RESTful is an extension for Flask that adds support for quickly building \ -REST APIs" -HOMEPAGE = "https://github.com/flask-restful/flask-restful" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=685bb55ed99a366bb431995f5eef2783" - -SRC_URI[md5sum] = "e8051ff104ab4b3b867ba18d28953fae" -SRC_URI[sha256sum] = "5ea9a5991abf2cb69b4aac19793faac6c032300505b325687d7c305ffaa76915" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "Flask-RESTful" - -RDEPENDS_${PN} = "${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.9.bb new file mode 100644 index 000000000..4b83158a7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-restful_0.3.9.bb @@ -0,0 +1,15 @@ +SUMMARY = "Simple framework for creating REST APIs" +DESCRIPTION = "\ +Flask-RESTful is an extension for Flask that adds support for quickly building \ +REST APIs" +HOMEPAGE = "https://github.com/flask-restful/flask-restful" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=685bb55ed99a366bb431995f5eef2783" + +SRC_URI[sha256sum] = "ccec650b835d48192138c85329ae03735e6ced58e9b2d9c2146d6c84c06fa53e" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "Flask-RESTful" + +RDEPENDS_${PN} = "${PYTHON_PN}-flask" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.0.1.bb deleted file mode 100644 index 4c5d0a3fb..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.0.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Socket.IO integration for Flask applications" -HOMEPAGE = "https://github.com/miguelgrinberg/Flask-SocketIO/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=38cc21254909604298ce763a6e4440a0" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "Flask-SocketIO" - -SRC_URI[sha256sum] = "5c4319f5214ada20807857dc8fdf3dc7d2afe8d6dd38f5c516c72e2be47d2227" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-flask \ - ${PYTHON_PN}-socketio \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.0.3.bb new file mode 100644 index 000000000..5def7621e --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.0.3.bb @@ -0,0 +1,17 @@ +SUMMARY = "Socket.IO integration for Flask applications" +HOMEPAGE = "https://github.com/miguelgrinberg/Flask-SocketIO/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=38cc21254909604298ce763a6e4440a0" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "Flask-SocketIO" + +SRC_URI[sha256sum] = "4fb968c43bc384f184cd1a25c1842297c2e3d6efc2f755a61be6d4406858220f" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-flask \ + ${PYTHON_PN}-socketio \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.3.bb deleted file mode 100644 index 213a0b58b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.14.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "Simple integration of Flask and WTForms." -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3ca6bb31670492f791e6a9f2fb9f8a80" - -SRC_URI[md5sum] = "1b60b7dd1245b0d0173c21123717af61" -SRC_URI[sha256sum] = "d417e3a0008b5ba583da1763e4db0f55a1269d9dd91dcc3eb3c026d3c5dbd720" - -PYPI_PACKAGE = "Flask-WTF" - -inherit pypi setuptools3 - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-flask \ - ${PYTHON_PN}-itsdangerous \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-wtforms \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.15.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.15.1.bb new file mode 100644 index 000000000..84b2a9e27 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.15.1.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "Simple integration of Flask and WTForms." +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3ca6bb31670492f791e6a9f2fb9f8a80" + +SRC_URI[sha256sum] = "ff177185f891302dc253437fe63081e7a46a4e99aca61dfe086fb23e54fff2dc" + +PYPI_PACKAGE = "Flask-WTF" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-flask \ + ${PYTHON_PN}-itsdangerous \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-wtforms \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.2.bb deleted file mode 100644 index 23799617f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_1.1.2.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "A microframework based on Werkzeug, Jinja2 and good intentions" -DESCRIPTION = "\ -Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \ -intentions. And before you ask: It’s BSD licensed!" -HOMEPAGE = "https://github.com/mitsuhiko/flask/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" - -SRC_URI[md5sum] = "0da4145d172993cd28a6c619630cc19c" -SRC_URI[sha256sum] = "4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060" - -PYPI_PACKAGE = "Flask" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - -RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.0.1.bb new file mode 100644 index 000000000..6c63a388a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask_2.0.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "A microframework based on Werkzeug, Jinja2 and good intentions" +DESCRIPTION = "\ +Flask is a microframework for Python based on Werkzeug, Jinja 2 and good \ +intentions. And before you ask: It’s BSD licensed!" +HOMEPAGE = "https://github.com/mitsuhiko/flask/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75" + +SRC_URI[sha256sum] = "1c4c257b1892aec1398784c63791cbaa43062f1f7aeb555c4da961b20ee68f55" + +PYPI_PACKAGE = "Flask" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS_${PN} = " \ + ${PYTHON_PN}-werkzeug \ + ${PYTHON_PN}-jinja2 \ + ${PYTHON_PN}-itsdangerous \ + ${PYTHON_PN}-click \ + ${PYTHON_PN}-profile \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.2.0.bb deleted file mode 100644 index da7cae6c3..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.2.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, \ -Moderator, and many other Google APIs." -HOMEPAGE = "https://github.com/googleapis/google-api-python-client" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=94023d14f6b58272fd885e4e3f2f08b3" - -SRC_URI[sha256sum] = "29447c8e95c23ae76fcf9817432f5ed015495513abeac564905640a0ef7d1898" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.6.0.bb new file mode 100644 index 000000000..c6ae6e847 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.6.0.bb @@ -0,0 +1,9 @@ +SUMMARY = "The Google API Client for Python is a client library for accessing the Plus, \ +Moderator, and many other Google APIs." +HOMEPAGE = "https://github.com/googleapis/google-api-python-client" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94023d14f6b58272fd885e4e3f2f08b3" + +SRC_URI[sha256sum] = "6a87f324334247bf7ba24406da586424b09e715d04336fb7cf45a402b80d38e8" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.0.0.bb deleted file mode 100644 index 32194dba7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.0.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -SUMMARY = "Python lightweight in-process concurrent programming" -LICENSE = "MIT & PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ - file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" - -SRC_URI[sha256sum] = "719e169c79255816cdcf6dccd9ed2d089a72a9f6c42273aae12d55e8d35bdcf8" - -inherit pypi distutils3 setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.0.bb new file mode 100644 index 000000000..0f0f18fe3 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-greenlet_1.1.0.bb @@ -0,0 +1,9 @@ +SUMMARY = "Python lightweight in-process concurrent programming" +HOMEPAGE = "https://greenlet.readthedocs.io/en/latest/" +LICENSE = "MIT & PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e95668d68e4329085c7ab3535e6a7aee \ + file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" + +SRC_URI[sha256sum] = "c87df8ae3f01ffb4483c796fe1b15232ce2b219f0b18126948616224d3f658ee" + +inherit pypi distutils3 setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch index 343f25a46..775afa415 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/mips_bigendian.patch @@ -12,4 +12,4 @@ +#elif defined(__mips__) && defined(__LP64__) #define OPENSSL_64_BIT #define OPENSSL_MIPS64 - #elif defined(__riscv) + #elif defined(__riscv) && __SIZEOF_POINTER__ == 8 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch deleted file mode 100644 index 350c67dea..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/riscv64_support.patch +++ /dev/null @@ -1,21 +0,0 @@ -Add RISC-V 64bit support - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- a/third_party/boringssl-with-bazel/src/include/openssl/base.h -+++ b/third_party/boringssl-with-bazel/src/include/openssl/base.h -@@ -108,6 +108,14 @@ extern "C" { - #elif defined(__MIPSEL__) && defined(__LP64__) - #define OPENSSL_64_BIT - #define OPENSSL_MIPS64 -+#elif defined(__riscv) -+# if (__riscv_xlen == 64) -+# define OPENSSL_64_BIT -+# define OPENSSL_RISCV64 -+# elif(__riscv_xlen == 32) -+# define OPENSSL_32_BIT -+# define OPENSSL_RISCV32 -+# endif - #elif defined(__pnacl__) - #define OPENSSL_32_BIT - #define OPENSSL_PNACL diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.37.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.37.0.bb deleted file mode 100644 index 47fb71120..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.37.0.bb +++ /dev/null @@ -1,49 +0,0 @@ -DESCRIPTION = "Google gRPC" -HOMEPAGE = "http://www.grpc.io/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -DEPENDS += "${PYTHON_PN}-protobuf" - -SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch" -SRC_URI_append_class-target = " file://ppc-boringssl-support.patch \ - file://riscv64_support.patch \ - file://boring_ssl.patch \ - file://mips_bigendian.patch \ - file://0001-absl-always-use-asm-sgidefs.h.patch \ -" -SRC_URI[sha256sum] = "b3ce16aa91569760fdabd77ca901b2288152eb16941d28edd9a3a75a0c4a8a85" - -RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ -" - -inherit setuptools3 -inherit pypi - -export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1" - -BORING_SSL_PLATFORM_arm = "linux-arm" -BORING_SSL_PLATFORM_x86-64 = "linux-x86_64" -BORING_SSL_PLATFORM ?= "unsupported" -export GRPC_BORING_SSL_PLATFORM = "${BORING_SSL_PLATFORM}" - -BORING_SSL_x86-64 = "1" -BORING_SSL_arm = "1" -BORING_SSL ?= "0" -export GRPC_BUILD_WITH_BORING_SSL_ASM = "${BORING_SSL}" - -GRPC_CFLAGS_append_toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions" -export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}" - -CLEANBROKEN = "1" - -BBCLASSEXTEND = "native nativesdk" - -CCACHE_DISABLE = "1" - -# needs vdso support -COMPATIBLE_HOST_libc-musl_powerpc64le = "null" - diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.0.bb new file mode 100644 index 000000000..d9e00422b --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.0.bb @@ -0,0 +1,47 @@ +DESCRIPTION = "Google gRPC" +HOMEPAGE = "http://www.grpc.io/" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS += "${PYTHON_PN}-protobuf" + +SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch" +SRC_URI_append_class-target = " file://ppc-boringssl-support.patch \ + file://boring_ssl.patch \ + file://mips_bigendian.patch \ + file://0001-absl-always-use-asm-sgidefs.h.patch \ +" +SRC_URI[sha256sum] = "abbf9c8c3df4d5233d5888c6cfa85c1bb68a6923749bd4dd1abc6e1e93986f17" + +RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ +" + +inherit setuptools3 +inherit pypi + +export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY = "1" + +BORING_SSL_PLATFORM_arm = "linux-arm" +BORING_SSL_PLATFORM_x86-64 = "linux-x86_64" +BORING_SSL_PLATFORM ?= "unsupported" +export GRPC_BORING_SSL_PLATFORM = "${BORING_SSL_PLATFORM}" + +BORING_SSL_x86-64 = "1" +BORING_SSL_arm = "1" +BORING_SSL ?= "0" +export GRPC_BUILD_WITH_BORING_SSL_ASM = "${BORING_SSL}" + +GRPC_CFLAGS_append_toolchain-clang = " -fvisibility=hidden -fno-wrapv -fno-exceptions" +export GRPC_PYTHON_CFLAGS = "${GRPC_CFLAGS}" + +CLEANBROKEN = "1" + +BBCLASSEXTEND = "native nativesdk" + +CCACHE_DISABLE = "1" + +# needs vdso support +COMPATIBLE_HOST_libc-musl_powerpc64le = "null" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine/0001-setup.py-Correct-the-license-assignment.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine/0001-setup.py-Correct-the-license-assignment.patch new file mode 100644 index 000000000..bb5955a44 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine/0001-setup.py-Correct-the-license-assignment.patch @@ -0,0 +1,32 @@ +From 56b421a18ef8acb41ab9e4bde7e1f5452ec67da9 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 17 May 2021 22:17:07 -0700 +Subject: [PATCH] setup.py: Correct the license assignment + +latest python/2.9 + setuptools bail out otherwise + +lines = header.split('\n') +| AttributeError: 'list' object has no attribute 'split' + +Upstream-Status: Submitted [https://github.com/mapado/haversine/pull/38] +Signed-off-by: Khem Raj +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 549436d..9e7fb00 100755 +--- a/setup.py ++++ b/setup.py +@@ -15,7 +15,7 @@ setup( + maintainer_email='julien.deniau@mapado.com', + url='https://github.com/mapado/haversine', + packages=['haversine'], +- license=['MIT'], ++ license='MIT', + classifiers=[ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', +-- +2.31.1 + diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.0.bb index 6e02fcf71..624d30ca0 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.0.bb @@ -2,6 +2,8 @@ SUMMARY = "Calculate the distance between 2 points on Earth" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +SRC_URI += "file://0001-setup.py-Correct-the-license-assignment.patch" + SRC_URI[md5sum] = "ff2d43a74195ec00c42ccd5da2a3f3de" SRC_URI[sha256sum] = "72c76855ac25e6ad054c7ed380e95c1a96803185f005dd11f40ccaa9620b551f" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.4.1.bb deleted file mode 100644 index 5ffc2b593..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.4.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Python humanize utilities" -HOMEPAGE = "http://github.com/jmoiron/humanize" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d" - -SRC_URI[sha256sum] = "6e04cdd75d66074c34ff93c30a2ad6d19d91202a65c1bd400b2edeedae399bda" - -inherit pypi setuptools3 - -DEPENDS += "\ - ${PYTHON_PN}-setuptools-scm-native \ -" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-datetime \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.6.0.bb new file mode 100644 index 000000000..1c269bac9 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_3.6.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Python humanize utilities" +HOMEPAGE = "http://github.com/jmoiron/humanize" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d" + +SRC_URI[sha256sum] = "a31704cf41f023e268032c4813c6482573320150a0d986f76b245e0451bb89e1" + +inherit pypi setuptools3 + +DEPENDS += "\ + ${PYTHON_PN}-setuptools-scm-native \ +" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-datetime \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.22.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.22.0.bb deleted file mode 100644 index 7bc0d1d00..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.22.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "IPython: Productive Interactive Computing" -HOMEPAGE = "https://ipython.org" -AUTHOR = "The IPython Development Team " -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" - -PYPI_PACKAGE = "ipython" - -SRC_URI[sha256sum] = "9c900332d4c5a6de534b4befeeb7de44ad0cc42e8327fa41b7685abde58cec74" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-jedi \ - ${PYTHON_PN}-decorator \ - ${PYTHON_PN}-pickleshare \ - ${PYTHON_PN}-traitlets \ - ${PYTHON_PN}-prompt-toolkit \ - ${PYTHON_PN}-pygments \ - ${PYTHON_PN}-backcall \ - ${PYTHON_PN}-pydoc \ - ${PYTHON_PN}-debugger \ - ${PYTHON_PN}-pexpect \ - ${PYTHON_PN}-unixadmin \ - ${PYTHON_PN}-misc \ - ${PYTHON_PN}-sqlite3 \ -" - -inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.24.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.24.0.bb new file mode 100644 index 000000000..1c11eeca0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_7.24.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "IPython: Productive Interactive Computing" +HOMEPAGE = "https://ipython.org" +AUTHOR = "The IPython Development Team " +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING.rst;md5=59b20262b8663cdd094005bddf47af5f" + +PYPI_PACKAGE = "ipython" + +SRC_URI[sha256sum] = "a171caa3d3d4c819a1c0742e3abecfd5a2b8ab525ca1c9f114b40b76b0679ab1" + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-jedi \ + ${PYTHON_PN}-decorator \ + ${PYTHON_PN}-pickleshare \ + ${PYTHON_PN}-traitlets \ + ${PYTHON_PN}-prompt-toolkit \ + ${PYTHON_PN}-pygments \ + ${PYTHON_PN}-backcall \ + ${PYTHON_PN}-pydoc \ + ${PYTHON_PN}-debugger \ + ${PYTHON_PN}-pexpect \ + ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-misc \ + ${PYTHON_PN}-sqlite3 \ +" + +inherit setuptools3 pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_1.1.0.bb deleted file mode 100644 index 7f50641c8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_1.1.0.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Various helpers to pass trusted data to untrusted environments and back." -HOMEPAGE = "http://github.com/mitsuhiko/itsdangerous" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=370799bf709a1e4a6a369fa089ac73a6" - -SRC_URI[md5sum] = "9b7f5afa7f1e3acfb7786eeca3d99307" -SRC_URI[sha256sum] = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-simplejson \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-compression \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_2.0.1.bb new file mode 100644 index 000000000..f8f2fbdaa --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-itsdangerous_2.0.1.bb @@ -0,0 +1,17 @@ +SUMMARY = "Various helpers to pass trusted data to untrusted environments and back." +HOMEPAGE = "http://github.com/mitsuhiko/itsdangerous" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=4cda9a0ebd516714f360b0e9418cfb37" + +SRC_URI[sha256sum] = "9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-simplejson \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-json \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.2.bb deleted file mode 100644 index 2f2421981..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Module for serializing and de-serializing Java objects." -DESCRIPTION = "python-javaobj is a python library that provides functions\ - for reading and writing (writing is WIP currently) Java objects serialized\ - or will be deserialized by ObjectOutputStream. This form of object\ - representation is a standard data interchange format in Java world." -HOMEPAGE = "https://github.com/tcalmant/python-javaobj" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87" - -SRC_URI[sha256sum] = "ed3b1ffcfd39f165729cb53587cca02ab0bfa4c332c837a92d5ffe6aef5c8010" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.3.bb new file mode 100644 index 000000000..eb93e7173 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-javaobj-py3_0.4.3.bb @@ -0,0 +1,14 @@ +SUMMARY = "Module for serializing and de-serializing Java objects." +DESCRIPTION = "python-javaobj is a python library that provides functions\ + for reading and writing (writing is WIP currently) Java objects serialized\ + or will be deserialized by ObjectOutputStream. This form of object\ + representation is a standard data interchange format in Java world." +HOMEPAGE = "https://github.com/tcalmant/python-javaobj" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[sha256sum] = "38f74db3a57e9998a9774e3614afb95cb396f139f29b3fdb130c5af554435259" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.6.0.bb index 700c70e53..60eb2a62b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.6.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lazy-object-proxy_1.6.0.bb @@ -4,7 +4,7 @@ LICENSE = "BSD-2-Clause" SECTION = "devel/python" LIC_FILES_CHKSUM = "file://LICENSE;md5=9c5c2c74370826468065c5702b8a1fcf" -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" +DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-pip-native" SRC_URI[sha256sum] = "489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb index 896d9d2cc..e1f92928c 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.37.1.bb @@ -33,31 +33,12 @@ DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}" SWIG_FEATURES_x86 = "-D__i386__" SWIG_FEATURES_x32 = "-D__ILP32__" -SWIG_FEATURES ?= "-D__${HOST_ARCH}__" -export SWIG_FEATURES -# Get around a problem with swig, but only if the -# multilib header file exists. -# -do_configure_prepend() { - ${CPP} -dM - < /dev/null | grep -v '__\(STDC\|REGISTER_PREFIX\|GNUC\|STDC_HOSTED\)__' \ - | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > ${S}/SWIG/gcc_macros.h - - if [ "${SITEINFO_BITS}" = "64" ];then - bit="64" - else - bit="32" - fi - - if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then - for i in SWIG/_ec.i SWIG/_evp.i; do - sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "${S}/$i" - done - elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then - for i in SWIG/_ec.i SWIG/_evp.i; do - sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "${S}/$i" - done - fi -} +SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']}" + +SWIG_FEATURES_append_riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" +SWIG_FEATURES_append_riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}" +SWIG_FEATURES_append_mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}" +export SWIG_FEATURES BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.3.4.bb deleted file mode 100644 index b51e8eef1..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-markdown_3.3.4.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "A Python implementation of John Gruber's Markdown." -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "Markdown" -SRC_URI[sha256sum] = "31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49" - -BBCLASSEXTEND = "native" - -RDEPENDS_${PN} += "${PYTHON_PN}-logging ${PYTHON_PN}-setuptools" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib-inline_0.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib-inline_0.1.2.bb new file mode 100644 index 000000000..f060f9333 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib-inline_0.1.2.bb @@ -0,0 +1,8 @@ +SUMMARY = "Inline Matplotlib backend for Jupyter" +HOMEPAGE = "https://pypi.org/project/matplotlib-inline/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c2728819a4288030f51c594327977be0" + +SRC_URI[sha256sum] = "f41d5ff73c9f5385775d5c0bc13b424535c8402fe70ea8210f93e11f3683993e" + +inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.10.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.10.9.bb deleted file mode 100644 index 7edb7e7fb..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.10.9.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Portable network interface information for Python" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df" - -SRC_URI[md5sum] = "de92cc322b4f56047c073f802ad77860" -SRC_URI[sha256sum] = "2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb new file mode 100644 index 000000000..09e54b0ba --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-netifaces_0.11.0.bb @@ -0,0 +1,9 @@ +DESCRIPTION = "Portable network interface information for Python" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df" + +SRC_URI[sha256sum] = "043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.4.bb deleted file mode 100644 index ae4c10f38..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.3.4.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "This module offers a simple interface to query NTP servers from Python." -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://ntplib.py;beginline=1;endline=23;md5=afa07338a9595257e94c205c3e72224d" - -SRC_URI = "git://github.com/cf-natali/ntplib.git" -SRCREV ?= "aea7925c26152024ca8cf207e77f403f8127727a" - -S = "${WORKDIR}/git" - -inherit setuptools3 python3native - -RDEPENDS_${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-io" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.4.0.bb new file mode 100644 index 000000000..9477a7606 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ntplib_0.4.0.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "This module offers a simple interface to query NTP servers from Python." +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://ntplib.py;beginline=1;endline=23;md5=afa07338a9595257e94c205c3e72224d" + +SRC_URI = "git://github.com/cf-natali/ntplib.git" +SRCREV ?= "b9c11c5906bc802a20a2dab390e57c50be558808" + +S = "${WORKDIR}/git" + +inherit setuptools3 python3native + +RDEPENDS_${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-io" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.5.1.bb index d93bc884e..d002c0fc5 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.5.1.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-paho-mqtt_1.5.1.bb @@ -13,6 +13,17 @@ SRC_URI[sha256sum] = "9feb068e822be7b3a116324e01fb6028eb1d66412bf98595ae72698965 DEPENDS += "${PYTHON_PN}-pytest-runner-native" +do_install_append() { + install -d -m0755 ${D}${datadir}/${BPN}/examples + cp --preserve=mode,timestamps -R ${S}/examples/* ${D}${datadir}/${BPN}/examples +} + +PACKAGES =+ "${PN}-examples" + +RDEPENDS_${PN}-examples += "${PN}" + +FILES_${PN}-examples = "${datadir}/${BPN}/examples" + RDEPENDS_${PN} = "\ ${PYTHON_PN}-io \ ${PYTHON_PN}-logging \ diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.1.0.bb index fe7206255..70034f840 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.1.0.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_2.1.0.bb @@ -31,7 +31,8 @@ RDEPENDS_${PN} += " \ " RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-sqlite3 \ " do_install_ptest() { diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.14.0.bb deleted file mode 100644 index 3cf850d1f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.14.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -DESCRIPTION = "Protocol Buffers" -HOMEPAGE = "https://developers.google.com/protocol-buffers/" -SECTION = "devel/python" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=19e8f490f9526b1de84f8d949cfcfd4e" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "1d63eb389347293d8915fb47bee0951c7b5dab522a4a60118b9a18f33e21f8ce" - -# http://errors.yoctoproject.org/Errors/Details/184715/ -# Can't find required file: ../src/google/protobuf/descriptor.proto -CLEANBROKEN = "1" - -UPSTREAM_CHECK_REGEX = "protobuf/(?P\d+(\.\d+)+)/" - -DEPENDS += "protobuf" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-unittest \ -" - -# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) -BBCLASSEXTEND = "native nativesdk" - -DISTUTILS_BUILD_ARGS += "--cpp_implementation" -DISTUTILS_INSTALL_ARGS += "--cpp_implementation" - -do_compile_prepend_class-native () { - export KOKORO_BUILD_NUMBER="1" -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.17.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.17.0.bb new file mode 100644 index 000000000..be846f799 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.17.0.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "Protocol Buffers" +HOMEPAGE = "https://developers.google.com/protocol-buffers/" +SECTION = "devel/python" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=19e8f490f9526b1de84f8d949cfcfd4e" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "05dfe9319939a8473c21b469f34f6486646e54fb8542637cf7ed8e2fbfe21538" + +# http://errors.yoctoproject.org/Errors/Details/184715/ +# Can't find required file: ../src/google/protobuf/descriptor.proto +CLEANBROKEN = "1" + +UPSTREAM_CHECK_REGEX = "protobuf/(?P\d+(\.\d+)+)/" + +DEPENDS += "protobuf" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-unittest \ +" + +# For usage in other recipies when compiling protobuf files (e.g. by grpcio-tools) +BBCLASSEXTEND = "native nativesdk" + +DISTUTILS_BUILD_ARGS += "--cpp_implementation" +DISTUTILS_INSTALL_ARGS += "--cpp_implementation" + +do_compile_prepend_class-native () { + export KOKORO_BUILD_NUMBER="1" +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.3.4.bb deleted file mode 100644 index a4455eeb1..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.3.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "Python (3.x and 2.x) high-level interface and ctypes-based bindings for PulseAudio (libpulse), mostly focused on mixer-like controls and introspection-related operations (as opposed to e.g. submitting sound samples to play, player-like client)." -HOMEPAGE = "https://github.com/mk-fg/python-pulse-control" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=f1d10048469ff90123263eb5e214061d" - -SRC_URI[sha256sum] = "faa8b9336237565990298f20870e13dd1678a4586847ca5a7ff2abf10752f356" - -RDEPENDS_${PN} += "pulseaudio" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.5.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.5.17.bb new file mode 100644 index 000000000..3c0a9c0e5 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_21.5.17.bb @@ -0,0 +1,13 @@ +SUMMARY = "Python (3.x and 2.x) high-level interface and ctypes-based bindings for PulseAudio (libpulse), mostly focused on mixer-like controls and introspection-related operations (as opposed to e.g. submitting sound samples to play, player-like client)." +HOMEPAGE = "https://github.com/mk-fg/python-pulse-control" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=f1d10048469ff90123263eb5e214061d" + +SRC_URI[sha256sum] = "3f782b3adf6d91b2398504002d248b36aa047bd04d5acd0ae5d4e2d3c8e746a0" + +RDEPENDS_${PN} += " \ + libpulse \ + python3-ctypes \ +" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.2.bb new file mode 100644 index 000000000..ef2a7c589 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.2.bb @@ -0,0 +1,12 @@ +SUMMARY = "COCO is a large image dataset designed for object detection, segmentation, \ + person keypoints detection, stuff segmentation, and caption generation." +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://pycocotools/coco.py;beginline=45;endline=45;md5=12cb539683cf245df8b6ce782d78f647" + +inherit setuptools3 pypi + +SRC_URI[md5sum] = "33858f23c8b99ce8116b70c32f6b6dd9" +SRC_URI[sha256sum] = "24717a12799b4471c2e54aa210d642e6cd4028826a1d49fcc2b0e3497e041f1a" + +DEPENDS = "python3-cython-native python3-numpy-native virtual/crypt" +RDEPENDS_${PN} = "python3-matplotlib python3-pillow python3-profile" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus-manager_git.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus-manager_git.bb index ae9e42160..9fb3a485b 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus-manager_git.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pydbus-manager_git.bb @@ -11,3 +11,5 @@ SRCREV = "6b576b969cbda50521dca62a7df929167207f9fc" PV = "git${SRCPV}" S = "${WORKDIR}/git" + +RDEPENDS_${PN} += "python3-pydbus" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.0.1.bb deleted file mode 100644 index ed52da4d4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.0.1.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "JSON Web Token implementation in Python" -DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\ - Original implementation was written by https://github.com/progrium" -HOMEPAGE = "http://github.com/jpadilla/pyjwt" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=68626705a7b513ca8d5f44a3e200ed0c" - -SRC_URI[sha256sum] = "a5c70a06e1f33d81ef25eecd50d50bd30e34de1ca8b2b9fa3fe0daaabcf69bf7" - -PYPI_PACKAGE = "PyJWT" -inherit pypi setuptools3 - -RDEPENDS_${PN} = "${PYTHON_PN}-cryptography" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.1.0.bb new file mode 100644 index 000000000..f1486f477 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyjwt_2.1.0.bb @@ -0,0 +1,15 @@ +SUMMARY = "JSON Web Token implementation in Python" +DESCRIPTION = "A Python implementation of JSON Web Token draft 32.\ + Original implementation was written by https://github.com/progrium" +HOMEPAGE = "http://github.com/jpadilla/pyjwt" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=68626705a7b513ca8d5f44a3e200ed0c" + +SRC_URI[sha256sum] = "fba44e7898bbca160a2b2b501f492824fc8382485d3a6f11ba5d0c1937ce6130" + +PYPI_PACKAGE = "PyJWT" +inherit pypi setuptools3 + +RDEPENDS_${PN} = "${PYTHON_PN}-cryptography" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.142.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.142.bb deleted file mode 100644 index a644978e4..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.142.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Python API for MISP" -HOMEPAGE = "https://github.com/MISP/PyMISP" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" - -SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main" -SRCREV = "357096f24c4f8d7dac87dfe0b9edad4f924f27a3" -S = "${WORKDIR}/git" - -inherit setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-jsonschema \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-six \ -" - -# Fixes: python3-pymisp requires /bin/bash, but no -# providers found in RDEPENDS_python3-pymisp? [file-rdep] -RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.143.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.143.bb new file mode 100644 index 000000000..1e3ef27a7 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.143.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Python API for MISP" +HOMEPAGE = "https://github.com/MISP/PyMISP" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20" + +SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main" +SRCREV = "c2e9663765e83f1a4aa70099546bec653ed770e7" +S = "${WORKDIR}/git" + +inherit setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-dateutil \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-jsonschema \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-deprecated \ + ${PYTHON_PN}-wrapt \ +" + +# Fixes: python3-pymisp requires /bin/bash, but no +# providers found in RDEPENDS_python3-pymisp? [file-rdep] +RDEPENDS_${PN} += "bash" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.11.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.11.3.bb deleted file mode 100644 index 3549adce7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.11.3.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Python driver for MongoDB " -DESCRIPTION = "\ -The PyMongo distribution contains tools for interacting with MongoDB \ -database from Python. The bson package is an implementation of the BSON \ -format for Python. The pymongo package is a native Python driver for \ -MongoDB. The gridfs package is a gridfs implementation on top of pymongo." -HOMEPAGE = "http://github.com/mongodb/mongo-python-driver" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" - -SRC_URI[sha256sum] = "db5098587f58fbf8582d9bda2462762b367207246d3e19623782fb449c3c5fcc" - -inherit pypi setuptools3 - -PACKAGES =+ "${PYTHON_PN}-bson" - -FILES_${PYTHON_PN}-bson = "${PYTHON_SITEPACKAGES_DIR}/bson/*" - -RDEPENDS_${PYTHON_PN}-bson += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-threading \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-bson \ - ${PYTHON_PN}-pprint \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.11.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.11.4.bb new file mode 100644 index 000000000..0c07344cb --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.11.4.bb @@ -0,0 +1,30 @@ +SUMMARY = "Python driver for MongoDB " +DESCRIPTION = "\ +The PyMongo distribution contains tools for interacting with MongoDB \ +database from Python. The bson package is an implementation of the BSON \ +format for Python. The pymongo package is a native Python driver for \ +MongoDB. The gridfs package is a gridfs implementation on top of pymongo." +HOMEPAGE = "http://github.com/mongodb/mongo-python-driver" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI[sha256sum] = "539d4cb1b16b57026999c53e5aab857fe706e70ae5310cc8c232479923f932e6" + +inherit pypi setuptools3 + +PACKAGES =+ "${PYTHON_PN}-bson" + +FILES_${PYTHON_PN}-bson = "${PYTHON_SITEPACKAGES_DIR}/bson/*" + +RDEPENDS_${PYTHON_PN}-bson += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-threading \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-bson \ + ${PYTHON_PN}-pprint \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.18.bb deleted file mode 100644 index 439d383f8..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.18.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "A pure Python netlink and Linux network configuration library" -LICENSE = "GPLv2 & Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce" - -SRC_URI[sha256sum] = "08ac40cad52c0bb2e0f20087520599aa91fcce0b221dd26e9042330428810bc5" - -inherit setuptools3 pypi ptest - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-distutils \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-multiprocessing \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-unixadmin \ -" - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-fcntl \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.19.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.19.bb new file mode 100644 index 000000000..903bd6459 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.5.19.bb @@ -0,0 +1,36 @@ +SUMMARY = "A pure Python netlink and Linux network configuration library" +LICENSE = "GPLv2 & Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.GPL.v2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.Apache.v2;md5=34281e312165f843a2b7d1f114fe65ce" + +SRC_URI[sha256sum] = "45460d12ed2a5caf272a357a3360b36d1e346f17afe1425b66fc21d70f462b29" + +inherit setuptools3 pypi ptest + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-multiprocessing \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-unixadmin \ +" + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-fcntl \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.1.bb deleted file mode 100644 index b0f8f3e9f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Python project template generator with batteries included" -DESCRIPTION = "PyScaffold package helps to setup a new Python project. \ -After installation, it provides a new command [putup], which could be \ -used to create template Projects." - -HOMEPAGE = "https://github.com/pyscaffold/pyscaffold" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "PyScaffold" - -SRC_URI[sha256sum] = "8fd7b2bdbfc7f7758a66d66cbf796af338e40d69fd4f7b4ddb9996c38add1dbe" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.2.bb new file mode 100644 index 000000000..bba94f8a0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.0.2.bb @@ -0,0 +1,17 @@ +SUMMARY = "Python project template generator with batteries included" +DESCRIPTION = "PyScaffold package helps to setup a new Python project. \ +After installation, it provides a new command [putup], which could be \ +used to create template Projects." + +HOMEPAGE = "https://github.com/pyscaffold/pyscaffold" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "PyScaffold" + +SRC_URI[sha256sum] = "cfa719c2d97392ec3cd5f44d95ec0d40df2dd483d5ee05ea029896cfd7c04af8" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.43.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.43.bb deleted file mode 100644 index dbb6a8d8f..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.43.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "A SoCo fork with fixes for Home Assistant " -HOMEPAGE = "https://pypi.org/project/pysonos/" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=07b0e2ca9ac77cd65cd4edf2e13367ea" - -SRC_URI[sha256sum] = "47be2b37defc856f15d7e7a419cfb939e9822750efe968db192156ebeba31684" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-ifaddr \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-xmltodict \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.50.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.50.bb new file mode 100644 index 000000000..cfa0d6ef0 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysonos_0.0.50.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "A SoCo fork with fixes for Home Assistant " +HOMEPAGE = "https://pypi.org/project/pysonos/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=07b0e2ca9ac77cd65cd4edf2e13367ea" + +SRC_URI[sha256sum] = "15a583b819c1e758cca72d5e148d59dd3bf7c9d59f19b5e79ab38c743c3e0738" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-ifaddr \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-xmltodict \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.3.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.3.24.bb deleted file mode 100644 index 9211ac394..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.3.24.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "This plugin does not provide any helpers to pytest, it does, however, provide a helpers namespace in pytest which enables you to register helper functions in your conftest.py to be used within your tests without having to import them." -HOMEPAGE = "https://github.com/saltstack/pytest-helpers-namespace" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=440a4cdb311cd7ad181efb4cba06d562" - -SRC_URI[sha256sum] = "188df5a7c52390fa27d6cd2f18e74d64a2ef0b9fb6e12f15fdf5a95f4813d25f" - -inherit pypi setuptools3 - -DEPENDS += "\ - ${PYTHON_PN}-wheel-native \ - ${PYTHON_PN}-pip-native \ -" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-pytest \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.4.29.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.4.29.bb new file mode 100644 index 000000000..86b66f021 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-helpers-namespace_2021.4.29.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "This plugin does not provide any helpers to pytest, it does, however, provide a helpers namespace in pytest which enables you to register helper functions in your conftest.py to be used within your tests without having to import them." +HOMEPAGE = "https://github.com/saltstack/pytest-helpers-namespace" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=440a4cdb311cd7ad181efb4cba06d562" + +SRC_URI[sha256sum] = "183524e3db4e2a1fea92e0ca3662a624ba44c9f3568da15679d7535ba6838a6a" + +inherit pypi setuptools3 + +DEPENDS += "\ + ${PYTHON_PN}-wheel-native \ + ${PYTHON_PN}-pip-native \ +" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-pytest \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.3.0.bb deleted file mode 100644 index 35f6c6c0a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.3.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Invoke py.test as distutils command with dependency resolution" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6" - -SRC_URI[sha256sum] = "ca3f58ff4957e8be6c54c55d575b235725cbbcf4dc0d5091c29c6444cfc8a5fe" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-setuptools-scm-native" - -RDEPENDS_${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json \ - ${PYTHON_PN}-io" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.3.1.bb new file mode 100644 index 000000000..fcbd29050 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.3.1.bb @@ -0,0 +1,15 @@ +SUMMARY = "Invoke py.test as distutils command with dependency resolution" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6" + +SRC_URI[sha256sum] = "0fce5b8dc68760f353979d99fdd6b3ad46330b6b1837e2077a89ebcf204aac91" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-setuptools-scm-native" + +RDEPENDS_${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json \ + ${PYTHON_PN}-io" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.0.3.bb deleted file mode 100644 index dbf8e6446..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.0.3.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Pyzmq provides Zero message queue access for the Python language" -HOMEPAGE = "http://zeromq.org/bindings:python" -LICENSE = "BSD & LGPL-3.0" -LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e \ - file://COPYING.LESSER;md5=12c592fa0bcfff3fb0977b066e9cb69e" -DEPENDS = "zeromq" - -FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyzmq:" - -SRC_URI += "file://club-rpath-out.patch" -SRC_URI[sha256sum] = "f7f63ce127980d40f3e6a5fdb87abf17ce1a7c2bd8bf2c7560e1bbce8ab1f92d" - -inherit pypi pkgconfig setuptools3 - -RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing" - -FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug" - -do_compile_prepend() { - echo [global] > ${S}/setup.cfg - echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg - echo have_sys_un_h = True >> ${S}/setup.cfg - echo skip_check_zmq = True >> ${S}/setup.cfg - echo libzmq_extension = False >> ${S}/setup.cfg - echo no_libzmq_extension = True >> ${S}/setup.cfg -} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.1.0.bb new file mode 100644 index 000000000..f213131da --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.1.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Pyzmq provides Zero message queue access for the Python language" +HOMEPAGE = "http://zeromq.org/bindings:python" +LICENSE = "BSD & LGPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING.BSD;md5=11c65680f637c3df7f58bbc8d133e96e \ + file://COPYING.LESSER;md5=12c592fa0bcfff3fb0977b066e9cb69e" +DEPENDS = "zeromq" + +FILESEXTRAPATHS_prepend := "${THISDIR}/python-pyzmq:" + +SRC_URI += "file://club-rpath-out.patch" +SRC_URI[sha256sum] = "7040d6dd85ea65703904d023d7f57fab793d7ffee9ba9e14f3b897f34ff2415d" + +inherit pypi pkgconfig setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing" + +FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug" + +do_compile_prepend() { + echo [global] > ${S}/setup.cfg + echo zmq_prefix = ${STAGING_DIR_HOST} >> ${S}/setup.cfg + echo have_sys_un_h = True >> ${S}/setup.cfg + echo skip_check_zmq = True >> ${S}/setup.cfg + echo libzmq_extension = False >> ${S}/setup.cfg + echo no_libzmq_extension = True >> ${S}/setup.cfg +} diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.3.bb deleted file mode 100644 index a07a09447..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.3.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "A pure python RFC3339 validator" -HOMEPAGE = "https://github.com/naimetti/rfc3339-validator" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6" - -FILESEXTRAPATHS_prepend := "${THISDIR}/python-rfc3339-validator:" - -SRC_URI[sha256sum] = "7a578aa0740e9ee2b48356fe1f347139190c4c72e27f303b3617054efd15df32" - -PYPI_PACKAGE = "rfc3339_validator" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-six \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb new file mode 100644 index 000000000..f1064f327 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rfc3339-validator_0.1.4.bb @@ -0,0 +1,20 @@ +SUMMARY = "A pure python RFC3339 validator" +HOMEPAGE = "https://github.com/naimetti/rfc3339-validator" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a21b13b5a996f08f7e0b088aa38ce9c6" + +FILESEXTRAPATHS_prepend := "${THISDIR}/python-rfc3339-validator:" + +SRC_URI[sha256sum] = "138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b" + +PYPI_PACKAGE = "rfc3339_validator" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-six \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.1.bb deleted file mode 100644 index 3e5d67e0a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "A Python generic test automation framework" -DESCRIPTION = "Generic open source test atomation framework for acceptance\ -testing and acceptance test-driven development (ATDD). It has easy-to-use\ -tabular test data syntax and it utilizes the keyword-driven testing approach.\ -Its testing capabilities can be extended by test libraries implemented either\ -with Python or Java, and users can create new higher-level keywords from\ -existing ones using the same syntax that is used for creating test cases." -HOMEPAGE = "http://robotframework.org" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" - -inherit pypi setuptools3 - -PYPI_PACKAGE_EXT = "zip" - -SRC_URI[sha256sum] = "9fa609ceb78f67b1476edce8a7011b16bf3ab41c0fb8c211de6c99955eaf9fde" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-xml \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-docutils \ - ${PYTHON_PN}-ctypes \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.3.bb new file mode 100644 index 000000000..d95ab109a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework_4.0.3.bb @@ -0,0 +1,27 @@ +SUMMARY = "A Python generic test automation framework" +DESCRIPTION = "Generic open source test atomation framework for acceptance\ +testing and acceptance test-driven development (ATDD). It has easy-to-use\ +tabular test data syntax and it utilizes the keyword-driven testing approach.\ +Its testing capabilities can be extended by test libraries implemented either\ +with Python or Java, and users can create new higher-level keywords from\ +existing ones using the same syntax that is used for creating test cases." +HOMEPAGE = "http://robotframework.org" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit pypi setuptools3 + +PYPI_PACKAGE_EXT = "zip" + +SRC_URI[sha256sum] = "93c2107f789fd897f234f4b8f1ba8e7b9f4ef326d9bcbfceb71dda8cc197388c" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-xml \ + ${PYTHON_PN}-difflib \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-docutils \ + ${PYTHON_PN}-ctypes \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.4.bb deleted file mode 100644 index 2543269fc..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.4.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order." -AUTHOR = "Anthon van der Neut" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fa0a51dfb461e2f803969e0f3fa71dfe" - -PYPI_PACKAGE = "ruamel.yaml" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" - -SRC_URI[sha256sum] = "44bc6b54fddd45e4bc0619059196679f9e8b79c027f4131bb072e6a22f4d5e28" - -do_install_prepend() { - export RUAMEL_NO_PIP_INSTALL_CHECK=1 -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.7.bb new file mode 100644 index 000000000..5da0ac3fc --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.7.bb @@ -0,0 +1,19 @@ +SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order." +AUTHOR = "Anthon van der Neut" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fa0a51dfb461e2f803969e0f3fa71dfe" + +PYPI_PACKAGE = "ruamel.yaml" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[sha256sum] = "5c3fa739bbedd2f23769656784e671c6335d17a5bf163c3c3901d8663c0af287" + +do_install_prepend() { + export RUAMEL_NO_PIP_INSTALL_CHECK=1 +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.26.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.26.bb deleted file mode 100644 index 31c88942d..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-scapy_0.26.bb +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "Packet crafting/sending/sniffing, PCAP processing tool,\ -based on scapy with python3 compatibility" -SECTION = "devel/python" -HOMEPAGE = "https://github.com/phaethon/scapy" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a88f5c4e1c935f295ebeaf51fc8644ef" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "scapy-python3" - -SRC_URI[md5sum] = "513469447735a4a416d495f63e28aa4b" -SRC_URI[sha256sum] = "81e4f5522d38c136fd3f1be4e35ffe4fd1f4c2091db3c021d95f8b9d5978b9eb" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.0.0.bb deleted file mode 100644 index 22b9f55dd..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.0.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "The new Python SDK for Sentry.io" -DESCRIPTION = "This is the next line of the Python SDK \ -for Sentry, intended to replace the raven package on PyPI." -HOMEPAGE = "https://github.com/getsentry/sentry-python" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=0c79f8d3c91fc847350efd28bfe0a341" - -SRC_URI[sha256sum] = "71de00c9711926816f750bc0f57ef2abbcb1bfbdf5378c601df7ec978f44857a" - -PYPI_PACKAGE = "sentry-sdk" - -inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.1.0.bb new file mode 100644 index 000000000..89c659dba --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.1.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "The new Python SDK for Sentry.io" +DESCRIPTION = "This is the next line of the Python SDK \ +for Sentry, intended to replace the raven package on PyPI." +HOMEPAGE = "https://github.com/getsentry/sentry-python" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0c79f8d3c91fc847350efd28bfe0a341" + +RDEPENDS_${PN} += "python3-urllib3" + +SRC_URI[sha256sum] = "c1227d38dca315ba35182373f129c3e2722e8ed999e52584e6aca7d287870739" + +PYPI_PACKAGE = "sentry-sdk" + +inherit pypi setuptools3 diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.30.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.30.2.bb deleted file mode 100644 index 64edff76b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.30.2.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Serialization based on ast.literal_eval" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5271c65b7cf83bd28055e592c2d14667" - -SRC_URI[md5sum] = "cbef4f9c88f88c38195d11a0363a095f" -SRC_URI[sha256sum] = "72753820246a7d8486e8b385353e3bbf769abfceec2e850fa527a288b084ff7a" - -inherit pypi ptest setuptools3 - -SRC_URI += " \ - file://run-ptest \ -" - -RDEPENDS_${PN}-ptest += " \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-pytz \ -" - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ -} - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.40.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.40.bb new file mode 100644 index 000000000..305222f76 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.40.bb @@ -0,0 +1,26 @@ +SUMMARY = "Serialization based on ast.literal_eval" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d7c28f460fafe7be454fcdcac0b60263" + +SRC_URI[sha256sum] = "10b34e7f8e3207ee6fb70dcdc9bce473851ee3daf0b47c58aec1b48032ac11ce" + +inherit pypi ptest setuptools3 + +SRC_URI += " \ + file://run-ptest \ +" + +RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-pytz \ +" + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ +} + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.1.bb deleted file mode 100644 index 89d5008e9..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.1.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Python subprocess replacement" -HOMEPAGE = "https://github.com/amoffat/sh" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6" - -SRC_URI[md5sum] = "50fc0a2953930ed8d0f6570835e88abf" -SRC_URI[sha256sum] = "39aa9af22f6558a0c5d132881cf43e34828ca03e4ae11114852ca6a55c7c1d8e" - -PYPI_PACKAGE = "sh" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-codecs \ - ${PYTHON_PN}-core \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-resource \ - ${PYTHON_PN}-shell \ - ${PYTHON_PN}-terminal \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unixadmin \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.2.bb new file mode 100644 index 000000000..5728ccf25 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_1.14.2.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python subprocess replacement" +HOMEPAGE = "https://github.com/amoffat/sh" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6" + +SRC_URI[sha256sum] = "9d7bd0334d494b2a4609fe521b2107438cdb21c0e469ffeeb191489883d6fe0d" + +PYPI_PACKAGE = "sh" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-core \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-resource \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-terminal \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unixadmin \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.1.0.bb deleted file mode 100644 index 8cf6a96ba..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.1.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Socket.IO server" -HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/" -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "python-socketio" - -SRC_URI[sha256sum] = "338cc29abb6f3ca14c88f1f8d05ed27c690df4648f62062b299f92625bbf7093" - -PACKAGECONFIG ?= "asyncio_client client" -PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets" -PACKAGECONFIG[client] = ",,,${PYTHON_PN}-requests ${PYTHON_PN}-websocket-client" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-engineio \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-math \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-attrs \ - " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.3.0.bb new file mode 100644 index 000000000..4a9d3ebef --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.3.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "Socket.IO server" +HOMEPAGE = "https://github.com/miguelgrinberg/python-socketio/" +SECTION = "devel/python" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=42d0a9e728978f0eeb759c3be91536b8" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "python-socketio" + +SRC_URI[sha256sum] = "3dcc9785aaeef3a9eeb36c3818095662342744bdcdabd050fe697cdb826a1c2b" + +PACKAGECONFIG ?= "asyncio_client client" +PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets" +PACKAGECONFIG[client] = ",,,${PYTHON_PN}-requests ${PYTHON_PN}-websocket-client" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-engineio \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-attrs \ + ${PYTHON_PN}-bidict \ + " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.11.bb deleted file mode 100644 index ca61ab6ff..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.11.bb +++ /dev/null @@ -1,19 +0,0 @@ -DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ -application developers the full power and flexibility of SQL" -HOMEPAGE = "http://www.sqlalchemy.org/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3359ed561ac16aaa25b6c6eff84df595" - -SRC_URI[sha256sum] = "4ad4044eb86fbcbdff2106e44f479fbdac703d77860b3e19988c8a8786e73061" - -PYPI_PACKAGE = "SQLAlchemy" -inherit pypi setuptools3 - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-pickle \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-threading \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.15.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.15.bb new file mode 100644 index 000000000..2d7273bb2 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.15.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ +application developers the full power and flexibility of SQL" +HOMEPAGE = "http://www.sqlalchemy.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3359ed561ac16aaa25b6c6eff84df595" + +SRC_URI[sha256sum] = "0ff100c75cd175f35f4d24375a0b3d82461f5b1af5fc8d112ef0e5ceea8049e6" + +PYPI_PACKAGE = "SQLAlchemy" +inherit pypi setuptools3 + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-pickle \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-profile \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.60.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.60.0.bb deleted file mode 100644 index e20ba779a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.60.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Fast, Extensible Progress Meter" -HOMEPAGE = "http://tqdm.github.io/" -SECTION = "devel/python" - -LICENSE = "MIT & MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENCE;md5=59e4271a933d33edfe60237db377a14b" - -SRC_URI[sha256sum] = "ebdebdb95e3477ceea267decfc0784859aa3df3e27e22d23b83e9b272bf157ae" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.61.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.61.0.bb new file mode 100644 index 000000000..0c04b676a --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.61.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Fast, Extensible Progress Meter" +HOMEPAGE = "http://tqdm.github.io/" +SECTION = "devel/python" + +LICENSE = "MIT & MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENCE;md5=59e4271a933d33edfe60237db377a14b" + +SRC_URI[sha256sum] = "cd5791b5d7c3f2f1819efc81d36eb719a38e0906a7380365c556779f585ea042" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb new file mode 100644 index 000000000..a8e632487 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb @@ -0,0 +1,12 @@ +HOMEPAGE = "https://github.com/python/typing" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f" + +# The name on PyPi is slightly different. +PYPI_PACKAGE = "typing_extensions" + +SRC_URI[sha256sum] = "50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342" + +inherit pypi setuptools3 + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.3.bb deleted file mode 100644 index 8ef15fab7..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typing-extensions_3.7.4.3.bb +++ /dev/null @@ -1,13 +0,0 @@ -HOMEPAGE = "https://github.com/python/typing" -LICENSE = "PSF" -LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f" - -# The name on PyPi is slightly different. -PYPI_PACKAGE = "typing_extensions" - -SRC_URI[md5sum] = "5fcbfcb22e6f8c9bf23fb9f8e020f6ee" -SRC_URI[sha256sum] = "99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c" - -inherit pypi setuptools3 - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest index 1b3914647..b1539453a 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/run-ptest @@ -1,3 +1,3 @@ #!/bin/sh -python3 tests/tests.py +python3 tests/test_ujson.py diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.0.2.bb index d79206fe6..43f286d16 100644 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.0.2.bb +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.0.2.bb @@ -20,6 +20,8 @@ RDEPENDS_${PN} += "\ " RDEPENDS_${PN}-ptest += " \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-pytest \ ${PYTHON_PN}-pytz \ " diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.4.bb deleted file mode 100644 index 0a31fb1e2..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.4.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more" -HOMEPAGE = "https://github.com/shazow/urllib3" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c" - -SRC_URI[sha256sum] = "e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-certifi \ - ${PYTHON_PN}-cryptography \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-pyopenssl \ - ${PYTHON_PN}-threading \ -" - -CVE_PRODUCT = "urllib3" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.5.bb new file mode 100644 index 000000000..f2fb33c6d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.26.5.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more" +HOMEPAGE = "https://github.com/shazow/urllib3" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c" + +SRC_URI[sha256sum] = "a7acd0977125325f516bda9735fa7142b909a8d01e8b2e4c8108d0984e6e0098" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-certifi \ + ${PYTHON_PN}-cryptography \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-pyopenssl \ + ${PYTHON_PN}-threading \ +" + +CVE_PRODUCT = "urllib3" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.3.bb deleted file mode 100644 index 748657019..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.0.3.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Filesystem events monitoring" -DEPENDS = "${PYTHON_PN}-argh" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI[sha256sum] = "4288d3a984324db492e57aa169666238a2578f0af5a081685526608fb9f6bd61" - -inherit pypi setuptools3 - -RDEPENDS_${PN} = " \ - ${PYTHON_PN}-argh \ - ${PYTHON_PN}-pathtools3 \ - ${PYTHON_PN}-pyyaml \ - ${PYTHON_PN}-requests \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.2.bb new file mode 100644 index 000000000..c2bf68a2d --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.2.bb @@ -0,0 +1,18 @@ +SUMMARY = "Filesystem events monitoring" +DEPENDS = "${PYTHON_PN}-argh" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI[sha256sum] = "0237db4d9024859bea27d0efb59fe75eef290833fd988b8ead7a879b0308c2db" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = " \ + ${PYTHON_PN}-argh \ + ${PYTHON_PN}-pathtools3 \ + ${PYTHON_PN}-pyyaml \ + ${PYTHON_PN}-requests \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.58.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.58.0.bb deleted file mode 100644 index a5d7d901b..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_0.58.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "websocket client for python" -DESCRIPTION = "\ -websocket-client module is WebSocket client for python. \ -This provide the low level APIs for WebSocket. All APIs \ -are the synchronous functions." -HOMEPAGE = "https://github.com/websocket-client/websocket-client" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c96ca6c1de8adc025adfada81d06fba5" - -SRC_URI[sha256sum] = "63509b41d158ae5b7f67eb4ad20fecbb4eee99434e73e140354dc3ff8e09716f" - -PYPI_PACKAGE = "websocket_client" - -inherit pypi setuptools3 - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-six \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.0.1.bb new file mode 100644 index 000000000..da4e05f30 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.0.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "websocket client for python" +DESCRIPTION = "\ +websocket-client module is WebSocket client for python. \ +This provide the low level APIs for WebSocket. All APIs \ +are the synchronous functions." +HOMEPAGE = "https://github.com/websocket-client/websocket-client" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c96ca6c1de8adc025adfada81d06fba5" + +SRC_URI[sha256sum] = "3e2bf58191d4619b161389a95bdce84ce9e0b24eb8107e7e590db682c2d0ca81" + +inherit pypi setuptools3 + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-six \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.1.bb deleted file mode 100644 index b09e978af..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)" -HOMEPAGE = "https://github.com/aaugustin/websockets" - -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ad5c6d36b3d0098b2f33a5ab69a9e750" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "f12d7f31fe8d0b3e65c12f845bcd0ad8" -SRC_URI[sha256sum] = "5c65d2da8c6bce0fca2528f69f44b2f977e06954c8512a952222cea50dad430f" - -BBCLASSEXTEND = "native nativesdk" - -RDEPENDS_${PN} = "\ - ${PYTHON_PN}-asyncio \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_9.1.bb new file mode 100644 index 000000000..8802ee370 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_9.1.bb @@ -0,0 +1,15 @@ +SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)" +HOMEPAGE = "https://github.com/aaugustin/websockets" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=78c2cc91e172ca96d6f8e4a76c739ec6" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "276d2339ebf0df4f45df453923ebd2270b87900eda5dfd4a6b0cfa15f82111c3" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-asyncio \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb deleted file mode 100644 index 8af0fef60..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_1.0.1.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "The Swiss Army knife of Python web development" -DESCRIPTION = "\ -Werkzeug started as simple collection of various utilities for WSGI \ -applications and has become one of the most advanced WSGI utility modules. \ -It includes a powerful debugger, full featured request and response objects, \ -HTTP utilities to handle entity tags, cache control headers, HTTP dates, \ -cookie handling, file uploads, a powerful URL routing system and a bunch \ -of community contributed addon modules." -HOMEPAGE = "http://werkzeug.pocoo.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" - -PYPI_PACKAGE = "Werkzeug" - -SRC_URI[md5sum] = "5d499cfdd30de5d9c946994783772efd" -SRC_URI[sha256sum] = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c" - -inherit pypi setuptools3 - -CLEANBROKEN = "1" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-difflib \ - ${PYTHON_PN}-email \ - ${PYTHON_PN}-html \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-netserver \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-pkgutil \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-simplejson \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unixadmin \ - ${PYTHON_PN}-misc \ -" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.0.1.bb new file mode 100644 index 000000000..1653eeabd --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-werkzeug_2.0.1.bb @@ -0,0 +1,38 @@ +SUMMARY = "The Swiss Army knife of Python web development" +DESCRIPTION = "\ +Werkzeug started as simple collection of various utilities for WSGI \ +applications and has become one of the most advanced WSGI utility modules. \ +It includes a powerful debugger, full featured request and response objects, \ +HTTP utilities to handle entity tags, cache control headers, HTTP dates, \ +cookie handling, file uploads, a powerful URL routing system and a bunch \ +of community contributed addon modules." +HOMEPAGE = "http://werkzeug.pocoo.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462" + +PYPI_PACKAGE = "Werkzeug" + +SRC_URI[sha256sum] = "1de1db30d010ff1af14a009224ec49ab2329ad2cde454c8a708130642d579c42" + +inherit pypi setuptools3 + +CLEANBROKEN = "1" + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-difflib \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-json \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-pprint \ + ${PYTHON_PN}-simplejson \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-misc \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.0.bb deleted file mode 100644 index b5e15f14c..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "Python 2 and 3 compatibility library" -HOMEPAGE = "https://xlsxwriter.readthedocs.io" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e95e368cd6cb090815046688e92d11e" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "XlsxWriter" - -SRC_URI[sha256sum] = "82be5a58c09bdc2ff8afc25acc815c465275239ddfc56d6e7b2a7e6c5d2e213b" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.3.bb new file mode 100644 index 000000000..e6b196956 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xlsxwriter_1.4.3.bb @@ -0,0 +1,21 @@ +SUMMARY = "Python 2 and 3 compatibility library" +HOMEPAGE = "https://xlsxwriter.readthedocs.io" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e95e368cd6cb090815046688e92d11e" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "XlsxWriter" + +RDEPENDS_${PN} += " \ + python3-crypt \ + python3-datetime \ + python3-compression \ + python3-numbers \ + python3-io \ +" + +SRC_URI[sha256sum] = "641db6e7b4f4982fd407a3f372f45b878766098250d26963e95e50121168cbe2" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.1.bb deleted file mode 100644 index 91697e39a..000000000 --- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.1.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "The xmlschema library is an implementation of XML Schema for Python (supports Python 3.6+)." -HOMEPAGE = "https://github.com/sissaschool/xmlschema" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=47489cb18c469474afeb259ed1d4832f" - -SRC_URI[sha256sum] = "d02b82bb4fce3af09495b85e6ada5ce0cfdaa865b09b28ecc0f5ab81fad7e328" - -PYPI_PACKAGE = "xmlschema" -inherit pypi setuptools3 - -DEPENDS += "\ - ${PYTHON_PN}-elementpath-native \ -" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-elementpath \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.2.bb new file mode 100644 index 000000000..acdb39942 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.6.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "The xmlschema library is an implementation of XML Schema for Python (supports Python 3.6+)." +HOMEPAGE = "https://github.com/sissaschool/xmlschema" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=47489cb18c469474afeb259ed1d4832f" + +SRC_URI[sha256sum] = "31ddf77a44e4b121de212beeb2cc039e2e8b7a7a4f1678c9b29be1f5341aec52" + +PYPI_PACKAGE = "xmlschema" +inherit pypi setuptools3 + +DEPENDS += "\ + ${PYTHON_PN}-elementpath-native \ +" + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-elementpath \ + ${PYTHON_PN}-modules \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.1.3.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.1.3.bb deleted file mode 100644 index fd7341953..000000000 --- a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.1.3.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Python WBEM Client and Provider Interface" -DESCRIPTION = "\ -A Python library for making CIM (Common Information Model) operations over \ -HTTP using the WBEM CIM-XML protocol. It is based on the idea that a good \ -WBEM client should be easy to use and not necessarily require a large amount \ -of programming knowledge. It is suitable for a large range of tasks from \ -simply poking around to writing web and GUI applications. \ -\ -WBEM, or Web Based Enterprise Management is a manageability protocol, like \ -SNMP, standardised by the Distributed Management Task Force (DMTF) available \ -at http://www.dmtf.org/standards/wbem. \ -\ -It also provides a Python provider interface, and is the fastest and easiest \ -way to write providers on the planet." -HOMEPAGE = "http://pywbem.github.io" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" - -SRC_URI[sha256sum] = "2abb6443f4debae56af7abefadb9fa5b8af9b53fc9bcf67f6c01a78db1064300" - -inherit pypi setuptools3 update-alternatives - -DEPENDS += " \ - ${PYTHON_PN}-ply-native \ - ${PYTHON_PN}-pyyaml-native \ - ${PYTHON_PN}-six-native \ -" - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-ply \ - ${PYTHON_PN}-pyyaml \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-stringold \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-unixadmin \ - ${PYTHON_PN}-xml \ -" - -ALTERNATIVE_${PN} = "mof_compiler" -ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" - -ALTERNATIVE_PRIORITY = "60" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.2.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.2.0.bb new file mode 100644 index 000000000..988dae133 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.2.0.bb @@ -0,0 +1,51 @@ +SUMMARY = "Python WBEM Client and Provider Interface" +DESCRIPTION = "\ +A Python library for making CIM (Common Information Model) operations over \ +HTTP using the WBEM CIM-XML protocol. It is based on the idea that a good \ +WBEM client should be easy to use and not necessarily require a large amount \ +of programming knowledge. It is suitable for a large range of tasks from \ +simply poking around to writing web and GUI applications. \ +\ +WBEM, or Web Based Enterprise Management is a manageability protocol, like \ +SNMP, standardised by the Distributed Management Task Force (DMTF) available \ +at http://www.dmtf.org/standards/wbem. \ +\ +It also provides a Python provider interface, and is the fastest and easiest \ +way to write providers on the planet." +HOMEPAGE = "http://pywbem.github.io" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24" + +SRC_URI[sha256sum] = "8ef48185e0adbaeb9bd5181c4c5de951f6d58d54e2e1d7e87a9834e10eabe957" + +inherit pypi setuptools3 update-alternatives + +DEPENDS += " \ + ${PYTHON_PN}-ply-native \ + ${PYTHON_PN}-pyyaml-native \ + ${PYTHON_PN}-six-native \ + ${PYTHON_PN}-wheel-native \ +" + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-ply \ + ${PYTHON_PN}-pyyaml \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unixadmin \ + ${PYTHON_PN}-xml \ + ${PYTHON_PN}-nocasedict \ + ${PYTHON_PN}-nocaselist \ + ${PYTHON_PN}-yamlloader \ +" + +ALTERNATIVE_${PN} = "mof_compiler" +ALTERNATIVE_TARGET[mof_compiler] = "${bindir}/mof_compiler" + +ALTERNATIVE_PRIORITY = "60" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.8.1.bb b/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.8.1.bb deleted file mode 100644 index c5cabdb13..000000000 --- a/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.8.1.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "A set of tools using pywbem" -DESCRIPTION = "A set of tools using pywbem to communicate with WBEM servers" -HOMEPAGE = "https://pywbemtools.readthedocs.io/en/stable/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" - -SRC_URI[sha256sum] = "3cbee091f0a4917394814d7e639ab9fe13ad0859e47288deabf2b09a4382c4ae" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-pyyaml-native \ - ${PYTHON_PN}-pywbem-native \ - ${PYTHON_PN}-six-native \ - ${PYTHON_PN}-click-native \ -" - -RDEPENDS_${PN}_class-target += "\ - ${PYTHON_PN}-ply \ - ${PYTHON_PN}-pyyaml \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-pywbem \ - ${PYTHON_PN}-click \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-prompt-toolkit \ - ${PYTHON_PN}-mock \ - ${PYTHON_PN}-packaging \ - ${PYTHON_PN}-nocasedict \ - ${PYTHON_PN}-yamlloader \ - ${PYTHON_PN}-click-repl \ - ${PYTHON_PN}-click-spinner \ - ${PYTHON_PN}-asciitree \ - ${PYTHON_PN}-tabulate \ - ${PYTHON_PN}-pydicti \ - ${PYTHON_PN}-nocaselist \ - ${PYTHON_PN}-custom-inherit \ -" - -BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.9.0.bb b/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.9.0.bb new file mode 100644 index 000000000..b06fee550 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-extended/pywbemtools/python3-pywbemtools_0.9.0.bb @@ -0,0 +1,39 @@ +SUMMARY = "A set of tools using pywbem" +DESCRIPTION = "A set of tools using pywbem to communicate with WBEM servers" +HOMEPAGE = "https://pywbemtools.readthedocs.io/en/stable/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" + +SRC_URI[sha256sum] = "f6f36c96be46c801919fa6cc218a5d051fce381a2d9a0b99c9162d8335e96c36" + +inherit pypi setuptools3 + +DEPENDS += " \ + ${PYTHON_PN}-pyyaml-native \ + ${PYTHON_PN}-pywbem-native \ + ${PYTHON_PN}-six-native \ + ${PYTHON_PN}-click-native \ +" + +RDEPENDS_${PN}_class-target += "\ + ${PYTHON_PN}-ply \ + ${PYTHON_PN}-pyyaml \ + ${PYTHON_PN}-six \ + ${PYTHON_PN}-pywbem \ + ${PYTHON_PN}-click \ + ${PYTHON_PN}-requests \ + ${PYTHON_PN}-prompt-toolkit \ + ${PYTHON_PN}-mock \ + ${PYTHON_PN}-packaging \ + ${PYTHON_PN}-nocasedict \ + ${PYTHON_PN}-yamlloader \ + ${PYTHON_PN}-click-repl \ + ${PYTHON_PN}-click-spinner \ + ${PYTHON_PN}-asciitree \ + ${PYTHON_PN}-tabulate \ + ${PYTHON_PN}-pydicti \ + ${PYTHON_PN}-nocaselist \ + ${PYTHON_PN}-custom-inherit \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.4.bb b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.4.bb deleted file mode 100644 index 7a2f12b1e..000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.4.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "A simple text editor for Xfce" -SECTION = "x11/application" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -DEPENDS = "gtk+3 gtksourceview4 xfconf xfce4-dev-tools-native" - -inherit xfce-app gsettings mime-xdg - -SRC_URI[sha256sum] = "d90f492e5d0cba5f5b3b0c1eb7fd7c1701aef57e3fa244d2c457e7f9b0a42aa1" - -FILES_${PN} += " \ - ${datadir}/glib-2.0/schemas \ - ${datadir}/metainfo \ - ${datadir}/polkit-1 \ -" diff --git a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.5.bb b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.5.bb new file mode 100644 index 000000000..830d86b8a --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.5.5.bb @@ -0,0 +1,19 @@ +SUMMARY = "A simple text editor for Xfce" +SECTION = "x11/application" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "gtk+3 gtksourceview4 xfconf xfce4-dev-tools-native" + +inherit xfce-app gsettings mime-xdg + +SRC_URI[sha256sum] = "40c35f00e0e10df50a59bd0dbba9007d2fb5574ed8a2aa73b0fc5ef40e64abe1" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[spell] = "--enable-plugin-gspell,--disable-plugin-gspell,gspell" + +FILES_${PN} += " \ + ${datadir}/glib-2.0/schemas \ + ${datadir}/metainfo \ + ${datadir}/polkit-1 \ +" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.8.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.8.bb deleted file mode 100644 index dbd7a0b40..000000000 --- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.8.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Application to take screenshots" -HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-screenshooter" -SECTION = "x11/application" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855" -DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+3 glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11" - -inherit xfce-app - -SRC_URI[sha256sum] = "6f029d614ad3b63fbcf742984dc6c976f3008e7d88fa487d49ed544f56f62c50" - -do_compile_prepend() { - mkdir -p lib - mkdir -p src panel-plugin -} - -FILES_${PN} += " \ - ${datadir}/metainfo \ - ${datadir}/xfce4/panel/plugins \ - ${libdir}/xfce4/panel/plugins \ -" diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.9.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.9.bb new file mode 100644 index 000000000..722dd2910 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.9.bb @@ -0,0 +1,21 @@ +SUMMARY = "Application to take screenshots" +HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-screenshooter" +SECTION = "x11/application" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855" +DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+3 glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11" + +inherit xfce-app + +SRC_URI[sha256sum] = "33c8aeb53fbdb82dbd7d40bca77a8affbb4116ba0993cd59474b554558e5daa4" + +do_compile_prepend() { + mkdir -p lib + mkdir -p src panel-plugin +} + +FILES_${PN} += " \ + ${datadir}/metainfo \ + ${datadir}/xfce4/panel/plugins \ + ${libdir}/xfce4/panel/plugins \ +" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.1.bb deleted file mode 100644 index f2a145f5c..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Clipman is a clipboard manager for Xfce" -HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin" -SECTION = "x11/application" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -inherit xfce-panel-plugin - -DEPENDS += "xfconf xorgproto libxtst" - -SRC_URI[md5sum] = "c9306940c0ca7abd838a14c9d19b3a7e" -SRC_URI[sha256sum] = "b3e8317796289196fa78c4526626fe061fd35d11e848cf300ca1ace47febceb4" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[qrencode] = "--enable-libqrencode,--disable-libqrencode,qrencode" - -FILES_${PN} += "${datadir}/appdata" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.2.bb new file mode 100644 index 000000000..631702667 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/clipman/xfce4-clipman-plugin_1.6.2.bb @@ -0,0 +1,16 @@ +SUMMARY = "Clipman is a clipboard manager for Xfce" +HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin" +SECTION = "x11/application" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +inherit xfce-panel-plugin + +DEPENDS += "xfconf xorgproto libxtst" + +SRC_URI[sha256sum] = "ab8a5fe6f68fb1789190e498243a1d1385de3f64e984f470cbd3d1eb779399b8" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[qrencode] = "--enable-libqrencode,--disable-libqrencode,qrencode" + +FILES_${PN} += "${datadir}/metainfo" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.0.bb deleted file mode 100644 index e6a5ec0b2..000000000 --- a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime" -HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin" -LICENSE = "BSD-2-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8" - -inherit xfce-panel-plugin - -DEPENDS += "upower" - -SRC_URI[sha256sum] = "1148f8e90cc53cae9b3aa32e10df4bd9fdc2f06db09d8429f88fbdd874fc171d" diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.1.bb new file mode 100644 index 000000000..151ce3849 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.3.1.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime" +HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8" + +inherit xfce-panel-plugin + +PACKAGECONFIG ?= "network power" +PACKAGECONFIG[power] = ",,upower" +PACKAGECONFIG[network] = ",,libgtop" + +SRC_URI[sha256sum] = "56d1007801d52d7c2b5a13bb54745f6d7f06fda28b49ce936145633068817652" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.6.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.6.bb deleted file mode 100644 index 128043d19..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.6.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "File manager for the Xfce Desktop Environment" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev" - -inherit xfce gobject-introspection features_check mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[sha256sum] = "cb531d3fe67196a43ca04979ef271ece7858bbc80c15b0ee4323c1252a1a02b7" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" - -FILES_${PN} += " \ - ${libdir}/thunarx-3/* \ - ${libdir}/xfce4/panel/plugins/* \ - ${libdir}/Thunar/[Tt]hunar* \ - ${systemd_user_unitdir} \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/polkit-1 \ - ${datadir}/Thunar \ - ${datadir}/xfce4/panel/plugins/* \ -" - -RRECOMMENDS_${PN} = "gvfs gvfsd-trash" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.8.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.8.bb new file mode 100644 index 000000000..bdc357f76 --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_4.16.8.bb @@ -0,0 +1,28 @@ +SUMMARY = "File manager for the Xfce Desktop Environment" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev" + +inherit xfce gobject-introspection features_check mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[sha256sum] = "038ca228d220cd0ba1b7b76465d8a51f2433ad1f74648d1d291daa0a24cb3195" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre" + +FILES_${PN} += " \ + ${libdir}/thunarx-3/* \ + ${libdir}/xfce4/panel/plugins/* \ + ${libdir}/Thunar/[Tt]hunar* \ + ${systemd_user_unitdir} \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/polkit-1 \ + ${datadir}/Thunar \ + ${datadir}/xfce4/panel/plugins/* \ +" + +RRECOMMENDS_${PN} = "gvfs gvfsd-trash" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb deleted file mode 100644 index 7e54022ff..000000000 --- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.2.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Xfce4 Panel" -SECTION = "x11" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" -DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxml2 libwnck3 vala-native" - -inherit xfce gtk-doc gobject-introspection features_check remove-libtool mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[sha256sum] = "8634166e6f14318daec363f7e2371d49b98986f9bce313a7dd1554f30b48b5cf" -SRC_URI += " \ - file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ - file://0002-use-lxdm-to-replace-dm-tool.patch \ -" - -python populate_packages_prepend() { - plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') - plugin_name = d.expand('${PN}-plugin-%s') - do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name, - '${PN} plugin for %s', extra_depends='', prepend=True, - aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop', - '${sysconfdir}/xdg/xfce/panel/%s-*', - '${datadir}/icons/hicolor/48x48/apps/*-%s.png', - '${bindir}/*%s*']) -} - -PACKAGES_DYNAMIC += "^${PN}-plugin-.*" - -PACKAGES =+ "${PN}-gtk3" - -FILES_${PN} += "${libdir}/xfce4/panel/migrate \ - ${libdir}/xfce4/panel/wrapper-1.0" - -FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" - -FILES_${PN}-gtk3 = " \ - ${libdir}/libxfce4panel-2.0${SOLIBS} \ - ${libdir}/xfce4/panel/wrapper-2.0 \ -" diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb new file mode 100644 index 000000000..d478e0ffa --- /dev/null +++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.16.3.bb @@ -0,0 +1,40 @@ +SUMMARY = "Xfce4 Panel" +SECTION = "x11" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee" +DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxml2 libwnck3 vala-native" + +inherit xfce gtk-doc gobject-introspection features_check remove-libtool mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +SRC_URI[sha256sum] = "5934eaed8a76da52c29b734ccd79600255420333dd6ebd8fd9f066379af1e092" +SRC_URI += " \ + file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \ + file://0002-use-lxdm-to-replace-dm-tool.patch \ +" + +python populate_packages_prepend() { + plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/') + plugin_name = d.expand('${PN}-plugin-%s') + do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name, + '${PN} plugin for %s', extra_depends='', prepend=True, + aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop', + '${sysconfdir}/xdg/xfce/panel/%s-*', + '${datadir}/icons/hicolor/48x48/apps/*-%s.png', + '${bindir}/*%s*']) +} + +PACKAGES_DYNAMIC += "^${PN}-plugin-.*" + +PACKAGES =+ "${PN}-gtk3" + +FILES_${PN} += "${libdir}/xfce4/panel/migrate \ + ${libdir}/xfce4/panel/wrapper-1.0" + +FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la" + +FILES_${PN}-gtk3 = " \ + ${libdir}/libxfce4panel-2.0${SOLIBS} \ + ${libdir}/xfce4/panel/wrapper-2.0 \ +" -- cgit v1.2.3 From 79c1ddc24665a90fdce6f079fe436f2ba6690e2c Mon Sep 17 00:00:00 2001 From: "Thang Q. Nguyen" Date: Mon, 7 Jun 2021 02:37:41 +0000 Subject: meta-ampere: mtjade: change to use 64MB layout As more features added to Mt.Jade OpenBMC, 32MB is not enough anymore. In addition, the Mt.Jade has 64MB SPI-NOR for BMC firmware. This commit changes to use 64MB BMC layout to have more room for incoming features. Tested: 1. Compile the firmware, flash to Mt.Jade BMC from u-boot and check if it can boot to Linux successfully. 2. Compile another image and check if firmware update works fine. Signed-off-by: Thang Q. Nguyen Change-Id: Ifa3e91a630909ffde39da5bb0ce55d2ad123100d --- meta-ampere/meta-jade/conf/machine/mtjade.conf | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meta-ampere/meta-jade/conf/machine/mtjade.conf b/meta-ampere/meta-jade/conf/machine/mtjade.conf index 2649c2e91..1e417929c 100644 --- a/meta-ampere/meta-jade/conf/machine/mtjade.conf +++ b/meta-ampere/meta-jade/conf/machine/mtjade.conf @@ -6,6 +6,13 @@ require conf/machine/include/ast2500.inc require conf/machine/include/obmc-bsp-common.inc require conf/distro/include/phosphor-isolation.inc +# Reformat SPI flash layout to 64MB +FLASH_SIZE = "65536" +FLASH_UBOOT_OFFSET = "0" +FLASH_KERNEL_OFFSET = "1024" +FLASH_ROFS_OFFSET = "10240" +FLASH_RWFS_OFFSET = "43008" + OBMC_MACHINE_FEATURES += "\ obmc-phosphor-chassis-mgmt \ obmc-phosphor-flash-mgmt \ -- cgit v1.2.3 From 67591cfcf9f554f8a9c7d042d00b7a39b31f09e4 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 4 Jun 2021 01:10:48 +0000 Subject: bmcweb: srcrev bump 7e860f1550..90e97e1d26 John Edward Broadbent (1): change source URL for boost Change-Id: I53ebde6d811d1844a171e91390e3b5b3903e4245 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 8cbc31265..d62870829 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "7e860f1550c8686eec42f7a75bc5f2ef51e756ad" +SRCREV = "90e97e1d26b78d899a543831a8051dacbbdde71a" S = "${WORKDIR}/git" -- cgit v1.2.3 From b3b734cf3acffc5dd74883b638b72ea3143d7462 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 7 Jun 2021 07:31:04 +0000 Subject: pldm: srcrev bump 12c8a661ac..06347d7947 George Liu (1): pdr: Fix property values corresponding to sensor states Jayashankar Padath (2): pdr: dimm identify leds sensor/effecter support pdr: sensor/effecter support for power supply fault leds Manojkiran Eda (1): Improve the pldmtool to display logical entities Change-Id: I5466b3b1fe92a82166af99555090ac8085d7a3c6 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 7b01b0741..280c7f436 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "12c8a661ac43a985a5166772c644d2d255ef42f2" +SRCREV = "06347d79472c6f7ec4b9cc738d1a76d7583c37e5" -- cgit v1.2.3 From 8695752b965f3f9511f3f250c0bcd93cff4e993f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 4 Jun 2021 14:31:19 +0000 Subject: phosphor-virtual-sensor: srcrev bump 543bf66877..0fcf0e1ca1 Lei YU (1): Add association interface Change-Id: I974cf74f9dffb6aac4851eb2a6d3b90e31dd0551 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb index e70e1b066..f83d8bcb3 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb @@ -16,7 +16,7 @@ DEPENDS += "nlohmann-json" DEPENDS += "exprtk" SRC_URI = "git://github.com/openbmc/phosphor-virtual-sensor.git;protocol=git" -SRCREV = "543bf6687779c34f0f495eebae7e1819ced27577" +SRCREV = "0fcf0e1ca14be837e8d3383f34843d55aa90aee8" S = "${WORKDIR}/git" SYSTEMD_SERVICE_${PN} = "phosphor-virtual-sensor.service" -- cgit v1.2.3 From 7c67924160a435a9c0e5edb62a3167914c6a2397 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 4 Jun 2021 15:11:19 +0000 Subject: dbus-sensors: srcrev bump 2f20c5ab30..1263c3dad3 Bruce Lee (1): Modify set-value function from external Change-Id: Icdfbc161182019cd2b23deb46baf552b220efa8d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index 3db34d2f9..31bbbf5a9 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "2f20c5ab30fcceb401be7a22b39a497eb7026670" +SRCREV = "1263c3dad3a723f4ebbd05e4031e4d5ff45f349c" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 91547b2ce6b7cfb8d1eeac52b7ae2ce5e077a51e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Sun, 6 Jun 2021 16:20:38 +0000 Subject: phosphor-dbus-interfaces: srcrev bump 0ae4052479..28dcc9a3bd Bruce Mitchell (1): phosphor-dbus-interfaces: Add enum value "Pascals" William A. Kennington III (2): build: Regenerate meson for sdbus++ update build: Tools should be native Willy Tu (1): Drive: rename Interface to interface Change-Id: Ie59a09f6c8935cfb073ba07b32b9fae0ba78a76f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb index 38cbf18b6..56b593db4 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb @@ -18,7 +18,7 @@ DEPENDS += " \ " SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces" -SRCREV = "0ae40524799fc0030418dbcf2899ca55246a6386" +SRCREV = "28dcc9a3bd3cf2e0f99f8d225dfd47b85815720e" # Process OBMC_ORG_YAML_SUBDIRS to create Meson config options. # ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true -- cgit v1.2.3 From 87e8da2ec0f253e61db8e94f42c004c72d43a120 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 4 Jun 2021 19:20:58 +0000 Subject: phosphor-logging: srcrev bump b41fa54bc0..3025d0b563 Matt Spinler (1): PEL: Align peltool list output values Change-Id: I3b929d05b23f0767675eca0b0b283e458f810ca0 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 970755953..d93a85a3e 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "b41fa54bc07601ac80cf721a3bb2a1275348dbed" +SRCREV = "3025d0b5631130355ad560d040843226a48888c1" S = "${WORKDIR}/git" -- cgit v1.2.3 From e3121b4ee914f0a59d445f8ca1256ab45cb6aaaa Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 4 Jun 2021 19:51:13 +0000 Subject: phosphor-state-manager: srcrev bump cd0ebe867b..3ac78dfd6e Andrew Geissler (1): transition: ensure only run once per power on/off Change-Id: I0f55398a0790ae99603cc39676137f86a396b2e2 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb index ab3d5e26e..98f944c74 100644 --- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb @@ -184,6 +184,6 @@ SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'FAN_LINK_FMT', 'OBMC_CHA SYSTEMD_LINK_${PN}-obmc-targets += "${@compose_list(d, 'QUIESCE_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}" SRC_URI += "git://github.com/openbmc/phosphor-state-manager" -SRCREV = "cd0ebe867b0592e9386650abc44696161da7bc8a" +SRCREV = "3ac78dfd6e3c6bf1c673e6acc8e6dc2deb6bd98b" S = "${WORKDIR}/git" -- cgit v1.2.3 From 35e88ebe771dc41a47d52f741c3c2e6118a85d8b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Sun, 6 Jun 2021 16:00:38 +0000 Subject: sdbusplus: srcrev bump a42e97a6b9..270f242cc2 William A. Kennington III (1): build: Propagate boost arguments as needed Change-Id: I4ddd684b8c183cbef1fa454fdba6c563f0d65d97 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc index 81f078e65..696415554 100644 --- a/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc +++ b/meta-phosphor/recipes-extended/sdbusplus/sdbusplus-rev.inc @@ -3,4 +3,4 @@ PR = "r1" PV = "1.0+git${SRCPV}" SRC_URI += "git://github.com/openbmc/sdbusplus" -SRCREV = "a42e97a6b9522d66ba8844c0b45dc6adfcd55dd6" +SRCREV = "270f242cc2d80c2c77e5774eb461ca8a23863fb9" -- cgit v1.2.3 From e378cca6fdb9f6052609fd13e90a5e6c712e933e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 8 Jun 2021 06:51:02 +0000 Subject: phosphor-networkd: srcrev bump fc3aff9165..3bf1c74e11 William A. Kennington III (1): build: Regenerate meson for new sdbusplus Change-Id: I870a212d934157c35af0bd884686623641beabd0 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index 35591f43a..5c411dff8 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -11,7 +11,7 @@ inherit python3native inherit systemd SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "fc3aff916522a36e39c97f41967b868eaa91f573" +SRCREV = "3bf1c74e11cef14b7658a0653e5a1571a9ef7620" DEPENDS += "systemd" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" -- cgit v1.2.3 From e9d44ca67524e7d8812c4c7266258e742b630adc Mon Sep 17 00:00:00 2001 From: Matthew Barth Date: Thu, 27 May 2021 10:42:48 -0500 Subject: ibm: rainier4u: Increase poweron fan speed to 10000rpm It's been found that the processors are generating more preheat than anticipated and the rainier 4u systems currently being built may not have the baffles available to be installed. Increasing the poweron fan speed to overcome this preheat affect to the PCIE area so PCIE cards do not overtemp. Change-Id: I03414fc4cc9cd3aa8d248c4b1408bab658978f48 Signed-off-by: Matthew Barth --- .../recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json | 4 ++-- .../recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json index b2c96070b..006f45fd8 100644 --- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-1s4u/zones.json @@ -1,8 +1,8 @@ [ { "name": "0", - "full_speed": 6000, - "default_floor": 6000, + "full_speed": 10000, + "default_floor": 10000, "increase_delay": 5, "decrease_interval": 30 } diff --git a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json index b2c96070b..006f45fd8 100644 --- a/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json +++ b/meta-ibm/recipes-phosphor/fans/phosphor-fan/p10bmc/rainier-4u/zones.json @@ -1,8 +1,8 @@ [ { "name": "0", - "full_speed": 6000, - "default_floor": 6000, + "full_speed": 10000, + "default_floor": 10000, "increase_delay": 5, "decrease_interval": 30 } -- cgit v1.2.3 From 1b4d93287e189eb294d2563479dc892f73b12f38 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 8 Jun 2021 18:40:54 +0000 Subject: bmcweb: srcrev bump 90e97e1d26..2c37b4b0f4 Bruce Lee (1): Remove checkAndDoSensorsOverride function Sharad Yadav (2): Processor: Add UUID property Chassis: Add UUID property Change-Id: Ib5a29aebcd90087d38b7db0bc61158d9cad3d658 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index d62870829..5bc00e306 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "90e97e1d26b78d899a543831a8051dacbbdde71a" +SRCREV = "2c37b4b0f465344aeea311efd61fd9a217ad8e3e" S = "${WORKDIR}/git" -- cgit v1.2.3 From a53ba0fdb76cd734fe26c599bafd1cebe0165297 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 8 Jun 2021 16:10:27 +0000 Subject: openpower-proc-control: srcrev bump 1b607c3546..e22e8231c4 Jayanth Othayoth (2): Added openpower util file support set CLK NE termination site based on HW VPD keyword. Change-Id: I15ba086834b6f86af5dbc6de5643868692e6c9dd Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/host/op-proc-control_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb index 12ebbea49..aa0a784d3 100644 --- a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb +++ b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb @@ -11,7 +11,7 @@ inherit autotools obmc-phosphor-utils pkgconfig inherit systemd SRC_URI += "git://github.com/openbmc/openpower-proc-control" -SRCREV = "1b607c35462ae5e2c00406a646aeedbbd26d4631" +SRCREV = "e22e8231c49d3a7fa4ea24d57e48be072e1d7e16" DEPENDS += " \ autoconf-archive-native \ -- cgit v1.2.3 From ab38f3aa2c2254b729e4ecf985445f5a50169fb8 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 8 Jun 2021 17:20:54 +0000 Subject: phosphor-host-ipmid: srcrev bump 61024d7df5..90e81fa2bc Chalapathi Venkataramashetty (1): dcmihandler: update data_len to zero when getPowerReading command failed Change-Id: I70fb5069c40dc98d0b16053dccb8f619b3c26bd8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc index 45522f3d8..bcfdd8209 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid" -SRCREV = "61024d7df56eb753173ded7fd2ce9cd30a5be800" +SRCREV = "90e81fa2bc1447b1b508200fa05a1b62013ab2d9" -- cgit v1.2.3 From 2cb2ed54dcb9d92a9907f9d04b54d6af1eb816fb Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 8 Jun 2021 18:50:43 +0000 Subject: phosphor-fan-presence: srcrev bump cceffdd91c..fdfcc679e6 Matt Spinler (1): monitor: Move count timer into TachSensor Change-Id: I7da77f6be46e859b00f65d53745a20ca81c6617d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 53182e582..090e69403 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "cceffdd91cf3cc0c651b5c44424fb3377cded964" +SRCREV = "fdfcc679e69e4fd289c44e58740a5f2f4011b284" -- cgit v1.2.3 From 639b932db6eaed21a4ddeded29604ed0bf72fd78 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Tue, 8 Jun 2021 21:02:15 +0930 Subject: linux-aspeed: Everest LEDs, Rainier, EVB fixes Andrew Jeffery (1): mmc: sdhci-of-aspeed: Turn down a phase correction warning Eddie James (1): ARM: dts: aspeed: Rainier 1S4U: Fix fan nodes Steven Lee (1): ARM: dts: aspeed: ast2600evb: Actually add dts file for A1 and A0 Vishwanatha Subbanna (6): ARM: dts: aspeed: everest: Add system level indicator leds ARM: dts: aspeed: everest: Add nvme and fan indicator leds ARM: dts: aspeed: everest: Add pcie slot indicator leds ARM: dts: aspeed: everest: Add dimm indicator leds ARM: dts: aspeed: everest: Add vrm and other indicator leds ARM: dts: aspeed: everest: Add pcie cable card indicator leds Change-Id: Ibdbc319fcc3490d9bae1e3845f1410150662bd4d Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index bf8391181..ee8e74b89 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.42" -SRCREV="a03dcbf1719162744ef9f1a73c9823f8ba3714ec" +SRCREV="2c578b3ad5aa7eedf7c9bdd620205ccca4c19366" require linux-aspeed.inc -- cgit v1.2.3 From 92804a7d47ef891341c406996e3cc105ab430ff1 Mon Sep 17 00:00:00 2001 From: Zane Shelley Date: Fri, 4 Jun 2021 17:18:22 -0500 Subject: recipe preparation for openpower PEL parser modules The PEL parser for openpower-hw-diags requires some data files built by openpower-libhei. There will eventually be another recipe for that will use the same SRC_URI and SRCREV as openpower-libhei. So that information has been moved to the openpower-libhei-rev.inc file. Then, the recipes for both of these projects have been cleaned for readability. Signed-off-by: Zane Shelley Change-Id: Ib2141e53480d4b8a9afc767427e87bcefe02afc1 --- .../logging/openpower-hw-diags_git.bb | 13 ++++++++----- .../recipes-phosphor/logging/openpower-libhei-rev.inc | 6 ++++++ .../recipes-phosphor/logging/openpower-libhei_git.bb | 19 +++++++++++-------- 3 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index a31a584b9..ed042eda2 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -1,4 +1,3 @@ -HOMEPAGE = "https://github.com/openbmc/openpower-hw-diags" SUMMARY = "Hardware Diagnostics for POWER Systems" DESCRIPTION = \ @@ -7,17 +6,21 @@ DESCRIPTION = \ POWER Systems have the ability to diagnose the root cause of the failure \ and perform any service action needed to avoid repeated system failures." -PV = "0.1+git${SRCPV}" +HOMEPAGE = "https://github.com/openbmc/openpower-hw-diags" + LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -inherit meson systemd - -S = "${WORKDIR}/git" +PR = "r1" +PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/openbmc/openpower-hw-diags" SRCREV = "6bc43c9b896724c27317ac50a88e5ddaa2882484" +S = "${WORKDIR}/git" + +inherit meson systemd + SYSTEMD_SERVICE_${PN} = "attn_handler.service" DEPENDS = "boost libgpiod pdbg phosphor-logging sdbusplus openpower-libhei \ diff --git a/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc b/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc new file mode 100644 index 000000000..6dbc41574 --- /dev/null +++ b/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc @@ -0,0 +1,6 @@ +PR = "r1" +PV = "0.1+git${SRCPV}" + +SRC_URI = "git://github.com/openbmc/openpower-libhei" +SRCREV = "0a905012d0e90ea32ca651883413cd84b56804d1" + diff --git a/meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb index 59ed91c25..183e2ed5c 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-libhei_git.bb @@ -1,17 +1,20 @@ -inherit meson +SUMMARY = "Hardware Error Isolator for POWER Systems" + +DESCRIPTION = \ + "The library provides a set of tools to isolate hardware attentions driven \ + by POWER Systems chip (processor chips, memory chips, etc.)." + +HOMEPAGE = "https://github.com/openbmc/openpower-libhei" -SUMMARY = "Hardware Error Isolator Library" -DESCRIPTION = "Hardware Error Isolator Library (libhei)" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -SRC_URI = "git://github.com/openbmc/openpower-libhei" - -PV = "0.1+git${SRCPV}" -SRCREV = "0a905012d0e90ea32ca651883413cd84b56804d1" +include openpower-libhei-rev.inc S = "${WORKDIR}/git" +inherit meson inherit perlnative -DEPENDS += "libxml2-native libxml-simple-perl-native libjson-perl-native" +DEPENDS = "libxml2-native libxml-simple-perl-native libjson-perl-native" + -- cgit v1.2.3 From cf7bc62babb57ea27e7a00cd6271ca53579281fe Mon Sep 17 00:00:00 2001 From: George Hung Date: Wed, 9 Jun 2021 05:59:25 +0000 Subject: Revert "meta-quanta: gbs: enable fallback watchdog" This reverts commit f5f78f62d720ef57a54660927ba9a45515243190. Reason for revert: due to x86-power-control not allowing DC cycle when host is down for fallback watchdog action Change-Id: Idcc6e5d585bfcd9664755b32277d441118beef15 Signed-off-by: George Hung --- .../recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/host0 | 3 --- .../watchdog/phosphor-watchdog/phosphor-watchdog@.service | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/host0 b/meta-quanta/meta-gbs/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/host0 index 27c438d90..c0f04ef03 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/host0 +++ b/meta-quanta/meta-gbs/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/host0 @@ -3,6 +3,3 @@ SERVICE=xyz.openbmc_project.Watchdog UNIT_HARD_RESET=phosphor-host-watchdog-reset.service UNIT_POWER_OFF=phosphor-host-watchdog-poweroff.service UNIT_POWER_CYCLE=phosphor-host-watchdog-powercycle.service -FALLBACK_ACTION=xyz.openbmc_project.State.Watchdog.Action.PowerCycle -FALLBACK_INTERVAL=180000 -MIN_INTERVAL=60000 diff --git a/meta-quanta/meta-gbs/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service b/meta-quanta/meta-gbs/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service index 4577cd1c1..df11b22e5 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service +++ b/meta-quanta/meta-gbs/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service @@ -4,8 +4,7 @@ Description=Phosphor Watchdog [Service] EnvironmentFile={envfiledir}/obmc/watchdog/%I ExecStart=/usr/bin/env phosphor-watchdog --service=${{SERVICE}} --path=${{DEVPATH}} \ - --continue --fallback_always --min_interval=${{MIN_INTERVAL}} \ - --fallback_action=${{FALLBACK_ACTION}} --fallback_interval=${{FALLBACK_INTERVAL}} \ + --continue \ --action_target=xyz.openbmc_project.State.Watchdog.Action.HardReset=${{UNIT_HARD_RESET}} \ --action_target=xyz.openbmc_project.State.Watchdog.Action.PowerOff=${{UNIT_POWER_OFF}} \ --action_target=xyz.openbmc_project.State.Watchdog.Action.PowerCycle=${{UNIT_POWER_CYCLE}} -- cgit v1.2.3 From 271bf3dce908697dc7cada21df04b73708cc16b7 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Thu, 10 Jun 2021 15:05:45 +0930 Subject: meta-aspeed: Enable hardened allocator feature SLAB_FREELIST_HARDENED can protect from freelist overwrite attacks with really small overhead. It works best with the SLUB allocator, so make SLUB the default by removing SLAB=y. total used free shared buff/cache available SLAB 425596 44065.3+/-220 311099+/-3800 14864+/-3900 70432+/-3700 352767+/-3900 SLUB 425592 44225.3+/-280 313275+/-600 12132+/-3.3 68092+/-530 355295+/-280 These figures are the average memory usage from three boots of each option in qemu, running the Romulus userspace. The output is from free(1), reported in kilobytes. Change-Id: I3c3ce67bc202dffbc3084382227f3dbc77f4cf85 Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig | 2 +- meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig | 2 +- meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig index d128c7a82..6a2c6d98a 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig @@ -21,8 +21,8 @@ CONFIG_BPF_SYSCALL=y CONFIG_EMBEDDED=y CONFIG_PERF_EVENTS=y # CONFIG_COMPAT_BRK is not set -CONFIG_SLAB=y CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_FREELIST_HARDENED=y # CONFIG_ARCH_MULTI_V7 is not set CONFIG_ARCH_ASPEED=y CONFIG_MACH_ASPEED_G4=y diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig index 459a40dd7..bd7711f09 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig @@ -23,8 +23,8 @@ CONFIG_BPF_SYSCALL=y CONFIG_EMBEDDED=y CONFIG_PERF_EVENTS=y # CONFIG_COMPAT_BRK is not set -CONFIG_SLAB=y CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_ARCH_MULTI_V6=y # CONFIG_ARCH_MULTI_V7 is not set CONFIG_ARCH_ASPEED=y diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig index b80042396..9734f46c3 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig @@ -23,8 +23,8 @@ CONFIG_BPF_SYSCALL=y CONFIG_EMBEDDED=y CONFIG_PERF_EVENTS=y # CONFIG_COMPAT_BRK is not set -CONFIG_SLAB=y CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_ARCH_ASPEED=y CONFIG_MACH_ASPEED_G6=y # CONFIG_CACHE_L2X0 is not set -- cgit v1.2.3 From 47b911e1a5be7eb6a72fc1693eff1c97a229b146 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 9 Jun 2021 12:21:37 +0000 Subject: webui-vue: srcrev bump e516d4d9e8..3f9cfa2c24 Derick Montague (1): Update docs theme section to customization Dixsie Wolmers (2): Add event log resolve and unresolve log functionality Add quicklinks to hardware status page MichalX Szopinski (2): Virtual Media, change Save image label to Load image Remove hardcoded chassis in power supplies Sneha Patel (1): Dump download file name Change-Id: If9287975d26a7fca1fec2f3019f97dcf448f7ad1 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index 311c71285..5b8dec5fe 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "e516d4d9e8d14a826cd98b1b8ce5f5b117597a5a" +SRCREV = "3f9cfa2c2491cc060ea57787660e918e4a7ee7e5" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native " -- cgit v1.2.3 From 23d52b874977926bbb84398d2fac655947463209 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 9 Jun 2021 09:21:42 +0000 Subject: telemetry: srcrev bump 32859b634e..85db8bdfac Krzysztof Grobelny (1): Add skipping PropertiesChanged signal on init Change-Id: If0b4b8f16767d458c68138296a79812fbe307244 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb index 3557afc9c..5467cf2fb 100644 --- a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb +++ b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/telemetry" PV = "1.0+git${SRCPV}" -SRCREV = "32859b634e366a015331fb8ab62766340df9c7b8" +SRCREV = "85db8bdfac85e26742926f5aa6a938fe71d10cff" S = "${WORKDIR}/git" -- cgit v1.2.3 From 02ae93e7591acee2e1d5f791d5c843be3a556842 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 9 Jun 2021 09:40:58 +0000 Subject: pldm: srcrev bump 06347d7947..763b51ea10 Tom Joseph (1): libpldm: Add APIs to decode descriptor entries Change-Id: I46397f4419453ae3b9828ced8105912fef74df3a Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 280c7f436..da0f0f547 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "06347d79472c6f7ec4b9cc738d1a76d7583c37e5" +SRCREV = "763b51ea109e905fda901d8761f30ab266a07ba3" -- cgit v1.2.3 From 4bb7a8babbc50ed0d01e62663910cd463768b026 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 9 Jun 2021 11:30:53 +0000 Subject: phosphor-dbus-interfaces: srcrev bump 28dcc9a3bd..08baf48ad5 William A. Kennington III (6): build: Use meson built-ins instead of realpath build: Don't use implicit includes build: Add headers to dependency build: Don't generate markdown for subprojects treewide: Create yaml directory gen/run-ci: Only check files inside of gen Change-Id: I55d11745a297a6506ca89d53b5c192b1bba8ab81 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb index 56b593db4..dc6981529 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb @@ -18,7 +18,7 @@ DEPENDS += " \ " SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces" -SRCREV = "28dcc9a3bd3cf2e0f99f8d225dfd47b85815720e" +SRCREV = "08baf48ad5f15774d393fbbf4e9479a0ef3e82d0" # Process OBMC_ORG_YAML_SUBDIRS to create Meson config options. # ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true -- cgit v1.2.3 From 1d95c38e89c2f80dc7e016b4f8e194e9578b0248 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 9 Jun 2021 12:40:58 +0000 Subject: phosphor-snmp: srcrev bump df871e9d38..9e60ef5f73 Asmitha Karunanithi (1): Add validation of IP address Change-Id: Ib212e5d1d0eabcb99c6ccd36430390038f76bb7e Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb index c6981e3ff..191ad9236 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-snmp_git.bb @@ -12,7 +12,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI += "git://github.com/openbmc/phosphor-snmp" -SRCREV = "df871e9d389f99846ed16099dd94c6dc37d17e10" +SRCREV = "9e60ef5f73de20555bbc197eb93ba888775e19e5" DBUS_SERVICE_${PN} += "xyz.openbmc_project.Network.SNMP.service" -- cgit v1.2.3 From 51d83c24f43d8336727c964f6e6422203d20e5e9 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 9 Jun 2021 20:20:23 +0000 Subject: openpower-libhei: srcrev bump 0a905012d0..13d04086e1 Zane Shelley (6): Separate building of chip data and parser data files setuptools for openpower-hw-diags PEL parser data update PEL parser output to include register addresses combine signature and node field in PEL parser output Add attn types to PEL parser output Add chip descriptions to PEL parser data Change-Id: I7e7d3cbe4c3713bd76b582760996f9eb4d376d78 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc b/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc index 6dbc41574..3990cf85a 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc +++ b/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc @@ -2,5 +2,5 @@ PR = "r1" PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/openbmc/openpower-libhei" -SRCREV = "0a905012d0e90ea32ca651883413cd84b56804d1" +SRCREV = "13d04086e19aff7712e3e1c3e3556b26ac8d8255" -- cgit v1.2.3 From 1497c9c9c743277815d7b19f6112bf20c1e24c4f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 10 Jun 2021 07:41:40 +0000 Subject: ssifbridge: srcrev bump b26a9b6aea..22f04265eb Dung Cao (1): Fix the boot order of ssifbridged Change-Id: I2d211759beb0f944ed5f15d6f86adf371a98a362 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb index a0055b97e..821a74669 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-ssif_git.bb @@ -21,5 +21,5 @@ DEPENDS += "cli11" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/ssifbridge.git;protocol=git;branch=master" -SRCREV= "b26a9b6aea6c578fa71274bed14466607b0d8426" +SRCREV= "22f04265eb07c73ba33c488548b7f797cc1c2b30" -- cgit v1.2.3 From 2bb4f12fba0d1faa1184a9d787b32cdfdbbd8992 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 10 Jun 2021 18:10:12 +0000 Subject: google-misc: srcrev bump 4a0e2e3c10..14fe6698f5 Nan Zhou (1): nemora-postd: import from gBMC Ofer (1): preserved ofery@ +2 for google misc repos Add suichen@ and ofery@ as maintainers for metrics-ipmi-blobs Change-Id: I482493e733489a7887a2b9f63e1c3dd811bafd26 Signed-off-by: Andrew Geissler --- meta-google/recipes-google/google-misc/google-misc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-google/recipes-google/google-misc/google-misc.inc b/meta-google/recipes-google/google-misc/google-misc.inc index 85acb9353..9d191c5f9 100644 --- a/meta-google/recipes-google/google-misc/google-misc.inc +++ b/meta-google/recipes-google/google-misc/google-misc.inc @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" SRC_URI += "git://github.com/openbmc/google-misc" -SRCREV = "4a0e2e3c10327dac1c923d263929be9a20478b24" +SRCREV = "14fe6698f5bb26245bb807eb041eaa7a3c29ac39" S = "${WORKDIR}/git/subprojects/${GOOGLE_MISC_PROJ}" inherit meson -- cgit v1.2.3 From d5e99fd1ecdeaad3e006aa6c4a014beccf8b7d0b Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Thu, 10 Jun 2021 22:10:31 +0930 Subject: linux-aspeed: Move to v5.10.43 stable release This includes security and bug fixes from the 5.10.43 stable release. Change-Id: I80b2c7f29a96ca11e2d291957bd573c5c70310e9 Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index ee8e74b89..c514bcf5a 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" -LINUX_VERSION ?= "5.10.42" +LINUX_VERSION ?= "5.10.43" -SRCREV="2c578b3ad5aa7eedf7c9bdd620205ccca4c19366" +SRCREV="ba046d1e841cb21cfed9314f248e136d04ba90cf" require linux-aspeed.inc -- cgit v1.2.3 From 216c11e357d6892651c6053ae79096ff9c5ae1eb Mon Sep 17 00:00:00 2001 From: "Anton D. Kachalov" Date: Thu, 10 Jun 2021 20:42:55 +0200 Subject: meta-ibm/state: fix meson param statement Change-Id: I4453f9b01f986a529c76710d665ab57639232b2d Signed-off-by: Anton D. Kachalov --- meta-ibm/recipes-phosphor/state/phosphor-state-manager_%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-ibm/recipes-phosphor/state/phosphor-state-manager_%.bbappend index 47201122b..5b35a0a64 100644 --- a/meta-ibm/recipes-phosphor/state/phosphor-state-manager_%.bbappend +++ b/meta-ibm/recipes-phosphor/state/phosphor-state-manager_%.bbappend @@ -1,4 +1,4 @@ -EXTRA_OEMESON_witherspoon += "-Dwarm-reboot=disabled" +EXTRA_OEMESON_append_witherspoon = " -Dwarm-reboot=disabled" # The scheduled-host-transition package provides support to # schedule power on and off operations for the host at some -- cgit v1.2.3 From deb09969e8e331734bd7e055a7ff6dd99e7714a4 Mon Sep 17 00:00:00 2001 From: Adriana Kobylak Date: Fri, 11 Jun 2021 20:10:25 +0000 Subject: phosphor-software-manager: Fix tests meson param Need to append the meson option to disable tests so that it doesn't overwrite previous options. Tested: Built witherspoon with -e option and verified EXTRA_OEMESON showed all the meson options for ubi. Change-Id: I1275a790feefdc3aa5d85aa9b36bf5d7d3a4d44e Signed-off-by: Adriana Kobylak --- meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb index 19e5f31fa..4b0bdc060 100644 --- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager_git.bb @@ -84,7 +84,7 @@ SYSTEMD_SERVICE_${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'flash_b S = "${WORKDIR}/git" -EXTRA_OEMESON = "-Dtests=disabled" +EXTRA_OEMESON += "-Dtests=disabled" do_install_append() { install -d ${D}/usr/local -- cgit v1.2.3 From 59192973eb5c2288d2132eb3c5987040ea356dbb Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 10 Jun 2021 20:51:29 +0000 Subject: phosphor-logging: srcrev bump 3025d0b563..b6b2557555 William A. Kennington III (6): build: Install dbus policy in datadir build: Don't build tests by default in submodules build: Remove deprecated get_pkgconfig_variable method extensions: Deterministic global construction ordering sdjournal: Migrate code into cpp file build: Use global variables instead of macros for test features Change-Id: I7e8412dd429e024bbc15ca79367472f4cb5b0ab8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index d93a85a3e..c21fb1ebe 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -42,7 +42,7 @@ USERADD_PACKAGES = "${PN}-base" GROUPADD_PARAM_${PN}-base = "-r phosphor-logging" FILES_${PN}-base += " \ - ${sysconfdir}/dbus-1 \ + ${datadir}/dbus-1 \ ${bindir}/phosphor-log-manager \ ${libdir}/libphosphor_logging.so.* \ " @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "3025d0b5631130355ad560d040843226a48888c1" +SRCREV = "b6b255755561d39780b65fa945ec43fd81319a9f" S = "${WORKDIR}/git" -- cgit v1.2.3 From 717b69f24a42aab8e9bf17eebe227fc85b0c8f5d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 11 Jun 2021 08:41:08 +0000 Subject: pldm: srcrev bump 763b51ea10..772403b934 Pavithra Barithaya (1): PLDM: Fix for handling invalid event state Sridevi Ramesh (1): Fix for pldmtool GetFruRecordTable command with oem-ibm disabled. Change-Id: I136e13252db412c6451c94e03dc845d57ecdfaac Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index da0f0f547..555e68303 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "763b51ea109e905fda901d8761f30ab266a07ba3" +SRCREV = "772403b9344e03934368e089717f2f4d1236ab5d" -- cgit v1.2.3 From 6d81c0777fa6230bbec25cea0c4144345c740f2d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 11 Jun 2021 20:20:44 +0000 Subject: bmcweb: srcrev bump 2c37b4b0f4..938f25685f Chicago Duan (2): Redfish: Fix bug that cause validator failed Redfish: Fix issue of EventDestination Ed Tanous (12): Remove Node class from Account Service Change ManagerAccount privileges to match registry Move Sessions to non Node structure Move the hypervisor endpoints into a namespace Move ethernet interface away from Node class Remove the Node class Remove Node class from NBD proxy Fix shadowing of parameter in scripts Update clang-format version in scripts Update registries Fix Session delete to return 200 Fix base registry validator failure John Edward Broadbent (1): Corrects URI by removing / Tejas Patil (1): Add support for MaxImageSizeBytes in UpdateService Change-Id: If16b05d138136b81397c6d38fcdcbefc19c18e27 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 5bc00e306..81d0b0229 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "2c37b4b0f465344aeea311efd61fd9a217ad8e3e" +SRCREV = "938f25685f4b93d632fe5169cf5e258164538114" S = "${WORKDIR}/git" -- cgit v1.2.3 From cf71ae0b18d0526b54d167139d6ea092655d2dd4 Mon Sep 17 00:00:00 2001 From: Chanh Nguyen Date: Fri, 11 Jun 2021 17:05:38 +0700 Subject: meta-ampere: Support software workaround for PSU redundancy issue When system only uses single PSU ( ex : PSU1 ) to power ON normal 12V, HSC2 will be trigged Fault event (FET health). At this time, plugging in PSU2 in system, the PSU2 won't deliver power to +12V_MB because HSC2 is protected by Fault event. Due to HSC2 protected, the PSU redundancy mechanism can't be created. Once PSU1 is plugged out at this moment, system will crash ( reset ) because +12V_MB dropped. Support detecting PSU plug event and reset the Hot-Swap feature by disabling and then enabling again it through PMBUS command to clear the event. Tested: 1. Plug only PSU1 to power ON system (12V) 2. Wait until host is booted, check POUT: $ ipmitool sdr | grep "POUT" PSU1_POUT | 112 Watts | ok PSU2_POUT | 0 Watts | ok 3. Plug in PSU2 in system, check POUT: $ ipmitool sdr | grep "POUT" PSU1_POUT | 64 Watts | ok PSU2_POUT | 48 Watts | ok 4. Unplug AC power PSU1, check POUT: $ ipmitool sdr | grep "POUT" PSU1_POUT | 0 Watts | ok PSU2_POUT | 128 Watts | ok 5. Plug in AC power PSU1, check POUT: $ ipmitool sdr | grep "POUT" PSU1_POUT | 80 Watts | ok PSU2_POUT | 64 Watts | ok 6. Repeat 1. to 5. with PSU2. Signed-off-by: Chanh Nguyen Change-Id: Ia6e00cd7b08de48059f2450e7eaf108418d0a026 --- .../recipes-phosphor/gpio/psu-hotswap-reset.bb | 33 ++++++++++ .../psu-hotswap-reset/ampere_psu_reset_hotswap.sh | 74 ++++++++++++++++++++++ .../gpio/psu-hotswap-reset/obmc/gpio/PSU1_B25 | 4 ++ .../gpio/psu-hotswap-reset/obmc/gpio/PSU2_B25 | 4 ++ .../psu-hotswap-reset/psu1_hotswap_reset.service | 6 ++ .../psu-hotswap-reset/psu2_hotswap_reset.service | 6 ++ .../packagegroups/packagegroup-obmc-apps.bbappend | 2 +- 7 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset.bb create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU1_B25 create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU2_B25 create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu1_hotswap_reset.service create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu2_hotswap_reset.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset.bb b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset.bb new file mode 100644 index 000000000..9f7b24f00 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset.bb @@ -0,0 +1,33 @@ +SUMMARY = "Ampere Computing LLC PSU Hot Swap Reseting application" +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit obmc-phosphor-systemd +inherit allarch + +DEPENDS += "virtual/obmc-gpio-monitor" +RDEPENDS_${PN} += "virtual/obmc-gpio-monitor" + +OBMC_PSU_MONITOR_INSTANCES = "PSU1_B25 PSU2_B25" + +# Copies config file having arguments for psu +# via GPIO assertion +SYSTEMD_ENVIRONMENT_FILE_${PN} +="obmc/gpio/PSU1_B25 \ + obmc/gpio/PSU2_B25 \ + " +SYSTEMD_SERVICE_${PN} ?= "psu1_hotswap_reset.service psu2_hotswap_reset.service" + +SRC_URI += "file://ampere_psu_reset_hotswap.sh" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/ampere_psu_reset_hotswap.sh \ + ${D}${bindir}/ampere_psu_reset_hotswap.sh +} + +GPIO_MONITOR_TMPL = "phosphor-gpio-monitor@.service" +GPIO_MONITOR_TGTFMT = "phosphor-gpio-monitor@{0}.service" +TGT = "multi-user.target" +PSU_MONITOR_FMT = "../${GPIO_MONITOR_TMPL}:${TGT}.requires/${GPIO_MONITOR_TGTFMT}" +SYSTEMD_LINK_${PN} += "${@compose_list(d, 'PSU_MONITOR_FMT', 'OBMC_PSU_MONITOR_INSTANCES', 'OBMC_HOST_INSTANCES')}" diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh new file mode 100644 index 000000000..65bff9dc1 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/ampere_psu_reset_hotswap.sh @@ -0,0 +1,74 @@ +#!/bin/sh + +# When system only use single PSU ( ex : PSU1 ) to power ON normal 12V, +# HSC2 will be trigged Fault event (FET health). +# At this time, to plug-in PSU2 in system, PSU2 won't deliver power to +# +12V_MB because HSC2 is protected by Fault event. +# Due to HSC2 protected, the PSU redundancy mechanism can't be created. +# Once PSU1 is plugged out at this moment, system will crash ( reset ) +# because +12V_MB dropped. + +# BMC SW work-around solution: +# - When BMC detect event PSU is plugged in system, BMC will reset HSC +# by disbale HOT SWAP and then enable HOT SWAP through pmbus command to clear +# Fault event. + +# Note: +# In case hot swap occurs during BMC reset, BMC still not in operation state, +# BMC can't detect PSU plug/unplug, then the work-around won't be executed + +# Author: Chanh Nguyen + +HSC1_PMBUS_NUM=10 +HSC2_PMBUS_NUM=10 +HSC1_SLAVE_ADDR=0x10 +HSC2_SLAVE_ADDR=0x11 +OPERATION=0x01 +STATUS_MFR_SPECIFIC=0x80 + +# $1 will be the name of the psu +PSU=$1 + +if [[ $PSU == 1 ]]; then + HSC_PMBUS_NUM=$HSC1_PMBUS_NUM + HSC_SLAVE_ADDR=$HSC1_SLAVE_ADDR +elif [[ $PSU == 2 ]]; then + HSC_PMBUS_NUM=$HSC2_PMBUS_NUM + HSC_SLAVE_ADDR=$HSC2_SLAVE_ADDR +else + echo "Please choose PSU1 (1) or PSU2 (2)" + echo "Ex: ampere_psu_reset_hotswap.sh 1" + exit 0 +fi + +# Check HOST state +chassisstate=$(obmcutil chassisstate | awk -F. '{print $NF}') +if [[ "$chassisstate" == 'Off' ]]; then + echo "HOST is being OFF, so can't access the i2c $HSC_PMBUS_NUM. Please Turn ON HOST !" + exit 1 +fi + +# Check FET health problems +data=$(i2cget -f -y $HSC_PMBUS_NUM $HSC_SLAVE_ADDR $STATUS_MFR_SPECIFIC) + +if [[ $? -ne 0 ]]; then + echo "ERROR: Can't access the i2c. Please check /dev/i2c-$HSC_PMBUS_NUM" + exit 1 +fi + +psu_sts=$(((data & 0x80) != 0)) + +if [[ $psu_sts == 1 ]]; then + echo "PSU $PSU: FET health problems have been detected" + echo "Reset Hot swap output on PSU $PSU" + # Disable Hot swap output + write_data=0x00 + i2cset -f -y $HSC_PMBUS_NUM $HSC_SLAVE_ADDR $OPERATION $write_data b + + # Enable Hot swap output + write_data=0x80; + i2cset -f -y $HSC_PMBUS_NUM $HSC_SLAVE_ADDR $OPERATION $write_data b + +else + echo "PSU $PSU: FET health problems have not been detected" +fi \ No newline at end of file diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU1_B25 b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU1_B25 new file mode 100644 index 000000000..b0ce1a83e --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU1_B25 @@ -0,0 +1,4 @@ +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=60 +POLARITY=0 +TARGET=psu1_hotswap_reset.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU2_B25 b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU2_B25 new file mode 100644 index 000000000..ac50f5375 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/obmc/gpio/PSU2_B25 @@ -0,0 +1,4 @@ +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=61 +POLARITY=0 +TARGET=psu2_hotswap_reset.service diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu1_hotswap_reset.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu1_hotswap_reset.service new file mode 100644 index 000000000..fec3ad6a2 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu1_hotswap_reset.service @@ -0,0 +1,6 @@ +[Unit] +Description=Ampere Computing LLC PSU1 reset hotswap + +[Service] +Restart=no +ExecStart=ampere_psu_reset_hotswap.sh 1 diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu2_hotswap_reset.service b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu2_hotswap_reset.service new file mode 100644 index 000000000..fdb8692a5 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/psu-hotswap-reset/psu2_hotswap_reset.service @@ -0,0 +1,6 @@ +[Unit] +Description=Ampere Computing LLC PSU2 reset hotswap + +[Service] +Restart=no +ExecStart=ampere_psu_reset_hotswap.sh 2 diff --git a/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index c84a7f106..f41e5bcd7 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-ampere/meta-jade/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -1,2 +1,2 @@ RDEPENDS_${PN}-extras_append_mtjade = " webui-vue phosphor-image-signing" -RDEPENDS_${PN}-inventory_append_mtjade = " fault-monitor id-button" +RDEPENDS_${PN}-inventory_append_mtjade = " fault-monitor id-button psu-hotswap-reset" -- cgit v1.2.3 From b0da1bf01417170cef474f4262445c56d949de76 Mon Sep 17 00:00:00 2001 From: Chanh Nguyen Date: Tue, 23 Mar 2021 11:50:26 +0700 Subject: meta-ampere: mtjade: support PSU present detection via GPIO It checks GPIO key for powersupply presence, and creates the inventory object. Tested: 1. Plug the PSU, check busctl command for Present attribute 2. Plug out the PSU, check busctl command for Present attribute $ busctl --no-pager introspect xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0 Signed-off-by: Chanh Nguyen Change-Id: I4520d537d425249debe5c0d8c6bf8b0f6e3c5b34 --- .../recipes-ac01/packagegroups/packagegroup-ampere-apps.bb | 1 + meta-ampere/meta-jade/conf/machine/mtjade.conf | 2 ++ .../obmc/gpio/phosphor-power-supply-0.conf | 6 ++++++ .../obmc/gpio/phosphor-power-supply-1.conf | 6 ++++++ .../recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend | 12 ++++++++++++ 5 files changed, 27 insertions(+) create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-0.conf create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-1.conf create mode 100644 meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend diff --git a/meta-ampere/meta-common/recipes-ac01/packagegroups/packagegroup-ampere-apps.bb b/meta-ampere/meta-common/recipes-ac01/packagegroups/packagegroup-ampere-apps.bb index d29b87083..8da9e896e 100644 --- a/meta-ampere/meta-common/recipes-ac01/packagegroups/packagegroup-ampere-apps.bb +++ b/meta-ampere/meta-common/recipes-ac01/packagegroups/packagegroup-ampere-apps.bb @@ -26,6 +26,7 @@ RDEPENDS_${PN}-chassis = " \ phosphor-hostlogger \ phosphor-sel-logger \ phosphor-logging \ + virtual/obmc-gpio-presence \ " SUMMARY_${PN}-system = "Ampere System" diff --git a/meta-ampere/meta-jade/conf/machine/mtjade.conf b/meta-ampere/meta-jade/conf/machine/mtjade.conf index 1e417929c..171a023f4 100644 --- a/meta-ampere/meta-jade/conf/machine/mtjade.conf +++ b/meta-ampere/meta-jade/conf/machine/mtjade.conf @@ -13,6 +13,8 @@ FLASH_KERNEL_OFFSET = "1024" FLASH_ROFS_OFFSET = "10240" FLASH_RWFS_OFFSET = "43008" +OBMC_POWER_SUPPLY_INSTANCES = "0 1" + OBMC_MACHINE_FEATURES += "\ obmc-phosphor-chassis-mgmt \ obmc-phosphor-flash-mgmt \ diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-0.conf b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-0.conf new file mode 100644 index 000000000..c5fc23ace --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-0.conf @@ -0,0 +1,6 @@ +INVENTORY=/system/chassis/motherboard/powersupply0 +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=64 +NAME=powersupply0 +DRIVERS=/sys/bus/i2c/drivers/pmbus,6-0058 +EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-1.conf b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-1.conf new file mode 100644 index 000000000..e591227d2 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor/obmc/gpio/phosphor-power-supply-1.conf @@ -0,0 +1,6 @@ +INVENTORY=/system/chassis/motherboard/powersupply1 +DEVPATH=/dev/input/by-path/platform-gpio-keys-event +KEY=65 +NAME=powersupply1 +DRIVERS=/sys/bus/i2c/drivers/pmbus,6-0059 +EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply diff --git a/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend new file mode 100644 index 000000000..0bff1c777 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend @@ -0,0 +1,12 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +TMPL_POWERSUPPLY = "phosphor-gpio-presence@.service" +INSTFMT_POWERSUPPLY = "phosphor-gpio-presence@{0}.service" +POWERSUPPLY_TGT = "multi-user.target" +FMT_POWERSUPPLY = "../${TMPL_POWERSUPPLY}:${POWERSUPPLY_TGT}.requires/${INSTFMT_POWERSUPPLY}" + +SYSTEMD_LINK_${PN}-presence_append_mtjade = " ${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}" + +POWERSUPPLY_ENV_FMT = "obmc/gpio/phosphor-power-supply-{0}.conf" + +SYSTEMD_ENVIRONMENT_FILE_${PN}-presence_append_mtjade = " ${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}" -- cgit v1.2.3 From 8bfb421b066225451c3767927ac25c9b0477db86 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 14 Jun 2021 15:20:13 +0000 Subject: google-misc: srcrev bump 14fe6698f5..b63d6314d0 Michael Shen (1): metrics-ipmi-blobs: Add bootup time to metrics Change-Id: Iee2f6998ec9e0c241095c841c27e95ac151f76e9 Signed-off-by: Andrew Geissler --- meta-google/recipes-google/google-misc/google-misc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-google/recipes-google/google-misc/google-misc.inc b/meta-google/recipes-google/google-misc/google-misc.inc index 9d191c5f9..bcbfee44a 100644 --- a/meta-google/recipes-google/google-misc/google-misc.inc +++ b/meta-google/recipes-google/google-misc/google-misc.inc @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" SRC_URI += "git://github.com/openbmc/google-misc" -SRCREV = "14fe6698f5bb26245bb807eb041eaa7a3c29ac39" +SRCREV = "b63d6314d059140f1ed23456d798544ac8e30d45" S = "${WORKDIR}/git/subprojects/${GOOGLE_MISC_PROJ}" inherit meson -- cgit v1.2.3 From 65d9cfae12a5b38300343df5a8bfade81ce68718 Mon Sep 17 00:00:00 2001 From: Jayashree Dhanapal Date: Tue, 15 Jun 2021 18:03:57 +0530 Subject: meta-facebook: Add rsyslog for Redfish. Added template for Redfish format in rsyslog conf file to save the journal entry as Redfish event. Tested : Verified journalctl log in tiogapass using Redfish. Signed-off-by: Jayashree Dhanapal Change-Id: Ic09530c824e65c5dd27fc4c6dac5a385370bdadc --- .../recipes-extended/rsyslog/rsyslog/rsyslog.conf | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.conf index 3aae03f31..5a85aadb5 100644 --- a/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.conf +++ b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.conf @@ -25,11 +25,26 @@ template(name="IPMISELTemplate" type="list") { constant(value="\n") } -# If the journal entry has a Redfish MessageId, save as a Redfish event +# Template for Redfish messages +# " ," +template(name="RedfishTemplate" type="list") { + property(name="timereported" dateFormat="rfc3339") + constant(value=" ") + property(name="$!REDFISH_MESSAGE_ID") + constant(value=",") + property(name="$!REDFISH_MESSAGE_ARGS") + constant(value="\n") +} + +# If the journal entry has a IPMI SEL MESSAGE_ID, save as IPMI SEL if ($!IPMISEL_MESSAGE_ID != "") then { action(type="omfile" file="/var/log/ipmi_sel" template="IPMISELTemplate") } +# If the journal entry has a Redfish MessageId, save as a Redfish event +if ($!REDFISH_MESSAGE_ID != "") then { + action(type="omfile" file="/var/log/redfish" template="RedfishTemplate") +} # # Include all config files in /etc/rsyslog.d/ # -- cgit v1.2.3 From 7f886a9f23c037fd57feeec585d9ba1f0061145a Mon Sep 17 00:00:00 2001 From: Troy Lee Date: Tue, 8 Jun 2021 17:50:49 +0800 Subject: phosphor: image_types_phosphor: 64MiB flash default layout Add an addition override for 64MiB static flash layout. The existing 32MiB layout are unchanged: partition: size: offset u-boot: 384 KiB (0 KiB) u-boot-env: 128 KiB (384 KiB) kernel/FIT: 4352 KiB (512 KiB) rootfs: 23808 KiB (4864 KiB) rwfs: 4MiB (28672 KiB) The existing 128MiB layout are unchanged: partition: size: offset u-boot: 896 KiB (0 KiB) u-boot-env: 128 KiB (896 KiB) kernel/FIT: 9 MiB (1 MiB) rootfs: 86 MiB (10 MiB) rwfs: 32MiB (96 MiB) The new layout for 64MiB is as follows: partition: size: offset u-boot: 896 KiB (0 KiB) u-boot-env: 128 KiB (896 KiB) kernel/FIT: 9 MiB (1 MiB) rootfs: 32 MiB (10 MiB) rwfs: 22 MiB (42 MiB) Signed-off-by: Troy Lee Change-Id: I001cf2e9bc30edc34e43c0c4503684050e2a764f --- meta-phosphor/classes/image_types_phosphor.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass index c347fdba3..21c451a7d 100644 --- a/meta-phosphor/classes/image_types_phosphor.bbclass +++ b/meta-phosphor/classes/image_types_phosphor.bbclass @@ -41,11 +41,14 @@ FLASH_NOR_UBI_OVERHEAD ?= "64" FLASH_UBOOT_SPL_SIZE ?= "64" FLASH_UBOOT_OFFSET ?= "0" FLASH_KERNEL_OFFSET ?= "512" +FLASH_KERNEL_OFFSET_flash-65536 ?= "1024" FLASH_KERNEL_OFFSET_flash-131072 ?= "1024" FLASH_UBI_OFFSET ?= "${FLASH_KERNEL_OFFSET}" FLASH_ROFS_OFFSET ?= "4864" +FLASH_ROFS_OFFSET_flash-65536 ?= "10240" FLASH_ROFS_OFFSET_flash-131072 ?= "10240" FLASH_RWFS_OFFSET ?= "28672" +FLASH_RWFS_OFFSET_flash-65536 ?= "43008" FLASH_RWFS_OFFSET_flash-131072 ?= "98304" # UBI volume sizes in KB unless otherwise noted. -- cgit v1.2.3 From bafdac1a131559e5b25c75dd43ad06457bd416fd Mon Sep 17 00:00:00 2001 From: Brandon Kim Date: Tue, 15 Jun 2021 15:29:31 -0700 Subject: meta-google: recipes-phosphor: initrdscripts: Import from gBMC Initial recipes-phosphor/initrdscripts code from gBMC. Google-Bug-Id: 179618491 Upstream: 1182879e906e67ca171b21c1eaa4027f9d162e49 Signed-off-by: Brandon Kim Change-Id: I810f3a80d635d2c3a38fcb1db7ee4c396ae2d7bb --- .../initrdscripts/obmc-phosphor-initfs.bbappend | 20 +++++++++++++++ .../obmc-phosphor-initfs/rwfs-clean-dev.patch | 29 ++++++++++++++++++++++ .../initrdscripts/obmc-phosphor-initfs/whitelist | 6 +++++ .../obmc-phosphor-initfs/whitelist.dev | 1 + 4 files changed, 56 insertions(+) create mode 100644 meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend create mode 100644 meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch create mode 100644 meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist create mode 100644 meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist.dev diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend new file mode 100644 index 000000000..905a39a48 --- /dev/null +++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bbappend @@ -0,0 +1,20 @@ +# This is needed to guarantee that our whitelist takes +# precendence over the OpenBMC one +FILESEXTRAPATHS_prepend_gbmc := "${THISDIR}/${PN}:" + +SRC_URI_append_gbmc_dev = " file://whitelist.dev" + +do_install_append_gbmc_dev() { + cat ${WORKDIR}/whitelist.dev >>${D}/whitelist +} + +SRC_URI_append_gbmc_dev = " file://rwfs-clean-dev.patch" +# Required for the clean-dev patch to detect version changes +RDEPENDS_${PN}_append_gbmc_dev = " os-release" + +do_install_append_gbmc_prod() { + echo "clean-rwfs-filesystem" > ${D}/init-options-base + chmod 0644 ${D}/init-options-base +} + +FILES_${PN}_append_gbmc_prod = " /init-options-base" diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch new file mode 100644 index 000000000..7631c85ce --- /dev/null +++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch @@ -0,0 +1,29 @@ +diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh b/meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh +index 62be89f039..689fbea5bf 100644 +--- a/obmc-init.sh ++++ b/obmc-init.sh +@@ -275,6 +275,14 @@ then + fi + fi + ++# Ensure that we clean our rwfs on version change ++if mount $rwdev $rwdir -t $rwfst -o $rwopts; then ++ if ! cmp "$rwdir"/os-release /etc/os-release 2>/dev/null; then ++ echo "RWFS from older BMC version, cleaning" ++ touch $trigger ++ fi ++ umount "$rwdir" ++fi + if grep -w clean-rwfs-filesystem $optfile + then + echo "Cleaning of read-write overlay filesystem requested." +@@ -399,6 +407,9 @@ HERE + debug_takeover "$msg" + fi + ++# Keep track of the last version to use this rwfs ++cp /etc/os-release "$rwdir"/os-release ++ + rm -rf $work + mkdir -p $upper $work + diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist new file mode 100644 index 000000000..a2244cca8 --- /dev/null +++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist @@ -0,0 +1,6 @@ +/etc/dropbear/dropbear_rsa_host_key +/etc/hostname +/etc/machine-id +/etc/systemd/network +/var/google +/var/lib/phosphor-inventory-manager diff --git a/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist.dev b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist.dev new file mode 100644 index 000000000..89dd3bb6d --- /dev/null +++ b/meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/whitelist.dev @@ -0,0 +1 @@ +/home/root -- cgit v1.2.3 From 1aa72efd0f542f37b2efa42ff988f81e1906eacd Mon Sep 17 00:00:00 2001 From: Lei YU Date: Tue, 25 May 2021 17:13:47 +0800 Subject: bytedance: g220a: Use u-boot-aspeed-sdk Use the new u-boot-aspeed-sdk as the uboot. Tested: Verify the image boots u-boot in g220a QEMU, and boots the OpenBMC if bootcmd is modified to fit the image. Signed-off-by: Lei YU Change-Id: I93c3a083a81f09d37627749c8d0692ae9a75466a --- meta-bytedance/meta-g220a/conf/machine/g220a.conf | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meta-bytedance/meta-g220a/conf/machine/g220a.conf b/meta-bytedance/meta-g220a/conf/machine/g220a.conf index 692c9f664..972862a50 100644 --- a/meta-bytedance/meta-g220a/conf/machine/g220a.conf +++ b/meta-bytedance/meta-g220a/conf/machine/g220a.conf @@ -1,7 +1,8 @@ KMACHINE = "aspeed" KERNEL_DEVICETREE = "${KMACHINE}-bmc-bytedance-${MACHINE}.dtb" -UBOOT_MACHINE = "ast_g5_ncsi_config" +UBOOT_MACHINE = "evb-ast2500_defconfig" +UBOOT_DEVICETREE = "ast2500-evb" FLASH_SIZE = "65536" FLASH_UBOOT_OFFSET = "0" @@ -33,3 +34,7 @@ PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-bytedance-apps" PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-bytedance-apps" PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs" PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-bytedance-apps" + +PREFERRED_PROVIDER_virtual/bootloader = "u-boot-aspeed-sdk" +PREFERRED_PROVIDER_u-boot = "u-boot-aspeed-sdk" +PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils-aspeed-sdk" -- cgit v1.2.3 From 912a10d13cdb41080f7215532c68e463b633e2e2 Mon Sep 17 00:00:00 2001 From: Lei YU Date: Tue, 25 May 2021 18:30:41 +0800 Subject: bytedance: g220a: Remove customized layout The upstream has defined the 64MiB layout, use the upstream one. Tested: Verify g220a's image boots fine in QEMU. Signed-off-by: Lei YU Change-Id: Id69df5796c11f1d86bc1340fdb7127f0eb3f3e18 --- meta-bytedance/meta-g220a/conf/machine/g220a.conf | 3 --- 1 file changed, 3 deletions(-) diff --git a/meta-bytedance/meta-g220a/conf/machine/g220a.conf b/meta-bytedance/meta-g220a/conf/machine/g220a.conf index 972862a50..ba7a253e3 100644 --- a/meta-bytedance/meta-g220a/conf/machine/g220a.conf +++ b/meta-bytedance/meta-g220a/conf/machine/g220a.conf @@ -5,9 +5,6 @@ UBOOT_MACHINE = "evb-ast2500_defconfig" UBOOT_DEVICETREE = "ast2500-evb" FLASH_SIZE = "65536" -FLASH_UBOOT_OFFSET = "0" -FLASH_ROFS_OFFSET = "5632" -FLASH_RWFS_OFFSET = "49152" require conf/machine/include/ast2500.inc require conf/machine/include/obmc-bsp-common.inc -- cgit v1.2.3 From 28bb32cc19e01914b3673e3847bb67a1ea7384ef Mon Sep 17 00:00:00 2001 From: Brandon Kim Date: Wed, 16 Jun 2021 09:13:01 -0700 Subject: meta-google: recipes-phosphor: host: Import from gBMC Initial recipes-phosphor/host code from gBMC. Google-Bug-Id: 179618560 Upstream: 1182879e906e67ca171b21c1eaa4027f9d162e49 Signed-off-by: Brandon Kim Change-Id: I9a9baa0528ce4dfc33437a1e9ae908ce22dc6d16 --- meta-google/recipes-phosphor/host/phosphor-host-postd_%.bbappend | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 meta-google/recipes-phosphor/host/phosphor-host-postd_%.bbappend diff --git a/meta-google/recipes-phosphor/host/phosphor-host-postd_%.bbappend b/meta-google/recipes-phosphor/host/phosphor-host-postd_%.bbappend new file mode 100644 index 000000000..01669cca8 --- /dev/null +++ b/meta-google/recipes-phosphor/host/phosphor-host-postd_%.bbappend @@ -0,0 +1,7 @@ +# It's useful for debugging to have post codes written to the journal +# while the machine is booting. Especially when host serial logs also get +# written. This enables the verbose output of the daemon, providing +# the logging behavior. +do_install_append_gbmc_dev() { + sed -i '/^ExecStart=/ s,$, -v,' ${D}${systemd_system_unitdir}/lpcsnoop.service +} -- cgit v1.2.3 From 27436176ff8890f097d6f0c5ab5e549553c7cc1b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 11 Jun 2021 16:50:18 +0000 Subject: pfr-manager: srcrev bump 8292dc60ef..29b4779eb8 Chalapathi Venkataramashetty (3): pfr-manager: Get i2cBusNumber and i2cSlaveAddress from EntityManager. pfr-manager: Read and update last event counts in dbus pfr-manager: stop pfr-manager service if PFR not supported Change-Id: I0269965ea7553fa44907ce2df81dff5e77cb6b5a Signed-off-by: Andrew Geissler --- meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb index 75820a4a9..a5e1a6f90 100644 --- a/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-intel/pfr/pfr-manager_git.bb @@ -8,7 +8,7 @@ inherit cmake systemd SRC_URI = "git://github.com/openbmc/pfr-manager" PV = "0.1+git${SRCPV}" -SRCREV = "8292dc60eff82446ec6ee23cc049d6a7f6eb1ab8" +SRCREV = "29b4779eb8dd444f2e70806e35ae2c398222a74d" S = "${WORKDIR}/git" -- cgit v1.2.3 From 238b9c3963a3e38c9b8f2890ef896c8bc0c8e9ee Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 16 Jun 2021 17:00:18 +0000 Subject: intel-ipmi-oem: srcrev bump 5235ae9ab3..d85939552b Hao Jiang (1): Bug fix: wrong cmake external project cmd format. Change-Id: I88eae46dde4153ede83623a2897aacb03157b781 Signed-off-by: Andrew Geissler --- meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb index 74d9c1ab1..318533053 100755 --- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb @@ -5,7 +5,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/intel-ipmi-oem" -SRCREV = "5235ae9ab3014bd9161a4ef1e1ce1a75567ffdbe" +SRCREV = "d85939552bf6631aae249d3d45d2208e7fd5610a" S = "${WORKDIR}/git" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From edb935425f524e8f3fc40f6ba8d64ee77dccfb86 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 11 Jun 2021 23:01:33 +0000 Subject: peci-pcie: srcrev bump d570dfd4f3..1e17d33ee7 Jae Hyun Yoo (1): Fix a build break in the latest yocto tree Change-Id: I3133bfe5f49eab06f6bfd4e752418dfca1c039c7 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb index 937a9c6fe..faa611c58 100644 --- a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb +++ b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb @@ -11,7 +11,7 @@ SRC_URI = "git://github.com/openbmc/peci-pcie" DEPENDS = "boost sdbusplus libpeci" PV = "0.1+git${SRCPV}" -SRCREV = "d570dfd4f3a7c38b029f74a8194eeb3911b5f6a5" +SRCREV = "1e17d33ee7670e60f573b2276a55551d53e71f90" S = "${WORKDIR}/git" -- cgit v1.2.3 From 7d5c10100ad226a381b61cfcff603155f4397349 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 15 Jun 2021 05:51:16 +0000 Subject: phosphor-led-manager: srcrev bump cc9a575399..9d9ab2291d George Liu (2): Replace find method with contains method Fix utest-led-json.cpp should not depend on use-json Seires Li (1): meson: support custom led yaml path William A. Kennington III (1): build: Tests should default to auto not enabled Change-Id: I65bc41355034a753f74cd4969f551eb7794ded10 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc index ad43e3d7f..1c1befe1b 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-led-manager" -SRCREV = "cc9a575399bfcdb42f4ec3b78d840ca06f48ad58" +SRCREV = "9d9ab2291d7c08f782a8444804cad1e55d640970" -- cgit v1.2.3 From 432a02649b65cbde7de42474d0eec54818e09c2c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 15 Jun 2021 14:10:59 +0000 Subject: phosphor-logging: srcrev bump b6b2557555..0866c3fc66 Jayanth Othayoth (6): PEL: enable base infrastructure for SBE FFDC base PEL create PEL: Create TemporaryFile class PEL: API to convert FAPI based data to PEL format PEL: move jsonCalloutSubtype const definition to header PEL: Add SBE FFDC process function PEL: enable SBE FFDC support in pel log Matt Spinler (1): elog-gen: Install elog-gen.py Change-Id: I061381eaf9d4ec7ba47e37838c73d41f6b2a8df2 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index c21fb1ebe..2154ce6e6 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "b6b255755561d39780b65fa945ec43fd81319a9f" +SRCREV = "0866c3fc66b9c0074fa4f86d06da879a6bba2f7a" S = "${WORKDIR}/git" -- cgit v1.2.3 From a057db3f4b05fe834a2462d8b85352247896e64a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 14 Jun 2021 20:30:48 +0000 Subject: phosphor-bmc-code-mgmt: srcrev bump cfb4b2099f..fa79914baa Isaac Kurth (1): version: Add metadata to MANIFEST errors Change-Id: Ib58d9eced3efb15aff36d624e7a3152b8d5caf82 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc index 1b11fb137..39d24d9fe 100644 --- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-bmc-code-mgmt" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-bmc-code-mgmt" -SRCREV = "cfb4b2099f840f75aebd4b8ce9a054aa2b62ad2a" +SRCREV = "fa79914baad339e2624c48afddd9d27457ee0913" -- cgit v1.2.3 From 7df63c4604c423d3f192e3a1977563c17f67cf08 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 14 Jun 2021 23:30:42 +0000 Subject: stdplus: srcrev bump af0e0e81a1..20cab0c5e3 William A. Kennington III (4): exception: Fix noexcept qualification exception: Add ignoreQuiet functionality cancel: Add cancelable utility cancel: Add utility for always running callback Change-Id: Id5424dae2b4676c845d0fd1430e56bf82670aa62 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-extended/stdplus/stdplus_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb index 3cc661b01..a283c1ab5 100644 --- a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb +++ b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb @@ -17,6 +17,6 @@ EXTRA_OEMESON = " \ " SRC_URI += "git://github.com/openbmc/stdplus" -SRCREV = "af0e0e81a1d7958bc9c49b0b0edae7e1f190d74e" +SRCREV = "20cab0c5e3a54b872d1a5736349fffa58ed71f9b" S = "${WORKDIR}/git" -- cgit v1.2.3 From 1d8e8509c8c67feb0efbc7aafa26f7228bfa1acc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 15 Jun 2021 03:20:24 +0000 Subject: openpower-vpd-parser: srcrev bump 90a63b9bfd..3aec478741 Andrew Jeffery (2): README: Fix rendering of Overview header meson: Add global arguments before invoking the compiler Change-Id: I6eae713dde3cffc8b4730ca7ef63afc9cf1da401 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc index f6990d8ea..e0cd0bdd3 100644 --- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc +++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-vpd-parser" -SRCREV = "90a63b9bfd5cbab0b250fc013aad552c0fa35510" +SRCREV = "3aec47874136b3eb46fce0feb3038f19fa46b79d" -- cgit v1.2.3 From 437ad58fab4ba8477997797b15f41cc223d034fe Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 15 Jun 2021 14:41:14 +0000 Subject: pldm: srcrev bump 772403b934..cb0982ba18 George Liu (1): Fix the return value of pack_pldm_header and unpack_pldm_header Tom Joseph (1): Fix: uninitialized local variable Change-Id: I8373b2d04738fff38bb361ea9a409723c40f4de3 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 555e68303..938e8a594 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "772403b9344e03934368e089717f2f4d1236ab5d" +SRCREV = "cb0982ba18bd890bda3c9bf0a8a1c463c806e304" -- cgit v1.2.3 From ed66ddccfe4da964fb0c52f913b795ef0922f01d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 15 Jun 2021 17:01:05 +0000 Subject: phosphor-host-ipmid: srcrev bump 90e81fa2bc..7fd91fa260 Joshi-Mansi (1): Change read count to 255 in Master Write-Read Cmd Change-Id: I3c5fbfcc7371366adef0d5b19ae304d1f329883b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc index bcfdd8209..4e32d1a72 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-host-ipmid" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" SRC_URI += "git://github.com/openbmc/phosphor-host-ipmid" -SRCREV = "90e81fa2bc1447b1b508200fa05a1b62013ab2d9" +SRCREV = "7fd91fa260a4c56448b46ae2735a0dd84e78225e" -- cgit v1.2.3 From e8ae56c54b0c8da03dde5040a98e95e5b1566826 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 16 Jun 2021 22:40:54 +0000 Subject: bmcweb: srcrev bump 938f25685f..b937830fe5 Charles Boyer (1): log_services: Fix system dump entries route Ed Tanous (1): Remove ambiguous privileges constructor John Edward Broadbent (1): Remove duplicate Managers field Vernon Mauery (1): Free cert usage before return Change-Id: Ib72db608c719d3e9f28a36fcfdaa8d2fabe83af2 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 81d0b0229..f57a2a4b6 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "938f25685f4b93d632fe5169cf5e258164538114" +SRCREV = "b937830fe5a7adba40e63f6059bf2c543733de33" S = "${WORKDIR}/git" -- cgit v1.2.3 From 694ba840b02308ca2e9890eb7e49878d0770131a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 16 Jun 2021 02:11:22 +0000 Subject: phosphor-post-code-manager: srcrev bump 0171dd6bce..b84fea4efe Ravi Teja (1): Fix DeleteAll to set boot count 0 Change-Id: I5784117931029d90aec6d73be517ca4d9443e9ab Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb index 43de0fdb4..aef808301 100644 --- a/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb @@ -4,7 +4,7 @@ interface /xyz/openbmc_project/state/boot/raw by snoopd daemon and save them \ in a file under /var/lib for history." SRC_URI = "git://github.com/openbmc/phosphor-post-code-manager.git" -SRCREV = "0171dd6bce9004e187c957f160809b729322f37d" +SRCREV = "b84fea4efe933dd929647a96441c02db40d9e367" S = "${WORKDIR}/git" -- cgit v1.2.3 From abc6acaf131fd12c65366f3677bfee744e9757fe Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 16 Jun 2021 15:21:02 +0000 Subject: phosphor-fan-presence: srcrev bump fdfcc679e6..7072237b9a Matthew Barth (83): control: Remove use of static lib JSON objects control: Self registering action objects framework control: Add all fan functionality to JSON fan object control: Add creating config object without a dbus object control: Construct events' groups control: Update JSON action objects to run the action control: Create manager object for JSON configs control: Split JSON and YAML based binaries control: Parse/add zones to manager control: Add fan objects to their zones control: Use group objects in actions control: Remove JSON zone object include of YAML zone object control: Remove references to "speed" in JSON objects control: Fill in `requestIncrease` method control: Remove ZoneHandlers from JSON zone object control: Use JSON zone object's dbus property methods control: Add zone setTarget required functions control: Add request target base action control: Add set target on missing owner action control: Extend actions from the config base object control: Add count state set target action control: Add net target increase action control: Add net target decrease action control: Handle adding timers and when they expire control: Update config loading control: Add zone increase & decrease timers control: Restore `Current` property for each zone control: Update zone target on startup control: Load JSON configured groups and events control: Remove `json_parser` source control: Handle empty profiles for configuration objects control: Use Group objects in events control: Create config key check function control: Add event actions control: Provide zones to the events control: Set groups & zones on event actions control: Group configuration inputs should be const control: Update base action object with zones and groups used control: Actions use list of groups set on base object control: Timers no longer need the zone and group control: Handle updating service states control: Provide pointer to manager object to events control: Add getBus() and getGroups() functions for triggers control: Add event trigger creation control: Add timer trigger support control: Remove `path` argument to add services control: Correct which json object used in event actions control: Copy everything in Group copy constructor Add `getManagedObjects` method call control: Setup to subscribe and handle signals control: Add signal triggers with propertiesChanged signals control: Add interfacesAdded signal support control: Add interfacesRemoved signal support control: Add nameOwnerChanged signal support control: Get property from cache and add objects control: Add init trigger support control: Extract bus object from config argument pack control: Switch to using static instance of bus control: Set owner state for all service entries control: Support switch to 'default_ceiling' control: Handle `Current` property changing control: Optimize loading/configuring event groups control: Remove JSON event precondition support control: Remove event `getActions()` control: Store/use trigger enable functions on events control: Remove manager parameter from create trigger function control: Separate zone creation from enabling control: DBusZone object for dbus objects control: Manage zones' dbus interfaces with a DBusZone object control: Support reloading configurations with SIGHUP control: Introduce `poweron_target` configuration attribute control: Make decrease interval optional control: Set fans to `poweron_target` at poweron control: Remove manager JSON config Only load compatible interface objects once control: Add successful configuration file loaded message control: Add ObjectManager interface json: Use a single list of compatible values json: Add constructor for loading a fan app's config file(s) control: Load config file(s) when available control: Store signal packages as a reference control: Temporarily handle starting at poweron control: Enhance handling exceptions restoring `Current` mode property Change-Id: Ie4cc6f83a7e45ae706a7c10f893a8c3ef897efd6 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 090e69403..950a711be 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "fdfcc679e69e4fd289c44e58740a5f2f4011b284" +SRCREV = "7072237b9a2bbea7d800c81a09f376a57cb17413" -- cgit v1.2.3 From 8325c0bce12d0cd5d0ec81214a34cd7597478327 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 16 Jun 2021 22:11:27 +0000 Subject: x86-power-control: srcrev bump afd04f0283..b4d03b1399 Vernon Mauery (1): Add power/reset button mask checks for RequestedHostTransition Change-Id: I10bd493c7c357b93d9c39435e271d4a6d1efbef4 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb index fa695a80f..69339eaa4 100755 --- a/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb +++ b/meta-phosphor/recipes-x86/chassis/x86-power-control_git.bb @@ -2,7 +2,7 @@ SUMMARY = "Chassis Power Control service for Intel based platforms" DESCRIPTION = "Chassis Power Control service for Intel based platforms" SRC_URI = "git://github.com/openbmc/x86-power-control.git;protocol=ssh" -SRCREV = "afd04f0283bfc4854c0100c56ccf8bc1c10c799a" +SRCREV = "b4d03b1399ef12242cee7716617bef9a3935cf0c" PV = "1.0+git${SRCPV}" -- cgit v1.2.3 From bbc6b9d835ed6d1113dd48e1b2197ec65a42acc5 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 10 Jun 2021 15:26:49 -0500 Subject: meta-openpower: convert op-proc-control to meson This includes the following bump: e22e8231c4..e04c1173c1 Andrew Geissler (3): gitignore: ensure utest.cpp not ignored meson: remove old automake files meson: fix static initialization order race condition Jayanth Othayoth (1): Fix related P10 SPI mux settings Signed-off-by: Andrew Geissler Change-Id: Iff99f6536d2552984bb08c2e3267c36cde1bf8d4 --- meta-openpower/recipes-phosphor/host/op-proc-control_git.bb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb index aa0a784d3..f9611985d 100644 --- a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb +++ b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb @@ -7,19 +7,20 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" S = "${WORKDIR}/git" -inherit autotools obmc-phosphor-utils pkgconfig +inherit meson obmc-phosphor-utils pkgconfig inherit systemd SRC_URI += "git://github.com/openbmc/openpower-proc-control" -SRCREV = "e22e8231c49d3a7fa4ea24d57e48be072e1d7e16" +SRCREV = "e04c1173c1d76575fd1cf968d421bdf1dec82606" DEPENDS += " \ - autoconf-archive-native \ phosphor-logging \ phosphor-dbus-interfaces \ libgpiod \ " +EXTRA_OEMESON += "-Dtests=disabled" + # For libpdbg, provided by the pdbg package DEPENDS += "pdbg" -- cgit v1.2.3 From 8f8ab6bf1ecd6c56c8725b0c816f9dc4e1b75290 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 16 Jun 2021 21:40:53 +0000 Subject: phosphor-ipmi-blobs: srcrev bump 52b75fb392..d5ed40999f William A. Kennington III (6): utils: Deduplicate library loading utils: Make loader more lenient treewide: Remove unused variables ipmi: Remove non-standard c++ array syntax build: Add meson meson: Install headers Change-Id: Ia7253baea8f3f40f12b2d5e9b9b13a475363d4f3 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb index cc96a498a..77f651b6d 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb @@ -16,7 +16,7 @@ DEPENDS += "ipmi-blob-tool" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs" -SRCREV = "52b75fb3927d46b75e75fd6040577c914476e6f1" +SRCREV = "d5ed40999f2d829455afab0999aa54dd8217ad04" FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}" FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}" -- cgit v1.2.3 From d84b7f4455406807637b7fecf9e96b73e17fcf62 Mon Sep 17 00:00:00 2001 From: Troy Lee Date: Wed, 16 Jun 2021 14:35:31 +0800 Subject: evb-ast2600: enabling u-boot-spl feature Currently, machine evb-ast2600 frozed during u-boot booting. This patchset has been tested with AST2600-A1 and AST2600-A3 EVB: AST2600-A1: ``` U-Boot SPL 2019.04 (Jun 16 2021 - 05:59:38 +0000) already initialized, Trying to boot from RAM U-Boot 2019.04 (Jun 16 2021 - 05:59:38 +0000) SOC: AST2600-A1 RST: WDT1 SOC PCI RST: #2 LPC Mode: SIO:Enable : SuperIO-2e Eth: MAC0: RGMII, MAC1: RGMII, MAC2: RGMII, MAC3: RGMII Model: AST2600 EVB DRAM: already initialized, 1008 MiB (capacity:1024 MiB, VGA:16 MiB), ECC off MMC: sdhci_slot0@100: 1, sdhci_slot1@200: 2, emmc_slot0@100: 0 Loading Environment from SPI Flash... SF: Detected w25q512jv with page size 256 Bytes, erase size 4 KiB, total 64 MiB OK In: serial@1e784000 ``` AST2600-A3: ``` BP0c00 U-Boot SPL 2019.04 (Jun 16 2021 - 05:59:38 +0000) already initialized, Trying to boot from RAM U-Boot 2019.04 (Jun 16 2021 - 05:59:38 +0000) SOC: AST2600-A3 RST: WDT1 SOC PCI RST: #2 eSPI Mode: SIO:Enable : SuperIO-2e Eth: MAC0: RGMII, MAC1: RGMII, MAC2: RGMII, MAC3: RGMII Model: AST2600 EVB DRAM: already initialized, 960 MiB (capacity:1024 MiB, VGA:64 MiB), ECC off MMC: sdhci_slot0@100: 1, sdhci_slot1@200: 2, emmc_slot0@100: 0 Loading Environment from SPI Flash... SF: Detected w25q512jv with page size 256 Bytes, erase size 4 KiB, total 64 MiB OK In: serial@1e784000 ``` Signed-off-by: Troy Lee Change-Id: I77ec3c2928ca96ee3f51290fd3435fca08bb058a --- meta-aspeed/conf/machine/evb-ast2600.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-aspeed/conf/machine/evb-ast2600.conf b/meta-aspeed/conf/machine/evb-ast2600.conf index e011045d2..d3ee47b9c 100644 --- a/meta-aspeed/conf/machine/evb-ast2600.conf +++ b/meta-aspeed/conf/machine/evb-ast2600.conf @@ -1,6 +1,7 @@ KERNEL_DEVICETREE = "aspeed-ast2600-evb.dtb" -UBOOT_MACHINE = "ast2600_openbmc_defconfig" +UBOOT_MACHINE = "ast2600_openbmc_spl_defconfig" UBOOT_DEVICETREE = "ast2600a1-evb" +SPL_BINARY = "spl/u-boot-spl.bin" require conf/machine/include/ast2600.inc -- cgit v1.2.3 From e3f3370ac624b1d692a01614591474631568e2f7 Mon Sep 17 00:00:00 2001 From: Vivekanand Veeracholan Date: Wed, 16 Jun 2021 15:29:15 -0700 Subject: meta-google: gbmc-ncsi-config: Set NICEnabled property Sometimes the phosphor-networkd starts before systemd-networkd finishes configuring NCSI interface. This causes phosphor-networkd to mark this interface as unmanaged. Setting NICEnabled property to true will ensure the interface is enabled. If this service starts before systemd-networkd is done, the set-property command will fail. So retry till the command succeeds. Signed-off-by: Vivekanand Veeracholan Change-Id: I232d363cff48bbf955ac0f1f9a6dac7ae5467257 --- .../ncsi/files/gbmc-ncsi-set-nicenabled.service.in | 17 +++++++++++++++++ meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb | 5 +++++ 2 files changed, 22 insertions(+) create mode 100644 meta-google/recipes-google/ncsi/files/gbmc-ncsi-set-nicenabled.service.in diff --git a/meta-google/recipes-google/ncsi/files/gbmc-ncsi-set-nicenabled.service.in b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-set-nicenabled.service.in new file mode 100644 index 000000000..99f0400bf --- /dev/null +++ b/meta-google/recipes-google/ncsi/files/gbmc-ncsi-set-nicenabled.service.in @@ -0,0 +1,17 @@ +[Unit] +Description=Set NICEnabled property to true +Wants=xyz.openbmc_project.Network.service +After=xyz.openbmc_project.Network.service +Wants=mapper-wait@-xyz-openbmc_project-network-@NCSI_IF@.service +After=mapper-wait@-xyz-openbmc_project-network-@NCSI_IF@.service +StartLimitIntervalSec=10 +StartLimitBurst=3 + +[Service] +Type=oneshot +ExecStart=busctl set-property xyz.openbmc_project.Network /xyz/openbmc_project/network/@NCSI_IF@ xyz.openbmc_project.Network.EthernetInterface NICEnabled b true +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb index 098819988..89890266b 100644 --- a/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb +++ b/meta-google/recipes-google/ncsi/gbmc-ncsi-config.bb @@ -11,6 +11,7 @@ SRC_URI += " \ file://gbmc-ncsi-sslh.service \ file://gbmc-ncsi-nft.sh.in \ file://gbmc-ncsi-br-pub-addr.sh.in \ + file://gbmc-ncsi-set-nicenabled.service.in \ " S = "${WORKDIR}" @@ -30,6 +31,7 @@ FILES_${PN} += " \ SYSTEMD_SERVICE_${PN} += " \ gbmc-ncsi-sslh.service \ gbmc-ncsi-sslh.socket \ + gbmc-ncsi-set-nicenabled.service \ " do_install_append() { @@ -75,4 +77,7 @@ do_install_append() { sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-br-pub-addr.sh.in \ >${WORKDIR}/gbmc-ncsi-br-pub-addr.sh install -m644 ${WORKDIR}/gbmc-ncsi-br-pub-addr.sh $mondir + + sed "s,@NCSI_IF@,$if_name,g" ${WORKDIR}/gbmc-ncsi-set-nicenabled.service.in \ + >${D}${systemd_system_unitdir}/gbmc-ncsi-set-nicenabled.service } -- cgit v1.2.3 From 25c718531699ac48114dfdadcf81d47f9bf7a907 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Thu, 17 Jun 2021 12:17:46 +0930 Subject: linux-aspeed: KCS Andrew Jeffery (16): ipmi: kcs_bmc_aspeed: Use of match data to extract KCS properties ipmi: kcs_bmc: Make status update atomic ipmi: kcs_bmc: Rename {read,write}_{status,data}() functions ipmi: kcs_bmc: Split out kcs_bmc_cdev_ipmi ipmi: kcs_bmc: Turn the driver data-structures inside-out ipmi: kcs_bmc: Split headers into device and client ipmi: kcs_bmc: Strip private client data from struct kcs_bmc ipmi: kcs_bmc: Decouple the IPMI chardev from the core ipmi: kcs_bmc: Allow clients to control KCS IRQ state ipmi: kcs_bmc: Enable IBF on open ipmi: kcs_bmc: Add serio adaptor dt-bindings: ipmi: Convert ASPEED KCS binding to schema dt-bindings: ipmi: Add optional SerIRQ property to ASPEED KCS devices ipmi: kcs_bmc_aspeed: Implement KCS SerIRQ configuration ipmi: kcs_bmc_aspeed: Fix IBFIE typo from datasheet ipmi: kcs_bmc_aspeed: Optionally apply status address Change-Id: If4267164d165c0ecb5039d55438d4a58926ecce3 Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index c514bcf5a..c932b47c2 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.43" -SRCREV="ba046d1e841cb21cfed9314f248e136d04ba90cf" +SRCREV="ba6fcacfd32bbce4d1394467310df9d279a62231" require linux-aspeed.inc -- cgit v1.2.3 From 58b76bfddc1417d3c761c038c87f028bf0b496d3 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Mon, 7 Jun 2021 12:12:04 +0930 Subject: meta-aspeed: aspeed-g6: Enable KCS adapter for raw SerIO Raw SerIO is used by the debug-trigger application to take signals from the host that applications are unresponsive on the BMC for p10bmc systems. Change-Id: Ie5ee683c3b08ebe922f2c5a7b5bf52b1e18069f4 Signed-off-by: Andrew Jeffery --- meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig index 9734f46c3..48e2e7509 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig @@ -139,7 +139,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=y # CONFIG_INPUT_MOUSE is not set CONFIG_INPUT_MISC=y CONFIG_INPUT_IBM_PANEL=y -# CONFIG_SERIO is not set +CONFIG_SERIO_RAW=y # CONFIG_VT is not set # CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_8250=y @@ -153,6 +153,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_ASPEED_KCS_IPMI_BMC=y +CONFIG_IPMI_KCS_BMC_SERIO=y CONFIG_ASPEED_BT_IPMI_BMC=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_DEVMEM_BOOTPARAM=y -- cgit v1.2.3 From 1279465d764832d7343ba38717cc3f4dffea40b4 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 17 Jun 2021 08:41:27 +0800 Subject: meta-quanta: gbs: replace nvmem sysfs path by eeprom Since the nvmem sysfs path would use nvme config id in kernel 5.10, replace nvmem sysfs path by eeprom to compatible with all kernel version Signed-off-by: George Hung Change-Id: I861f9bf8e26bf5b96e0727d4dfb3e2a7e4032116 --- .../recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json index 4ad11bc6e..43ee49923 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json +++ b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore/config.json @@ -1,5 +1,5 @@ [{ "blobBaseId": "/skm/hss/", - "sysFilePath": "/sys/class/i2c-adapter/i2c-5/5-0050/5-00500/nvmem", + "sysFilePath": "/sys/class/i2c-adapter/i2c-5/5-0050/eeprom", "offsetBytes": 256 }] -- cgit v1.2.3 From ce1a2e14897a1c5deb614023a717f9cfd4c79475 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 17 Jun 2021 10:14:56 +0800 Subject: meta-quanta: gbs: avoid to set LED config to D-bus failed Use mapper get-service to check if each LED D-bus is ready and also make LED group service restart not too fast when the serive start failed Signed-off-by: George Hung Change-Id: Idd002e4f42d2664bc2f573a8dcc1afcfa593178a --- .../recipes-phosphor/leds/phosphor-led-manager/service-override.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager/service-override.conf b/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager/service-override.conf index 0f4083416..70783a8c4 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager/service-override.conf +++ b/meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager/service-override.conf @@ -1,2 +1,7 @@ [Unit] StartLimitBurst=10 + +[Service] +RestartSec=3s +ExecStartPre=mapper get-service /xyz/openbmc_project/led/physical/heartbeat +ExecStartPre=mapper get-service /xyz/openbmc_project/led/physical/sys_boot_status -- cgit v1.2.3 From 858c97167568df269bd4191e2f020ca2623440d3 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Tue, 4 May 2021 12:46:46 +0930 Subject: meta-phosphor: Add debug-trigger recipe debug-trigger listens for an external signal that the BMC is in some way unresponsive. When the signal is received it triggers a crash to collect debug data and reboots the system in the hope that it will recover. Change-Id: Ib8ea615c2944edb0448b06c333b6e2abbea15687 Signed-off-by: Andrew Jeffery --- .../recipes-phosphor/dump/debug-trigger_git.bb | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb diff --git a/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb b/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb new file mode 100644 index 000000000..da168e2e8 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb @@ -0,0 +1,34 @@ +SUMMARY = "Debug trigger" +DESCRIPTION = "Forcibly crash an unresponsive system to collect debug data" +HOMEPAGE = "https://github.com/openbmc/debug-trigger" + +SRC_URI = "git://github.com/openbmc/debug-trigger" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +S = "${WORKDIR}/git" + +inherit meson +inherit pkgconfig +inherit systemd + +PR = "r1" +PV = "0.1+git${SRCPV}" +SRCREV = "20017150d229401edc9bbf33fa48ceba7f94db47" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" + +DEBUG_TRIGGERS ?= "" + +PACKAGECONFIG[systemd] = " \ + -Dsystemd=true, \ + -Dsystemd=false, \ + systemd" + +PACKAGECONFIG[triggers] = " \ + -Dtriggers=${DEBUG_TRIGGERS}, \ + -Dtriggers=[], \ + systemd udev" + +SYSTEMD_SERVICE_${PN} += "debug-trigger@.service" -- cgit v1.2.3 From ea205d2cc0c274fa2ad810901246d39482082706 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Tue, 4 May 2021 13:21:36 +0930 Subject: meta-ibm: Add debug-trigger to p10bmc Change-Id: Ic1cde1cd67fa6f8f68df80a1f327ace64a39d72b Signed-off-by: Andrew Jeffery --- meta-ibm/conf/machine/p10bmc.conf | 3 +++ .../recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-ibm/conf/machine/p10bmc.conf b/meta-ibm/conf/machine/p10bmc.conf index 58319bf84..f80e8281d 100644 --- a/meta-ibm/conf/machine/p10bmc.conf +++ b/meta-ibm/conf/machine/p10bmc.conf @@ -53,3 +53,6 @@ SPL_SIGN_KEYNAME = "rsa_oem_fitimage_key" UBOOT_SIGN_KEYDIR = "${WORKDIR}" SPL_SIGN_KEYDIR = "${WORKDIR}" + +DEBUG_TRIGGERS = "kcs2" +PACKAGECONFIG_append_pn-debug-trigger = " triggers" diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index 5b5b50d29..0e0618b13 100644 --- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -37,7 +37,7 @@ RDEPENDS_${PN}-host-state-mgmt_remove_p10bmc = "checkstop-monitor" RDEPENDS_${PN}-extras_remove_swift = "obmc-ikvm" RDEPENDS_${PN}-extras_remove_witherspoon-tacoma = "obmc-ikvm liberation-fonts uart-render-controller phosphor-webui" RDEPENDS_${PN}-logging_append = " ${EXTRA_IBM_LOGGING_PKGS}" -RDEPENDS_${PN}-extras_append_p10bmc = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd" +RDEPENDS_${PN}-extras_append_p10bmc = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd debug-trigger" RDEPENDS_${PN}-leds_remove_witherspoon-tacoma = "phosphor-led-manager-faultmonitor" ${PN}-software-extras_append_ibm-ac-server = " phosphor-software-manager-sync" -- cgit v1.2.3 From 05571557254cddd1c6a87bf3abd612e405ac3280 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Tue, 4 May 2021 17:10:21 +0930 Subject: meta-ibm: linux-aspeed: p10bmc: Enable magic sysrq Currently /proc/sysrq-trigger is the only supported backend for debug-trigger. Once we have kdump support, we'll add a kexec backend and drop the magic sysrq. Change-Id: I07dfa50474d9f6333428b6fb38020c7b7fd0adec Signed-off-by: Andrew Jeffery --- meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg b/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg index f3c581eac..481a62180 100644 --- a/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg +++ b/meta-ibm/recipes-kernel/linux/linux-aspeed/p10bmc.cfg @@ -10,3 +10,4 @@ CONFIG_PSTORE=y CONFIG_PSTORE_CONSOLE=y CONFIG_PSTORE_PMSG=y CONFIG_PSTORE_RAM=y +CONFIG_MAGIC_SYSRQ=y -- cgit v1.2.3 From 1d28a2c8c1feb3e776d7c2ced3d4dc92652754ca Mon Sep 17 00:00:00 2001 From: Mohaimen Alsamarai Date: Wed, 16 Jun 2021 14:47:15 -0500 Subject: meta-fii/meta-kudo: Increase obmc console logs size to 1M Increase the /var/log/obmc-console*.log file to 1M Signed-off-by: Mohaimen Alsamarai Change-Id: I07cecebb6fe9c1d8e2d123951c67b3d33ce0da3b --- .../recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh | 8 +------- .../recipes-phosphor/console/obmc-console/server.ttyS1.conf | 1 + .../recipes-phosphor/console/obmc-console/server.ttyS3.conf | 1 + 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh index 27407783e..7b131afbf 100644 --- a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh +++ b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/kudo_uart_mux_ctrl.sh @@ -18,13 +18,7 @@ # Usage: ampere_uartmux_ctrl.sh # of 1 sets CPU To BSP # of 2 sets SCP1 to SI2 -function set_gpio_ctrl() { - echo $1 > /sys/class/gpio/export - echo $2 > /sys/class//gpio/gpio$1/direction - echo $3 > /sys/class/gpio/gpio$1/value - echo $1 > /sys/class/gpio/unexport -} - +source /usr/sbin/kudo-lib.sh if [ $# -lt 1 ]; then exit 1 diff --git a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS1.conf b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS1.conf index 1751a0575..e93f0781d 100644 --- a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS1.conf +++ b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS1.conf @@ -1,2 +1,3 @@ baud = 115200 logfile = /var/log/obmc-console-cpu.log +logsize = 1M diff --git a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS3.conf b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS3.conf index c8a9d973e..152c70533 100644 --- a/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS3.conf +++ b/meta-fii/meta-kudo/recipes-phosphor/console/obmc-console/server.ttyS3.conf @@ -1,3 +1,4 @@ baud = 115200 socket-id = ttyS3 logfile = /var/log/obmc-console-scp.log +logsize = 1M -- cgit v1.2.3 From bf078825d137b0e1a1ec02ddd4e6d08670a6783c Mon Sep 17 00:00:00 2001 From: George Hung Date: Fri, 11 Jun 2021 13:23:25 +0800 Subject: meta-quanta: gbs: Modified pid sensor type from margin to temp - Remove read-margin-temp files and codes - Modified sensor type in pid json to temp setpoint set to target temp Kp set to Kp * scalar Ki set to Ki * scalar - Pre-detect nvme present status in fan-table-init.sh, and delete settings if nvme present is false. Signed-off-by: George Hung Change-Id: Iba4ac164a7a39ca1be109301402911d432294997 --- .../fans/phosphor-pid-control/config.json.in | 612 +++++++++++++++++++-- .../fans/phosphor-pid-control/fan-table-init.sh | 69 ++- .../fans/read-margin-temp/config-margin.json.in | 408 -------------- .../fans/read-margin-temp/read-margin-temp-wait.sh | 70 --- .../fans/read-margin-temp_%.bbappend | 17 - 5 files changed, 646 insertions(+), 530 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in delete mode 100644 meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh delete mode 100644 meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in index 21ba368df..2c921a7f8 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in @@ -73,8 +73,8 @@ }, { "name": "cputemp", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/cputemp", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/cputemp", "writePath": "", "min": 0, "max": 0, @@ -82,9 +82,9 @@ "timeout": 0 }, { - "name": "zone0_vr", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/zone0_vr", + "name": "vddcr_cpu", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/vddcr_cpu", "writePath": "", "min": 0, "max": 0, @@ -92,9 +92,49 @@ "timeout": 0 }, { - "name": "nvme", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/nvme", + "name": "vddcr_soc", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/vddcr_soc", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "vddio_abcd", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/vddio_abcd", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "vddio_efgh", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/vddio_efgh", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "p12v_mobo", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/p12v_mobo", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "powerseq_temp", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/powerseq_temp", "writePath": "", "min": 0, "max": 0, @@ -103,8 +143,168 @@ }, { "name": "p12v_fan", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/p12v_fan", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/p12v_fan", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme0", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme0", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme1", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme1", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme2", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme2", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme3", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme3", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme4", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme4", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme5", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme5", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme6", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme6", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme7", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme7", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme8", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme8", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme9", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme9", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme10", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme10", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme11", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme11", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme12", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme12", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme13", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme13", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme14", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme14", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme15", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme15", "writePath": "", "min": 0, "max": 0, @@ -162,15 +362,15 @@ }, { "name": "cputemp", - "type": "margin", + "type": "temp", "inputs": [ "cputemp" ], - "setpoint": 10.0, + "setpoint": 80.0, "pid": { "samplePeriod": 1.0, - "proportionalCoeff": 714.0, - "integralCoeff": 9.0, + "proportionalCoeff": -714.0, + "integralCoeff": -9.0, "feedFwdOffsetCoeff": 0.0, "feedFwdGainCoeff": 0.0, "integralLimit_min": 2679.0, @@ -185,15 +385,20 @@ }, { "name": "zone0_vr", - "type": "margin", + "type": "temp", "inputs": [ - "zone0_vr" + "vddcr_cpu", + "vddcr_soc", + "vddio_abcd", + "vddio_efgh", + "p12v_mobo", + "powerseq_temp" ], - "setpoint": 10.0, + "setpoint": 90.0, "pid": { "samplePeriod": 1.0, - "proportionalCoeff": 536.0, - "integralCoeff": 9.0, + "proportionalCoeff": -536.0, + "integralCoeff": -9.0, "feedFwdOffsetCoeff": 0.0, "feedFwdGainCoeff": 0.0, "integralLimit_min": 2679.0, @@ -346,16 +551,16 @@ } }, { - "name": "nvme", - "type": "margin", + "name": "p12v_fan", + "type": "temp", "inputs": [ - "nvme" + "p12v_fan" ], - "setpoint": 10.0, + "setpoint": 90.0, "pid": { "samplePeriod": 1.0, - "proportionalCoeff": 1250.0, - "integralCoeff": 12.0, + "proportionalCoeff": -268.0, + "integralCoeff": -4.0, "feedFwdOffsetCoeff": 0.0, "feedFwdGainCoeff": 0.0, "integralLimit_min": 2679.0, @@ -369,16 +574,361 @@ } }, { - "name": "p12v_fan", - "type": "margin", + "name": "nvme0", + "type": "temp", "inputs": [ - "p12v_fan" + "nvme0" ], - "setpoint": 10.0, + "setpoint": @WCTemp00@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme1", + "type": "temp", + "inputs": [ + "nvme1" + ], + "setpoint": @WCTemp01@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme2", + "type": "temp", + "inputs": [ + "nvme2" + ], + "setpoint": @WCTemp02@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme3", + "type": "temp", + "inputs": [ + "nvme3" + ], + "setpoint": @WCTemp03@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme4", + "type": "temp", + "inputs": [ + "nvme4" + ], + "setpoint": @WCTemp04@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme5", + "type": "temp", + "inputs": [ + "nvme5" + ], + "setpoint": @WCTemp05@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme6", + "type": "temp", + "inputs": [ + "nvme6" + ], + "setpoint": @WCTemp06@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme7", + "type": "temp", + "inputs": [ + "nvme7" + ], + "setpoint": @WCTemp07@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme8", + "type": "temp", + "inputs": [ + "nvme8" + ], + "setpoint": @WCTemp08@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme9", + "type": "temp", + "inputs": [ + "nvme9" + ], + "setpoint": @WCTemp09@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme10", + "type": "temp", + "inputs": [ + "nvme10" + ], + "setpoint": @WCTemp10@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme11", + "type": "temp", + "inputs": [ + "nvme11" + ], + "setpoint": @WCTemp11@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme12", + "type": "temp", + "inputs": [ + "nvme12" + ], + "setpoint": @WCTemp12@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme13", + "type": "temp", + "inputs": [ + "nvme13" + ], + "setpoint": @WCTemp13@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme14", + "type": "temp", + "inputs": [ + "nvme14" + ], + "setpoint": @WCTemp14@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme15", + "type": "temp", + "inputs": [ + "nvme15" + ], + "setpoint": @WCTemp15@, "pid": { "samplePeriod": 1.0, - "proportionalCoeff": 268.0, - "integralCoeff": 4.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, "feedFwdOffsetCoeff": 0.0, "feedFwdGainCoeff": 0.0, "integralLimit_min": 2679.0, diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh index 9617d0da4..5ceac7ea5 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh @@ -15,13 +15,74 @@ mapper wait /xyz/openbmc_project/sensors/fan_tach/fb_fan2 Fan_0_To_4_Hwmon="$(ls /sys/devices/platform/ahb/ahb\:*/*pwm-fan-controller/hwmon/)" if [[ "$Fan_0_To_4_Hwmon" != "" ]]; then - sed -i "s/@Fan_0_To_4_Hwmon@/$Fan_0_To_4_Hwmon/g" $TEMP_FILE + sed -i "s/@Fan_0_To_4_Hwmon@/$Fan_0_To_4_Hwmon/g" $TEMP_FILE fi +presentGpio=() +presentState=() +gpioPath="/sys/class/gpio/gpio" +if [[ -f "/etc/nvme/nvme_config.json" ]]; then + presentGpio=($(cat /etc/nvme/nvme_config.json | grep NVMeDrivePresentPin \ + | awk '{print $2}' | cut -d "," -f 0)) +fi + +nvmePath="/xyz/openbmc_project/sensors/temperature/nvme" +nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme" +# Get and Set WCTEMP +for ((i = 0; i < 16; i++)); do + name="@WCTemp$(printf "%02d" $i)@" + wcTemp=72000 + + if [[ -d "${gpioPath}${presentGpio[i]}" ]] && + [[ "$(cat ${gpioPath}${presentGpio[i]}/value)" == "0" ]]; then + presentState[i]="true" + else + presentState[i]="false" + fi + + if [[ "${presentState[i]}" == "true" ]]; then + actualWCTemp=0 + for ((j = 0; j < 3; j++)); do + actualWCTemp="$( + busctl get-property xyz.openbmc_project.nvme.manager \ + ${nvmePath}${i} \ + xyz.openbmc_project.Sensor.Threshold.Critical \ + CriticalHigh | awk '{print $2}' + )" + if [[ "${actualWCTemp}" -ne 0 ]]; then + break + fi + + echo "${nvmePath}${i} WCTemp was read to be 0, retrying after 1 sec sleep" + sleep 1 + done + + if [[ "${actualWCTemp}" -ne 0 ]]; then + wcTemp="$(echo "${actualWCTemp} -7" | awk '{printf $1 + $2}')" + else + echo "${nvmePath}${i} WCTemp was read to be 0, using default WCTemp: ${wcTemp}" + fi + fi + + sed -i "s/$name/${wcTemp}/g" "$TEMP_FILE" + + if [[ "${presentState[i]}" == "false" ]]; then + sensorPath="${nvmePath}${i}" + pathLine=$(grep -nw "$sensorPath" "$TEMP_FILE" | awk -F ':' '{print $1}') + sed -i "$TEMP_FILE" -re "$((pathLine - 3)),$((pathLine + 6))d" + if [ $i -eq 15 ]; then + sed -i "$((pathLine - 4))s/,//" "$TEMP_FILE" + fi + + listLine=$(grep -n "\"name\": \"nvme${i}\"" "$TEMP_FILE" | awk -F ':' '{print $1}') + sed -i "$TEMP_FILE" -re "$((listLine - 1)),$((listLine + 21))d" + if [ $i -eq 15 ]; then + sed -i "$((listLine - 2))s/,//" "$TEMP_FILE" + fi + fi +done + # Use shell parameter expansion to trim the ".in" suffix mv "$TEMP_FILE" "${FAN_TABLE_FILE_IN%".in"}" -# start read margin temp wait -/usr/bin/read-margin-temp-wait.sh & - exit 0 diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in deleted file mode 100644 index a5ff4979b..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in +++ /dev/null @@ -1,408 +0,0 @@ -{ - "sensors" : [ - { - "name": "cputemp", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/cputemp", - "parameters": { - "type": "", - "maxTemp": 95000, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -15000, - "scalar": 1.0 - } - }, - { - "name": "nvme0", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme0", - "parameters": { - "type": "", - "maxTemp": @WCTemp00@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme1", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme1", - "parameters": { - "type": "", - "maxTemp": @WCTemp01@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme2", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme2", - "parameters": { - "type": "", - "maxTemp": @WCTemp02@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme3", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme3", - "parameters": { - "type": "", - "maxTemp": @WCTemp03@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme4", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme4", - "parameters": { - "type": "", - "maxTemp": @WCTemp04@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme5", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme5", - "parameters": { - "type": "", - "maxTemp": @WCTemp05@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme6", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme6", - "parameters": { - "type": "", - "maxTemp": @WCTemp06@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme7", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme7", - "parameters": { - "type": "", - "maxTemp": @WCTemp07@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme8", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme8", - "parameters": { - "type": "", - "maxTemp": @WCTemp08@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme9", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme9", - "parameters": { - "type": "", - "maxTemp": @WCTemp09@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme10", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme10", - "parameters": { - "type": "", - "maxTemp": @WCTemp10@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme11", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme11", - "parameters": { - "type": "", - "maxTemp": @WCTemp11@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme12", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme12", - "parameters": { - "type": "", - "maxTemp": @WCTemp12@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme13", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme13", - "parameters": { - "type": "", - "maxTemp": @WCTemp13@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme14", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme14", - "parameters": { - "type": "", - "maxTemp": @WCTemp14@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme15", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme15", - "parameters": { - "type": "", - "maxTemp": @WCTemp15@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "vddcr_cpu", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddcr_cpu", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddcr_soc", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddcr_soc", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddio_abcd", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddio_abcd", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddio_efgh", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddio_efgh", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "p12v_mobo", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/p12v_mobo", - "parameters": { - "type": "", - "maxTemp": 114000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "powerseq_temp", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/powerseq_temp", - "parameters": { - "type": "", - "maxTemp": 99000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "p12v_fan", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/p12v_fan", - "parameters": { - "type": "", - "maxTemp": 114000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - } - ], - "skus" : [ - { - "num": 1, - "zones": [ - { - "id": 0, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/cputemp", - "components": [ - "cputemp" - ] - }, - { - "id": 1, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/zone0_vr", - "components": [ - "vddcr_cpu", - "vddcr_soc", - "vddio_abcd", - "vddio_efgh", - "p12v_mobo", - "powerseq_temp" - ] - }, - { - "id": 2, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/nvme", - "components": [ - @nvmeList@ - ] - }, - { - "id": 3, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/p12v_fan", - "components": [ - "p12v_fan" - ] - } - ] - } - ] -} diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh deleted file mode 100644 index 0937a9fb8..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash - -MARGIN_TABLE_FILE_IN="/usr/share/read-margin-temp/config-margin.json.in" -TEMP_FILE="$(mktemp)" -cp "$MARGIN_TABLE_FILE_IN" "$TEMP_FILE" - -target_num="$(cat $TEMP_FILE | grep '"target"' | wc -l)" - -# wait target dbus -for ((i = 0; i < ${target_num}; i++)); do - line_num=$((i+1)) - path="$(cat $TEMP_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)" - mapper wait $path -done - -nvmePath="/xyz/openbmc_project/sensors/temperature/nvme" -nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme" -nvmeList="" -# Get and Set WCTEMP -for ((i = 0; i < 16; i++)); do - name="@WCTemp$(printf "%02d" $i)@" - wcTemp=72000 - presentState="$(busctl get-property \ - xyz.openbmc_project.Inventory.Manager \ - ${nvmeInventoryPath}${i} \ - xyz.openbmc_project.Inventory.Item \ - Present | awk '{print $2}')" - - if [[ "$presentState" == "true" ]]; then - actualWCTemp=0 - for ((j = 0; j < 3; j++)); do - actualWCTemp="$( - busctl get-property xyz.openbmc_project.nvme.manager \ - ${nvmePath}${i} \ - xyz.openbmc_project.Sensor.Threshold.Critical \ - CriticalHigh | awk '{print $2}' - )" - if [[ "${actualWCTemp}" -ne 0 ]]; then - break - fi - - echo "${nvmePath}${i} WCTemp was read to be 0, retrying after 1 sec sleep" - sleep 1 - done - - if [[ "${actualWCTemp}" -ne 0 ]]; then - wcTemp="$((actualWCTemp * 1000))" - else - echo "${nvmePath}${i} WCTemp was read to be 0, using default WCTemp: ${wcTemp}" - fi - - if [[ -z "$nvmeList" ]]; then - nvmeList="\"nvme"${i}"\"" - else - nvmeList="${nvmeList}"", \"nvme"${i}"\"" - fi - fi - - sed -i "s/$name/${wcTemp}/g" "$TEMP_FILE" -done - -sed -i "s/@nvmeList@/${nvmeList}/g" "$TEMP_FILE" - -# Use shell parameter expansion to trim the ".in" suffix -mv "$TEMP_FILE" "${MARGIN_TABLE_FILE_IN%".in"}" - -# start read margin temp -/usr/bin/read-margin-temp & - -exit 0 diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend deleted file mode 100644 index 981c0d2ca..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend +++ /dev/null @@ -1,17 +0,0 @@ -FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" - -SRC_URI_append_gbs = " file://config-margin.json.in \ - file://read-margin-temp-wait.sh \ - " - -FILES_${PN}_append_gbs = " ${bindir}/read-margin-temp-wait.sh" -FILES_${PN}_append_gbs = " ${datadir}/read-margin-temp/config-margin.json.in" - -do_install_append_gbs() { - install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/read-margin-temp-wait.sh ${D}${bindir} - - install -d ${D}${datadir}/read-margin-temp - install -m 0644 -D ${WORKDIR}/config-margin.json.in \ - ${D}${datadir}/${PN}/ -} -- cgit v1.2.3 From 4c41149d50b3a2341131e4d677d766c4f21cf97a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 18 Jun 2021 05:30:12 +0000 Subject: google-misc: srcrev bump b63d6314d0..548f3ad151 William A. Kennington III (2): acpi-power-state-daemon: build: Subproject support metrics-ipmi-blobs: build: Install module in blob-ipmid Change-Id: Iea5cb82293a8d306063a0f8f1e265525cf5c14a8 Signed-off-by: Andrew Geissler --- meta-google/recipes-google/google-misc/google-misc.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-google/recipes-google/google-misc/google-misc.inc b/meta-google/recipes-google/google-misc/google-misc.inc index bcbfee44a..20b4e0536 100644 --- a/meta-google/recipes-google/google-misc/google-misc.inc +++ b/meta-google/recipes-google/google-misc/google-misc.inc @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../../LICENSE;md5=34400b68072d710fecd0a2940a0d1658" SRC_URI += "git://github.com/openbmc/google-misc" -SRCREV = "b63d6314d059140f1ed23456d798544ac8e30d45" +SRCREV = "548f3ad151678fc3ee87b7bef25b6601611af978" S = "${WORKDIR}/git/subprojects/${GOOGLE_MISC_PROJ}" inherit meson -- cgit v1.2.3 From 51cc466e351c15c98e363e10682de59c89c8b543 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 18 Jun 2021 15:31:11 +0000 Subject: pldm: srcrev bump cb0982ba18..a137f903b5 Jayashankar Padath (1): fru: Add new inventory items in the fru parser Manojkiran Eda (1): Remove Inventory Manager dependency for pldm Pavithra Barithaya (1): PLDM: Remove Boot Progress entry from 11.json Tom Joseph (1): requester: PLDM handler for async request/response Change-Id: I76b5512fa5fe58b25b5d9f1e4d5e54f5a62927f5 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 938e8a594..ec0d6f249 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "cb0982ba18bd890bda3c9bf0a8a1c463c806e304" +SRCREV = "a137f903b5d51f313724632aef888177c54e3793" -- cgit v1.2.3 From 2b715c19b744bc3cf8e485e5aa754bb9346ee714 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 18 Jun 2021 14:31:01 +0000 Subject: phosphor-logging: srcrev bump 0866c3fc66..d354a39835 Andrew Jeffery (1): log_manager: Remove designated initializers Jayanth Othayoth (2): PEL: set pdbg environment variable PEL: move pdbg init function to sbe ffdc init Ramesh Iyyar (1): PEL: PHAL: Changed existing reason code instead use component id Shantappa Teekappanavar (1): PEL: message_registry - Add an entry for WatchdogTimeout Vijay Lobo (1): PEL: Support eventId property Change-Id: I848bd5429b2fd9d7929af693c45766fe07e56836 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 2154ce6e6..8417b3916 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "0866c3fc66b9c0074fa4f86d06da879a6bba2f7a" +SRCREV = "d354a39835bc855d53aab9f87e9cb5c089a07f0f" S = "${WORKDIR}/git" -- cgit v1.2.3 From d28c8ac962fbf21a79f1662e20effc057b581da5 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 18 Jun 2021 04:51:04 +0000 Subject: libmctp: srcrev bump a523bcc102..507ba00dad Andrew Jeffery (2): libmctp: Add subdirectory for systemd metadata systemd: Own service startup ordering with respect to pldmd Change-Id: Ia08b9b8bc7ff891a3e9f194f49295780987972b3 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index f62b4c1e3..04ede9436 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "a523bcc102cdabbb7537c63374deaa0f5e42f033" +SRCREV = "507ba00dadfa72b1a8e10c399b4fb3f3273c179d" CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ -- cgit v1.2.3 From 085d2f00d28ea7add2efdc94cd517f975b5a313a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 18 Jun 2021 01:51:13 +0000 Subject: phosphor-nvme: srcrev bump d5838d1bbb..9ebfa481ce George Hung (1): Emit the threshold alarm signals to trigger SEL logs Change-Id: I2489df9e780f59d2d93fe9ea0b8914ae718d999f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb index 027de2762..0eb25d831 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb @@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging" DEPENDS += "nlohmann-json" SRC_URI = "git://github.com/openbmc/phosphor-nvme.git;protocol=git" -SRCREV = "d5838d1bbb26e9aa7ffc19c4fc57f4ee1237e22a" +SRCREV = "9ebfa481ce15ebbdf86abd21512999415dd6ef03" S = "${WORKDIR}/git" SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.nvme.manager.service" -- cgit v1.2.3 From 7d01714b8f4bf91a78bbba899b78ee0710e02cf7 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 17 Jun 2021 22:31:26 +0000 Subject: dbus-sensors: srcrev bump 1263c3dad3..12c2c0ef53 Zhikui Ren (1): ThresholdTimer: use weak_ptr in async callback Change-Id: I7861205f4d12241737d68a9e8fe5fbdb4893e847 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index 31bbbf5a9..b59740a3d 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "1263c3dad3a723f4ebbd05e4031e4d5ff45f349c" +SRCREV = "12c2c0ef533842d2e66f8c82c6b586f6df31d577" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 3cb4a88dd8c019916ce14cc99aa6dfd5bbb95801 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 17 Jun 2021 22:20:45 +0000 Subject: entity-manager: srcrev bump 6d649821da..7d53601257 John Edward Broadbent (1): change source URL for boost Change-Id: I91f5c1daf5f8df28850790655daf2f36e4a68d31 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index a2ad1b057..09bf3c34e 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" -SRCREV = "6d649821da7aa3159bae7139670efc4c27ff6ebb" +SRCREV = "7d53601257a823fff1a5374864f5d72978cb08fa" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" -- cgit v1.2.3 From 56660bd61c0fed2759239bb6a7ffdbd1e95f43e7 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 17 Jun 2021 18:51:06 +0000 Subject: phosphor-power: srcrev bump aacc2aafa5..d3a70d9876 Adriana Kobylak (1): psu-ng: Update supported configuration properties Change-Id: I4d09abbad020339d2938193f8cc7ab8e865e1e7e Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index 5a613e5ef..93d9b7fef 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "aacc2aafa5b599ca9719dcc174b966c976568ab1" +SRCREV = "d3a70d987614bb29ff326d911e41b4eb505a40df" -- cgit v1.2.3 From cceb1086b26b0e628fd98bc4619a938a15ac3591 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 17 Jun 2021 14:50:45 +0000 Subject: bmcweb: srcrev bump b937830fe5..0256b69420 zhanghch05 (1): Add compile flag to turn off the old Power/Thermal Change-Id: Id69ac91633c13f6b283a916e6f4f26545edd5c3b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index f57a2a4b6..81e18b43c 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "b937830fe5a7adba40e63f6059bf2c543733de33" +SRCREV = "0256b69420e2b99eb0494334da71dd50f457a8e8" S = "${WORKDIR}/git" -- cgit v1.2.3 From f1f55246715ca26d5f582ad4eb4112f720b3526a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 17 Jun 2021 13:20:40 +0000 Subject: debug-trigger: srcrev bump 20017150d2..15fe59cb0f Andrew Jeffery (1): meson: Remove redundant udevrules list Change-Id: Ia35655f677b159744f7b103698eee4e1561fa427 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb b/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb index da168e2e8..dd28e0f95 100644 --- a/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb +++ b/meta-phosphor/recipes-phosphor/dump/debug-trigger_git.bb @@ -15,7 +15,7 @@ inherit systemd PR = "r1" PV = "0.1+git${SRCPV}" -SRCREV = "20017150d229401edc9bbf33fa48ceba7f94db47" +SRCREV = "15fe59cb0fc1430bdd05a85e7c7887ccc4e5c013" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -- cgit v1.2.3 From 97a41ba2932aee88f12fdc10805633cb350390e2 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 17 Jun 2021 12:50:49 +0000 Subject: phosphor-inventory-manager: srcrev bump ab1f8b520a..903b0de230 Santosh Puranik (1): serialization: Use Cereal NVP Change-Id: Id22b2394cb30eff0c7a1e0b6422bf3995f59095d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc index 2612175a9..9bd95c146 100644 --- a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc +++ b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-inventory-manager" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/phosphor-inventory-manager" -SRCREV = "ab1f8b520a9fb2248ae6fe1e385b5154620bdd39" +SRCREV = "903b0de230f01d14aee794dbf8ca713c128b0bde" -- cgit v1.2.3 From ae9ca4d1babde7ac0cfcbc9b9d0dda95d0e25832 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 17 Jun 2021 06:00:32 +0000 Subject: bios-settings-mgr: srcrev bump 96e72ec579..5e2cb7206e Snehalatha Venkatesh (1): Change Resetflag from default to Noaction Change-Id: I9bcb29b75833dd04fb6ee1e989fcb5b8573ba76e Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb b/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb index d250f3e7b..2fa80e41f 100644 --- a/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/bios/biosconfig-manager_git.bb @@ -13,7 +13,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=bcd9ada3a943f58551867d72893cc9ab" SRC_URI = "git://github.com/openbmc/bios-settings-mgr" -SRCREV = "96e72ec579ea3c19ddbde4151d9f26d988c47fa6" +SRCREV = "5e2cb7206e695662f09c7cb4e0c73ba11686acaa" inherit meson pkgconfig systemd -- cgit v1.2.3 From 28d315377d2a902e2d3691159411c18a2ce64a66 Mon Sep 17 00:00:00 2001 From: "Jason M. Bills" Date: Thu, 15 Apr 2021 13:52:23 -0700 Subject: webui-vue: Add a task to find node licences Many open source licenses require the module and license to be identified in the image. Yocto provides this capability for the modules that it includes; however, this doesn't cover the modules that npm includes during the build of webui-vue. This change adds a new module named 'nlf' to find and create a summary of the nodes and their licenses. The nlf recipe file was generated automatically with: devtool add 'npm://registry.npmjs.org;package=nlf;version=latest' Then a new 'find_node_licenses' task in the webui-vue recipe uses 'nlf-native' to create a summary and save it to the webui-vue license directory where Yocto stores its license info. Tested: Confirmed that the nlf recipe builds. Confirmed that the 'find_node_licenses' task runs and that the license summary is available under 'build/tmp/deploy/licenses/webui-vue/node-licenses' Change-Id: Ia53f6e463db6966f450be2a37dc82a3c5e3f76c1 Signed-off-by: Jason M. Bills --- .../recipes-phosphor/webui/nlf/npm-shrinkwrap.json | 312 +++++++++++++++++++++ meta-phosphor/recipes-phosphor/webui/nlf_2.1.1.bb | 154 ++++++++++ .../recipes-phosphor/webui/webui-vue_git.bb | 8 +- 3 files changed, 473 insertions(+), 1 deletion(-) create mode 100644 meta-phosphor/recipes-phosphor/webui/nlf/npm-shrinkwrap.json create mode 100644 meta-phosphor/recipes-phosphor/webui/nlf_2.1.1.bb diff --git a/meta-phosphor/recipes-phosphor/webui/nlf/npm-shrinkwrap.json b/meta-phosphor/recipes-phosphor/webui/nlf/npm-shrinkwrap.json new file mode 100644 index 000000000..ded34f99a --- /dev/null +++ b/meta-phosphor/recipes-phosphor/webui/nlf/npm-shrinkwrap.json @@ -0,0 +1,312 @@ +{ + "name": "nlf", + "version": "2.1.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@octetstream/promisify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@octetstream/promisify/-/promisify-2.0.2.tgz", + "integrity": "sha512-7XHoRB61hxsz8lBQrjC1tq/3OEIgpvGWg6DKAdwi7WRzruwkmsdwmOoUXbU4Dtd4RSOMDwed0SkP3y8UlMt1Bg==" + }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "compare-versions": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", + "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-all": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-all/-/glob-all-3.1.0.tgz", + "integrity": "sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs=", + "requires": { + "glob": "^7.0.5", + "yargs": "~1.2.6" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.1.0.tgz", + "integrity": "sha1-md9lelJXTCHJBXSX33QnkLK0wN4=" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/promise-fs/-/promise-fs-2.1.1.tgz", + "integrity": "sha512-43p7e4QzAQ3w6eyN0+gbBL7jXiZFWLWYITg9wIObqkBySu/a5K1EDcQ/S6UyB/bmiZWDA4NjTbcopKLTaKcGSw==", + "requires": { + "@octetstream/promisify": "2.0.2" + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "snyk-module": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/snyk-module/-/snyk-module-1.9.1.tgz", + "integrity": "sha512-A+CCyBSa4IKok5uEhqT+hV/35RO6APFNLqk9DRRHg7xW2/j//nPX8wTSZUPF8QeRNEk/sX+6df7M1y6PBHGSHA==", + "requires": { + "debug": "^3.1.0", + "hosted-git-info": "^2.7.1" + } + }, + "snyk-resolve": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/snyk-resolve/-/snyk-resolve-1.1.0.tgz", + "integrity": "sha512-OZMF8I8TOu0S58Z/OS9mr8jkEzGAPByCsAkrWlcmZgPaE0RsxVKVIFPhbMNy/JlYswgGDYYIEsNw+e0j1FnTrw==", + "requires": { + "debug": "^4.1.1", + "promise-fs": "^2.1.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "snyk-resolve-deps": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.0.2.tgz", + "integrity": "sha512-nlw62wiWhGOTw3BD3jVIwrUkRR4iNxEkkO4Y/PWs8BsUWseGu1H6QgLesFXJb3qx7ANJ5UbUCJMgV+eL0Lf9cA==", + "requires": { + "ansicolors": "^0.3.2", + "debug": "^3.2.5", + "lodash.assign": "^4.2.0", + "lodash.assignin": "^4.2.0", + "lodash.clone": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.get": "^4.4.2", + "lodash.set": "^4.3.2", + "lru-cache": "^4.0.0", + "semver": "^5.5.1", + "snyk-module": "^1.6.0", + "snyk-resolve": "^1.0.0", + "snyk-tree": "^1.0.0", + "snyk-try-require": "^1.1.1", + "then-fs": "^2.0.0" + } + }, + "snyk-tree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/snyk-tree/-/snyk-tree-1.0.0.tgz", + "integrity": "sha1-D7cxdtvzLngvGRAClBYESPkRHMg=", + "requires": { + "archy": "^1.0.0" + } + }, + "snyk-try-require": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/snyk-try-require/-/snyk-try-require-1.3.1.tgz", + "integrity": "sha1-bgJvkuZK9/zM6h7lPVJIQeQYohI=", + "requires": { + "debug": "^3.1.0", + "lodash.clonedeep": "^4.3.0", + "lru-cache": "^4.0.0", + "then-fs": "^2.0.0" + } + }, + "then-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/then-fs/-/then-fs-2.0.0.tgz", + "integrity": "sha1-cveS3Z0xcFqRrhnr/Piz+WjIHaI=", + "requires": { + "promise": ">=3.2 <8" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.2.6.tgz", + "integrity": "sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s=", + "requires": { + "minimist": "^0.1.0" + } + } + } +} diff --git a/meta-phosphor/recipes-phosphor/webui/nlf_2.1.1.bb b/meta-phosphor/recipes-phosphor/webui/nlf_2.1.1.bb new file mode 100644 index 000000000..b43ed8eba --- /dev/null +++ b/meta-phosphor/recipes-phosphor/webui/nlf_2.1.1.bb @@ -0,0 +1,154 @@ +SUMMARY = "Find licenses for a node application and its node_module dependencies" +HOMEPAGE = "https://github.com/iandotkelly/nlf" + +BBCLASSEXTEND = "native" + +LICENSE = "MIT & ISC & Apache-2.0" +LIC_FILES_CHKSUM = " \ + file://LICENSE.md;md5=6528c431b19e9400237f5dfb20285279 \ + file://node_modules/lodash.flatten/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/commander/LICENSE;md5=25851d4d10d6611a12d5571dab945a00 \ + file://node_modules/lodash.clone/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/semver/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/snyk-try-require/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e \ + file://node_modules/lodash.assignin/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/brace-expansion/LICENSE;md5=a5df515ef062cc3affd8c0ae59c059ec \ + file://node_modules/lodash.clonedeep/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/@octetstream/promisify/LICENSE;md5=7e5b988479dc39ec6b617fa47c33d6ab \ + file://node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/archy/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/snyk-resolve/LICENSE;md5=d0a3091b11042bec7302076f57a2af63 \ + file://node_modules/snyk-resolve/node_modules/debug/LICENSE;md5=ddd815a475e7338b0be7a14d8ee35a99 \ + file://node_modules/snyk-resolve/node_modules/ms/license.md;md5=fd56fd5f1860961dfa92d313167c37a6 \ + file://node_modules/snyk-tree/LICENSE;md5=9c39dfa5945450431edcfc7d52251aba \ + file://node_modules/debug/LICENSE;md5=ddd815a475e7338b0be7a14d8ee35a99 \ + file://node_modules/promise-fs/LICENSE;md5=03b23ecbb99ee45b22f8dedf2d789676 \ + file://node_modules/glob/LICENSE;md5=c727d36f28f2762b1011dd483aa1a191 \ + file://node_modules/lodash.set/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/promise/LICENSE;md5=f908224ab18e60b4c2428c7ef33361e7 \ + file://node_modules/ms/license.md;md5=2b8bc52ae6b7ba58e1629deabd53986f \ + file://node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/yallist/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/asap/LICENSE.md;md5=6ef000dc4ca2360ae9216d401862c653 \ + file://node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/snyk-resolve-deps/LICENSE;md5=9c39dfa5945450431edcfc7d52251aba \ + file://node_modules/compare-versions/LICENSE;md5=971bd7e5da79aead411b89e5187a055e \ + file://node_modules/fs.realpath/LICENSE;md5=062470525c8e380f8567f665ef554d11 \ + file://node_modules/pseudomap/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/yargs/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/snyk-module/LICENSE;md5=9c39dfa5945450431edcfc7d52251aba \ + file://node_modules/lru-cache/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/then-fs/LICENSE;md5=d426de0e01e68475b6483705f840e37a \ + file://node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/lodash.get/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/ansicolors/LICENSE;md5=bf595075ff556bc46c43e08f142fa4f5 \ + file://node_modules/hosted-git-info/LICENSE;md5=a01f10cd299d5727263720d47cc2c908 \ + file://node_modules/lodash.assign/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://lib/license-find.js;md5=842bef111c87f33d70587288cb096184 \ + file://lib/license-collection.js;md5=9764b6cc0b8baa2bdce065fbc31137ca \ + file://package.json;md5=35243428b498fc654315179dc8422d31 \ + file://node_modules/@octetstream/promisify/package.json;md5=1fa18a4bdf2ed0999644f69db230b2a9 \ + file://node_modules/ansicolors/package.json;md5=62c557890a3c2b6d72c4824129c7eb43 \ + file://node_modules/archy/package.json;md5=eab72a1e199e2ec3f194afb9d33c4b07 \ + file://node_modules/asap/package.json;md5=4c974dfa11d66358b3f8610ffcad5478 \ + file://node_modules/balanced-match/package.json;md5=fa13802cf9109f23db7cc107f33cbf0a \ + file://node_modules/brace-expansion/package.json;md5=effd91994b1b7ddb8a33060ad4541e6a \ + file://node_modules/commander/package.json;md5=b35727756a7cd730832ad87704f8c7f4 \ + file://node_modules/compare-versions/package.json;md5=62c1d0ab0bf5b50f52b82e3456e07129 \ + file://node_modules/concat-map/package.json;md5=85d8a674998927862b17adef4aa6a7b1 \ + file://node_modules/debug/package.json;md5=428aa7fa2bd4f273e5226f0c3c6ab6de \ + file://node_modules/fs.realpath/package.json;md5=3aa3d67ce378e330e293496dd3b9a506 \ + file://node_modules/glob/package.json;md5=7d0807efb6353ee0196cabbacbf210d7 \ + file://node_modules/glob-all/package.json;md5=7cafc9e19951572ed5ce6381266405ac \ + file://node_modules/hosted-git-info/package.json;md5=2a8c73592cbe4265502d43c27a631010 \ + file://node_modules/inflight/package.json;md5=85ba25624378c23e1ee9b33d3d103bf0 \ + file://node_modules/inherits/package.json;md5=f73908dab55d4259f3ed052ce9fb2fbb \ + file://node_modules/lodash.assign/package.json;md5=652d946aaad24923310a26b4c34bbe95 \ + file://node_modules/lodash.assignin/package.json;md5=e0f2f49ffa0f40aad8ee8ab6d95f4eb2 \ + file://node_modules/lodash.clone/package.json;md5=247b6edb259f1e3ad88b561923f38e2e \ + file://node_modules/lodash.clonedeep/package.json;md5=c530122d432c91361df957d8f881f3e7 \ + file://node_modules/lodash.flatten/package.json;md5=1bd34f9aca4227c756da839b676a4c45 \ + file://node_modules/lodash.get/package.json;md5=18eb5e88a33ab2e94f075f86869ba359 \ + file://node_modules/lodash.set/package.json;md5=cd1e57468bf33aed79a76aaaf154a3f9 \ + file://node_modules/lru-cache/package.json;md5=4d588d28a52a177c16510f7ec66b22d0 \ + file://node_modules/minimatch/package.json;md5=b763d93b18d070a6449399d2e92d8c32 \ + file://node_modules/minimist/package.json;md5=a8a81a7666d523f55e92062d6d667958 \ + file://node_modules/ms/package.json;md5=a682078f64a677ddad1f50307a14b678 \ + file://node_modules/once/package.json;md5=afb6ea3bdcad6397e11a71615bd06e3b \ + file://node_modules/path-is-absolute/package.json;md5=ef6e018bdf67b82ab1285bc799b5367b \ + file://node_modules/promise/package.json;md5=7975da9da536961f7510cdae6f0e97b8 \ + file://node_modules/promise-fs/package.json;md5=20926dacee51735bd8c0a924652cacee \ + file://node_modules/pseudomap/package.json;md5=2126b7cc5be08ab6d1489f20c3e677b8 \ + file://node_modules/semver/package.json;md5=735f6ede2a644d292066a9813d8b9da6 \ + file://node_modules/snyk-module/package.json;md5=8161d4586e6daee1839cae9e94b86fb3 \ + file://node_modules/snyk-resolve/node_modules/debug/package.json;md5=d084346a689161b3c5a11df81c28acc4 \ + file://node_modules/snyk-resolve/node_modules/ms/package.json;md5=b3ea7267a23f72028e774742792b114a \ + file://node_modules/snyk-resolve/package.json;md5=ea3a04226c876e68f4aafe1ff359a233 \ + file://node_modules/snyk-resolve-deps/package.json;md5=58b2a1dd733438f59814ff4a035ed082 \ + file://node_modules/snyk-tree/package.json;md5=e194dd23ca7a9a0a8059f2edd302819a \ + file://node_modules/snyk-try-require/package.json;md5=f15efeb6e9de2631a4ee7cca03a3b2f7 \ + file://node_modules/then-fs/package.json;md5=290ddf535372df5478be21b691fb50d9 \ + file://node_modules/wrappy/package.json;md5=788804d507f3ed479ea7614fa7d3f1a5 \ + file://node_modules/yallist/package.json;md5=67355d84a038118afcde93417b9327dd \ + file://node_modules/yargs/package.json;md5=286e4e3b3374bb62c5dbf8aba821bba7 \ + " + +SRC_URI = " \ + npm://registry.npmjs.org/;package=nlf;version=${PV} \ + npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \ + " + +S = "${WORKDIR}/npm" + +inherit npm + +LICENSE_${PN} = "MIT" +LICENSE_${PN}-octetstream-promisify = "MIT" +LICENSE_${PN}-ansicolors = "MIT" +LICENSE_${PN}-archy = "MIT" +LICENSE_${PN}-asap = "MIT" +LICENSE_${PN}-balanced-match = "MIT" +LICENSE_${PN}-brace-expansion = "MIT" +LICENSE_${PN}-commander = "MIT" +LICENSE_${PN}-compare-versions = "MIT" +LICENSE_${PN}-concat-map = "MIT" +LICENSE_${PN}-debug = "MIT" +LICENSE_${PN}-fsrealpath = "ISC" +LICENSE_${PN}-glob = "ISC" +LICENSE_${PN}-glob-all = "MIT" +LICENSE_${PN}-hosted-git-info = "ISC" +LICENSE_${PN}-inflight = "ISC" +LICENSE_${PN}-inherits = "ISC" +LICENSE_${PN}-lodashassign = "MIT" +LICENSE_${PN}-lodashassignin = "MIT" +LICENSE_${PN}-lodashclone = "MIT" +LICENSE_${PN}-lodashclonedeep = "MIT" +LICENSE_${PN}-lodashflatten = "MIT" +LICENSE_${PN}-lodashget = "MIT" +LICENSE_${PN}-lodashset = "MIT" +LICENSE_${PN}-lru-cache = "ISC" +LICENSE_${PN}-minimatch = "ISC" +LICENSE_${PN}-minimist = "MIT" +LICENSE_${PN}-ms = "MIT" +LICENSE_${PN}-once = "ISC" +LICENSE_${PN}-path-is-absolute = "MIT" +LICENSE_${PN}-promise = "MIT" +LICENSE_${PN}-promise-fs = "MIT" +LICENSE_${PN}-pseudomap = "ISC" +LICENSE_${PN}-semver = "ISC" +LICENSE_${PN}-snyk-module = "Apache-2.0" +LICENSE_${PN}-snyk-resolve-debug = "MIT" +LICENSE_${PN}-snyk-resolve-ms = "MIT" +LICENSE_${PN}-snyk-resolve = "Apache-2.0" +LICENSE_${PN}-snyk-resolve-deps = "Apache-2.0" +LICENSE_${PN}-snyk-tree = "Apache-2.0" +LICENSE_${PN}-snyk-try-require = "Apache-2.0" +LICENSE_${PN}-then-fs = "MIT" +LICENSE_${PN}-wrappy = "ISC" +LICENSE_${PN}-yallist = "ISC" +LICENSE_${PN}-yargs = "MIT" diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index 5b8dec5fe..546c39ae4 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -9,7 +9,7 @@ SRC_URI = "git://github.com/openbmc/webui-vue.git" SRCREV = "3f9cfa2c2491cc060ea57787660e918e4a7ee7e5" S = "${WORKDIR}/git" -DEPENDS_prepend = "nodejs-native " +DEPENDS_prepend = "nodejs-native nlf-native " # allarch is required because the files this recipe produces (html and # javascript) are valid for any target, regardless of architecture. The allarch @@ -45,3 +45,9 @@ do_install () { find ${D}${datadir}/www -type d -exec chmod a=rx,u+w '{}' + } +do_find_node_licenses() { + cd ${S} + nlf -s detail > ${LICENSE_DIRECTORY}/${PN}/node-licenses +} + +addtask find_node_licenses after do_compile before do_build -- cgit v1.2.3 From 22df204bab477e7fb8a9c9099de6c0b23be07ac3 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 17 Jun 2021 22:33:00 -0700 Subject: meta-google: metrics-ipmi-blobs: Clean up recipe We no longer need the extra levels of indirection or dev-so overrides. Change-Id: I537fda462ce8d96baab409afe332d4be3d6f3eca Signed-off-by: William A. Kennington III --- meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb index c0052cbbd..531d824dd 100644 --- a/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb +++ b/meta-google/recipes-google/ipmi/metrics-ipmi-blobs_git.bb @@ -13,17 +13,6 @@ DEPENDS += " \ protobuf \ " -FILES_${PN} += " \ - ${libdir}/ipmid-providers/libmetricsblob.so* \ - ${libdir}/blob-ipmid/libmetricsblob.so* \ - " -BLOBIPMI_PROVIDER_LIBRARY += "libmetricsblob.so" - -INSANE_SKIP_${PN} += "dev-so" +FILES_${PN} += "${libdir}/blob-ipmid" EXTRA_OEMESON += "-Dtests=disabled" - -do_install_append() { - install -d ${D}/${libdir}/blob-ipmid - ln -s ../ipmid-providers/libmetricsblob.so ${D}/${libdir}/blob-ipmid/libmetricsblob.so.0 -} -- cgit v1.2.3 From 8fe3fbad4e4ca00c29f538753bbf19c4755642a5 Mon Sep 17 00:00:00 2001 From: XP Chen Date: Fri, 18 Jun 2021 11:38:29 -0500 Subject: meta-fii/meta-kudo: Update kudo.conf with latest changes 1. Fix kernel_partiton offset after changes to upstream 2. Fix mac address settings for eth1 Signed-off-by: XP Chen Change-Id: Ia959dadce1c3336e4860c205d5702b186d11beff --- meta-fii/meta-kudo/conf/machine/kudo.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta-fii/meta-kudo/conf/machine/kudo.conf b/meta-fii/meta-kudo/conf/machine/kudo.conf index a016fd760..768719d8b 100644 --- a/meta-fii/meta-kudo/conf/machine/kudo.conf +++ b/meta-fii/meta-kudo/conf/machine/kudo.conf @@ -5,18 +5,18 @@ require conf/machine/include/npcm7xx.inc require conf/machine/include/obmc-bsp-common.inc FLASH_SIZE = "65536" -FLASH_UBOOT_OFFSET = "0" -FLASH_KERNEL_OFFSET = "2048" -FLASH_ROFS_OFFSET = "7168" -FLASH_RWFS_OFFSET = "62400" +FLASH_UBOOT_OFFSET_flash-65536 = "0" +FLASH_KERNEL_OFFSET_flash-65536 = "2048" +FLASH_ROFS_OFFSET_flash-65536 = "7168" +FLASH_RWFS_OFFSET_flash-65536 = "62400" UBOOT_MACHINE = "PolegSVB_config" UBOOT_DEVICETREE = "nuvoton-npcm730-kudo" IGPS_MACHINE = "EB" GBMC_MAC_EEPROM_OF_NAME = "bmcfru" -GBMC_MAC_IF_MAP = "eth0" GBMC_NCSI_IF_NAME = "eth0" +GBMC_MAC_IF_MAP = "[0]=eth1" IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot" -- cgit v1.2.3 From 06bb2750c274397ca44fd7d98a2827653d420dc9 Mon Sep 17 00:00:00 2001 From: XP Chen Date: Thu, 17 Jun 2021 16:45:18 -0500 Subject: meta-fii/meta-kudo: Set Ampere CPU LPI_FREQ_Disable Add method to disable LPI mode for Ampere CPU when flash kudo bios Signed-off-by: XP Chen Change-Id: Ieec4b93bceceb9e809482b14686582d0b1cbc971 --- meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh index 1ef73cc13..d103747b2 100644 --- a/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-fw.sh @@ -41,6 +41,8 @@ function fwbios() { dd if=$1 bs=1024 skip=17156 count=256 of=/run/initramfs/myscp.img fwscp /run/initramfs/myscp.img fi + # Disable LPI mode NV_SI_CPU_LPI_FREQ_DISABLE. + nvparm -s 0x1 -o 0x114090 rm -f $1 } -- cgit v1.2.3 From 34b3077d0643563c0487f47ab39680d30874d7e4 Mon Sep 17 00:00:00 2001 From: Eddie James Date: Thu, 1 Apr 2021 08:30:02 -0500 Subject: AST2600: Update default env for multiple FIT config Add environment variables to the AST2600 to boot a certain FIT configuration of the kernel based on the "fitconfig" environment variable. The boot command will fall back to the default FIT config in case all other boot attempts fail. Also fix the kernel boot arguments in the case that boot failure occurs. The boot sequence would be: - boota with fitconfig, if it fails: - boota without fitconfig, if it fails: - bootb with fitconfig, if it fails: - bootb without fitconfig Tested: Set fitconfig to a dummy variable, and also changed the bootm command to a dummy command to force a boot failure, and verified the sequence was as expected: ast# boot boota Error loading kernel FIT image with fitconfig rainier-dummy Unknown command 'bootm-dummy' - try 'help' Error loading kernel FIT image bootb Error loading kernel FIT image with fitconfig rainier-dummy Unknown command 'bootm-dummy' - try 'help' Error loading kernel FIT image Signed-off-by: Eddie James Signed-off-by: Adriana Kobylak Change-Id: I14cf935a707bdb95b0a6e4e607919ea0e027d18c --- meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt b/meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt index 47a474c92..15dd2f522 100644 --- a/meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt +++ b/meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt @@ -1,9 +1,11 @@ bootargs=console=ttyS4,115200n8 -boota=setenv bootpart 2; setenv rootfs rofs-a; run setmmcargs; ext4load mmc 0:${bootpart} ${loadaddr} fitImage && bootm; echo Error loading kernel FIT image -bootb=setenv bootpart 3; setenv rootfs rofs-b; run setmmcargs; ext4load mmc 0:${bootpart} ${loadaddr} fitImage && bootm; echo Error loading kernel FIT image -bootcmd=if test "${bootside}" = "b"; then run bootb; run boota; else run boota; run bootb; fi +boota=setenv bootpart 2; setenv rootfs rofs-a; run bootmmc +bootb=setenv bootpart 3; setenv rootfs rofs-b; run bootmmc +bootcmd=setenv origbootargs ${bootargs}; run bootconfcmd; run bootsidecmd +bootconfcmd=if test ${fitconfig} -n; then setenv bootmconf "#${fitconfig}"; fi bootdelay=2 +bootmmc=run setmmcargs; ext4load mmc 0:${bootpart} ${loadaddr} fitImage && bootm ${loadaddr}${bootmconf}; echo Error loading kernel FIT image with fitconfig ${fitconfig}; bootm ${loadaddr}; echo Error loading kernel FIT image bootside=a +bootsidecmd=if test ${bootside} = b; then run bootb; run boota; else run boota; run bootb; fi loadaddr=0x83000000 -rootfs=rofs-a -setmmcargs=setenv bootargs ${bootargs} rootwait root=PARTLABEL=${rootfs} +setmmcargs=setenv bootargs ${origbootargs} rootwait root=PARTLABEL=${rootfs} -- cgit v1.2.3 From aaecf6b84b0f227dd4329060026064e59b56c1a5 Mon Sep 17 00:00:00 2001 From: Lei YU Date: Mon, 21 Jun 2021 10:48:58 +0800 Subject: meta-aspeed: linux: Enable CONFIG_IPMI_KCS_BMC_CDEV_IPMI The CONFIG_IPMI_KCS_BMC_CDEV_IPMI is necessary for the new KCS driver refactor to create the ipmi-kcs devices. Tested: Verify on g220a that the ipmi-kcs3/4 devices are created and the inband IPMI via KCS works fine. Signed-off-by: Lei YU Change-Id: I2a1e7842f231fb4ee8284c194ed9cf28f668885e --- meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig | 1 + meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig | 1 + meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig | 1 + 3 files changed, 3 insertions(+) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig index 6a2c6d98a..e16c47c73 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig @@ -133,6 +133,7 @@ CONFIG_SERIAL_8250_ASPEED_VUART=y CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_ASPEED_KCS_IPMI_BMC=y +CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y CONFIG_ASPEED_BT_IPMI_BMC=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_DEVMEM_BOOTPARAM=y diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig index bd7711f09..7803eb795 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig @@ -140,6 +140,7 @@ CONFIG_SERIAL_8250_ASPEED_VUART=y CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_ASPEED_KCS_IPMI_BMC=y +CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y CONFIG_ASPEED_BT_IPMI_BMC=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_DEVMEM_BOOTPARAM=y diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig index 48e2e7509..b648a274d 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig @@ -153,6 +153,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_ASPEED_KCS_IPMI_BMC=y +CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y CONFIG_IPMI_KCS_BMC_SERIO=y CONFIG_ASPEED_BT_IPMI_BMC=y CONFIG_HW_RANDOM_TIMERIOMEM=y -- cgit v1.2.3 From 2bfe90d25de9b2a805027b884a5230a16718f980 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 18 Jun 2021 18:11:02 +0000 Subject: dbus-sensors: srcrev bump 12c2c0ef53..18fffd3d4d Andrew Jeffery (1): NVMeSensor: Fix ordering of member initializer list Change-Id: Ib810726969399e70d4bdd63a1200310cedbe5d31 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index b59740a3d..2511f42fa 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "12c2c0ef533842d2e66f8c82c6b586f6df31d577" +SRCREV = "18fffd3d4d426ad84059a1e474665a0e31926f5f" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From c172eb3e6127fb7b7be3b2b188d6ff91945505c2 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 21 Jun 2021 18:41:18 +0000 Subject: pldm: srcrev bump a137f903b5..ea72f240bb Deepak Kodihalli (1): Initial version of pldm_fwup_pkg_creator.py Ilya Smirnov (1): Add Secure Version Lockin BIOS Attribute Sridevi Ramesh (1): bios: Remove two unneeded bios attributes as mentioned below Change-Id: I09227020d4f8a02e7dff7f0cf2e1fb281bcf26f8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index ec0d6f249..b99d55d61 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "a137f903b5d51f313724632aef888177c54e3793" +SRCREV = "ea72f240bbb734b0faa8f9b29056eca5a163c1de" -- cgit v1.2.3 From 9df7aa6cc3a0a88870cc8a7c73ed3d3ccabdc5e0 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 21 Jun 2021 14:50:51 +0000 Subject: phosphor-fan-presence: srcrev bump 7072237b9a..bff172aa07 Matthew Barth (1): power_state: Catch DBusServiceError and wait Change-Id: I3251a2662ff91c17e4db7f7933c8946a2d30caf4 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 950a711be..187f38bae 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "7072237b9a2bbea7d800c81a09f376a57cb17413" +SRCREV = "bff172aa0785c017e1950e6c6fdf8e6ff76701eb" -- cgit v1.2.3 From 607528de113ae619689e7be18b8a80fd2dd20ca4 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 21 Jun 2021 03:51:27 +0000 Subject: phosphor-post-code-manager: srcrev bump b84fea4efe..aed7b3de09 Manojkiran Eda (1): Make MaxBootCycleCount Configurable Change-Id: Iab04dad507cfaa5152ccabd8d4e3034165f49722 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb b/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb index aef808301..342bb9c1f 100644 --- a/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/state/phosphor-post-code-manager_git.bb @@ -4,7 +4,7 @@ interface /xyz/openbmc_project/state/boot/raw by snoopd daemon and save them \ in a file under /var/lib for history." SRC_URI = "git://github.com/openbmc/phosphor-post-code-manager.git" -SRCREV = "b84fea4efe933dd929647a96441c02db40d9e367" +SRCREV = "aed7b3de090005433b16ca986ed3df4dbc81446f" S = "${WORKDIR}/git" -- cgit v1.2.3 From 8043b8af8243162fe5e12e00ecc0c37b533d302f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 21 Jun 2021 05:20:23 +0000 Subject: intel-ipmi-oem: srcrev bump d85939552b..3ff6371ba7 Jason M. Bills (1): Fix build issues sunitakx (1): [Chassis]: Validate reserved field content is zero Change-Id: I5640939f11404cacb84e8c27a5b01034e04f811f Signed-off-by: Andrew Geissler --- meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb index 318533053..36096a163 100755 --- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb @@ -5,7 +5,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/intel-ipmi-oem" -SRCREV = "d85939552bf6631aae249d3d45d2208e7fd5610a" +SRCREV = "3ff6371ba7e5c7f02d6851d6a87e7dbbdfa093e6" S = "${WORKDIR}/git" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 5c3273bbcc59a5f41810a3c977d6eba7933ebd2e Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Mon, 21 Jun 2021 16:14:32 +0930 Subject: u-boot-aspeed: Add environment for booting from mmc This adds the u-boot environment to the u-boot binary. On the 2600 with mmc we currently rely on the default environment being populated in the image. This has the downside that if something corrupts the environment, the system won't know how to boot itself. This wasn't a problem for NOR based systems as the built in command knew how to boot the system (unless you were using a 'special' setup such as Witherspoon's UBI setup). The ast2600_openbmc_mmc.txt is copied from meta-aspeed/recipes-bsp/u-boot/files/u-boot-env-ast2600.txt. Adriana has indicated she will update openbmc to use the .txt from the u-boot tree to generate the filesystem image (or we could stop doing that, and simply use the default?). The environment processing step requires xxd on the build system. Joel Stanley (2): Makefile: Conditionally add defaultenv_h to envtools target ast2600: Add environment for booting from mmc Change-Id: I0381ac168285bade75115b7b415e18dd7fc8694e Signed-off-by: Joel Stanley --- meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc index 9da3e5a44..ab4b5200c 100644 --- a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc +++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc @@ -1,6 +1,6 @@ HOMEPAGE = "https://github.com/AspeedTech-BMC/u-boot" SECTION = "bootloaders" -DEPENDS += "flex-native bison-native" +DEPENDS += "flex-native bison-native xxd-native" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e" @@ -8,7 +8,7 @@ PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "e1417368fdc3ba45ffde51a4b13290114a643be4" +SRCREV = "cfc04136e001e208a1eab83c9fe0aa78a3fd6d7f" SRC_URI = "git://git@github.com/openbmc/u-boot.git;nobranch=1;protocol=https" -- cgit v1.2.3 From 717a0a06a6a595260cdaf591420113b6ac74ebe4 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Wed, 16 Jun 2021 12:25:20 -0700 Subject: phosphor-ipmi-blobs: Convert to meson Change-Id: I9b94c4a4995dd48d4531d8605ad35742072974c9 Signed-off-by: William A. Kennington III --- .../ipmi/phosphor-ipmi-blobs_git.bb | 24 ++++++++++------------ 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb index 77f651b6d..2dce84aef 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb @@ -6,23 +6,21 @@ PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -inherit autotools pkgconfig -inherit obmc-phosphor-ipmiprovider-symlink +inherit meson pkgconfig -DEPENDS += "autoconf-archive-native" -DEPENDS += "phosphor-ipmi-host" -DEPENDS += "phosphor-logging" -DEPENDS += "ipmi-blob-tool" +DEPENDS += " \ + ipmi-blob-tool \ + phosphor-ipmi-host \ + phosphor-logging \ + " S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs" SRCREV = "d5ed40999f2d829455afab0999aa54dd8217ad04" -FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}" -FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}" -FILES_${PN}_append = " ${libdir}/net-ipmid/lib*${SOLIBS}" -FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la" +FILES_${PN} += "${libdir}/ipmid-providers" -HOSTIPMI_PROVIDER_LIBRARY += "libblobcmds.so" - -EXTRA_OECONF += "--disable-tests" +EXTRA_OEMESON += " \ + -Dtests=disabled \ + -Dexamples=false \ + " -- cgit v1.2.3 From 73f3227b8128d0aa1a8e467e40c9fe1d6c414e90 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 04:51:39 +0000 Subject: pldm: srcrev bump ea72f240bb..003fe02100 Andrew Jeffery (1): systemd: Remove mctp-demux dependency Tom Joseph (1): requester: Enhance the PLDM requester code Change-Id: I4b52657c9b5c79ded2cae44c716fdada1fec0aad Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index b99d55d61..783c641ca 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "ea72f240bbb734b0faa8f9b29056eca5a163c1de" +SRCREV = "003fe0210093ea89e22bcb20995e444d5503e533" -- cgit v1.2.3 From f5424ad3dc6b2146b561e83bab3a3eda859bc6b2 Mon Sep 17 00:00:00 2001 From: George Hung Date: Mon, 21 Jun 2021 19:24:40 +0800 Subject: meta-quanta: gbs: update the service and remove unused script - Add always restart to the service file ref: https://gerrit.openbmc-project.xyz/42451 - Add retry 10 times when the service failed - remove unused script Signed-off-by: George Hung Change-Id: Ia3b027077d8cc9fae65013d38bf1ea730dbbbe42 --- .../phosphor-virtual-sensor.service.replace | 2 ++ .../sensors/phosphor-virtual-sensor/setMaxMinValue.sh | 15 --------------- 2 files changed, 2 insertions(+), 15 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/setMaxMinValue.sh diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/phosphor-virtual-sensor.service.replace b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/phosphor-virtual-sensor.service.replace index bffb6d154..8e7153fe4 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/phosphor-virtual-sensor.service.replace +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/phosphor-virtual-sensor.service.replace @@ -5,8 +5,10 @@ After=obmc-mapper.target After=mapper-wait@-xyz-openbmc_project-sensors-temperature-inlet.service After=mapper-wait@-xyz-openbmc_project-sensors-temperature-outlet_0.service After=mapper-wait@-xyz-openbmc_project-sensors-temperature-outlet_1.service +StartLimitBurst=10 [Service] +Restart=always ExecStart=/usr/bin/virtual-sensor Type=dbus BusName=xyz.openbmc_project.VirtualSensor diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/setMaxMinValue.sh b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/setMaxMinValue.sh deleted file mode 100644 index 604eafccc..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor/setMaxMinValue.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -serviceName="xyz.openbmc_project.VirtualSensor" -interfaceName="xyz.openbmc_project.Sensor.Value" -objectPath="/xyz/openbmc_project/sensors/temperature/" - -# set MaxValue, MinValue to sensor dbus property -for i in {0..2}; do - sensorPath="${objectPath}i2cool_${i}" - mapper wait $sensorPath - busctl set-property $serviceName $sensorPath $interfaceName MaxValue d 127 - busctl set-property $serviceName $sensorPath $interfaceName MinValue d -- -128 -done - -exit 0 -- cgit v1.2.3 From a27a2f2675482180827748caa8a3d08f5ee726f2 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 05:31:01 +0000 Subject: libmctp: srcrev bump 507ba00dad..d4103f8f55 Andrew Jeffery (1): mctp-demux-daemon: Use systemd socket activation Change-Id: Ied3f26b95370639b564aa7e1214e8d76bbc6074f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 04ede9436..0377994de 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "507ba00dadfa72b1a8e10c399b4fb3f3273c179d" +SRCREV = "d4103f8f55e1f20869809b61be2567c48c817bb2" CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ -- cgit v1.2.3 From c47f673b00e41534c9a53331165305234b495cc6 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 07:31:05 +0000 Subject: pldm: srcrev bump 003fe02100..bc44b7bc1a Tom Joseph (2): libpldm: Enhance decode of GetFirmwareParameters response libpldm: Fix is_string_type_valid Change-Id: I9f7fca4701c8c5e59ba786c9bbd9a589f72352b7 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 783c641ca..8c27069ea 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "003fe0210093ea89e22bcb20995e444d5503e533" +SRCREV = "bc44b7bc1a97aad2e1ad23795c6bde4d347ff766" -- cgit v1.2.3 From cb72191079f9598c4a0f433754f031e70e539256 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 09:30:45 +0000 Subject: phosphor-bmc-code-mgmt: srcrev bump fa79914baa..16aa28a057 Lei YU (3): image_verify: Append .sig instead of replace image_verify: Support other images bios: Update bios_active version after code update Change-Id: Ib0f3a76879a0a5d139d8dadf6c8919dc47f0fc1d Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc index 39d24d9fe..06df71f38 100644 --- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc +++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-bmc-code-mgmt" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-bmc-code-mgmt" -SRCREV = "fa79914baad339e2624c48afddd9d27457ee0913" +SRCREV = "16aa28a057a3d8036ea5a0e963ebb731c3a6ab43" -- cgit v1.2.3 From fddf1c699406c32bc9487ce1507c55e487a84bfc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 10:21:07 +0000 Subject: phosphor-networkd: srcrev bump 3bf1c74e11..bdbbfb628f William A. Kennington III (2): build: Full subproject support build: Move yaml files into a subdirectory Change-Id: I765194d9a027dd025aa9e2228f39328011a367a7 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb index 5c411dff8..df85547f0 100644 --- a/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb +++ b/meta-phosphor/recipes-phosphor/network/phosphor-network_git.bb @@ -11,7 +11,7 @@ inherit python3native inherit systemd SRC_URI += "git://github.com/openbmc/phosphor-networkd" -SRCREV = "3bf1c74e11cef14b7658a0653e5a1571a9ef7620" +SRCREV = "bdbbfb628fad902e3f72e393e6d1f639f8b8c92f" DEPENDS += "systemd" DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" -- cgit v1.2.3 From f6785aa2549c329a5a09a19f33471c717267bf0b Mon Sep 17 00:00:00 2001 From: Tom Joseph Date: Tue, 15 Jun 2021 07:12:34 -0700 Subject: pldm: Add function2 dependency PLDM is adding infrastructure to register callbacks for the PLDM requester code. https://gerrit.openbmc-project.xyz/c/openbmc/pldm/+/43465 function2 is header only and already leveraged in sdeventplus and phosphor-ipmi-flash. function 2 provides move-only fu2::unique_function. Using function2 had an image size increase of 4K for PLDM daemon with build-type minsize. Signed-off-by: Tom Joseph Change-Id: I427219b51cee7b29b7e62cc77d597143f21fcda0 --- meta-phosphor/recipes-phosphor/pldm/pldm_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb b/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb index 1c07ad59d..44e42fbdb 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb +++ b/meta-phosphor/recipes-phosphor/pldm/pldm_git.bb @@ -8,6 +8,7 @@ inherit systemd require pldm.inc +DEPENDS += "function2" DEPENDS += "systemd" DEPENDS += "sdeventplus" DEPENDS += "phosphor-dbus-interfaces" -- cgit v1.2.3 From 562f9f679553983308ac3ac93ddb2ece1b5434c2 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 12:51:00 +0000 Subject: libmctp: srcrev bump d4103f8f55..34d4c96fcf Sumanth Bhat (3): core: Handle MCTP fragment sizes core: Handle arithmetic overflow in adding new fragments core: Handle exhaution of message contexts Change-Id: I4de4012ca4a621ff9068c2b7eab13cc0ccf3173f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 0377994de..5ad5ea3a7 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "d4103f8f55e1f20869809b61be2567c48c817bb2" +SRCREV = "34d4c96fcf9691e060d8a7f56633bf196c82a52f" CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ -- cgit v1.2.3 From 1d4d572a425de98e99811bd4f549eda9ba5168e0 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 19:50:57 +0000 Subject: bmcweb: srcrev bump 0256b69420..2205bbf681 Albert Zhang (1): Redfish: Allow disabling and enabling SSH Ed Tanous (1): Fix include what you use in bmcweb_config.h Vivekanand Veeracholan (1): Add option to configure port number Change-Id: I67b54d75b9293058e6a9a69a7316f8880181a172 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 81e18b43c..42c7c4aa9 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "0256b69420e2b99eb0494334da71dd50f457a8e8" +SRCREV = "2205bbf681bfac508a9e985b9581ce9d662db4df" S = "${WORKDIR}/git" -- cgit v1.2.3 From 165b814d43704f8b1a1f75a5e7fed4f1fe491584 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 21 Jun 2021 08:10:27 +0000 Subject: openpower-vpd-parser: srcrev bump 3aec478741..b0f3749d79 Santosh Puranik (1): Populate both location codes when priming Change-Id: Ifaa1f7aaa84795e9379381bc5b0ee30fa1c730fe Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc index e0cd0bdd3..d8499cffe 100644 --- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc +++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-vpd-parser" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-vpd-parser" -SRCREV = "3aec47874136b3eb46fce0feb3038f19fa46b79d" +SRCREV = "b0f3749d793ff1e11310ca5b729274afbbd85241" -- cgit v1.2.3 From 6694f726c484daa08417dab3a698839fcde9c1eb Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 01:20:26 +0000 Subject: openpower-occ-control: srcrev bump 4c1079e71a..139015974f George Liu (4): Remove redundant code Refactor D-Bus object Add occ-dbus object Verify the value of the tempX_label file Change-Id: I6c646fe666ec296bdb109f38781531cdb3186fbf Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc index cd31b488c..d14e53f9b 100644 --- a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc +++ b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-occ-control" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-occ-control" -SRCREV = "4c1079e71ae3ecbce8a9ddc33ee4e7d623d66568" +SRCREV = "139015974f93b56cdde7cbc151ecb0f2a5522ec1" -- cgit v1.2.3 From 7793822d9f3447c34b429a6c45f4c8d06b16c01d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 17:41:21 +0000 Subject: phosphor-logging: srcrev bump d354a39835..d5c31366e9 Harisuddin Mohamed Isa (2): peltool: Fixed output for SRC parser peltool: Fix Python C Extension for UD parsing Matt Spinler (1): PEL: Use ordered_json parse on plugin data Change-Id: If1d798a86595f5548c90da14229d0a70dccfe6f4 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 8417b3916..f421d24b6 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "d354a39835bc855d53aab9f87e9cb5c089a07f0f" +SRCREV = "d5c31366e911ecb3fa3e0791503402c3c886c5a0" S = "${WORKDIR}/git" -- cgit v1.2.3 From 0bb2e81d0a3adbd0fbca1a5baa9483bf8ee79465 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 14:51:08 +0000 Subject: pldm: srcrev bump bc44b7bc1a..9ea56f6260 Christian Geddes (1): Update lid id for HCODE_LID and make HBD writeable in fileTable json Change-Id: Iff63d0c023d38ce73490fe0d0c23c2833f7c9d25 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 8c27069ea..090292243 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "bc44b7bc1a97aad2e1ad23795c6bde4d347ff766" +SRCREV = "9ea56f6260e5e41e3e3d259d34cb118793fe9ae4" -- cgit v1.2.3 From 6d822f2153526c7198ff558d5faea9828ec883f6 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 15:01:22 +0000 Subject: webui-vue: srcrev bump 3f9cfa2c24..42a270eac2 Maciej Magdziarz (1): Firmware: Remove .tar references Change-Id: I3fe61189fa0e0eb6005a04cd0151e346817fbbe0 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index 546c39ae4..7c9543686 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "3f9cfa2c2491cc060ea57787660e918e4a7ee7e5" +SRCREV = "42a270eac2f9f44fd558594b7ca7251c8dc42897" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native nlf-native " -- cgit v1.2.3 From 3df543e6cfca853e3a0678036308beac0340687c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 17:10:39 +0000 Subject: entity-manager: srcrev bump 7d53601257..395c6d4539 Jonathan Doman (1): Require all probe interface properties to match Change-Id: I0ea697b274e5fa5cd143f58aa4784614be7f33b5 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index 09bf3c34e..e31cc2dd6 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" -SRCREV = "7d53601257a823fff1a5374864f5d72978cb08fa" +SRCREV = "395c6d45395f5ebee1e4c44b300683ba89a8e1fd" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" -- cgit v1.2.3 From 764aa838527ea7bf76402965755532461ef714d0 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 16:01:06 +0000 Subject: phosphor-ipmi-flash: srcrev bump f450486f23..0077e34cfa Patrik Tesarik (1): Fix hyperlink typo in README.md Change-Id: Ie8445f1d6f037c5bef34566c3810d20758c49e93 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb index bb6ae0e6e..ce73cb06d 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb @@ -48,7 +48,7 @@ EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}" S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash" -SRCREV = "f450486f238d6402b3ff9680ff50d2987b4f2d3d" +SRCREV = "0077e34cfaca539f750014aa63ff491dca70ee1d" SYSTEMD_PACKAGES = "${PN}" SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \ -- cgit v1.2.3 From 57e3dafd8350c15498f8437280470243fdc22173 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 18:41:42 +0000 Subject: peci-pcie: srcrev bump 1e17d33ee7..3b1665a3d2 Jason M. Bills (2): Add option to use OS state for PCIe scan timing Add option to use RdEndpointConfig for PCIe reads Change-Id: I3031947dbb7880eb5d9b40c578f39d64a7d454a8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb index faa611c58..7ffaa4a60 100644 --- a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb +++ b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb @@ -11,7 +11,7 @@ SRC_URI = "git://github.com/openbmc/peci-pcie" DEPENDS = "boost sdbusplus libpeci" PV = "0.1+git${SRCPV}" -SRCREV = "1e17d33ee7670e60f573b2276a55551d53e71f90" +SRCREV = "3b1665a3d242bb63a3f94b6170fa2bfe6de4f255" S = "${WORKDIR}/git" -- cgit v1.2.3 From acc6b555cf27cbca64e82fe2a26801644cb21e7b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 19:30:35 +0000 Subject: stdplus: srcrev bump 20cab0c5e3..5c20da2d7e William A. Kennington III (1): io_uring: Add basic wrapper Change-Id: I7564cbb3ec7e41ffc6089a96e5a920377a0c46cb Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-extended/stdplus/stdplus_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb index a283c1ab5..2ac945008 100644 --- a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb +++ b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb @@ -17,6 +17,6 @@ EXTRA_OEMESON = " \ " SRC_URI += "git://github.com/openbmc/stdplus" -SRCREV = "20cab0c5e3a54b872d1a5736349fffa58ed71f9b" +SRCREV = "5c20da2d7e5d35ee7454109c72a32c5114acb2d0" S = "${WORKDIR}/git" -- cgit v1.2.3 From 4e099bb51f7aec3bfd68fc36766741ec46014f5b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 22 Jun 2021 14:21:04 -0700 Subject: stdplus: Add liburing dependency This is needed to build optional uring support. Change-Id: I114045f7db1eab955bebfa1479d60587386e88d0 Signed-off-by: William A. Kennington III --- meta-phosphor/recipes-extended/stdplus/stdplus_git.bb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb index 2ac945008..71bf70a3a 100644 --- a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb +++ b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb @@ -8,8 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" inherit meson pkgconfig -DEPENDS += "fmt" -DEPENDS += "span-lite" +DEPENDS += " \ + fmt \ + liburing \ + span-lite \ + " EXTRA_OEMESON = " \ -Dexamples=false \ -- cgit v1.2.3 From 1ccbb2e486aaba70a20a2e8d379c1cf0d9249299 Mon Sep 17 00:00:00 2001 From: "Thang Q. Nguyen" Date: Tue, 22 Jun 2021 03:29:32 +0000 Subject: meta-ampere: mtjade: remove dummy sensor threshold It is no longer to require all LC, UC, LNC and UNC threshold to make sensor threshold applied. This commit removes all dummy threshold added before. Tested: 1. Enter WebUI -> Health -> Sensors and check threshold for all sensors. Signed-off-by: Thang Q. Nguyen Change-Id: Ib0b5c87d21eb40ac56bffe222f997ce5605be108 --- .../apb/bus@1e78a000/i2c-bus@100/tmp175@28.conf | 2 - .../apb/bus@1e78a000/i2c-bus@100/tmp175@29.conf | 2 - .../apb/bus@1e78a000/i2c-bus@100/tmp175@2a.conf | 2 - .../apb/bus@1e78a000/i2c-bus@100/tmp175@2b.conf | 2 - .../apb/bus@1e78a000/i2c-bus@100/tmp175@2c.conf | 2 - .../apb/bus@1e78a000/i2c-bus@100/tmp175@2d.conf | 2 - .../ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@58.conf | 16 +++--- .../ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@59.conf | 16 +++--- .../ahb/apb/pwm-tacho-controller@1e786000.conf | 24 -------- .../obmc/mtjade/hwmon/iio-hwmon-adc14.conf | 2 - .../obmc/mtjade/hwmon/iio-hwmon-battery.conf | 2 - .../obmc/mtjade/hwmon/iio-hwmon.conf | 64 ++-------------------- 12 files changed, 22 insertions(+), 114 deletions(-) diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@28.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@28.conf index 2ea76ae96..5d1ed0944 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@28.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@28.conf @@ -1,5 +1,3 @@ LABEL_temp1=TS1_Temp CRITHI_temp1=50000 CRITLO_temp1=1000 -WARNHI_temp1=48000 -WARNLO_temp1=3000 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@29.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@29.conf index 186ae09d7..2429d8e14 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@29.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@29.conf @@ -1,5 +1,3 @@ LABEL_temp1=TS2_Temp CRITHI_temp1=50000 CRITLO_temp1=1000 -WARNHI_temp1=48000 -WARNLO_temp1=3000 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2a.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2a.conf index f87872b84..60d2783ae 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2a.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2a.conf @@ -1,5 +1,3 @@ LABEL_temp1=TS3_Temp CRITHI_temp1=50000 CRITLO_temp1=1000 -WARNHI_temp1=48000 -WARNLO_temp1=3000 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2b.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2b.conf index a2229ece9..9b7987400 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2b.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2b.conf @@ -1,5 +1,3 @@ LABEL_temp1=TS4_Temp CRITHI_temp1=50000 CRITLO_temp1=1000 -WARNHI_temp1=48000 -WARNLO_temp1=3000 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2c.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2c.conf index 4cd5b1bfc..c9fc00c05 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2c.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2c.conf @@ -1,5 +1,3 @@ LABEL_temp1=TS5_Temp CRITHI_temp1=50000 CRITLO_temp1=1000 -WARNHI_temp1=48000 -WARNLO_temp1=3000 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2d.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2d.conf index 6f72d2a21..6c71eca5d 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2d.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/tmp175@2d.conf @@ -1,5 +1,3 @@ LABEL_temp1=TS6_Temp CRITHI_temp1=50000 CRITLO_temp1=1000 -WARNHI_temp1=48000 -WARNLO_temp1=3000 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@58.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@58.conf index a1ff27801..944085d4d 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@58.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@58.conf @@ -1,15 +1,17 @@ LABEL_temp1= "PSU0_TEMP" CRITHI_temp1=64000 -CRITLO_temp1=1000 -WARNHI_temp1=62000 -WARNLO_temp1=3000 -LABEL_power2= "PSU0_POUT" +LABEL_power2= "PSU0_POUTPUT" LABEL_fan1="PSU0_fan1" CRITHI_fan1=20300 -CRITLO_fan1=500 -WARNHI_fan1=19300 -WARNLO_fan1=600 + +LABEL_in1= "PSU0_VINPUT" +LABEL_in2= "PSU0_VOUTPUT" + +LABEL_curr1= "PSU0_IINPUT" +LABEL_curr2= "PSU0_IOUTPUT" + +LABEL_power1= "PSU0_PINPUT" INTERVAL=10000000 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@59.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@59.conf index f1e722241..15b965551 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@59.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/bus@1e78a000/i2c-bus@1c0/psu@59.conf @@ -1,15 +1,17 @@ LABEL_temp1 = "PSU1_TEMP" CRITHI_temp1=64000 -CRITLO_temp1=1000 -WARNHI_temp1=62000 -WARNLO_temp1=3000 -LABEL_power2 = "PSU1_POUT" +LABEL_power2 = "PSU1_POUTPUT" LABEL_fan1 = "PSU1_fan1" CRITHI_fan1=20300 -CRITLO_fan1=500 -WARNHI_fan1=19300 -WARNLO_fan1=600 + +LABEL_in1= "PSU1_VINPUT" +LABEL_in2= "PSU1_VOUTPUT" + +LABEL_curr1= "PSU1_IINPUT" +LABEL_curr2= "PSU1_IOUTPUT" + +LABEL_power1 = "PSU1_PINPUT" INTERVAL=10000000 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf index 6448c37c5..b14392bea 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf @@ -1,74 +1,50 @@ LABEL_fan5 = "FAN3_1" CRITLO_fan5=500 CRITHI_fan5=23100 -WARNLO_fan5=1600 -WARNHI_fan5=22000 LABEL_fan6 = "FAN3_2" CRITLO_fan6=500 CRITHI_fan6=23100 -WARNLO_fan6=1600 -WARNHI_fan6=22000 LABEL_fan7 = "FAN4_1" CRITLO_fan7=500 CRITHI_fan7=23100 -WARNLO_fan7=1600 -WARNHI_fan7=22000 LABEL_fan8 = "FAN4_2" CRITLO_fan8=500 CRITHI_fan8=23100 -WARNLO_fan8=1600 -WARNHI_fan8=22000 LABEL_fan9 = "FAN5_1" CRITLO_fan9=500 CRITHI_fan9=23100 -WARNLO_fan9=1600 -WARNHI_fan9=22000 LABEL_fan10 = "FAN5_2" CRITLO_fan10=500 CRITHI_fan10=23100 -WARNLO_fan10=1600 -WARNHI_fan10=22000 LABEL_fan11 = "FAN6_1" CRITLO_fan11=500 CRITHI_fan11=23100 -WARNLO_fan11=1600 -WARNHI_fan11=22000 LABEL_fan12 = "FAN6_2" CRITLO_fan12=500 CRITHI_fan12=23100 -WARNLO_fan12=1600 -WARNHI_fan12=22000 LABEL_fan13 = "FAN7_1" CRITLO_fan13=500 CRITHI_fan13=23100 -WARNLO_fan13=1600 -WARNHI_fan13=22000 LABEL_fan14 = "FAN7_2" CRITLO_fan14=500 CRITHI_fan14=23100 -WARNLO_fan14=1600 -WARNHI_fan14=22000 LABEL_fan15 = "FAN8_1" CRITLO_fan15=500 CRITHI_fan15=23100 -WARNLO_fan15=1600 -WARNHI_fan15=22000 LABEL_fan16 = "FAN8_2" CRITLO_fan16=500 CRITHI_fan16=23100 -WARNLO_fan16=1600 -WARNHI_fan16=22000 PWM_TARGET_fan5 = "3" PWM_TARGET_fan6 = "3" diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-adc14.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-adc14.conf index d144cfd28..a5c5c2a45 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-adc14.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-adc14.conf @@ -2,5 +2,3 @@ LABEL_in1=3V3_SB GAIN_in1=3 CRITHI_in1=3960 CRITLO_in1=2320 -WARNHI_in1=3920 -WARNLO_in1=2360 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-battery.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-battery.conf index 50a45e3b4..3cc58229d 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-battery.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon-battery.conf @@ -2,8 +2,6 @@ LABEL_in1=VBAT_RTC GAIN_in1=3 CRITHI_in1=3564 CRITLO_in1=2106 -WARNHI_in1=3528 -WARNLO_in1=2142 # GPIOS4 needs to be pulled high for battery voltage reading GPIOCHIP_in1=0 diff --git a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon.conf b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon.conf index 46b975d7c..4e46123ae 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon.conf +++ b/meta-ampere/meta-jade/recipes-phosphor/sensors/phosphor-hwmon/obmc/mtjade/hwmon/iio-hwmon.conf @@ -1,179 +1,123 @@ LABEL_in1=S0_0V8_VDDC_SOC CRITHI_in1=960 CRITLO_in1=560 -WARNHI_in1=950 -WARNLO_in1=570 LABEL_in2=S1_0V8_VDDC_SOC CRITHI_in2=960 CRITLO_in2=560 -WARNHI_in2=950 -WARNLO_in2=570 LABEL_in3=S0_0V75_PCP CRITHI_in3=1323 CRITLO_in3=504 -WARNHI_in3=1295 -WARNLO_in3=532 LABEL_in4=S1_0V75_PCP CRITHI_in4=1323 CRITLO_in4=504 -WARNHI_in4=1295 -WARNLO_in4=532 LABEL_in5=S0_1V2_VDDQ0123 CRITHI_in5=1442 CRITLO_in5=840 -WARNHI_in5=1330 -WARNLO_in5=854 LABEL_in6=S1_1V2_VDDQ0123 CRITHI_in6=1442 CRITLO_in6=840 -WARNHI_in6=1330 -WARNLO_in6=854 LABEL_in7=S0_0V6_VTT0123 CRITHI_in7=720 CRITLO_in7=420 -WARNHI_in7=712 -WARNLO_in7=428 LABEL_in8=S1_0V6_VTT0123 CRITHI_in8=720 CRITLO_in8=420 -WARNHI_in8=648 -WARNLO_in8=460 LABEL_in9=S0_2V5_VPP0123 GAIN_in9=2 CRITHI_in9=3000 CRITLO_in9=1755 -WARNHI_in9=2970 -WARNLO_in9=1785 LABEL_in10=S1_2V5_VPP0123 GAIN_in10=2 CRITHI_in10=3000 CRITLO_in10=1755 -WARNHI_in10=2970 -WARNLO_in10=1785 LABEL_in11=S0_1V2_VDDQ4567 CRITHI_in11=1442 CRITLO_in11=840 -WARNHI_in11=1330 -WARNLO_in11=854 LABEL_in12=S1_1V2_VDDQ4567 CRITHI_in12=1442 CRITLO_in12=840 -WARNHI_in12=1330 -WARNLO_in12=854 LABEL_in13=S0_0V6_VTT4567 CRITHI_in13=720 CRITLO_in13=420 -WARNHI_in13=712 -WARNLO_in13=428 LABEL_in14=S1_0V6_VTT4567 CRITHI_in14=720 CRITLO_in14=420 -WARNHI_in14=712 -WARNLO_in14=428 LABEL_in15=S0_2V5_VPP4567 GAIN_in15=2 CRITHI_in15=3000 CRITLO_in15=1755 -WARNHI_in15=2970 -WARNLO_in15=1785 LABEL_in16=S1_2V5_VPP4567 GAIN_in16=2 CRITHI_in16=3000 CRITLO_in16=1755 -WARNHI_in16=2970 -WARNLO_in16=1785 LABEL_in17=S0_0V85_RCA -CRITHI_in17=1020 -CRITLO_in17=595 -WARNHI_in17=1005 -WARNLO_in17=610 +CRITHI_in17=1080 +CRITLO_in17=630 LABEL_in18=S1_0V85_RCA -CRITHI_in18=1020 -CRITLO_in18=595 -WARNHI_in18=1005 -WARNLO_in18=610 +CRITHI_in18=1080 +CRITLO_in18=630 LABEL_in19=S0_1V8_VDDH GAIN_in19=2 CRITHI_in19=2156 CRITLO_in19=1265 -WARNHI_in19=2134 -WARNLO_in19=1287 LABEL_in20=S1_1V8_VDDH GAIN_in20=2 CRITHI_in20=2156 CRITLO_in20=1265 -WARNHI_in20=2134 -WARNLO_in20=1287 LABEL_in21=S0_1V5_VDDH CRITHI_in21=1800 CRITLO_in21=1053 -WARNHI_in21=1782 -WARNLO_in21=1071 LABEL_in22=S1_1V5_VDDH CRITHI_in22=1800 CRITLO_in22=1053 -WARNHI_in22=1782 -WARNLO_in22=1071 LABEL_in23=S0_1V8_SOC GAIN_in23=2 CRITHI_in23=2156 CRITLO_in23=1265 -WARNHI_in23=2134 -WARNLO_in23=1287 LABEL_in24=S1_1V8_SOC GAIN_in24=2 CRITHI_in24=2156 CRITLO_in24=1265 -WARNHI_in24=2134 -WARNLO_in24=1287 LABEL_in25=S0_1V8_PCP GAIN_in25=2 CRITHI_in25=2156 CRITLO_in25=1265 -WARNHI_in25=2134 -WARNLO_in25=1287 LABEL_in26=S1_1V8_PCP GAIN_in26=2 CRITHI_in26=2156 CRITLO_in26=1265 -WARNHI_in26=2134 -WARNLO_in26=1287 LABEL_in27=S0_3V3_SOC GAIN_in27=3 CRITHI_in27=3960 CRITLO_in27=2320 -WARNHI_in27=3920 -WARNLO_in27=2360 LABEL_in28=S1_3V3_SOC GAIN_in28=3 CRITHI_in28=3960 CRITLO_in28=2320 -WARNHI_in28=3920 -WARNLO_in28=2360 -- cgit v1.2.3 From 40288b51de6e9d9fcbb04e8539fae2a1fff8a656 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 3 Jun 2021 17:13:59 +0800 Subject: meta-quanta: gbs: remove kernel patches removed patches: - AMD CPU temperature hwmon driver - seven segment display drivers - adm1275 temperature sensors enable patch Signed-off-by: George Hung Change-Id: Ic3f566ee4d39d954fc2cbcc12e4b5b970f645733 --- ...-meta-gbs-Enable-adm1272-ADM1272_TEMP1_EN.patch | 45 ---- ...0004-Add-kernel-seven-seg-display-support.patch | 10 - ...c-Character-device-driver-for-seven-segme.patch | 293 --------------------- ...c-Platform-driver-for-seven-segment-displ.patch | 267 ------------------- .../recipes-kernel/linux/linux-nuvoton_%.bbappend | 4 - 5 files changed, 619 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0001-meta-gbs-Enable-adm1272-ADM1272_TEMP1_EN.patch delete mode 100644 meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-Add-kernel-seven-seg-display-support.patch delete mode 100644 meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-ben-drivers-misc-Character-device-driver-for-seven-segme.patch delete mode 100644 meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-ben-drivers-misc-Platform-driver-for-seven-segment-displ.patch diff --git a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0001-meta-gbs-Enable-adm1272-ADM1272_TEMP1_EN.patch b/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0001-meta-gbs-Enable-adm1272-ADM1272_TEMP1_EN.patch deleted file mode 100644 index 1cfd330ab..000000000 --- a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0001-meta-gbs-Enable-adm1272-ADM1272_TEMP1_EN.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 8e211c8bc64521d772c4389219889a240b40307b Mon Sep 17 00:00:00 2001 -From: Charles -Date: Fri, 14 Aug 2020 18:06:22 +0800 -Subject: [PATCH] meta-gis: Enable adm1272 ADM1272_TEMP1_EN - ---- - drivers/hwmon/pmbus/adm1275.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/drivers/hwmon/pmbus/adm1275.c b/drivers/hwmon/pmbus/adm1275.c -index 5caa37fbfc18..550b9a8388f6 100644 ---- a/drivers/hwmon/pmbus/adm1275.c -+++ b/drivers/hwmon/pmbus/adm1275.c -@@ -595,11 +595,13 @@ static int adm1275_probe(struct i2c_client *client, - tindex = 8; - - info->func[0] |= PMBUS_HAVE_PIN | PMBUS_HAVE_STATUS_INPUT | -- PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT; -+ PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT | -+ PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; - -- /* Enable VOUT if not enabled (it is disabled by default) */ -- if (!(config & ADM1278_VOUT_EN)) { -- config |= ADM1278_VOUT_EN; -+ -+ /* Enable VOUT & TEMP1 if not enabled (it is disabled by default) */ -+ if ((config & (ADM1278_VOUT_EN | ADM1278_TEMP1_EN)) != (ADM1278_VOUT_EN | ADM1278_TEMP1_EN)) { -+ config |= ADM1278_VOUT_EN | ADM1278_TEMP1_EN; - ret = i2c_smbus_write_byte_data(client, - ADM1275_PMON_CONFIG, - config); -@@ -610,9 +612,7 @@ static int adm1275_probe(struct i2c_client *client, - } - } - -- if (config & ADM1278_TEMP1_EN) -- info->func[0] |= -- PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; -+ - if (config & ADM1278_VIN_EN) - info->func[0] |= PMBUS_HAVE_VIN; - break; --- -2.25.1 - diff --git a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-Add-kernel-seven-seg-display-support.patch b/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-Add-kernel-seven-seg-display-support.patch deleted file mode 100644 index a21707d8a..000000000 --- a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-Add-kernel-seven-seg-display-support.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index b9e6d4c3e906..aa7ce9d72d2c 100644 ---- a/drivers/misc/Makefile -+++ b/drivers/misc/Makefile -@@ -59,3 +59,5 @@ obj-$(CONFIG_HABANA_AI) += habanalabs/ - obj-$(CONFIG_XILINX_SDFEC) += xilinx_sdfec.o - obj-$(CONFIG_NPCM7XX_LPC_BPC) += npcm7xx-lpc-bpc.o - obj-$(CONFIG_NPCM7XX_PCI_MBOX) += npcm7xx-pci-mbox.o -+obj-$(CONFIG_SEVEN_SEGMENT_DISPLAY) += seven_seg_disp.o -+obj-$(CONFIG_SEVEN_SEGMENT_GPIO) += seven_seg_gpio.o diff --git a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-ben-drivers-misc-Character-device-driver-for-seven-segme.patch b/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-ben-drivers-misc-Character-device-driver-for-seven-segme.patch deleted file mode 100644 index 8ae624a51..000000000 --- a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-ben-drivers-misc-Character-device-driver-for-seven-segme.patch +++ /dev/null @@ -1,293 +0,0 @@ -From 2d46e81d9bbb624695bac8400a4ac41b7f116ec4 Mon Sep 17 00:00:00 2001 -From: Jaghathiswari Rankappagounder Natarajan -Date: Fri, 27 Jul 2018 12:34:54 -0700 -Subject: [PATCH 2/3] drivers: misc: Character device driver for seven segment - display - -Character device driver which implements the user-space -API for letting a user write to two 7-segment displays including -any conversion methods necessary to map the user input -to two 7-segment displays. - -Signed-off-by: Jaghathiswari Rankappagounder Natarajan -Signed-off-by: Kun Yi -Signed-off-by: Benjamin Fair ---- - drivers/misc/Kconfig | 8 ++ - drivers/misc/Makefile | 1 + - drivers/misc/seven_seg_disp.c | 201 ++++++++++++++++++++++++++++++++++ - drivers/misc/seven_seg_disp.h | 34 ++++++ - 4 files changed, 244 insertions(+) - create mode 100644 drivers/misc/seven_seg_disp.c - create mode 100644 drivers/misc/seven_seg_disp.h - -diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 9d96469fb41c..d443de886346 100644 ---- a/drivers/misc/Kconfig -+++ b/drivers/misc/Kconfig -@@ -473,6 +473,14 @@ config VEXPRESS_SYSCFG - bus. System Configuration interface is one of the possible means - of generating transactions on this bus. - -+config SEVEN_SEGMENT_DISPLAY -+ tristate "Character driver for seven segment display support" -+ help -+ Character device driver which implements the user-space -+ API for letting a user write to two 7-segment displays including -+ any conversion methods necessary to map the user input -+ to two 7-segment displays. -+ - config PCI_ENDPOINT_TEST - depends on PCI - select CRC32 - -diff --git a/drivers/misc/seven_seg_disp.c b/drivers/misc/seven_seg_disp.c -new file mode 100644 -index 000000000000..db1c571f68e5 ---- /dev/null -+++ b/drivers/misc/seven_seg_disp.c -@@ -0,0 +1,201 @@ -+/* -+ * Copyright (c) 2016 Google, Inc -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 or later as -+ * published by the Free Software Foundation. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "seven_seg_disp.h" -+ -+#define LED_DOT 0x01 -+ -+/* -+ * 0 1 2 3 4 5 6 7 8 9 A B C D E F -+ * _ _ _ _ _ _ _ _ _ _ _ _ -+ * | | | _| _| |_| |_ |_ | |_| |_| |_| |_ | _| |_ |_ -+ * |_| | |_ _| | _| |_| | |_| | | | |_| |_ |_| |_ | -+ * -+ * data[7:1] = led[a:g] -+ */ -+const u8 seven_seg_bits[] = { -+ 0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, -+ 0xFE, 0xF6, 0xEE, 0x3E, 0x9C, 0x7A, 0x9E, 0x8E -+ }; -+ -+/* -+ * 0 1 2 3 4 5 6 7 8 9 A B C D E F -+ * _ _ _ _ _ -+ * | |_ |_| |_ _ _ _ _ _ _ _ |_ _| _| | | -+ * |_ |_ | | _| |_| |_| | | -+ * -+ * data[7:1] = led[a:g] -+ */ -+const u8 special_seven_seg_bits[] = { -+ 0x00, 0x9C, 0x1E, 0xCE, 0x8E, 0x02, 0x02, 0x02, -+ 0x02, 0x02, 0x02, 0x02, 0xB6, 0x7A, 0x7A, 0xEC -+ }; -+ -+static dev_t seven_seg_devno; -+static struct class *seven_seg_disp_class; -+ -+static int seven_seg_disp_open(struct inode *inode, struct file *filp) -+{ -+ struct seven_seg_disp_dev *disp_dev; -+ -+ disp_dev = container_of(inode->i_cdev, -+ struct seven_seg_disp_dev, cdev); -+ filp->private_data = disp_dev; -+ return 0; -+} -+ -+static int seven_seg_disp_close(struct inode *inode, struct file *filp) -+{ -+ filp->private_data = NULL; -+ return 0; -+} -+ -+static ssize_t seven_seg_disp_read(struct file *filp, char __user *buf, size_t -+ len, loff_t *off) -+{ -+ struct seven_seg_disp_dev *disp_dev = filp->private_data; -+ -+ if (disp_dev->disp_data_valid) -+ return -EINVAL; -+ -+ if (copy_to_user(buf, disp_dev->seven_seg_disp_data_array, -+ MAX_DISP_CHAR_SIZE) != 0) { -+ return -EFAULT; -+ } -+ -+ return 0; -+} -+ -+static u16 convert_to_disp_data(char *buf) -+{ -+ u8 low_display; -+ u8 high_display; -+ u16 led_value; -+ -+ low_display = seven_seg_bits[hex_to_bin(buf[2])]; -+ -+ high_display = (buf[0] == '1') ? -+ special_seven_seg_bits[hex_to_bin(buf[1])] : -+ seven_seg_bits[hex_to_bin(buf[1])]; -+ -+ led_value = low_display | (high_display << 8); -+ if (buf[0] == '1') -+ led_value |= LED_DOT | (LED_DOT << 8); -+ -+ return led_value; -+} -+ -+static ssize_t seven_seg_disp_write(struct file *filp, const char __user *buf, -+ size_t len, loff_t *off) -+{ -+ int length = len - 1; -+ int i; -+ -+ struct seven_seg_disp_dev *disp_dev = filp->private_data; -+ -+ if (length != MAX_DISP_CHAR_SIZE) -+ return -EINVAL; -+ -+ if (copy_from_user(disp_dev->seven_seg_disp_data_array, -+ buf, length) != 0) { -+ return -EFAULT; -+ } -+ -+ for (i = 0; i < MAX_DISP_CHAR_SIZE; i++) { -+ if (!isxdigit(disp_dev->seven_seg_disp_data_array[i])) -+ return -EINVAL; -+ } -+ -+ disp_dev->current_seven_seg_disp_data = convert_to_disp_data( -+ disp_dev->seven_seg_disp_data_array); -+ disp_dev->disp_data_valid = true; -+ disp_dev->update_seven_seg_data(&disp_dev->parent, -+ disp_dev->current_seven_seg_disp_data); -+ -+ return len; -+} -+ -+static const struct file_operations seven_seg_disp_fops = { -+ -+ .owner = THIS_MODULE, -+ .open = seven_seg_disp_open, -+ .release = seven_seg_disp_close, -+ .read = seven_seg_disp_read, -+ .write = seven_seg_disp_write -+}; -+ -+void seven_seg_rem_cdev(struct seven_seg_disp_dev *disp_dev) -+{ -+ cdev_del(&disp_dev->cdev); -+ device_destroy(seven_seg_disp_class, seven_seg_devno); -+} -+ -+int seven_seg_setup_cdev(struct seven_seg_disp_dev *disp_dev, -+ void (*update_disp_data)(struct device *, u16 data)) -+{ -+ struct device *dev; -+ int err; -+ -+ dev = device_create(seven_seg_disp_class, NULL, -+ seven_seg_devno, -+ NULL, "seven_seg_disp_val"); -+ if (dev == NULL) -+ return -EIO; -+ disp_dev->dev = dev; -+ disp_dev->update_seven_seg_data = update_disp_data; -+ disp_dev->disp_data_valid = false; -+ -+ cdev_init(&disp_dev->cdev, &seven_seg_disp_fops); -+ err = cdev_add(&disp_dev->cdev, seven_seg_devno, 1); -+ if (err) -+ device_destroy(seven_seg_disp_class, seven_seg_devno); -+ return err; -+} -+ -+static int __init seven_seg_disp_init(void) -+{ -+ int err = alloc_chrdev_region(&seven_seg_devno, 0, 1, "disp_state"); -+ -+ if (err < 0) -+ return err; -+ -+ seven_seg_disp_class = class_create(THIS_MODULE, "disp_state"); -+ if (seven_seg_disp_class == NULL) -+ goto unreg_chrdev; -+ -+ return 0; -+ -+unreg_chrdev: -+ unregister_chrdev_region(seven_seg_devno, 1); -+ return -EIO; -+} -+ -+static void __exit seven_seg_disp_exit(void) -+{ -+ class_destroy(seven_seg_disp_class); -+ unregister_chrdev_region(seven_seg_devno, 1); -+} -+ -+module_init(seven_seg_disp_init); -+module_exit(seven_seg_disp_exit); -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Jaghathiswari Rankappagounder Natarajan "); -+MODULE_DESCRIPTION("Seven segment display character driver"); -diff --git a/drivers/misc/seven_seg_disp.h b/drivers/misc/seven_seg_disp.h -new file mode 100644 -index 000000000000..0ebed0802747 ---- /dev/null -+++ b/drivers/misc/seven_seg_disp.h -@@ -0,0 +1,34 @@ -+/* -+ * Copyright (c) 2016 Google, Inc -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 or later as -+ * published by the Free Software Foundation. -+ */ -+ -+#ifndef SEVEN_SEG_DISP_H -+#define SEVEN_SEG_DISP_H -+ -+#include -+#include -+ -+#define MAX_DISP_CHAR_SIZE 3 -+ -+#define DEFAULT_REFRESH_INTERVAL_MS 600 -+ -+struct seven_seg_disp_dev { -+ bool disp_data_valid; -+ u16 current_seven_seg_disp_data; -+ char seven_seg_disp_data_array[MAX_DISP_CHAR_SIZE]; -+ struct device parent; -+ struct device *dev; -+ struct cdev cdev; -+ void (*update_seven_seg_data)(struct device *, u16 data); -+}; -+ -+int seven_seg_setup_cdev(struct seven_seg_disp_dev *disp_dev, -+ void (*update_disp_data)(struct device *, u16 data)); -+ -+void seven_seg_rem_cdev(struct seven_seg_disp_dev *disp_dev); -+ -+#endif --- -2.22.0.770.g0f2c4a37fd-goog - diff --git a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-ben-drivers-misc-Platform-driver-for-seven-segment-displ.patch b/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-ben-drivers-misc-Platform-driver-for-seven-segment-displ.patch deleted file mode 100644 index b166c78b8..000000000 --- a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton/0004-ben-drivers-misc-Platform-driver-for-seven-segment-displ.patch +++ /dev/null @@ -1,267 +0,0 @@ -From ea3e732d2c4a609e621346a96d37713820640196 Mon Sep 17 00:00:00 2001 -From: Jaghathiswari Rankappagounder Natarajan -Date: Fri, 27 Jul 2018 12:36:24 -0700 -Subject: [PATCH 3/3] drivers: misc: Platform driver for seven segment display - support - -Platform device driver which provides an API for displaying on two -7-segment displays, and implements the required bit-banging. -The hardware assumed is 74HC164 wired to two 7-segment displays. - -Signed-off-by: Jaghathiswari Rankappagounder Natarajan -Signed-off-by: Kun Yi -Signed-off-by: Benjamin Fair ---- - drivers/misc/Kconfig | 8 ++ -# drivers/misc/Makefile | 2 ++ - drivers/misc/seven_seg_gpio.c | 205 ++++++++++++++++++++++++++++++++++ - 3 files changed, 215 insertions(+) - create mode 100644 drivers/misc/seven_seg_gpio.c - -diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index d443de886346..e10984e3288f 100644 ---- a/drivers/misc/Kconfig -+++ b/drivers/misc/Kconfig -@@ -481,6 +481,14 @@ config SEVEN_SEGMENT_DISPLAY - any conversion methods necessary to map the user input - to two 7-segment displays. - -+config SEVEN_SEGMENT_GPIO -+ tristate "Platform driver to update seven segment display" -+ depends on SEVEN_SEGMENT_DISPLAY -+ help -+ Platform device driver which provides an API for displaying on two -+ 7-segment displays, and implements the required bit-banging. -+ The hardware assumed is 74HC164 wired to two 7-segment displays. -+ - config PCI_ENDPOINT_TEST - depends on PCI - select CRC32 -# diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -# index 402bcc3c9961..f39bec664d92 100644 -# --- a/drivers/misc/Makefile -# +++ b/drivers/misc/Makefile -# @@ -53,6 +53,8 @@ obj-$(CONFIG_GENWQE) += genwqe/ -# obj-$(CONFIG_ECHO) += echo/ -# obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o -# obj-$(CONFIG_CXL_BASE) += cxl/ -# +obj-$(CONFIG_SEVEN_SEGMENT_DISPLAY) += seven_seg_disp.o -# +obj-$(CONFIG_SEVEN_SEGMENT_GPIO) += seven_seg_gpio.o -# obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o -# obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o -# obj-$(CONFIG_ASPEED_LPC_MBOX) += aspeed-lpc-mbox.o - -diff --git a/drivers/misc/seven_seg_gpio.c b/drivers/misc/seven_seg_gpio.c -new file mode 100644 -index 000000000000..e03ea7f8b848 ---- /dev/null -+++ b/drivers/misc/seven_seg_gpio.c -@@ -0,0 +1,205 @@ -+/* -+ * Copyright (C) 2016 Google, Inc -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2 or later as -+ * published by the Free Software Foundation. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "seven_seg_disp.h" -+ -+#define DELAY_INTVL_US 1 -+ -+#define CLOCK_GPIO_NAME "clock" -+#define DATA_GPIO_NAME "data" -+#define CLEAR_GPIO_NAME "clear" -+ -+struct seven_seg_gpio_info { -+ u16 curr_disp_value; -+ u16 refresh_interval; -+ struct timer_list update_timer; -+ struct gpio_desc *clock_gpio; -+ struct gpio_desc *data_gpio; -+ struct gpio_desc *clear_gpio; -+}; -+ -+static void update_seven_seg_gpio_data(struct device *dev, u16 data) -+{ -+ struct platform_device *pdev; -+ struct seven_seg_gpio_info *gpio_info; -+ -+ pdev = container_of(dev, struct platform_device, dev); -+ if (pdev == NULL) { -+ pr_err("invalid NULL platform_device\n"); -+ return; -+ } -+ -+ gpio_info = platform_get_drvdata(pdev); -+ if (gpio_info == NULL) { -+ pr_err("invalid NULL gpio_info\n"); -+ return; -+ } -+ -+ gpio_info->curr_disp_value = data; -+} -+ -+static void clear_seven_seg_gpio_data(struct device *dev, u16 data) -+{ -+ struct platform_device *pdev; -+ struct seven_seg_gpio_info *gpio_info; -+ -+ pdev = container_of(dev, struct platform_device, dev); -+ if (pdev == NULL) { -+ pr_err("invalid NULL platform_device\n"); -+ return; -+ } -+ -+ gpio_info = platform_get_drvdata(pdev); -+ if (gpio_info == NULL) { -+ pr_err("invalid NULL gpio_info\n"); -+ return; -+ } -+ -+ gpio_info->curr_disp_value = 0; -+} -+ -+static void send_seven_seg_gpio_data(u16 disp_data, -+ struct seven_seg_gpio_info *gpio_info) -+{ -+ int i; -+ -+ gpiod_set_value(gpio_info->clear_gpio, 0); -+ udelay(DELAY_INTVL_US); -+ gpiod_set_value(gpio_info->clear_gpio, 1); -+ udelay(DELAY_INTVL_US); -+ -+ for (i = 0; i < 16; i++) { -+ if (disp_data & 0x01) -+ gpiod_set_value(gpio_info->data_gpio, 1); -+ else -+ gpiod_set_value(gpio_info->data_gpio, 0); -+ -+ udelay(DELAY_INTVL_US); -+ -+ gpiod_set_value(gpio_info->clock_gpio, 0); -+ udelay(DELAY_INTVL_US); -+ gpiod_set_value(gpio_info->clock_gpio, 1); -+ udelay(DELAY_INTVL_US); -+ -+ disp_data >>= 1; -+ } -+} -+ -+static void disp_refresh_timer_handler(struct timer_list *t) -+{ -+ u16 disp_data; -+ struct seven_seg_gpio_info *gpio_info = -+ from_timer(gpio_info, t, update_timer); -+ disp_data = gpio_info->curr_disp_value; -+ -+ send_seven_seg_gpio_data(disp_data, gpio_info); -+ mod_timer(&gpio_info->update_timer, -+ jiffies + msecs_to_jiffies(gpio_info->refresh_interval)); -+} -+ -+static const struct of_device_id of_seven_seg_gpio_match[] = { -+ { .compatible = "seven-seg-gpio-dev" }, -+ {}, -+}; -+ -+MODULE_DEVICE_TABLE(of, of_seven_seg_gpio_match); -+ -+static int seven_seg_gpio_probe(struct platform_device *pdev) -+{ -+ u16 interval; -+ int result; -+ struct seven_seg_gpio_info *gpio_info; -+ struct device *dev = &pdev->dev; -+ struct seven_seg_disp_dev *disp_dev; -+ -+ gpio_info = devm_kzalloc(dev, -+ sizeof(struct seven_seg_gpio_info), -+ GFP_KERNEL); -+ if (gpio_info == NULL) -+ return -ENOMEM; -+ -+ /* Requesting the clock gpio */ -+ gpio_info->clock_gpio = devm_gpiod_get(dev, CLOCK_GPIO_NAME, -+ GPIOD_OUT_HIGH); -+ if (IS_ERR(gpio_info->clock_gpio)) -+ return PTR_ERR(gpio_info->clock_gpio); -+ -+ /* Requesting the data gpio */ -+ gpio_info->data_gpio = devm_gpiod_get(dev, DATA_GPIO_NAME, -+ GPIOD_OUT_HIGH); -+ if (IS_ERR(gpio_info->data_gpio)) -+ return PTR_ERR(gpio_info->data_gpio); -+ -+ /* Requesting the clear gpio */ -+ gpio_info->clear_gpio = devm_gpiod_get(dev, CLEAR_GPIO_NAME, -+ GPIOD_OUT_HIGH); -+ if (IS_ERR(gpio_info->clear_gpio)) -+ return PTR_ERR(gpio_info->clear_gpio); -+ -+ result = of_property_read_u16(pdev->dev.of_node, -+ "refresh-interval-ms", &interval); -+ gpio_info->refresh_interval = result ? DEFAULT_REFRESH_INTERVAL_MS : -+ interval; -+ -+ /* Start timer to update seven segment display every second */ -+ timer_setup(&gpio_info->update_timer, disp_refresh_timer_handler, 0); -+ result = mod_timer(&gpio_info->update_timer, -+ jiffies + -+ msecs_to_jiffies(gpio_info->refresh_interval)); -+ if (result) -+ return result; -+ -+ gpio_info->curr_disp_value = 0; -+ -+ platform_set_drvdata(pdev, gpio_info); -+ -+ disp_dev = devm_kzalloc(dev, sizeof(struct seven_seg_disp_dev), -+ GFP_KERNEL); -+ disp_dev->parent = *dev; -+ seven_seg_setup_cdev(disp_dev, &update_seven_seg_gpio_data); -+ return 0; -+} -+ -+static int seven_seg_gpio_remove(struct platform_device *pdev) -+{ -+ struct seven_seg_gpio_info *gpio_info = platform_get_drvdata(pdev); -+ struct seven_seg_disp_dev *disp_dev = -+ container_of(&pdev->dev, -+ struct seven_seg_disp_dev, parent); -+ seven_seg_rem_cdev(disp_dev); -+ del_timer_sync(&gpio_info->update_timer); -+ platform_set_drvdata(pdev, NULL); -+ return 0; -+} -+ -+static struct platform_driver seven_seg_gpio_driver = { -+ .probe = seven_seg_gpio_probe, -+ .remove = seven_seg_gpio_remove, -+ .driver = { -+ .name = "seven-seg-gpio", -+ .of_match_table = of_seven_seg_gpio_match, -+ }, -+}; -+ -+module_platform_driver(seven_seg_gpio_driver); -+ -+MODULE_LICENSE("GPL"); -+MODULE_AUTHOR("Jaghathiswari Rankappagounder Natarajan "); -+MODULE_DESCRIPTION("Seven segment display driver using GPIO config"); --- -2.22.0.770.g0f2c4a37fd-goog - diff --git a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton_%.bbappend b/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton_%.bbappend index e5fadfe05..c2b5da404 100644 --- a/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-kernel/linux/linux-nuvoton_%.bbappend @@ -1,6 +1,2 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/linux-nuvoton:" SRC_URI_append_gbs = " file://gbs.cfg" -SRC_URI_append_gbs = " file://0004-Add-kernel-seven-seg-display-support.patch" -SRC_URI_append_gbs = " file://0004-ben-drivers-misc-Character-device-driver-for-seven-segme.patch" -SRC_URI_append_gbs = " file://0004-ben-drivers-misc-Platform-driver-for-seven-segment-displ.patch" -SRC_URI_append_gbs = " file://0001-meta-gbs-Enable-adm1272-ADM1272_TEMP1_EN.patch" -- cgit v1.2.3 From 7b7cd9a905b1e7be5c130c54b0c52976ba64d98f Mon Sep 17 00:00:00 2001 From: George Hung Date: Tue, 8 Jun 2021 15:10:56 +0800 Subject: meta-quanta: gbs: remove the patch for phosphor-hwmon remove patch: - Add power on monitor mechanism patch Signed-off-by: George Hung Change-Id: I932828d69948c3e0daa8fd428d620a75325e0ac9 --- .../0002-Add-power-on-monitor-mechanism.patch | 269 --------------------- .../sensors/phosphor-hwmon_%.bbappend | 3 - 2 files changed, 272 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/0002-Add-power-on-monitor-mechanism.patch diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/0002-Add-power-on-monitor-mechanism.patch b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/0002-Add-power-on-monitor-mechanism.patch deleted file mode 100644 index a3718ea2a..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon/0002-Add-power-on-monitor-mechanism.patch +++ /dev/null @@ -1,269 +0,0 @@ -From 5cea18ba476c0cb6ea622be50a09ead00cd47b14 Mon Sep 17 00:00:00 2001 -From: Ivan Li -Date: Wed, 25 Dec 2019 17:05:00 +0800 -Subject: [PATCH] Add power on monitor mechanism - -Summary: -1. Add "PWRONMON" attribute in sensor configuration file to determine whether it's power-on monitor sensor or not. (i.e. PWRONMON_temp1 = "ON") -2. Watching "CurrentHostState" property and then use it to turn on/off threshold alert for power-on monitor sensors. - -Test Plan: -Check if there is any abnormal threshold events occurred in power off state or during power transition - -Signed-off-by: Ivan Li -Change-Id: I76d3a664153141d94636e0011f3a48e4f6dee922 ---- - mainloop.cpp | 102 +++++++++++++++++++++++++++++++++++++++++++++++++ - sensor.cpp | 11 +++++- - sensor.hpp | 13 +++++++ - thresholds.hpp | 24 ------------ - 4 files changed, 125 insertions(+), 25 deletions(-) - -diff --git a/mainloop.cpp b/mainloop.cpp -index 29dc26a..5e27a30 100644 ---- a/mainloop.cpp -+++ b/mainloop.cpp -@@ -42,6 +42,13 @@ - #include - #include - #include -+#include -+#include -+#include -+#include -+#include -+#include -+#include - - using namespace phosphor::logging; - -@@ -110,6 +117,12 @@ decltype(Thresholds::deassertHighSignal) - Thresholds::deassertHighSignal = - &CriticalObject::criticalHighAlarmDeasserted; - -+static std::unique_ptr cacheTimer = nullptr; -+static std::unique_ptr powerMatch = nullptr; -+static bool powerStatusOn = false; -+static boost::asio::io_service io; -+static auto conn = std::make_shared(io); -+ - void updateSensorInterfaces(InterfaceMap& ifaces, SensorValueType value) - { - for (auto& iface : ifaces) -@@ -137,6 +150,83 @@ void updateSensorInterfaces(InterfaceMap& ifaces, SensorValueType value) - } - } - -+void powerStatusSet() -+{ -+ powerStatusOn = true; -+ return; -+} -+ -+void createTimer() -+{ -+ if (cacheTimer == nullptr) -+ { -+ cacheTimer = std::make_unique(powerStatusSet); -+ } -+} -+ -+bool isPowerOn(void) -+{ -+ if (!powerMatch) -+ { -+ throw std::runtime_error("Power Match Not Created"); -+ } -+ return powerStatusOn; -+} -+ -+void setupPowerMatch(sdbusplus::bus::bus& bus) -+{ -+ if (powerMatch) -+ { -+ return; -+ } -+ -+ powerMatch = std::make_unique( -+ bus, -+ "type='signal',interface='org.freedesktop.DBus.Properties',path='/xyz/" -+ "openbmc_project/state/" -+ "host0',arg0='xyz.openbmc_project.State.Host'", -+ [](sdbusplus::message::message& message) { -+ std::string objectName; -+ boost::container::flat_map> -+ values; -+ message.read(objectName, values); -+ auto findState = values.find("CurrentHostState"); -+ if (findState != values.end()) -+ { -+ bool on = boost::ends_with( -+ std::get(findState->second), "Running"); -+ if (!on) -+ { -+ cacheTimer->stop(); -+ powerStatusOn = false; -+ return; -+ } -+ cacheTimer->start(std::chrono::duration_cast( -+ std::chrono::seconds(10))); -+ } -+ else { -+ powerStatusOn = false; -+ } -+ }); -+ -+ conn->async_method_call( -+ [](boost::system::error_code ec, -+ const std::variant& state) { -+ if (ec) -+ { -+ return; -+ } -+ powerStatusOn = -+ boost::ends_with(std::get(state), "Running"); -+ }, -+ "xyz.openbmc_project.State.Host", -+ "/xyz/openbmc_project/state/host0", -+ "org.freedesktop.DBus.Properties", "Get", -+ "xyz.openbmc_project.State.Host", "CurrentHostState"); -+ -+ createTimer(); -+} -+ - std::string MainLoop::getID(SensorSet::container_t::const_reference sensor) - { - std::string id; -@@ -418,6 +508,7 @@ void MainLoop::init() - _interval = std::strtoull(interval.c_str(), NULL, 10); - } - } -+ setupPowerMatch(_bus); - } - - void MainLoop::read() -@@ -462,6 +553,12 @@ void MainLoop::read() - - try - { -+ if(sensor->pwrOnMonitor() && !isPowerOn()) -+ { -+ statusIface->functional(false); -+ continue; -+ } -+ - if (sensor->hasFaultFile()) - { - auto fault = _ioAccess->read(sensorSysfsType, sensorSysfsNum, -@@ -588,6 +685,11 @@ void MainLoop::read() - } - } - -+ if(sensor->pwrOnMonitor() && !isPowerOn()) -+ { -+ statusIface->functional(false); -+ continue; -+ } - updateSensorInterfaces(obj, value); - } - catch (const std::system_error& e) -diff --git a/sensor.cpp b/sensor.cpp -index ac2f896..72b45f8 100644 ---- a/sensor.cpp -+++ b/sensor.cpp -@@ -32,7 +32,7 @@ Sensor::Sensor(const SensorSet::key_type& sensor, - const hwmonio::HwmonIOInterface* ioAccess, - const std::string& devPath) : - _sensor(sensor), -- _ioAccess(ioAccess), _devPath(devPath), _scale(0), _hasFaultFile(false) -+ _ioAccess(ioAccess), _devPath(devPath), _scale(0), _hasFaultFile(false), _pwrOnMonitor(false) - { - auto chip = env::getEnv("GPIOCHIP", sensor); - auto access = env::getEnv("GPIO", sensor); -@@ -61,6 +61,15 @@ Sensor::Sensor(const SensorSet::key_type& sensor, - auto senRmRCs = env::getEnv("REMOVERCS", sensor); - // Add sensor removal return codes defined per sensor - addRemoveRCs(senRmRCs); -+ -+ auto pwrOnMon = env::getEnv("PWRONMON", sensor); -+ if (!pwrOnMon.empty()) -+ { -+ if (pwrOnMon == "ON") -+ { -+ _pwrOnMonitor = true; -+ } -+ } - } - - void Sensor::addRemoveRCs(const std::string& rcList) -diff --git a/sensor.hpp b/sensor.hpp -index 64d6e48..41c0fe7 100644 ---- a/sensor.hpp -+++ b/sensor.hpp -@@ -151,6 +151,16 @@ class Sensor - return _hasFaultFile; - } - -+ /** -+ * @brief Get whether the sensor only need to be monitored in power on state or not. -+ * -+ * @return - Boolean on whether the sensor only need to be monitored in power on state -+ */ -+ inline bool pwrOnMonitor(void) const -+ { -+ return _pwrOnMonitor; -+ } -+ - private: - /** @brief Sensor object's identifiers */ - SensorSet::key_type _sensor; -@@ -172,6 +182,9 @@ class Sensor - - /** @brief Tracks whether the sensor has a fault file or not. */ - bool _hasFaultFile; -+ -+ /** @brief Whether the sensor only need to be monitored in power on state or not. */ -+ bool _pwrOnMonitor; - }; - - /** -diff --git a/thresholds.hpp b/thresholds.hpp -index 8d557fc..0ffe0ce 100644 ---- a/thresholds.hpp -+++ b/thresholds.hpp -@@ -137,32 +137,8 @@ auto addThreshold(const std::string& sensorType, const std::string& sensorID, - auto hi = stod(tHi) * std::pow(10, scale); - (*iface.*Thresholds::setLo)(lo); - (*iface.*Thresholds::setHi)(hi); -- auto alarmLowState = (*iface.*Thresholds::getAlarmLow)(); -- auto alarmHighState = (*iface.*Thresholds::getAlarmHigh)(); - (*iface.*Thresholds::alarmLo)(value <= lo); - (*iface.*Thresholds::alarmHi)(value >= hi); -- if (alarmLowState != (value <= lo)) -- { -- if (value <= lo) -- { -- (*iface.*Thresholds::assertLowSignal)(value); -- } -- else -- { -- (*iface.*Thresholds::deassertLowSignal)(value); -- } -- } -- if (alarmHighState != (value >= hi)) -- { -- if (value >= hi) -- { -- (*iface.*Thresholds::assertHighSignal)(value); -- } -- else -- { -- (*iface.*Thresholds::deassertHighSignal)(value); -- } -- } - auto type = Thresholds::type; - obj[type] = iface; - } --- -2.21.0 - diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend index 8f3f07f1e..7307de7fa 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend @@ -1,8 +1,5 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" -SRC_URI_append_gbs = " file://0002-Add-power-on-monitor-mechanism.patch \ - " - DEPENDS += "boost" GBS_NAMES = " \ -- cgit v1.2.3 From efdcf4fec21bdcf8fcaaef7af7e78708f5d9c99a Mon Sep 17 00:00:00 2001 From: "Thang Q. Nguyen" Date: Tue, 22 Jun 2021 07:22:40 +0000 Subject: meta-ampere: mtjade: update Redfish PSU sensors Add more PSU sensors to report in Redfish. Tested: 1. Check all PSU sensors displayed in WebUI and Redfish Signed-off-by: Thang Q. Nguyen Change-Id: Ie4236ed8222313eaf99937487c67fc37401217ae --- .../phosphor-inventory-manager/associations.json | 99 ++++++++++++++++++---- 1 file changed, 84 insertions(+), 15 deletions(-) diff --git a/meta-ampere/meta-jade/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json b/meta-ampere/meta-jade/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json index bc9cfee32..e7b3256a8 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json +++ b/meta-ampere/meta-jade/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json @@ -1,4 +1,52 @@ [ + { + "path": "system/chassis/motherboard/powersupply0", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/PSU0_fan1", + "/xyz/openbmc_project/sensors/temperature/PSU0_TEMP", + "/xyz/openbmc_project/sensors/voltage/PSU0_VINPUT", + "/xyz/openbmc_project/sensors/voltage/PSU0_VOUTPUT", + "/xyz/openbmc_project/sensors/power/PSU0_PINPUT", + "/xyz/openbmc_project/sensors/power/PSU0_POUTPUT", + "/xyz/openbmc_project/sensors/current/PSU0_IINPUT", + "/xyz/openbmc_project/sensors/current/PSU0_IOUTPUT" + ] + } + ] + }, + { + "path": "system/chassis/motherboard/powersupply1", + "endpoints": + [ + { + "types": + { + "rType": "inventory", + "fType": "sensors" + }, + "paths": + [ + "/xyz/openbmc_project/sensors/fan_tach/PSU1_fan1", + "/xyz/openbmc_project/sensors/temperature/PSU1_TEMP", + "/xyz/openbmc_project/sensors/voltage/PSU1_VINPUT", + "/xyz/openbmc_project/sensors/voltage/PSU1_VOUTPUT", + "/xyz/openbmc_project/sensors/power/PSU1_PINPUT", + "/xyz/openbmc_project/sensors/power/PSU1_POUTPUT", + "/xyz/openbmc_project/sensors/current/PSU1_IINPUT", + "/xyz/openbmc_project/sensors/current/PSU1_IOUTPUT" + ] + } + ] + }, { "path": "system/chassis", "endpoints": @@ -35,36 +83,57 @@ "/xyz/openbmc_project/sensors/temperature/PSU0_TEMP", "/xyz/openbmc_project/sensors/temperature/PSU1_TEMP", - "/xyz/openbmc_project/sensors/voltage/S0_0V6_VTT0123", - "/xyz/openbmc_project/sensors/voltage/S0_0V6_VTT4567", - "/xyz/openbmc_project/sensors/voltage/S0_0V75_PCP", "/xyz/openbmc_project/sensors/voltage/S0_0V8_VDDC_SOC", - "/xyz/openbmc_project/sensors/voltage/S0_0V85_RCA", + "/xyz/openbmc_project/sensors/voltage/S0_0V75_PCP", "/xyz/openbmc_project/sensors/voltage/S0_1V2_VDDQ0123", + "/xyz/openbmc_project/sensors/voltage/S0_0V6_VTT0123", + "/xyz/openbmc_project/sensors/voltage/S0_2V5_VPP0123", "/xyz/openbmc_project/sensors/voltage/S0_1V2_VDDQ4567", - "/xyz/openbmc_project/sensors/voltage/S0_1V5_VDDH", + "/xyz/openbmc_project/sensors/voltage/S0_0V6_VTT4567", + "/xyz/openbmc_project/sensors/voltage/S0_2V5_VPP4567", + "/xyz/openbmc_project/sensors/voltage/S0_0V85_RCA", "/xyz/openbmc_project/sensors/voltage/S0_1V8_VDDH", + "/xyz/openbmc_project/sensors/voltage/S0_1V5_VDDH", "/xyz/openbmc_project/sensors/voltage/S0_1V8_SOC", "/xyz/openbmc_project/sensors/voltage/S0_1V8_PCP", - "/xyz/openbmc_project/sensors/voltage/S0_2V5_VPP0123", - "/xyz/openbmc_project/sensors/voltage/S0_2V5_VPP4567", "/xyz/openbmc_project/sensors/voltage/S0_3V3_SOC", - "/xyz/openbmc_project/sensors/voltage/S1_0V6_VTT0123", - "/xyz/openbmc_project/sensors/voltage/S1_0V6_VTT4567", - "/xyz/openbmc_project/sensors/voltage/S1_0V75_PCP", + "/xyz/openbmc_project/sensors/voltage/S0_CPU_VCORE", + "/xyz/openbmc_project/sensors/voltage/S0_DIMM_DDR_Volt", + "/xyz/openbmc_project/sensors/voltage/S0_DIMM_VR1_Volt", + "/xyz/openbmc_project/sensors/voltage/S0_DIMM_VR2_Volt", + "/xyz/openbmc_project/sensors/voltage/S0_RCA_VR_Volt", + "/xyz/openbmc_project/sensors/voltage/S0_SOC_Volt", "/xyz/openbmc_project/sensors/voltage/S1_0V8_VDDC_SOC", - "/xyz/openbmc_project/sensors/voltage/S1_0V85_RCA", + "/xyz/openbmc_project/sensors/voltage/S1_0V75_PCP", "/xyz/openbmc_project/sensors/voltage/S1_1V2_VDDQ0123", + "/xyz/openbmc_project/sensors/voltage/S1_0V6_VTT0123", + "/xyz/openbmc_project/sensors/voltage/S1_2V5_VPP0123", "/xyz/openbmc_project/sensors/voltage/S1_1V2_VDDQ4567", - "/xyz/openbmc_project/sensors/voltage/S1_1V5_VDDH", + "/xyz/openbmc_project/sensors/voltage/S1_0V6_VTT4567", + "/xyz/openbmc_project/sensors/voltage/S1_2V5_VPP4567", + "/xyz/openbmc_project/sensors/voltage/S1_0V85_RCA", "/xyz/openbmc_project/sensors/voltage/S1_1V8_VDDH", + "/xyz/openbmc_project/sensors/voltage/S1_1V5_VDDH", "/xyz/openbmc_project/sensors/voltage/S1_1V8_SOC", "/xyz/openbmc_project/sensors/voltage/S1_1V8_PCP", - "/xyz/openbmc_project/sensors/voltage/S1_2V5_VPP0123", - "/xyz/openbmc_project/sensors/voltage/S1_2V5_VPP4567", "/xyz/openbmc_project/sensors/voltage/S1_3V3_SOC", "/xyz/openbmc_project/sensors/voltage/3V3_SB", - "/xyz/openbmc_project/sensors/voltage/VBAT_RTC" + "/xyz/openbmc_project/sensors/voltage/VBAT_RTC", + "/xyz/openbmc_project/sensors/voltage/PSU0_VINPUT", + "/xyz/openbmc_project/sensors/voltage/PSU0_VOUTPUT", + "/xyz/openbmc_project/sensors/voltage/PSU1_VINPUT", + "/xyz/openbmc_project/sensors/voltage/PSU1_VOUTPUT", + + "/xyz/openbmc_project/sensors/power/PSU0_PINPUT", + "/xyz/openbmc_project/sensors/power/PSU1_PINPUT", + "/xyz/openbmc_project/sensors/power/PSU0_POUTPUT", + "/xyz/openbmc_project/sensors/power/PSU1_POUTPUT", + "/xyz/openbmc_project/sensors/power/total_power", + + "/xyz/openbmc_project/sensors/current/PSU0_IINPUT", + "/xyz/openbmc_project/sensors/current/PSU0_IOUTPUT", + "/xyz/openbmc_project/sensors/current/PSU1_IINPUT", + "/xyz/openbmc_project/sensors/current/PSU1_IOUTPUT" ] } ] -- cgit v1.2.3 From d957f038b7dfe18ad22f2cfa65701542216ad7c8 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Wed, 12 May 2021 22:31:34 +0930 Subject: meta-phosphor: mctp: Add PACKAGECONFIG[systemd] Change-Id: I9ea3a1d0305f339631a443bea09af6fea8d9e34f Signed-off-by: Andrew Jeffery --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 5ad5ea3a7..1ab55b771 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" SRCREV = "34d4c96fcf9691e060d8a7f56633bf196c82a52f" -CONFFILES_${PN} = "${sysconfdir}/default/mctp" DEPENDS += "autoconf-archive-native \ systemd \ @@ -20,6 +19,12 @@ DEPENDS += "autoconf-archive-native \ SYSTEMD_SERVICE_${PN} = "mctp-demux.service" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, \ + --without-systemdsystemunitdir,systemd" + +CONFFILES_${PN} = "${sysconfdir}/default/mctp" + do_install_append() { install -d ${D}${sysconfdir}/default install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/mctp -- cgit v1.2.3 From 8e0e67f218dd6438d29feb9a20ad0a4e4e90e3de Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Tue, 11 May 2021 13:40:40 +0930 Subject: meta-phosphor: mctp: Support raw KCS driver for astlpc binding Add a PACKAGECONFIG entry for astlpc-raw-kcs to install the required udev rules. Change-Id: Ic9fc133d92106aeb72c0ef0af1123c31b1c5c24a Signed-off-by: Andrew Jeffery --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 1ab55b771..334420c02 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -23,6 +23,8 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, \ --without-systemdsystemunitdir,systemd" +PACKAGECONFIG[astlpc-raw-kcs] = "--enable-astlpc-raw-kcs,--disable-astlpc-raw-kcs,udev,udev" + CONFFILES_${PN} = "${sysconfdir}/default/mctp" do_install_append() { -- cgit v1.2.3 From 4ad716c1407b626754888cee8a1c63a67edd6526 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 23 Jun 2021 13:35:27 -0500 Subject: meta-facebook: bletchley: enable u-boot SPL The latest u-boot no longer boots on AST2600 without enabling the SPL. Port the changes from commit d84b7f4455406807637b7fecf9e96b73e17fcf62 and tested in QEMU. Signed-off-by: Patrick Williams Change-Id: I5ce3f3a97d44ae58c54e3d44251726a84fcc6098 --- meta-facebook/meta-bletchley/conf/machine/bletchley.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-facebook/meta-bletchley/conf/machine/bletchley.conf b/meta-facebook/meta-bletchley/conf/machine/bletchley.conf index 2c7778dd7..8de7a54d2 100644 --- a/meta-facebook/meta-bletchley/conf/machine/bletchley.conf +++ b/meta-facebook/meta-bletchley/conf/machine/bletchley.conf @@ -2,8 +2,9 @@ #KERNEL_DEVICETREE = "${KMACHINE}-bmc-facebook-${MACHINE}.dtb" KERNEL_DEVICETREE = "aspeed-ast2600-evb.dtb" -UBOOT_MACHINE = "ast2600_openbmc_defconfig" +UBOOT_MACHINE = "ast2600_openbmc_spl_defconfig" UBOOT_DEVICETREE = "ast2600a1-evb" +SPL_BINARY = "spl/u-boot-spl.bin" require conf/machine/include/facebook-nohost.inc require conf/machine/include/ast2600.inc -- cgit v1.2.3 From 439c59b425cf403355571875b3fa714782dcf15b Mon Sep 17 00:00:00 2001 From: Willy Tu Date: Tue, 9 Feb 2021 16:29:27 -0800 Subject: meta-phosphor: os-release: Set weak default to DISTRO_VERSION Improved practice to use DISTRO_VERSION instead of the undocumented VERSION_ID. DISTRO_VERSION is documented in yocto https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html and specified in this section about creating your own distribution. https://docs.yoctoproject.org/dev-manual/common-tasks.html#creating-your-own-distribution VERSION_ID is undocumented and will more likely be changed compared to the documented DISTRO_VERSION. The VERSION_ID is set to DISTRO_VERSION in poky/.../os-release.bb Use weak default to DISTRO_VERSION instead of overriding VERSION_ID. This allows other layers to override in *.bbappend or *.conf. Tested: ``` root@romulus:~# cat /etc/os-release ID=openbmc-openpower NAME="Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro)" VERSION="2.11.0-dev" VERSION_ID=2.11.0-dev-165-g20885c497 PRETTY_NAME="Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) 2.11.0-dev" BUILD_ID="2.11.0-dev" OPENBMC_TARGET_MACHINE="romulus" ``` Signed-off-by: Willy Tu Change-Id: I25b5a165b764e6562fa8008c9d2a75a82fb09139 --- meta-phosphor/conf/distro/include/phosphor-base.inc | 1 - meta-phosphor/recipes-core/os-release/os-release.bbappend | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc index 1d8cc4a27..e42c8c20d 100644 --- a/meta-phosphor/conf/distro/include/phosphor-base.inc +++ b/meta-phosphor/conf/distro/include/phosphor-base.inc @@ -69,7 +69,6 @@ require conf/distro/include/no-static-libs.inc require conf/distro/include/yocto-uninative.inc DISTRO_NAME = "Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro)" -DISTRO_VERSION = "0.1.0" TARGET_VENDOR="-openbmc" VIRTUAL-RUNTIME_keymaps = "" diff --git a/meta-phosphor/recipes-core/os-release/os-release.bbappend b/meta-phosphor/recipes-core/os-release/os-release.bbappend index 15852327f..f42235e4c 100644 --- a/meta-phosphor/recipes-core/os-release/os-release.bbappend +++ b/meta-phosphor/recipes-core/os-release/os-release.bbappend @@ -15,7 +15,7 @@ def run_git(d, cmd): bb.warn("Unexpected exception from 'git' call: %s" % e) pass -VERSION_ID := "${@run_git(d, 'describe --dirty')}" +DISTRO_VERSION ??= "${@run_git(d, 'describe --dirty')}" VERSION = "${@'-'.join(d.getVar('VERSION_ID').split('-')[0:2])}" BUILD_ID := "${@run_git(d, 'describe --abbrev=0')}" -- cgit v1.2.3 From 2751c204a74f4d4861bdc272499a6f89db6d6dbe Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Wed, 23 Jun 2021 08:35:46 +0930 Subject: meta-aspeed: linux: Enable raw KCS driver Change-Id: I844441c5e33eba55eb252ea445b75835bab2f735 Signed-off-by: Andrew Jeffery --- meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig | 1 + meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig | 1 + meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig | 1 + 3 files changed, 3 insertions(+) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig index e16c47c73..6ef0c4cc4 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g4/defconfig @@ -134,6 +134,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_ASPEED_KCS_IPMI_BMC=y CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y +CONFIG_IPMI_KCS_BMC_CDEV_RAW=y CONFIG_ASPEED_BT_IPMI_BMC=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_DEVMEM_BOOTPARAM=y diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig index 7803eb795..43230b075 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g5/defconfig @@ -141,6 +141,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_ASPEED_KCS_IPMI_BMC=y CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y +CONFIG_IPMI_KCS_BMC_CDEV_RAW=y CONFIG_ASPEED_BT_IPMI_BMC=y CONFIG_HW_RANDOM_TIMERIOMEM=y CONFIG_DEVMEM_BOOTPARAM=y diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig index b648a274d..c2363b280 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig @@ -154,6 +154,7 @@ CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_OF_PLATFORM=y CONFIG_ASPEED_KCS_IPMI_BMC=y CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y +CONFIG_IPMI_KCS_BMC_CDEV_RAW=y CONFIG_IPMI_KCS_BMC_SERIO=y CONFIG_ASPEED_BT_IPMI_BMC=y CONFIG_HW_RANDOM_TIMERIOMEM=y -- cgit v1.2.3 From 4f0eb6982952eeabae232d26c72821e70971b5c2 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 01:41:09 +0000 Subject: phosphor-ipmi-blobs: srcrev bump d5ed40999f..f39e668c2b William A. Kennington III (1): build: Remove autotools Change-Id: I342e5773b56488c92d5f4fb4296e618c2d44d061 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb index 2dce84aef..58825d475 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-blobs_git.bb @@ -16,7 +16,7 @@ DEPENDS += " \ S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-ipmi-blobs" -SRCREV = "d5ed40999f2d829455afab0999aa54dd8217ad04" +SRCREV = "f39e668c2b87c9453e0e28d5a8886b81ed80c50e" FILES_${PN} += "${libdir}/ipmid-providers" -- cgit v1.2.3 From c3569e115e8a4518d98094bad8c6baa022235627 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 21:30:24 +0000 Subject: openpower-hw-diags: srcrev bump 6bc43c9b89..ff068a154e Zane Shelley (1): add node position to signatures and register list Change-Id: Iba8741fcd3ec0a9588eb73e4b6e0b56c43190e0f Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index ed042eda2..d4863a3bc 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -15,7 +15,7 @@ PR = "r1" PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/openbmc/openpower-hw-diags" -SRCREV = "6bc43c9b896724c27317ac50a88e5ddaa2882484" +SRCREV = "ff068a154e5811bbddead76cc0e004cbf88870ac" S = "${WORKDIR}/git" -- cgit v1.2.3 From 15b77ec5b8d8cc24930d4735463325bcb03e79cc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 22 Jun 2021 21:30:37 +0000 Subject: openpower-libhei: srcrev bump 13d04086e1..47ca5c2e7a Zane Shelley (1): Prevent storing redundant capture data Change-Id: I4f6af877c6af7b0001f9c8e3c68854014f89014c Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc b/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc index 3990cf85a..715c04964 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc +++ b/meta-openpower/recipes-phosphor/logging/openpower-libhei-rev.inc @@ -2,5 +2,5 @@ PR = "r1" PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/openbmc/openpower-libhei" -SRCREV = "13d04086e19aff7712e3e1c3e3556b26ac8d8255" +SRCREV = "47ca5c2e7a172e39d104551ff2ed8db4eea51217" -- cgit v1.2.3 From f6542b5189925d198836415e6cfc2d740203f1dd Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 01:30:29 +0000 Subject: openpower-host-ipmi-oem: srcrev bump 248255d2af..98af91d62e Tom Joseph (2): MAINTAINERS: Remove Tom from maintainers list MAINTAINERS: Replace IRC by DISCORD Change-Id: Iaf450dda18d3d76da6cce3bf174c8a99899e0c2e Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc index 1210b55db..b9ec99ec8 100644 --- a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc +++ b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-host-ipmi-oem" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc" SRC_URI += "git://github.com/openbmc/openpower-host-ipmi-oem" -SRCREV = "248255d2afd411ca05e2596fcb214b8968a08743" +SRCREV = "98af91d62e307a360f1f89df6a275baa88aa05f4" -- cgit v1.2.3 From 3c8c0b98dc5f37c788ed7a6fe105a5b50b460758 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 08:31:06 +0000 Subject: pldm: srcrev bump 9ea56f6260..fe6f0d40f0 Jayashankar Padath (1): fru: Add location code and VINI record in fru record table Pavithra Barithaya (1): PLDM: Change rate_unit field to None Tom Joseph (1): libpldm: Add API to decode package header info Change-Id: I8106b7588e472e75de2f9bf249e733ad91e7c1e5 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 090292243..849951805 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "9ea56f6260e5e41e3e3d259d34cb118793fe9ae4" +SRCREV = "fe6f0d40f0d0cbc8ed4eaae6ff8ffcdad48eb57d" -- cgit v1.2.3 From 11cbddd773a4682b1e54ea6b21af5e7bf67345d1 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 10:21:36 +0000 Subject: phosphor-watchdog: srcrev bump afc369ad54..86e09d749f William A. Kennington III (1): build: Subproject support Change-Id: I0ec138e48a74fc56b36ce79bb31c0cb0812480eb Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb index 6f1c09e57..cd2225330 100644 --- a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog_git.bb @@ -20,7 +20,7 @@ DEPENDS += "phosphor-logging" DEPENDS += "systemd" SRC_URI += "git://github.com/openbmc/phosphor-watchdog" -SRCREV = "afc369ad548137a5fdb0bc69b6606e2aafa7182b" +SRCREV = "86e09d749fec944a251006242cf81617e35fb776" S = "${WORKDIR}/git" EXTRA_OEMESON = " \ -- cgit v1.2.3 From ce9c3fcb72fe28cdb4bd45e04bfe5e21c3874884 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 20:21:22 +0000 Subject: phosphor-virtual-sensor: srcrev bump 0fcf0e1ca1..1846d8225c Patrick Williams (1): logging: remove spaces in entry definition Rashmica Gupta (1): add create_threshold function Change-Id: I7976f9f231ea62746aaf147c56d68c75b5195774 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb index f83d8bcb3..98a9a638c 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb @@ -16,7 +16,7 @@ DEPENDS += "nlohmann-json" DEPENDS += "exprtk" SRC_URI = "git://github.com/openbmc/phosphor-virtual-sensor.git;protocol=git" -SRCREV = "0fcf0e1ca14be837e8d3383f34843d55aa90aee8" +SRCREV = "1846d8225c933ed3de0f9da7d255606cbcb9d7a9" S = "${WORKDIR}/git" SYSTEMD_SERVICE_${PN} = "phosphor-virtual-sensor.service" -- cgit v1.2.3 From 3c64bcb9dcaf8489bf128a38de0474d126aa3122 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 12:00:49 +0000 Subject: phosphor-dbus-interfaces: srcrev bump 08baf48ad5..0e6cea83df William A. Kennington III (1): build: Don't depend on sdbusplus.found() Change-Id: I90e8d1063fe2a4bf60fe9f4dfb8fe798bfc8adea Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb index dc6981529..dd47d80e1 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb @@ -18,7 +18,7 @@ DEPENDS += " \ " SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces" -SRCREV = "08baf48ad5f15774d393fbbf4e9479a0ef3e82d0" +SRCREV = "0e6cea83df69d4047037d5ee7ccd4b04a1e79bca" # Process OBMC_ORG_YAML_SUBDIRS to create Meson config options. # ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true -- cgit v1.2.3 From 1e485c1ea9e37a4031e553e59f2b0b7c95ea2cbb Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 18:51:30 +0000 Subject: phosphor-logging: srcrev bump d5c31366e9..dde99203db Matt Spinler (1): PEL: Add FanControllerOffline message reg entry Ramesh Iyyar (1): PEL: PHAL: Added new message registry for pre-poweroff Change-Id: I190bb4d4ffb6293f772f11e6e27d1317d92300ab Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index f421d24b6..37e6b0582 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "d5c31366e911ecb3fa3e0791503402c3c886c5a0" +SRCREV = "dde99203db9635d41add00cb4659f6e3f128c779" S = "${WORKDIR}/git" -- cgit v1.2.3 From 15f695386f5f9c94b1a3ffca3cd0ccd9552a9cf6 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 16:40:58 +0000 Subject: phosphor-fan-presence: srcrev bump bff172aa07..058180f9d6 Matthew Barth (4): monitor: Use new JsonConfig object presence: Use new JsonConfig object json: Remove unused JsonConfig object control: Install service files from repo Change-Id: Ic50f83acc3b58ef07da75c513f13dea7f6e75a64 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 187f38bae..1e7188184 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "bff172aa0785c017e1950e6c6fdf8e6ff76701eb" +SRCREV = "058180f9d6e6b9d6f9deb75e3ebd09404e89bde6" -- cgit v1.2.3 From 2822cb68b442f50136d0797bb7ee34d8d60696bc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 15:51:45 +0000 Subject: webui-vue: srcrev bump 42a270eac2..6641cc489d Lei YU (1): kvm: Disconnect on page unload/refresh Change-Id: Ie4ab13699e97e433e86326790308828d81e61444 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index 7c9543686..eb20af158 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "42a270eac2f9f44fd558594b7ca7251c8dc42897" +SRCREV = "6641cc489d053d6978868b94ddfb3dc93fd96dde" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native nlf-native " -- cgit v1.2.3 From 81baf47f49eabbf5957a884e97962f22eadc2ca9 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 17:00:45 +0000 Subject: obmc-ikvm: srcrev bump 673ac2eb11..40fd5429bf Zev Weiss (1): Fix error reporting in Input::writeKeyboard() Change-Id: I413ff364543912fbcee0c3186e10e8fe3087a9b3 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb b/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb index 77400aa3a..86c7f8974 100644 --- a/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb +++ b/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=75859989545e37968a99b631ef42722e" DEPENDS = " libvncserver systemd sdbusplus phosphor-logging phosphor-dbus-interfaces" SRC_URI = "git://github.com/openbmc/obmc-ikvm" -SRCREV = "673ac2eb1117a7d692460f808f1d947495d033db" +SRCREV = "40fd5429bf27e28acd11598f33d2caae5b043731" PV = "1.0+git${SRCPV}" -- cgit v1.2.3 From 4dd21b5d5f4df8d39f55a116f669099a9b454456 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 18:11:07 +0000 Subject: bmcweb: srcrev bump 2205bbf681..49e429ca17 Jonathan Doman (1): Expose Processor PPIN property Change-Id: Iae73742f845e3da078ba1c5ab08af0b6f2569cea Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 42c7c4aa9..1f0cfd5a4 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "2205bbf681bfac508a9e985b9581ce9d662db4df" +SRCREV = "49e429ca172365bd4ba16c924501321c73527cbe" S = "${WORKDIR}/git" -- cgit v1.2.3 From 8e99329ae08303c49d06671ab35b9ef9dc1c21fa Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 23:11:10 +0000 Subject: libmctp: srcrev bump 34d4c96fcf..cfeaef8ecb Sumanth Bhat (1): Add compiler flags to enable dev testing Change-Id: I6c65a918eec331443f8ad00e5e7f3509165c5580 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index 334420c02..b2fe211c0 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -11,7 +11,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=0d30807bb7a4f16d36e96b78f9ed8fae" SRC_URI = "git://github.com/openbmc/libmctp \ file://default" -SRCREV = "34d4c96fcf9691e060d8a7f56633bf196c82a52f" +SRCREV = "cfeaef8ecb0ab8c59ea4e145603523e599d60014" DEPENDS += "autoconf-archive-native \ systemd \ -- cgit v1.2.3 From f225ab6aa5ef467ec0149011e4ee9bc6b4cc2017 Mon Sep 17 00:00:00 2001 From: Benjamin Fair Date: Wed, 23 Jun 2021 18:08:39 -0700 Subject: meta-google: ncsid: disable building tests The unit tests aren't needed when building in Bitbake. Change-Id: I412f5c1b546ab56a4644cba696dd3fab456964bb Signed-off-by: Benjamin Fair --- meta-google/recipes-google/ncsi/ncsid_git.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-google/recipes-google/ncsi/ncsid_git.bb b/meta-google/recipes-google/ncsi/ncsid_git.bb index 4d74c992a..1acb45116 100644 --- a/meta-google/recipes-google/ncsi/ncsid_git.bb +++ b/meta-google/recipes-google/ncsi/ncsid_git.bb @@ -6,6 +6,10 @@ require ../google-misc/google-misc.inc inherit systemd +EXTRA_OEMESON = " \ + -Dtests=disabled \ + " + SYSTEMD_SERVICE_${PN} += " \ dhcp4@.service \ dhcp6@.service \ -- cgit v1.2.3 From 948c7b42589afefa044261b13ce7309cccd221d9 Mon Sep 17 00:00:00 2001 From: George Liu Date: Thu, 24 Jun 2021 11:13:15 +0800 Subject: meta-phosphor: mctp: Add mctp-demux.socket Resolves the following build error: ERROR: mctp-1.0+git999-r1 do_package: QA Issue: mctp: Files/directories were installed but not shipped in any package: /lib/systemd/system/mctp-demux.socket Fixes: a27a2f267548 ("libmctp: srcrev bump 507ba00dad..d4103f8f55") Signed-off-by: George Liu Change-Id: Ib302725bc54c312fc78caf00fa0fa5a2559668c5 --- meta-phosphor/recipes-phosphor/mctp/mctp_git.bb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb index b2fe211c0..eedecb7f8 100644 --- a/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb +++ b/meta-phosphor/recipes-phosphor/mctp/mctp_git.bb @@ -15,9 +15,11 @@ SRCREV = "cfeaef8ecb0ab8c59ea4e145603523e599d60014" DEPENDS += "autoconf-archive-native \ systemd \ - " + " -SYSTEMD_SERVICE_${PN} = "mctp-demux.service" +SYSTEMD_SERVICE_${PN} = "mctp-demux.service \ + mctp-demux.socket \ + " PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, \ -- cgit v1.2.3 From 2763316cd41d2ec470131823831470e5601e9200 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Thu, 24 Jun 2021 19:20:44 +0930 Subject: linux-aspeed: KCS raw, Everest PSU, Rainier PSU presence Andrew Jeffery (7): ARM: dts: aspeed: rainier: Add eMMC clock phase compensation ipmi: kcs_bmc: Add a "raw" character device interface ARM: configs: Enable IPMI KCS raw chardev ARM: dts: p10bmc: Drop the openbmc, mctp-lpc node misc: Remove obsolete mctp-lpc chardev ARM: dts: aspeed: p10bmc: Switch to KCS 3 for MCTP binding ARM: dts: aspeed: p10bmc: Enable KCS channel 2 B. J. Wyman (2): ARM: dts: aspeed: Everest PSU #3 address change ARM: dts: aspeed: Rainier remove PSU gpio-keys Colin Ian King (1): ipmi: kcs_bmc_aspeed: Fix less than zero comparison of a unsigned int Joel Stanley (2): ARM: config: aspeed: Enable KCS adapter for raw SerIO ARM: dts: aspeed: Fix AST2600 machines line names Signed-off-by: Joel Stanley Change-Id: Ib9c46a3693b8c04512004363501770e4bbd93432 --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index c932b47c2..c83b69b63 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.43" -SRCREV="ba6fcacfd32bbce4d1394467310df9d279a62231" +SRCREV="fe782f261ec9b2bccc8665576fb3c4d16032c0c9" require linux-aspeed.inc -- cgit v1.2.3 From c92dc16d4685cc58e92b37d76915c0671de50eff Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Thu, 24 Jun 2021 21:53:39 +0930 Subject: linux-aspeed: Move to v5.10.46 stable release This includes security and bug fixes from the 5.10.44 through to 5.10.46 stable releases. Change-Id: I7e6c006628b4b6cb7242cf3a51de36742fa86e8c Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index c83b69b63..963db1db5 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" -LINUX_VERSION ?= "5.10.43" +LINUX_VERSION ?= "5.10.46" -SRCREV="fe782f261ec9b2bccc8665576fb3c4d16032c0c9" +SRCREV="c7100e6e662152e0cadd2877755c8c0a64ef34b0" require linux-aspeed.inc -- cgit v1.2.3 From a9d3e58bf3f398ee28cc9b8769a1a011ccb841a1 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Thu, 24 Jun 2021 21:57:35 +0930 Subject: u-boot-aspeed: MMC env and AST2600 SPI boot fixes Adriana Kobylak (1): configs: aspeed-common: Add redundant env for mmc Troy Lee (2): ast2600: spl: Fixes boot from RAM device ast2600: Provide u-boot FIT image boot from RAM offset Change-Id: I9fd8c76593d83d32504288a6405c2b4c41fdb381 Signed-off-by: Joel Stanley --- meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc index ab4b5200c..553d52dd8 100644 --- a/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc +++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc @@ -8,7 +8,7 @@ PE = "1" # We use the revision in order to avoid having to fetch it from the # repo during parse -SRCREV = "cfc04136e001e208a1eab83c9fe0aa78a3fd6d7f" +SRCREV = "e5902174d9e0d9611619a8b468a5a9b73ab402b5" SRC_URI = "git://git@github.com/openbmc/u-boot.git;nobranch=1;protocol=https" -- cgit v1.2.3 From ed740ae0a5f6eb0dc61542af300324d0e220c2b5 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 24 Jun 2021 01:00:44 +0000 Subject: openpower-occ-control: srcrev bump 139015974f..0ad9dd87be George Liu (1): Verify object path is empty Change-Id: I96f85bf8df26f225d7f12ff9efa8c424780fe53a Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc index d14e53f9b..cbb7726f9 100644 --- a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc +++ b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-occ-control" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-occ-control" -SRCREV = "139015974f93b56cdde7cbc151ecb0f2a5522ec1" +SRCREV = "0ad9dd87be3846a770d8e2a1a59f73900c2610cf" -- cgit v1.2.3 From b113c780f8f781cdb543db3d000fd9238f80caca Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 24 Jun 2021 13:21:07 +0000 Subject: pldm: srcrev bump fe6f0d40f0..c33c2f05c9 Tom Joseph (4): common: Add helper function toString libpldm: Add API to decode firmware device ID record libpldm: Add API to decode component image info libpldm: Fix the check for the valid data length gokulsanker (2): libpldm: Add encode API for RequestUpdate cmd request libpldm: Add decode API for RequestUpdate cmd response Change-Id: Iee6ef4ef63dcfde005c6977122297c0a9041e8ae Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 849951805..9b271f7e9 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "fe6f0d40f0d0cbc8ed4eaae6ff8ffcdad48eb57d" +SRCREV = "c33c2f05c973d31def4801859a7722823e71d7a6" -- cgit v1.2.3 From 85dd691695fa25cbc12a8935bbf7d33d5ebd4701 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 24 Jun 2021 17:50:44 +0000 Subject: phosphor-fan-presence: srcrev bump 058180f9d6..bb449c1c7c Matt Spinler (1): monitor: Shut down if no readings at power on Mike Capps (1): monitor: Read fan state from dbus inventory upon starting Change-Id: I5dfb86ae1d36e83bb412a9a535ae3ddc260c68c5 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 1e7188184..49d50f1a9 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "058180f9d6e6b9d6f9deb75e3ebd09404e89bde6" +SRCREV = "bb449c1c7cfacb4068145e1322234591f087c8f5" -- cgit v1.2.3 From f64c3c0c133c4fa915b93f771d2a1c7213312046 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 24 Jun 2021 11:00:17 +0000 Subject: google-ipmi-sys: srcrev bump 3b1b427c1f..ac730af213 William A. Kennington III (3): makefile: Fix target install treewide: Cleanup pedantic C++ warnings build: Add meson build linyuny (1): Add new google ipmi sys command: SysHostPowerOff Change-Id: I988b24ca97d95ffa4ef7332741b682f1fae06011 Signed-off-by: Andrew Geissler Signed-off-by: William A. Kennington III --- .../recipes-google/ipmi/google-ipmi-sys_git.bb | 38 +++++++++------------- .../recipes-google/ipmi/google-ipmi-sys_%.bbappend | 8 +++-- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb index 0bcc66a58..8ff1d5d51 100644 --- a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb +++ b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb @@ -6,36 +6,30 @@ PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -inherit autotools pkgconfig -inherit systemd -inherit obmc-phosphor-ipmiprovider-symlink +inherit meson pkgconfig systemd -DEPENDS += "autoconf-archive-native" -DEPENDS += "sdbusplus" -DEPENDS += "phosphor-logging" -DEPENDS += "phosphor-ipmi-host" -DEPENDS += "nlohmann-json" +DEPENDS += " \ + nlohmann-json \ + phosphor-dbus-interfaces \ + phosphor-logging \ + phosphor-ipmi-host \ + sdbusplus \ + systemd \ + " S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/google-ipmi-sys" -SRCREV = "3b1b427c1fa4bcddcab1fc003410e5fa5d7a8334" +SRCREV = "ac730af213ab4912be5cbe8d260485ca666f2176" -FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}" -FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}" -FILES_${PN}_append = " ${libdir}/net-ipmid/lib*${SOLIBS}" -FILES_${PN}-dev_append = " ${libdir}/ipmid-providers/lib*${SOLIBSDEV} ${libdir}/ipmid-providers/*.la" - -HOSTIPMI_PROVIDER_LIBRARY += "libsyscmds.so" +FILES_${PN} += "${libdir}/ipmid-providers" SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "gbmc-psu-hardreset.target" +SYSTEMD_SERVICE_${PN} += " \ + gbmc-host-poweroff.target \ + gbmc-psu-hardreset.target \ + " -EXTRA_OECONF += "--disable-tests" +EXTRA_OEMESON += "-Dtests=disabled" CXXFLAGS_append_gbmc = '${@"" if not d.getVar("GBMC_NCSI_IF_NAME") else \ " -DNCSI_IPMI_CHANNEL=1 -DNCSI_IF_NAME=" + d.getVar("GBMC_NCSI_IF_NAME")}' - -do_install_append() { - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/gbmc-psu-hardreset.target ${D}${systemd_system_unitdir} -} diff --git a/meta-quanta/meta-gsj/recipes-google/ipmi/google-ipmi-sys_%.bbappend b/meta-quanta/meta-gsj/recipes-google/ipmi/google-ipmi-sys_%.bbappend index 11e4b7172..eff0845ac 100644 --- a/meta-quanta/meta-gsj/recipes-google/ipmi/google-ipmi-sys_%.bbappend +++ b/meta-quanta/meta-gsj/recipes-google/ipmi/google-ipmi-sys_%.bbappend @@ -1,6 +1,8 @@ -NETIPMI_PROVIDER_LIBRARY_gsj += "libsyscmds.so" -SYSTEMD_SERVICE_${PN}_remove_gsj = "gbmc-psu-hardreset.target" +SYSTEMD_SERVICE_${PN}_remove_gsj = " \ + gbmc-host-poweroff.target \ + gbmc-psu-hardreset.target \ + " do_install_append_gsj() { - rm -rf ${D}/lib + rm -r ${D}/lib } -- cgit v1.2.3 From c442b2be418364bba446044f8c625faff5838e9d Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 24 Jun 2021 22:40:21 +0000 Subject: google-ipmi-sys: srcrev bump ac730af213..bc62b193ae William A. Kennington III (1): build: Remove autotools Change-Id: Ie84a8e6d9b39b91fc74a4a714615fa0c56a76fda Signed-off-by: Andrew Geissler --- meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb index 8ff1d5d51..6acf234cf 100644 --- a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb +++ b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb @@ -19,7 +19,7 @@ DEPENDS += " \ S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/google-ipmi-sys" -SRCREV = "ac730af213ab4912be5cbe8d260485ca666f2176" +SRCREV = "bc62b193aec2991397a7f671cd3a74492a961d5c" FILES_${PN} += "${libdir}/ipmid-providers" -- cgit v1.2.3 From f5122ac34fb3a41d30b25e50ef938545e5f6d273 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Fri, 25 Jun 2021 09:09:44 +0930 Subject: meta-ibm: packagegroup-obmc-apps: Reorder p10bmc appends These were separated in a strange fashion. Perhaps we should reorganise the whole file in platform-specific sections. Change-Id: I51b8bb20060447c6e88557824e9465b1713f082f Signed-off-by: Andrew Jeffery --- meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index 0e0618b13..0469c86ef 100644 --- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -29,6 +29,7 @@ RDEPENDS_${PN}-fan-control_append_ibm-ac-server = " fan-watchdog" RDEPENDS_${PN}-fan-control_append_p10bmc = " fan-watchdog sensor-monitor" RDEPENDS_${PN}-extras_append_ibm-ac-server = " ${POWER_SERVICE_PACKAGES_AC_SERVER} witherspoon-power-supply-sync phosphor-webui" RDEPENDS_${PN}-extras_append_p10bmc = " ${POWER_SERVICE_PACKAGES_P10} webui-vue dbus-sensors phosphor-virtual-sensor kexec-tools makedumpfile kdump vmcore-dmesg" +RDEPENDS_${PN}-extras_append_p10bmc = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd debug-trigger" RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing wistron-ipmi-oem ${POWER_SERVICE_PACKAGES_AC_SERVER}" RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager phosphor-post-code-manager phosphor-host-postd kexec-tools makedumpfile kdump vmcore-dmesg" @@ -37,7 +38,6 @@ RDEPENDS_${PN}-host-state-mgmt_remove_p10bmc = "checkstop-monitor" RDEPENDS_${PN}-extras_remove_swift = "obmc-ikvm" RDEPENDS_${PN}-extras_remove_witherspoon-tacoma = "obmc-ikvm liberation-fonts uart-render-controller phosphor-webui" RDEPENDS_${PN}-logging_append = " ${EXTRA_IBM_LOGGING_PKGS}" -RDEPENDS_${PN}-extras_append_p10bmc = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd debug-trigger" RDEPENDS_${PN}-leds_remove_witherspoon-tacoma = "phosphor-led-manager-faultmonitor" ${PN}-software-extras_append_ibm-ac-server = " phosphor-software-manager-sync" -- cgit v1.2.3 From 8e962cedf3cb416fa4270d203d2e220497da5fc2 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Fri, 25 Jun 2021 09:10:46 +0930 Subject: meta-ibm: packagegroup-obmc-apps: p10bmc requires libmctp libmctp provides the MCTP implementation for communication between the host and the BMC. Change-Id: I6ae5a23fbb34c27db16a152afefb79ca6a649759 Signed-off-by: Andrew Jeffery --- meta-ibm/recipes-phosphor/mctp/files/p10bmc/mctp | 1 + meta-ibm/recipes-phosphor/mctp/files/witherspoon-tacoma/mctp | 1 + meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend | 4 ++++ .../recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 meta-ibm/recipes-phosphor/mctp/files/p10bmc/mctp create mode 100644 meta-ibm/recipes-phosphor/mctp/files/witherspoon-tacoma/mctp create mode 100644 meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend diff --git a/meta-ibm/recipes-phosphor/mctp/files/p10bmc/mctp b/meta-ibm/recipes-phosphor/mctp/files/p10bmc/mctp new file mode 100644 index 000000000..f9062205b --- /dev/null +++ b/meta-ibm/recipes-phosphor/mctp/files/p10bmc/mctp @@ -0,0 +1 @@ +DEMUX_BINDING_OPTS=astlpc diff --git a/meta-ibm/recipes-phosphor/mctp/files/witherspoon-tacoma/mctp b/meta-ibm/recipes-phosphor/mctp/files/witherspoon-tacoma/mctp new file mode 100644 index 000000000..f9062205b --- /dev/null +++ b/meta-ibm/recipes-phosphor/mctp/files/witherspoon-tacoma/mctp @@ -0,0 +1 @@ +DEMUX_BINDING_OPTS=astlpc diff --git a/meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend b/meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend new file mode 100644 index 000000000..fa838e38b --- /dev/null +++ b/meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend @@ -0,0 +1,4 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI_append_p10bmc = " file://mctp" +SRC_URI_append_witherspoon-tacoma = " file://mctp" diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend index 0469c86ef..7cd4cd2ac 100644 --- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend +++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend @@ -29,7 +29,7 @@ RDEPENDS_${PN}-fan-control_append_ibm-ac-server = " fan-watchdog" RDEPENDS_${PN}-fan-control_append_p10bmc = " fan-watchdog sensor-monitor" RDEPENDS_${PN}-extras_append_ibm-ac-server = " ${POWER_SERVICE_PACKAGES_AC_SERVER} witherspoon-power-supply-sync phosphor-webui" RDEPENDS_${PN}-extras_append_p10bmc = " ${POWER_SERVICE_PACKAGES_P10} webui-vue dbus-sensors phosphor-virtual-sensor kexec-tools makedumpfile kdump vmcore-dmesg" -RDEPENDS_${PN}-extras_append_p10bmc = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd debug-trigger" +RDEPENDS_${PN}-extras_append_p10bmc = " pldm openpower-hw-diags srvcfg-manager biosconfig-manager phosphor-post-code-manager phosphor-host-postd debug-trigger mctp" RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing wistron-ipmi-oem ${POWER_SERVICE_PACKAGES_AC_SERVER}" RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager phosphor-post-code-manager phosphor-host-postd kexec-tools makedumpfile kdump vmcore-dmesg" -- cgit v1.2.3 From 895a028bbfdee515148cd0011a455513d83c1885 Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Fri, 25 Jun 2021 09:17:35 +0930 Subject: meta-ibm: mctp: Enable astlpc raw KCS support for p10bmc Install the udev files to cover the transition between drivers and devices. Change-Id: I87ffe3ae82bb7a073a8140adcb308b09fc43c9b9 Signed-off-by: Andrew Jeffery --- meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend b/meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend index fa838e38b..0c8f41a02 100644 --- a/meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend +++ b/meta-ibm/recipes-phosphor/mctp/mctp_%.bbappend @@ -2,3 +2,5 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI_append_p10bmc = " file://mctp" SRC_URI_append_witherspoon-tacoma = " file://mctp" + +PACKAGECONFIG_append_p10bmc = " astlpc-raw-kcs" -- cgit v1.2.3 From f8fadb810cefd61f17e52db3104b8d779f2a2bcd Mon Sep 17 00:00:00 2001 From: "Thang Q. Nguyen" Date: Tue, 22 Jun 2021 06:07:13 +0000 Subject: meta-ampere: mtjade: support IPMI sensor report Add ipmi-sensor Yaml file to configure IPMI sensor report following Mt.Jade SDR Definition document. Tested: 1. Check sensor report using IPMI sdr and sensor commands: $ ipmitool sdr list $ ipmitool sensor list Signed-off-by: Thang Q. Nguyen Change-Id: Ib61d459087d3cf2711b2dd19a64c69d91e39861f --- .../configuration/mtjade-yaml-config.bb | 4 + .../mtjade-yaml-config/ipmi-sensors-mtjade.yaml | 399 +++++++++++++++++++++ .../ipmi/phosphor-ipmi-host_%.bbappend | 1 + 3 files changed, 404 insertions(+) create mode 100644 meta-ampere/meta-jade/recipes-phosphor/configuration/mtjade-yaml-config/ipmi-sensors-mtjade.yaml diff --git a/meta-ampere/meta-jade/recipes-phosphor/configuration/mtjade-yaml-config.bb b/meta-ampere/meta-jade/recipes-phosphor/configuration/mtjade-yaml-config.bb index 66238dcf3..cf154eee6 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/configuration/mtjade-yaml-config.bb +++ b/meta-ampere/meta-jade/recipes-phosphor/configuration/mtjade-yaml-config.bb @@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5 inherit allarch SRC_URI = " \ + file://ipmi-sensors-${MACHINE}.yaml \ file://mtjade-ipmi-fru.yaml \ file://mtjade-ipmi-fru-properties.yaml \ " @@ -12,6 +13,8 @@ SRC_URI = " \ S = "${WORKDIR}" do_install() { + install -m 0644 -D ipmi-sensors-${MACHINE}.yaml \ + ${D}${datadir}/${BPN}/ipmi-sensors-${MACHINE}.yaml cat mtjade-ipmi-fru.yaml > fru-read.yaml install -m 0644 -D mtjade-ipmi-fru-properties.yaml \ ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml @@ -20,6 +23,7 @@ do_install() { } FILES_${PN}-dev = " \ + ${datadir}/${BPN}/ipmi-sensors-${MACHINE}.yaml \ ${datadir}/${BPN}/ipmi-extra-properties.yaml \ ${datadir}/${BPN}/ipmi-fru-read.yaml \ " diff --git a/meta-ampere/meta-jade/recipes-phosphor/configuration/mtjade-yaml-config/ipmi-sensors-mtjade.yaml b/meta-ampere/meta-jade/recipes-phosphor/configuration/mtjade-yaml-config/ipmi-sensors-mtjade.yaml new file mode 100644 index 000000000..959f353f3 --- /dev/null +++ b/meta-ampere/meta-jade/recipes-phosphor/configuration/mtjade-yaml-config/ipmi-sensors-mtjade.yaml @@ -0,0 +1,399 @@ +1: &TEMP_DEFAULTS + bExp: 0 + entityID: 30 + entityInstance: 1 + interfaces: + xyz.openbmc_project.Sensor.Value: + Value: + Offsets: + 255: + type: double + multiplierM: 1 + mutability: Mutability::Write|Mutability::Read + offsetB: 0 + path: /xyz/openbmc_project/sensors/temperature/TS1_Temp + rExp: 0 + readingType: readingData + sensorNamePattern: nameLeaf + sensorReadingType: 1 + sensorType: 1 + serviceInterface: org.freedesktop.DBus.Properties + unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC +2: + <<: *TEMP_DEFAULTS + entityInstance: 2 + path: /xyz/openbmc_project/sensors/temperature/TS2_Temp +3: + <<: *TEMP_DEFAULTS + entityInstance: 3 + path: /xyz/openbmc_project/sensors/temperature/TS3_Temp +4: + <<: *TEMP_DEFAULTS + entityInstance: 4 + path: /xyz/openbmc_project/sensors/temperature/TS4_Temp +5: + <<: *TEMP_DEFAULTS + entityInstance: 5 + path: /xyz/openbmc_project/sensors/temperature/TS5_Temp +6: + <<: *TEMP_DEFAULTS + entityInstance: 6 + path: /xyz/openbmc_project/sensors/temperature/TS6_Temp +243: + <<: *TEMP_DEFAULTS + entityInstance: 58 + path: /xyz/openbmc_project/sensors/temperature/PSU0_TEMP +244: + <<: *TEMP_DEFAULTS + entityInstance: 59 + path: /xyz/openbmc_project/sensors/temperature/PSU1_TEMP + +37: &FAN_DEFAULTS + entityID: 29 + entityInstance: 13 + sensorType: 4 + path: /xyz/openbmc_project/sensors/fan_tach/FAN3_1 + sensorReadingType: 1 + multiplierM: 100 + offsetB: 0 + rExp: 0 + unit: xyz.openbmc_project.Sensor.Value.Unit.RPMS + mutability: Mutability::Write|Mutability::Read + serviceInterface: org.freedesktop.DBus.Properties + readingType: readingData + sensorNamePattern: nameLeaf + interfaces: + xyz.openbmc_project.Sensor.Value: + Value: + Offsets: + 0x0: + type: double + +40: + <<: *FAN_DEFAULTS + entityInstance: 16 + path: /xyz/openbmc_project/sensors/fan_tach/FAN3_2 +43: + <<: *FAN_DEFAULTS + entityInstance: 19 + path: /xyz/openbmc_project/sensors/fan_tach/FAN4_1 +46: + <<: *FAN_DEFAULTS + entityInstance: 22 + path: /xyz/openbmc_project/sensors/fan_tach/FAN4_2 +49: + <<: *FAN_DEFAULTS + entityInstance: 25 + path: /xyz/openbmc_project/sensors/fan_tach/FAN5_1 +52: + <<: *FAN_DEFAULTS + entityInstance: 28 + path: /xyz/openbmc_project/sensors/fan_tach/FAN5_2 +55: + <<: *FAN_DEFAULTS + entityInstance: 31 + path: /xyz/openbmc_project/sensors/fan_tach/FAN6_1 +58: + <<: *FAN_DEFAULTS + entityInstance: 34 + path: /xyz/openbmc_project/sensors/fan_tach/FAN6_2 +61: + <<: *FAN_DEFAULTS + entityInstance: 37 + path: /xyz/openbmc_project/sensors/fan_tach/FAN7_1 +64: + <<: *FAN_DEFAULTS + entityInstance: 40 + path: /xyz/openbmc_project/sensors/fan_tach/FAN7_2 +67: + <<: *FAN_DEFAULTS + entityInstance: 43 + path: /xyz/openbmc_project/sensors/fan_tach/FAN8_1 +70: + <<: *FAN_DEFAULTS + entityInstance: 46 + path: /xyz/openbmc_project/sensors/fan_tach/FAN8_2 +245: + <<: *FAN_DEFAULTS + entityInstance: 60 + path: /xyz/openbmc_project/sensors/fan_tach/PSU0_fan1 +246: + <<: *FAN_DEFAULTS + entityInstance: 61 + path: /xyz/openbmc_project/sensors/fan_tach/PSU1_fan1 + +73: &VOLTAGE_DEFAULTS + entityID: 0x13 + entityInstance: 9 + sensorType: 0x02 + path: /xyz/openbmc_project/sensors/voltage/S0_0V8_VDDC_SOC + sensorReadingType: 0x01 + multiplierM: 5 + offsetB: 0 + bExp: 0 + unit: xyz.openbmc_project.Sensor.Value.Unit.Volts + rExp: -3 + serviceInterface: org.freedesktop.DBus.Properties + readingType: readingData + interfaces: + xyz.openbmc_project.Sensor.Value: + Value: + Offsets: + 0xFF: + type: double +74: + <<: *VOLTAGE_DEFAULTS + entityInstance: 11 + multiplierM: 7 + path: /xyz/openbmc_project/sensors/voltage/S0_0V75_PCP +75: + <<: *VOLTAGE_DEFAULTS + entityInstance: 13 + multiplierM: 7 + path: /xyz/openbmc_project/sensors/voltage/S0_1V2_VDDQ0123 +76: + <<: *VOLTAGE_DEFAULTS + entityInstance: 15 + multiplierM: 4 + path: /xyz/openbmc_project/sensors/voltage/S0_0V6_VTT0123 +77: + <<: *VOLTAGE_DEFAULTS + entityInstance: 17 + multiplierM: 15 + path: /xyz/openbmc_project/sensors/voltage/S0_2V5_VPP0123 +78: + <<: *VOLTAGE_DEFAULTS + entityInstance: 19 + multiplierM: 7 + path: /xyz/openbmc_project/sensors/voltage/S0_1V2_VDDQ4567 +79: + <<: *VOLTAGE_DEFAULTS + entityInstance: 21 + multiplierM: 4 + path: /xyz/openbmc_project/sensors/voltage/S0_0V6_VTT4567 +80: + <<: *VOLTAGE_DEFAULTS + entityInstance: 23 + multiplierM: 15 + path: /xyz/openbmc_project/sensors/voltage/S0_2V5_VPP4567 +81: + <<: *VOLTAGE_DEFAULTS + entityInstance: 25 + multiplierM: 5 + path: /xyz/openbmc_project/sensors/voltage/S0_0V85_RCA +82: + <<: *VOLTAGE_DEFAULTS + entityInstance: 27 + multiplierM: 11 + path: /xyz/openbmc_project/sensors/voltage/S0_1V8_VDDH +83: + <<: *VOLTAGE_DEFAULTS + entityInstance: 29 + multiplierM: 9 + path: /xyz/openbmc_project/sensors/voltage/S0_1V5_VDDH +84: + <<: *VOLTAGE_DEFAULTS + entityInstance: 31 + multiplierM: 11 + path: /xyz/openbmc_project/sensors/voltage/S0_1V8_SOC +85: + <<: *VOLTAGE_DEFAULTS + entityInstance: 33 + multiplierM: 11 + path: /xyz/openbmc_project/sensors/voltage/S0_1V8_PCP +86: + <<: *VOLTAGE_DEFAULTS + entityInstance: 35 + multiplierM: 20 + path: /xyz/openbmc_project/sensors/voltage/S0_3V3_SOC + +87: + <<: *VOLTAGE_DEFAULTS + entityInstance: 10 + multiplierM: 5 + path: /xyz/openbmc_project/sensors/voltage/S1_0V8_VDDC_SOC +88: + <<: *VOLTAGE_DEFAULTS + entityInstance: 12 + multiplierM: 7 + path: /xyz/openbmc_project/sensors/voltage/S1_0V75_PCP +89: + <<: *VOLTAGE_DEFAULTS + entityInstance: 14 + multiplierM: 7 + path: /xyz/openbmc_project/sensors/voltage/S1_1V2_VDDQ0123 +90: + <<: *VOLTAGE_DEFAULTS + entityInstance: 16 + multiplierM: 4 + path: /xyz/openbmc_project/sensors/voltage/S1_0V6_VTT0123 +91: + <<: *VOLTAGE_DEFAULTS + entityInstance: 18 + multiplierM: 15 + path: /xyz/openbmc_project/sensors/voltage/S1_2V5_VPP0123 +92: + <<: *VOLTAGE_DEFAULTS + entityInstance: 20 + multiplierM: 7 + path: /xyz/openbmc_project/sensors/voltage/S1_1V2_VDDQ4567 +93: + <<: *VOLTAGE_DEFAULTS + entityInstance: 22 + multiplierM: 4 + path: /xyz/openbmc_project/sensors/voltage/S1_0V6_VTT4567 +94: + <<: *VOLTAGE_DEFAULTS + entityInstance: 24 + multiplierM: 15 + path: /xyz/openbmc_project/sensors/voltage/S1_2V5_VPP4567 +95: + <<: *VOLTAGE_DEFAULTS + entityInstance: 26 + multiplierM: 5 + path: /xyz/openbmc_project/sensors/voltage/S1_0V85_RCA +96: + <<: *VOLTAGE_DEFAULTS + entityInstance: 28 + multiplierM: 11 + path: /xyz/openbmc_project/sensors/voltage/S1_1V8_VDDH +97: + <<: *VOLTAGE_DEFAULTS + entityInstance: 30 + multiplierM: 9 + path: /xyz/openbmc_project/sensors/voltage/S1_1V5_VDDH +98: + <<: *VOLTAGE_DEFAULTS + entityInstance: 32 + multiplierM: 11 + path: /xyz/openbmc_project/sensors/voltage/S1_1V8_SOC +99: + <<: *VOLTAGE_DEFAULTS + entityInstance: 34 + multiplierM: 11 + path: /xyz/openbmc_project/sensors/voltage/S1_1V8_PCP +100: + <<: *VOLTAGE_DEFAULTS + entityInstance: 36 + multiplierM: 20 + path: /xyz/openbmc_project/sensors/voltage/S1_3V3_SOC +101: + <<: *VOLTAGE_DEFAULTS + entityInstance: 37 + multiplierM: 20 + path: /xyz/openbmc_project/sensors/voltage/3V3_SB +102: + <<: *VOLTAGE_DEFAULTS + entityInstance: 38 + multiplierM: 18 + path: /xyz/openbmc_project/sensors/voltage/VBAT_RTC +230: + <<: *VOLTAGE_DEFAULTS + entityInstance: 74 + multiplierM: 18 + rExp: -1 + path: /xyz/openbmc_project/sensors/voltage/PSU0_VINPUT +231: + <<: *VOLTAGE_DEFAULTS + entityInstance: 75 + multiplierM: 18 + rExp: -1 + path: /xyz/openbmc_project/sensors/voltage/PSU1_VINPUT +232: + <<: *VOLTAGE_DEFAULTS + entityInstance: 76 + multiplierM: 18 + rExp: -2 + path: /xyz/openbmc_project/sensors/voltage/PSU0_VOUTPUT +233: + <<: *VOLTAGE_DEFAULTS + entityInstance: 77 + multiplierM: 18 + rExp: -2 + path: /xyz/openbmc_project/sensors/voltage/PSU1_VOUTPUT + +240: &power + sensorType: 0x08 + path: /xyz/openbmc_project/sensors/power/PSU0_POUTPUT + entityID: 19 + entityInstance: 84 + sensorReadingType: 0x01 + multiplierM: 80 + offsetB: 0 + bExp: 0 + unit: xyz.openbmc_project.Sensor.Value.Unit.Watts + rExp: -1 + serviceInterface: org.freedesktop.DBus.Properties + readingType: readingData + interfaces: + xyz.openbmc_project.Sensor.Value: + Value: + Offsets: + 0xFF: + type: double + +241: + <<: *power + entityInstance: 85 + multiplierM: 80 + rExp: -1 + path: /xyz/openbmc_project/sensors/power/PSU1_POUTPUT + +242: + <<: *power + entityInstance: 57 + multiplierM: 80 + rExp: -1 + path: /xyz/openbmc_project/sensors/power/total_power + +238: + <<: *power + entityInstance: 82 + multiplierM: 80 + rExp: -1 + path: /xyz/openbmc_project/sensors/power/PSU0_PINPUT + +239: + <<: *power + entityInstance: 83 + multiplierM: 80 + rExp: -1 + path: /xyz/openbmc_project/sensors/power/PSU1_PINPUT + +234: ¤t + sensorType: 0x03 + path: /xyz/openbmc_project/sensors/current/PSU0_IINPUT + entityID: 19 + entityInstance: 78 + sensorReadingType: 0x01 + multiplierM: 80 + offsetB: 0 + bExp: 0 + unit: xyz.openbmc_project.Sensor.Value.Unit.Amperes + rExp: -3 + serviceInterface: org.freedesktop.DBus.Properties + readingType: readingData + interfaces: + xyz.openbmc_project.Sensor.Value: + Value: + Offsets: + 0xFF: + type: double + +235: + <<: *current + entityInstance: 79 + multiplierM: 80 + path: /xyz/openbmc_project/sensors/current/PSU1_IINPUT + +236: + <<: *current + entityInstance: 80 + multiplierM: 80 + path: /xyz/openbmc_project/sensors/current/PSU0_IOUTPUT + +237: + <<: *current + entityInstance: 81 + multiplierM: 80 + path: /xyz/openbmc_project/sensors/current/PSU1_IOUTPUT diff --git a/meta-ampere/meta-jade/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-ampere/meta-jade/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend index 980746ede..c0bcbdd3a 100644 --- a/meta-ampere/meta-jade/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend +++ b/meta-ampere/meta-jade/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend @@ -5,6 +5,7 @@ DEPENDS_append_mtjade = " mtjade-yaml-config" RRECOMMENDS_${PN} += "ipmitool" EXTRA_OECONF_mtjade = " \ + SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/mtjade-yaml-config/ipmi-sensors-${MACHINE}.yaml \ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/mtjade-yaml-config/ipmi-fru-read.yaml \ " -- cgit v1.2.3 From 42c280d244d515667715588ae4ec51920c8b9bdd Mon Sep 17 00:00:00 2001 From: XP Chen Date: Wed, 23 Jun 2021 16:50:06 -0500 Subject: meta-fii/meta-kudo: modify host-powerctrl to start after ssifbridge Modify the initial script to boot host after the ssifbridge service Signed-off-by: XP Chen Change-Id: I76a4d3b08ebd974edc097e4a52cdfc996dc28452 --- .../recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service index 14c14d480..54c7c7aa1 100644 --- a/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service +++ b/meta-fii/meta-kudo/recipes-kudo/kudo-sys-utility/kudo-boot/host-powerctrl.service @@ -1,5 +1,7 @@ [Unit] Description = Host Power Control Sequence +Wants=ssifbridge.service +After=ssifbridge.service [Service] Restart=no -- cgit v1.2.3 From b7f2207634651c47466dc666abdff3775a02141a Mon Sep 17 00:00:00 2001 From: Willy Tu Date: Thu, 24 Jun 2021 17:59:46 -0700 Subject: meta-google: os-release: Add more build info Add BUILD_MEMO to /etc/os-release. BUILD_MEMO only exists when BUILD_MEMO is defined in the shell environment. Tested: BUILD_MEMO=$(date) MACHINE=gbmc bitbake obmc-phosphor-image $ cat /etc/os-release ID=gbmc NAME="gBMC (OpenBMC + Google customizations)" VERSION="2.9.0-dev" VERSION_ID=gbmc-release-0.5.0.0 PRETTY_NAME="gBMC (OpenBMC + Google customizations) 2.9.0-dev" BUILD_ID="2.9.0-dev" OPENBMC_TARGET_MACHINE="gbmc" OBMC_VERSION="v2.4-11142-gda2d3941e2" BUILD_MEMO="Tue 02 Mar 2021 03:39:50 PM PST" Google-Bug-Id: 180020976 Google-Bug-Id: 179617828 Signed-off-by: Yong Zhao Signed-off-by: Willy Tu Change-Id: Ie041b897d6dbe31355edef958c6c97e44c91ea75 --- meta-google/recipes-core/os-release/os-release.bbappend | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 meta-google/recipes-core/os-release/os-release.bbappend diff --git a/meta-google/recipes-core/os-release/os-release.bbappend b/meta-google/recipes-core/os-release/os-release.bbappend new file mode 100644 index 000000000..33d434afb --- /dev/null +++ b/meta-google/recipes-core/os-release/os-release.bbappend @@ -0,0 +1,11 @@ + +python() { + # Instead of using BB_ENV_EXTRAWHITE, we can get info from the + # shell environment this way. + origenv = d.getVar("BB_ORIGENV", False) + memo = origenv.getVar("BUILD_MEMO", False) + if memo: + d.setVar('BUILD_MEMO', memo) +} + +OS_RELEASE_FIELDS_append = " BUILD_MEMO" \ No newline at end of file -- cgit v1.2.3 From 9cb3a7ce2dce1789c7dd13c10daf241d16104005 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 23 Jun 2021 16:40:11 +0000 Subject: foxconn-ipmi-oem: srcrev bump 163226efd0..35c1ac40e4 Mohaimen Alsamarai (2): Revert "Add Fii oem command" Add Fii-oem-ipmi command Change-Id: Iac6bd7eb76c65db930ae992890bfff8189217420 Signed-off-by: Andrew Geissler --- meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb b/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb index c5a4328ae..c0793adf6 100644 --- a/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb +++ b/meta-fii/meta-kudo/recipes-kudo/ipmi/fii-ipmi-oem_git.bb @@ -15,7 +15,7 @@ EXTRA_OECMAKE="-DENABLE_TEST=0 -DYOCTO=1" LIBRARY_NAMES = "libfiioemcmds.so" SRC_URI = "git://github.com/openbmc/foxconn-ipmi-oem.git" -SRCREV = "163226efd02b91994aaa474005979560965ac3d6" +SRCREV = "35c1ac40e476caa19c84a546d4f85ba96cb5dbbd" HOSTIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}" NETIPMI_PROVIDER_LIBRARY += "${LIBRARY_NAMES}" -- cgit v1.2.3 From 3ab5fd08a77249cd6693e5431d72363a807c1bd5 Mon Sep 17 00:00:00 2001 From: George Hung Date: Fri, 25 Jun 2021 15:09:16 +0800 Subject: meta-quanta: gbs: add system event sensor to handle non-IPMI-SEL Since the phosphor-logging still has other event types other than IPMI SEL and also put them in the "/var/lib/phosphor-logging/errors" directory. It would make "ipmitool sel list" result in the unspecified error Thus, map these logs to the system event sensor as "Undetermined system hardware failure" Signed-off-by: George Hung Change-Id: I00d557fba529d9b762746f8e582df336a16e630f --- .../configuration/gbs-yaml-config/gbs-ipmi-inventory-sensors.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/configuration/gbs-yaml-config/gbs-ipmi-inventory-sensors.yaml b/meta-quanta/meta-gbs/recipes-phosphor/configuration/gbs-yaml-config/gbs-ipmi-inventory-sensors.yaml index 865e4b3b6..76eaa4e51 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/configuration/gbs-yaml-config/gbs-ipmi-inventory-sensors.yaml +++ b/meta-quanta/meta-gbs/recipes-phosphor/configuration/gbs-yaml-config/gbs-ipmi-inventory-sensors.yaml @@ -433,3 +433,9 @@ sensorID: 0xFC sensorType: 0x25 offset: 0x01 +# map non-IPMI-SEL to the system event sensor as "Undetermined system hardware failure." +/xyz/openbmc_project/inventory/system: + eventReadingType: 0x6f + sensorID: 0xFE + sensorType: 0x12 + offset: 0x02 -- cgit v1.2.3 From fec94c7b8f7adb79e6d63db1a7e88b54eecc1749 Mon Sep 17 00:00:00 2001 From: Joel Stanley Date: Mon, 28 Jun 2021 13:34:44 +0930 Subject: linux-aspeed: AST2600 eMMC fixes Andrew Jeffery (2): ARM: dts: tacoma: Add phase corrections for eMMC ARM: dts: everest: Add phase corrections for eMMC Change-Id: I24a1c0f0c6505f7bb16c437eea03edbb254fee93 Signed-off-by: Joel Stanley --- meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb index 963db1db5..063970a6f 100644 --- a/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb +++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb @@ -1,6 +1,6 @@ KBRANCH ?= "dev-5.10" LINUX_VERSION ?= "5.10.46" -SRCREV="c7100e6e662152e0cadd2877755c8c0a64ef34b0" +SRCREV="dd1e9367157f900616f0eae3cef897c23d4e7452" require linux-aspeed.inc -- cgit v1.2.3 From a4353c83a2d230d0992feedbf462cc243ab37126 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 25 Jun 2021 14:23:27 -0500 Subject: meta-raspberrypi: subtree update:ffc402ef5e..17b56ab075 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Andreas Müller (1): pi-bluetooth: upgrade 0.1.12 -> 0.1.17 Devendra Tewari (1): Add WM8960 soundcard support Paul Barker (1): rpi-cmdline: Package is machine-specific Pierre-Jean Texier (1): kas: remove 'image-mklibs' from USER_CLASSES list Signed-off-by: Andrew Geissler Change-Id: I08366a667f191efd45b717be5bd530ae1af782b5 --- meta-raspberrypi/conf/machine/include/rpi-base.inc | 1 + meta-raspberrypi/docs/extra-build-config.md | 21 ++++++++++ meta-raspberrypi/kas-poky-rpi.yml | 2 +- .../recipes-bsp/bootfiles/rpi-cmdline.bb | 2 + .../recipes-bsp/bootfiles/rpi-config_git.bb | 8 ++++ ...er-correct-path-for-hciconfig-under-Yocto.patch | 33 ++++++++++----- .../pi-bluetooth/pi-bluetooth_0.1.12.bb | 47 ---------------------- .../pi-bluetooth/pi-bluetooth_0.1.17.bb | 47 ++++++++++++++++++++++ .../recipes-kernel/linux/files/wm8960.cfg | 2 + .../recipes-kernel/linux/linux-raspberrypi.inc | 1 + 10 files changed, 106 insertions(+), 58 deletions(-) delete mode 100644 meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb create mode 100644 meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb create mode 100644 meta-raspberrypi/recipes-kernel/linux/files/wm8960.cfg diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc index a80007847..75c37271a 100644 --- a/meta-raspberrypi/conf/machine/include/rpi-base.inc +++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc @@ -50,6 +50,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/vc4-kms-dsi-7inch.dtbo \ overlays/w1-gpio.dtbo \ overlays/w1-gpio-pullup.dtbo \ + overlays/wm8960-soundcard.dtbo \ " RPI_KERNEL_DEVICETREE ?= " \ diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md index 1caf904fd..ec3bd6ab8 100644 --- a/meta-raspberrypi/docs/extra-build-config.md +++ b/meta-raspberrypi/docs/extra-build-config.md @@ -349,3 +349,24 @@ Also, this will enable adding Contiguous Memory Allocation value in the cmdline. Ref.: * * + +## WM8960 soundcard support + +Support for WM8960 based sound cards such as the WM8960 Hi-Fi Sound Card HAT for Raspberry Pi from Waveshare, and ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio, can be enabled in `local.conf` + + ```conf + MACHINE_FEATURES += "wm8960" + ``` + +You may need to adjust volume and toggle switches that are off by default + + ```bash + amixer -c1 sset 'Headphone',0 80%,80% + amixer -c1 sset 'Speaker',0 80%,80% + amixer -c1 sset 'Left Input Mixer Boost' toggle + amixer -c1 sset 'Left Output Mixer PCM' toggle + amixer -c1 sset 'Right Input Mixer Boost' toggle + amixer -c1 sset 'Right Output Mixer PCM' toggle + ``` + +Audio capture on ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio is very noisy. diff --git a/meta-raspberrypi/kas-poky-rpi.yml b/meta-raspberrypi/kas-poky-rpi.yml index d629e817f..3e43e2e75 100644 --- a/meta-raspberrypi/kas-poky-rpi.yml +++ b/meta-raspberrypi/kas-poky-rpi.yml @@ -45,7 +45,7 @@ local_conf_header: CONF_VERSION = "1" PACKAGE_CLASSES = "package_rpm" SDKMACHINE = "x86_64" - USER_CLASSES = "buildstats image-mklibs image-prelink" + USER_CLASSES = "buildstats image-prelink" PATCHRESOLVE = "noop" debug-tweaks: | EXTRA_IMAGE_FEATURES = "debug-tweaks" diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb index 3ebd1e61c..13fe304a5 100644 --- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb +++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-cmdline.bb @@ -49,3 +49,5 @@ do_deploy() { addtask deploy before do_build after do_install do_deploy[dirs] += "${DEPLOYDIR}/${BOOTFILES_DIR_NAME}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb index 052206acf..e84456c7a 100644 --- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb +++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb @@ -30,6 +30,8 @@ GPIO_IR_TX ?= "17" CAN_OSCILLATOR ?= "16000000" +WM8960="${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "1", "0", d)}" + inherit deploy nopackages do_deploy() { @@ -251,6 +253,12 @@ do_deploy() { ;; esac fi + + # WM8960 support + if [ "${WM8960}" = "1" ]; then + echo "# Enable WM8960" >> $CONFIG + echo "dtoverlay=wm8960-soundcard" >> $CONFIG + fi } do_deploy_append_raspberrypi3-64() { diff --git a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch index 45b43c725..079377e0e 100644 --- a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch +++ b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth/0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch @@ -8,20 +8,33 @@ Signed-off-by: Peter A. Bigot Signed-off-by: Andrei Gherzan --- - usr/bin/bthelper | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + usr/bin/bthelper | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr/bin/bthelper b/usr/bin/bthelper -index af597e5..5de84f6 100755 +index 2133fbc..1fc9245 100755 --- a/usr/bin/bthelper +++ b/usr/bin/bthelper -@@ -10,7 +10,7 @@ fi +@@ -12,8 +12,8 @@ fi + dev=$1 - dev="$1" # Need to bring hci up before looking at MAC as it can be all zeros during init --/bin/hciconfig "$dev" up --/bin/hciconfig "$dev" | grep -qE "BD Address: (B8:27:EB|DC:A6:32):" || exit 0 -+/usr/bin/hciconfig "$dev" up -+/usr/bin/hciconfig "$dev" | grep -qE "BD Address: (B8:27:EB|DC:A6:32):" || exit 0 - /usr/bin/hcitool -i "$dev" cmd 0x3f 0x1c 0x01 0x02 0x00 0x01 0x01 > /dev/null +-/bin/hciconfig $dev up +-if ! /bin/hciconfig $dev | grep -q "Bus: UART"; then ++/usr/bin/hciconfig $dev up ++if ! /usr/bin/hciconfig $dev | grep -q "Bus: UART"; then + echo Not a UART-attached BT Modem + exit 0 + fi +@@ -26,7 +26,7 @@ if ( /usr/bin/hcitool -i $dev dev | grep -q -E '\s43:4[35]:' ); then + BDADDR=`printf '0x%02x 0x%02x 0x%02x 0xeb 0x27 0xb8' $((0x$B3 ^ 0xaa)) $((0x$B2 ^ 0xaa)) $((0x$B1 ^ 0xaa))` + /usr/bin/hcitool -i $dev cmd 0x3f 0x001 $BDADDR +- /bin/hciconfig $dev reset ++ /usr/bin/hciconfig $dev reset + else + echo Raspberry Pi BDADDR already set + fi +-- +2.31.1 + diff --git a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb deleted file mode 100644 index ccf714baf..000000000 --- a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.12.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Script to properly configure BT-HCI on Raspberry Pi" -HOMEPAGE = "https://github.com/RPi-Distro/pi-bluetooth" -SECTION = "kernel" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "\ - file://debian/copyright;md5=6af8de3c8ee71f8e91e9b22f84ff2022 \ -" - -SRC_URI = "\ - git://github.com/RPi-Distro/pi-bluetooth \ - file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \ -" -SRCREV = "cbdbcb66bcc5b9af05f1a9fffe2254c872bb0ace" - -S = "${WORKDIR}/git" - -# hciuart.service replaces what was brcm43438.service -inherit systemd -SYSTEMD_SERVICE_${PN} = "\ - hciuart.service \ - bthelper@.service \ -" - -do_install() { - install -d ${D}${sysconfdir}/udev/rules.d - install -m 0644 ${S}/lib/udev/rules.d/* ${D}${sysconfdir}/udev/rules.d - - install -d ${D}${bindir} - install -m 0755 ${S}/usr/bin/bthelper ${D}${bindir} - install -m 0755 ${S}/usr/bin/btuart ${D}${bindir} - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/debian/pi-bluetooth.bthelper@.service ${D}${systemd_system_unitdir}/bthelper@.service - install -m 0644 ${S}/debian/pi-bluetooth.hciuart.service ${D}${systemd_system_unitdir}/hciuart.service - fi -} - -FILES_${PN} = "\ - ${bindir} \ - ${sysconfdir} \ - ${systemd_unitdir}/system \ -" - -RDEPENDS_${PN} += " \ - udev-rules-rpi \ -" diff --git a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb new file mode 100644 index 000000000..a1eb97fe8 --- /dev/null +++ b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb @@ -0,0 +1,47 @@ +SUMMARY = "Script to properly configure BT-HCI on Raspberry Pi" +HOMEPAGE = "https://github.com/RPi-Distro/pi-bluetooth" +SECTION = "kernel" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "\ + file://debian/copyright;md5=6af8de3c8ee71f8e91e9b22f84ff2022 \ +" + +SRC_URI = "\ + git://github.com/RPi-Distro/pi-bluetooth \ + file://0001-bthelper-correct-path-for-hciconfig-under-Yocto.patch \ +" +SRCREV = "fd4775bf90e037551532fc214a958074830bb80d" + +S = "${WORKDIR}/git" + +# hciuart.service replaces what was brcm43438.service +inherit systemd +SYSTEMD_SERVICE_${PN} = "\ + hciuart.service \ + bthelper@.service \ +" + +do_install() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${S}/lib/udev/rules.d/* ${D}${sysconfdir}/udev/rules.d + + install -d ${D}${bindir} + install -m 0755 ${S}/usr/bin/bthelper ${D}${bindir} + install -m 0755 ${S}/usr/bin/btuart ${D}${bindir} + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/debian/pi-bluetooth.bthelper@.service ${D}${systemd_system_unitdir}/bthelper@.service + install -m 0644 ${S}/debian/pi-bluetooth.hciuart.service ${D}${systemd_system_unitdir}/hciuart.service + fi +} + +FILES_${PN} = "\ + ${bindir} \ + ${sysconfdir} \ + ${systemd_unitdir}/system \ +" + +RDEPENDS_${PN} += " \ + udev-rules-rpi \ +" diff --git a/meta-raspberrypi/recipes-kernel/linux/files/wm8960.cfg b/meta-raspberrypi/recipes-kernel/linux/files/wm8960.cfg new file mode 100644 index 000000000..936080083 --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/files/wm8960.cfg @@ -0,0 +1,2 @@ +CONFIG_I2C_BCM2835=y +CONFIG_SND_SOC_WM8960=y diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc index 5ad9b781b..683253cef 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc @@ -14,6 +14,7 @@ require recipes-kernel/linux/linux-yocto.inc SRC_URI += " \ ${@bb.utils.contains("INITRAMFS_IMAGE_BUNDLE", "1", "file://initramfs-image-bundle.cfg", "", d)} \ ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "file://vc4graphics.cfg", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "wm8960", "file://wm8960.cfg", "", d)} \ " KCONFIG_MODE = "--alldefconfig" -- cgit v1.2.3 From a1a6aefba3ae965f2447b102663b2a6a40aa968a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 25 Jun 2021 14:23:58 -0500 Subject: meta-security: subtree update:ab239f1497..46f7e7acbe Armin Kuster (18): python3-scapy: update to 2.4.5 lkrg-module: update 0.9.1 packagegroup-core-security: exclude ossec-hids from musl ossec-hids: musl not compatable sssd: update to 2.5.0 busybox: drop as libsecomp is in core linux-%_5.%.bbappend: drop recipe initramfs-framework: fix YCL issue. python3-scapy: drop , now in meta-python packagegroup-core-security: drop python3-scapy meta-hardening/initscripts: missed overide. meta-security: add sanity check meta-security/recipe-kernel: use sanity check linux-yocto-dev: drop bbappend meta-tpm: add layer sanity check meta-tpm/linux-yocto: use sanity support meta-integrity: add sanity check meta-integrity/recipe-kernel: use sanity check Federico Pellegrin (1): aircrack-ng: update to 1.6 Kai Kang (2): sssd: set pid path with /run sssd: add fix-ldblibdir.patch back Ricardo Salveti (1): tpm2-tss: fix usrmerge udev install path Robert P. J. Day (1): Correct "securiyt" typo in maintainers.inc Sekine Shigeki (1): smack: add 3 cves to allowlist Upgrade Helper (2): clamav: upgrade to latest revision opendnssec: upgrade 2.1.8 -> 2.1.9 Yi Zhao (1): libgssglue: update SRC_URI Signed-off-by: Andrew Geissler Change-Id: I3bcabc218b240681d525111d16f963eb9b33c922 --- meta-security/README | 18 +++ meta-security/classes/sanity-meta-security.bbclass | 10 ++ meta-security/conf/distro/include/maintainers.inc | 2 +- meta-security/conf/layer.conf | 4 + .../initscripts/initscripts_1.0.bbappend | 2 +- meta-security/meta-integrity/README.md | 18 ++- .../classes/sanity-meta-integrity.bbclass | 10 ++ meta-security/meta-integrity/conf/layer.conf | 4 + .../recipes-kernel/linux/linux-%.bbappend | 6 +- .../recipes-kernel/linux/linux_ima.inc | 5 + meta-security/meta-tpm/README | 19 +++ .../meta-tpm/classes/sanity-meta-tpm.bbclass | 10 ++ meta-security/meta-tpm/conf/layer.conf | 4 + .../recipes-kernel/linux/linux-yocto_5.%.bbappend | 18 +-- .../recipes-kernel/linux/linux-yocto_tpm.inc | 17 +++ .../recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb | 4 +- .../recipes-core/busybox/busybox/head.cfg | 1 - .../recipes-core/busybox/busybox_%.bbappend | 1 - .../recipes-core/busybox/busybox_libsecomp.inc | 3 - .../initrdscripts/initramfs-framework.inc | 16 +++ .../initrdscripts/initramfs-framework_1.0.bbappend | 17 +-- .../packagegroup/packagegroup-core-security.bb | 4 +- .../recipes-ids/ossec/ossec-hids_3.6.0.bb | 2 + .../recipes-kernel/linux/linux-%_5.%.bbappend | 4 - .../recipes-kernel/linux/linux-yocto-dev.bbappend | 3 - .../recipes-kernel/linux/linux-yocto_5.%.bbappend | 4 +- .../recipes-kernel/linux/linux-yocto_security.inc | 3 + .../recipes-kernel/lkrg/lkrg-module_0.9.0.bb | 33 ------ .../recipes-kernel/lkrg/lkrg-module_0.9.1.bb | 33 ++++++ meta-security/recipes-mac/smack/smack_1.3.1.bb | 5 + .../recipes-scanners/clamav/clamav_0.104.0.bb | 4 +- .../aircrack-ng/aircrack-ng_1.3.bb | 34 ------ .../aircrack-ng/aircrack-ng_1.6.bb | 36 ++++++ .../recipes-security/libgssglue/libgssglue_0.4.bb | 6 +- .../opendnssec/opendnssec_2.1.8.bb | 34 ------ .../opendnssec/opendnssec_2.1.9.bb | 34 ++++++ .../recipes-security/scapy/files/run-ptest | 4 - .../recipes-security/scapy/python3-scapy_2.4.4.bb | 32 ----- ...-use-AC_CHECK_FILE-when-building-manpages.patch | 34 ------ ...01-nss-Collision-with-external-nss-symbol.patch | 78 ------------ ...sing-defines-which-otherwise-are-availabl.patch | 32 ----- .../sssd/files/drop_ntpdate_chk.patch | 28 +++++ .../recipes-security/sssd/files/fix_gid.patch | 27 +++++ .../recipes-security/sssd/files/no_gen.patch | 19 +++ meta-security/recipes-security/sssd/sssd_1.16.5.bb | 128 -------------------- meta-security/recipes-security/sssd/sssd_2.5.0.bb | 131 +++++++++++++++++++++ 46 files changed, 467 insertions(+), 474 deletions(-) create mode 100644 meta-security/classes/sanity-meta-security.bbclass create mode 100644 meta-security/meta-integrity/classes/sanity-meta-integrity.bbclass create mode 100644 meta-security/meta-integrity/recipes-kernel/linux/linux_ima.inc create mode 100644 meta-security/meta-tpm/classes/sanity-meta-tpm.bbclass create mode 100644 meta-security/meta-tpm/recipes-kernel/linux/linux-yocto_tpm.inc delete mode 100644 meta-security/recipes-core/busybox/busybox/head.cfg delete mode 100644 meta-security/recipes-core/busybox/busybox_%.bbappend delete mode 100644 meta-security/recipes-core/busybox/busybox_libsecomp.inc create mode 100644 meta-security/recipes-core/initrdscripts/initramfs-framework.inc delete mode 100644 meta-security/recipes-kernel/linux/linux-%_5.%.bbappend delete mode 100644 meta-security/recipes-kernel/linux/linux-yocto-dev.bbappend create mode 100644 meta-security/recipes-kernel/linux/linux-yocto_security.inc delete mode 100644 meta-security/recipes-kernel/lkrg/lkrg-module_0.9.0.bb create mode 100644 meta-security/recipes-kernel/lkrg/lkrg-module_0.9.1.bb delete mode 100644 meta-security/recipes-security/aircrack-ng/aircrack-ng_1.3.bb create mode 100644 meta-security/recipes-security/aircrack-ng/aircrack-ng_1.6.bb delete mode 100644 meta-security/recipes-security/opendnssec/opendnssec_2.1.8.bb create mode 100644 meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb delete mode 100644 meta-security/recipes-security/scapy/files/run-ptest delete mode 100644 meta-security/recipes-security/scapy/python3-scapy_2.4.4.bb delete mode 100644 meta-security/recipes-security/sssd/files/0001-build-Don-t-use-AC_CHECK_FILE-when-building-manpages.patch delete mode 100644 meta-security/recipes-security/sssd/files/0001-nss-Collision-with-external-nss-symbol.patch delete mode 100644 meta-security/recipes-security/sssd/files/0002-Provide-missing-defines-which-otherwise-are-availabl.patch create mode 100644 meta-security/recipes-security/sssd/files/drop_ntpdate_chk.patch create mode 100644 meta-security/recipes-security/sssd/files/fix_gid.patch create mode 100644 meta-security/recipes-security/sssd/files/no_gen.patch delete mode 100644 meta-security/recipes-security/sssd/sssd_1.16.5.bb create mode 100644 meta-security/recipes-security/sssd/sssd_2.5.0.bb diff --git a/meta-security/README b/meta-security/README index eb1536675..4047b86c3 100644 --- a/meta-security/README +++ b/meta-security/README @@ -1,6 +1,24 @@ Meta-security ============= +The bbappend files for some recipes (e.g. linux-yocto) in this layer need +to have 'security' in DISTRO_FEATURES to have effect. +To enable them, add in configuration file the following line. + + DISTRO_FEATURES_append = " security" + +If meta-security is included, but security is not enabled as a +distro feature a warning is printed at parse time: + + You have included the meta-security layer, but + 'security' has not been enabled in your DISTRO_FEATURES. Some bbappend files + and preferred version setting may not take effect. + +If you know what you are doing, this warning can be disabled by setting the following +variable in your configuration: + + SKIP_META_SECURITY_SANITY_CHECK = 1 + This layer provides security tools, hardening tools for Linux kernels and libraries for implementing security mechanisms. diff --git a/meta-security/classes/sanity-meta-security.bbclass b/meta-security/classes/sanity-meta-security.bbclass new file mode 100644 index 000000000..b6c6b9cb5 --- /dev/null +++ b/meta-security/classes/sanity-meta-security.bbclass @@ -0,0 +1,10 @@ +addhandler security_bbappend_distrocheck +security_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck" +python security_bbappend_distrocheck() { + skip_check = e.data.getVar('SKIP_META_SECUIRTY_SANITY_CHECK') == "1" + if 'security' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check: + bb.warn("You have included the meta-security layer, but \ +'security' has not been enabled in your DISTRO_FEATURES. Some bbappend files \ +and preferred version setting may not take effect. See the meta-security README \ +for details on enabling security support.") +} diff --git a/meta-security/conf/distro/include/maintainers.inc b/meta-security/conf/distro/include/maintainers.inc index 7b82ef749..e02b9037d 100644 --- a/meta-security/conf/distro/include/maintainers.inc +++ b/meta-security/conf/distro/include/maintainers.inc @@ -1,4 +1,4 @@ -# meta-securiyt Maintainers File +# meta-security Maintainers File # # This file contains a list of recipe maintainers. # diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf index 906e02440..7853d6e8e 100644 --- a/meta-security/conf/layer.conf +++ b/meta-security/conf/layer.conf @@ -13,6 +13,10 @@ LAYERSERIES_COMPAT_security = "hardknott" LAYERDEPENDS_security = "core openembedded-layer perl-layer networking-layer meta-python" +# Sanity check for meta-security layer. +# Setting SKIP_META_SECURITY_SANITY_CHECK to "1" would skip the bbappend files check. +INHERIT += "sanity-meta-security" + BBFILES_DYNAMIC += " \ rust-layer:${LAYERDIR}/dynamic-layers/meta-rust/recipes-*/*/*.bb \ " diff --git a/meta-security/meta-hardening/recipes-core/initscripts/initscripts_1.0.bbappend b/meta-security/meta-hardening/recipes-core/initscripts/initscripts_1.0.bbappend index 896b03973..f943cb371 100644 --- a/meta-security/meta-hardening/recipes-core/initscripts/initscripts_1.0.bbappend +++ b/meta-security/meta-hardening/recipes-core/initscripts/initscripts_1.0.bbappend @@ -1,4 +1,4 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +FILESEXTRAPATHS_prepend_harden := "${THISDIR}/files:" SRC_URI_append_harden = " file://mountall.sh" diff --git a/meta-security/meta-integrity/README.md b/meta-security/meta-integrity/README.md index 5048fba1e..8254b0d94 100644 --- a/meta-security/meta-integrity/README.md +++ b/meta-security/meta-integrity/README.md @@ -1,8 +1,24 @@ This README file contains information on the contents of the integrity layer. -Please see the corresponding sections below for details. +The bbappend files for some recipes (e.g. linux-yocto) in this layer need +to have 'integrity' in DISTRO_FEATURES to have effect. +To enable them, add in configuration file the following line. + + DISTRO_FEATURES_append = " integrity" + +If meta-integrity is included, but integrity is not enabled as a +distro feature a warning is printed at parse time: + + You have included the meta-integritry layer, but + 'integrity' has not been enabled in your DISTRO_FEATURES. Some bbappend files + and preferred version setting may not take effect. + +If you know what you are doing, this warning can be disabled by setting the following +variable in your configuration: + + SKIP_META_INTEGRITY_SANITY_CHECK = 1 Dependencies ============ diff --git a/meta-security/meta-integrity/classes/sanity-meta-integrity.bbclass b/meta-security/meta-integrity/classes/sanity-meta-integrity.bbclass new file mode 100644 index 000000000..6ba7e3f26 --- /dev/null +++ b/meta-security/meta-integrity/classes/sanity-meta-integrity.bbclass @@ -0,0 +1,10 @@ +addhandler integrity_bbappend_distrocheck +integrity_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck" +python integrity_bbappend_distrocheck() { + skip_check = e.data.getVar('SKIP_META_INTEGRITY_SANITY_CHECK') == "1" + if 'integrity' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check: + bb.warn("You have included the meta-integrity layer, but \ +'integrity' has not been enabled in your DISTRO_FEATURES. Some bbappend files \ +and preferred version setting may not take effect. See the meta-integrity README \ +for details on enabling integrity support.") +} diff --git a/meta-security/meta-integrity/conf/layer.conf b/meta-security/meta-integrity/conf/layer.conf index ba028da7e..37776f818 100644 --- a/meta-security/meta-integrity/conf/layer.conf +++ b/meta-security/meta-integrity/conf/layer.conf @@ -26,6 +26,10 @@ LAYERDEPENDS_integrity = "core openembedded-layer" BBLAYERS_LAYERINDEX_NAME_integrity = "meta-integrity" +# Sanity check for meta-integrity layer. +# Setting SKIP_META_INTEGRITY_SANITY_CHECK to "1" would skip the bbappend files check. +INHERIT += "sanity-meta-integrity" + BBFILES_DYNAMIC += " \ networking-layer:${LAYERDIR}/dynamic-layers/meta-networking/recipes-*/*/*.bbappend \ " diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend b/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend index f9a48cd05..be60bfeac 100644 --- a/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend +++ b/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend @@ -1,5 +1 @@ -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ima", " features/ima/ima.scc", "" ,d)}" - -KERNEL_FEATURES_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'modsign', ' features/ima/modsign.scc', '', d)}" - -inherit ${@bb.utils.contains('DISTRO_FEATURES', 'modsign', 'kernel-modsign', '', d)} +require ${@bb.utils.contains_any('DISTRO_FEATURES', 'integrity ', 'linux_ima.inc', '', d)} diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux_ima.inc b/meta-security/meta-integrity/recipes-kernel/linux/linux_ima.inc new file mode 100644 index 000000000..f9a48cd05 --- /dev/null +++ b/meta-security/meta-integrity/recipes-kernel/linux/linux_ima.inc @@ -0,0 +1,5 @@ +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ima", " features/ima/ima.scc", "" ,d)}" + +KERNEL_FEATURES_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'modsign', ' features/ima/modsign.scc', '', d)}" + +inherit ${@bb.utils.contains('DISTRO_FEATURES', 'modsign', 'kernel-modsign', '', d)} diff --git a/meta-security/meta-tpm/README b/meta-security/meta-tpm/README index dd662b3d4..59d2ee3ad 100644 --- a/meta-security/meta-tpm/README +++ b/meta-security/meta-tpm/README @@ -1,6 +1,25 @@ meta-tpm layer ============== +The bbappend files for some recipes (e.g. linux-yocto) in this layer need +to have 'tpm' in DISTRO_FEATURES to have effect. +To enable them, add in configuration file the following line. + + DISTRO_FEATURES_append = " tmp" + +If meta-tpm is included, but tpm is not enabled as a +distro feature a warning is printed at parse time: + + You have included the meta-tpm layer, but + 'tpm' has not been enabled in your DISTRO_FEATURES. Some bbappend files + and preferred version setting may not take effect. + +If you know what you are doing, this warning can be disabled by setting the following +variable in your configuration: + + SKIP_META_TPM_SANITY_CHECK = 1 + + This layer contains base TPM recipes. Dependencies diff --git a/meta-security/meta-tpm/classes/sanity-meta-tpm.bbclass b/meta-security/meta-tpm/classes/sanity-meta-tpm.bbclass new file mode 100644 index 000000000..2f8b52d1b --- /dev/null +++ b/meta-security/meta-tpm/classes/sanity-meta-tpm.bbclass @@ -0,0 +1,10 @@ +addhandler tpm_machinecheck +tpm_machinecheck[eventmask] = "bb.event.SanityCheck" +python tpm_machinecheck() { + skip_check = e.data.getVar('SKIP_META_TPM_SANITY_CHECK') == "1" + if 'tpm' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check: + bb.warn("You have included the meta-tpm layer, but \ +'tpm or tpm2' has not been enabled in your DISTRO_FEATURES. Some bbappend files \ +and preferred version setting may not take effect. See the meta-tpm README \ +for details on enabling tpm support.") +} diff --git a/meta-security/meta-tpm/conf/layer.conf b/meta-security/meta-tpm/conf/layer.conf index 1b766cba2..0b102c533 100644 --- a/meta-security/meta-tpm/conf/layer.conf +++ b/meta-security/meta-tpm/conf/layer.conf @@ -17,6 +17,10 @@ LAYERDEPENDS_tpm-layer = " \ " BBLAYERS_LAYERINDEX_NAME_tpm-layer = "meta-tpm" +# Sanity check for meta-integrity layer. +# Setting SKIP_META_TPM_SANITY_CHECK to "1" would skip the bbappend files check. +INHERIT += "sanity-meta-tpm" + BBFILES_DYNAMIC += " \ networking-layer:${LAYERDIR}/dynamic-layers/meta-networking/recipes-*/*/*.bbappend \ " diff --git a/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto_5.%.bbappend b/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto_5.%.bbappend index cea8b1b2a..2cf1453a8 100644 --- a/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto_5.%.bbappend +++ b/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto_5.%.bbappend @@ -1,17 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto:" - -# Enable tpm in kernel -SRC_URI_append_x86 = " \ - ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'file://tpm.scc', '', d)} \ - ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'file://tpm2.scc', '', d)} \ - " - -SRC_URI_append_x86-64 = " \ - ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'file://tpm.scc', '', d)} \ - ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'file://tpm2.scc', '', d)} \ - " - -SRC_URI += " \ - ${@bb.utils.contains('MACHINE_FEATURES', 'tpm_i2c', 'file://tpm_i2c.scc', '', d)} \ - ${@bb.utils.contains('MACHINE_FEATURES', 'vtpm', 'file://vtpm.scc', '', d)} \ - " +require ${@bb.utils.contains_any('DISTRO_FEATURES', 'tpm', 'linux-yocto_tpm.inc', '', d)} diff --git a/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto_tpm.inc b/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto_tpm.inc new file mode 100644 index 000000000..cea8b1b2a --- /dev/null +++ b/meta-security/meta-tpm/recipes-kernel/linux/linux-yocto_tpm.inc @@ -0,0 +1,17 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto:" + +# Enable tpm in kernel +SRC_URI_append_x86 = " \ + ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'file://tpm.scc', '', d)} \ + ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'file://tpm2.scc', '', d)} \ + " + +SRC_URI_append_x86-64 = " \ + ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'file://tpm.scc', '', d)} \ + ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'file://tpm2.scc', '', d)} \ + " + +SRC_URI += " \ + ${@bb.utils.contains('MACHINE_FEATURES', 'tpm_i2c', 'file://tpm_i2c.scc', '', d)} \ + ${@bb.utils.contains('MACHINE_FEATURES', 'vtpm', 'file://vtpm.scc', '', d)} \ + " diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb index b2486e5be..cc4f191a2 100644 --- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb +++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.0.3.bb @@ -17,7 +17,7 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[oxygen] = ",--disable-doxygen-doc, " PACKAGECONFIG[fapi] = "--enable-fapi,--disable-fapi,json-c " -EXTRA_OECONF += "--enable-static --with-udevrulesdir=${base_prefix}/lib/udev/rules.d/" +EXTRA_OECONF += "--enable-static --with-udevrulesdir=${nonarch_base_libdir}/udev/rules.d/" EXTRA_OECONF_remove = " --disable-static" @@ -73,6 +73,6 @@ FILES_libtss2-dev = " \ ${libdir}/libtss2*so" FILES_libtss2-staticdev = "${libdir}/libtss*a" -FILES_${PN} = "${libdir}/udev ${base_prefix}/lib/udev" +FILES_${PN} = "${libdir}/udev ${nonarch_base_libdir}/udev" RDEPENDS_libtss2 = "libgcrypt" diff --git a/meta-security/recipes-core/busybox/busybox/head.cfg b/meta-security/recipes-core/busybox/busybox/head.cfg deleted file mode 100644 index 16017ea48..000000000 --- a/meta-security/recipes-core/busybox/busybox/head.cfg +++ /dev/null @@ -1 +0,0 @@ -CONFIG_FEATURE_FANCY_HEAD=y diff --git a/meta-security/recipes-core/busybox/busybox_%.bbappend b/meta-security/recipes-core/busybox/busybox_%.bbappend deleted file mode 100644 index 27a24824d..000000000 --- a/meta-security/recipes-core/busybox/busybox_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'busybox_libsecomp.inc', '', d)} diff --git a/meta-security/recipes-core/busybox/busybox_libsecomp.inc b/meta-security/recipes-core/busybox/busybox_libsecomp.inc deleted file mode 100644 index 4af22ce3e..000000000 --- a/meta-security/recipes-core/busybox/busybox_libsecomp.inc +++ /dev/null @@ -1,3 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/busybox:" - -SRC_URI_append = " file://head.cfg" diff --git a/meta-security/recipes-core/initrdscripts/initramfs-framework.inc b/meta-security/recipes-core/initrdscripts/initramfs-framework.inc new file mode 100644 index 000000000..dad9c967c --- /dev/null +++ b/meta-security/recipes-core/initrdscripts/initramfs-framework.inc @@ -0,0 +1,16 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI_append = "\ + file://dmverity \ +" + +do_install_append() { + # dm-verity + install ${WORKDIR}/dmverity ${D}/init.d/80-dmverity +} + +PACKAGES_append = " initramfs-module-dmverity" + +SUMMARY_initramfs-module-dmverity = "initramfs dm-verity rootfs support" +RDEPENDS_initramfs-module-dmverity = "${PN}-base" +FILES_initramfs-module-dmverity = "/init.d/80-dmverity" diff --git a/meta-security/recipes-core/initrdscripts/initramfs-framework_1.0.bbappend b/meta-security/recipes-core/initrdscripts/initramfs-framework_1.0.bbappend index dad9c967c..dc74e017f 100644 --- a/meta-security/recipes-core/initrdscripts/initramfs-framework_1.0.bbappend +++ b/meta-security/recipes-core/initrdscripts/initramfs-framework_1.0.bbappend @@ -1,16 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI_append = "\ - file://dmverity \ -" - -do_install_append() { - # dm-verity - install ${WORKDIR}/dmverity ${D}/init.d/80-dmverity -} - -PACKAGES_append = " initramfs-module-dmverity" - -SUMMARY_initramfs-module-dmverity = "initramfs dm-verity rootfs support" -RDEPENDS_initramfs-module-dmverity = "${PN}-base" -FILES_initramfs-module-dmverity = "/init.d/80-dmverity" +require ${@bb.utils.contains('IMAGE_CLASSES', 'dm-verity', 'initramfs-framework.inc', '', d)} diff --git a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb index d7349b080..e7b6d9bf3 100644 --- a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb +++ b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb @@ -37,7 +37,6 @@ RDEPENDS_packagegroup-security-utils = "\ pinentry \ python3-privacyidea \ python3-fail2ban \ - python3-scapy \ softhsm \ libest \ opendnssec \ @@ -74,6 +73,8 @@ RDEPENDS_packagegroup-security-ids = " \ aide \ " +RDEPENDS_packagegroup-security-ids_remove_libc-musl = "ossec-hids" + SUMMARY_packagegroup-security-mac = "Security Mandatory Access Control systems" RDEPENDS_packagegroup-security-mac = " \ ${@bb.utils.contains("DISTRO_FEATURES", "tomoyo", "ccs-tools", "",d)} \ @@ -87,7 +88,6 @@ RDEPENDS_packagegroup-meta-security-ptest-packages = "\ ptest-runner \ samhain-standalone-ptest \ libseccomp-ptest \ - python3-scapy-ptest \ suricata-ptest \ python3-fail2ban-ptest \ ${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack-ptest", "",d)} \ diff --git a/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb b/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb index 242bbdbe0..778278b47 100644 --- a/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb +++ b/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb @@ -161,3 +161,5 @@ USERADD_PARAM_${PN} = "--system --home-dir /var/ossec -g ossec --shell /bin/fals GROUPADD_PARAM_${PN} = "--system ossec" RDEPENDS_${PN} = "openssl bash" + +COMPATIBLE_HOST_libc-musl = "null" diff --git a/meta-security/recipes-kernel/linux/linux-%_5.%.bbappend b/meta-security/recipes-kernel/linux/linux-%_5.%.bbappend deleted file mode 100644 index 6bc40cd96..000000000 --- a/meta-security/recipes-kernel/linux/linux-%_5.%.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", " features/apparmor/apparmor.scc", "" ,d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "smack", " features/smack/smack.scc", "" ,d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "yama", " features/yama/yama.scc", "" ,d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("IMAGE_CLASSES", "dm-verity-img", " features/device-mapper/dm-verity.scc", "" ,d)}" diff --git a/meta-security/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-security/recipes-kernel/linux/linux-yocto-dev.bbappend deleted file mode 100644 index fa536d095..000000000 --- a/meta-security/recipes-kernel/linux/linux-yocto-dev.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", " features/apparmor/apparmor.scc", "" ,d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "smack", " features/smack/smack.scc", "" ,d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("IMAGE_CLASSES", "dm-verity-img", " features/device-mapper/dm-verity.scc", "" ,d)}" diff --git a/meta-security/recipes-kernel/linux/linux-yocto_5.%.bbappend b/meta-security/recipes-kernel/linux/linux-yocto_5.%.bbappend index fa536d095..1d9054faa 100644 --- a/meta-security/recipes-kernel/linux/linux-yocto_5.%.bbappend +++ b/meta-security/recipes-kernel/linux/linux-yocto_5.%.bbappend @@ -1,3 +1 @@ -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", " features/apparmor/apparmor.scc", "" ,d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "smack", " features/smack/smack.scc", "" ,d)}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("IMAGE_CLASSES", "dm-verity-img", " features/device-mapper/dm-verity.scc", "" ,d)}" +require ${@bb.utils.contains('DISTRO_FEATURES', 'security', '${BPN}_security.inc', '', d)} diff --git a/meta-security/recipes-kernel/linux/linux-yocto_security.inc b/meta-security/recipes-kernel/linux/linux-yocto_security.inc new file mode 100644 index 000000000..fa536d095 --- /dev/null +++ b/meta-security/recipes-kernel/linux/linux-yocto_security.inc @@ -0,0 +1,3 @@ +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", " features/apparmor/apparmor.scc", "" ,d)}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "smack", " features/smack/smack.scc", "" ,d)}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("IMAGE_CLASSES", "dm-verity-img", " features/device-mapper/dm-verity.scc", "" ,d)}" diff --git a/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.0.bb b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.0.bb deleted file mode 100644 index dbc195d35..000000000 --- a/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Linux Kernel Runtime Guard" -DESCRIPTION="LKRG performs runtime integrity checking of the Linux \ -kernel and detection of security vulnerability exploits against the kernel." -SECTION = "security" -HOMEPAGE = "https://www.openwall.com/lkrg/" -LICENSE = "GPLv2" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=d931f44a1f4be309bcdac742d7ed92f9" - -DEPENDS = "virtual/kernel elfutils" - -SRC_URI = "https://www.openwall.com/lkrg/lkrg-${PV}.tar.gz \ - file://makefile_cleanup.patch " - -SRC_URI[sha256sum] = "a997e4d98962c359f3af163bbcfa38a736d2a50bfe35c15065b74cb57f8742bf" - -S = "${WORKDIR}/lkrg-${PV}" - -inherit module kernel-module-split - -MAKE_TARGETS = "modules" - -MODULE_NAME = "p_lkrg" - -module_do_install() { - install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} - install -m 0644 ${MODULE_NAME}.ko \ - ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko -} - -RPROVIDES_${PN} += "kernel-module-lkrg" - -COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" diff --git a/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.1.bb b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.1.bb new file mode 100644 index 000000000..287b4e82b --- /dev/null +++ b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "Linux Kernel Runtime Guard" +DESCRIPTION="LKRG performs runtime integrity checking of the Linux \ +kernel and detection of security vulnerability exploits against the kernel." +SECTION = "security" +HOMEPAGE = "https://www.openwall.com/lkrg/" +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5105ead24b08a32954f34cbaa7112432" + +DEPENDS = "virtual/kernel elfutils" + +SRC_URI = "https://www.openwall.com/lkrg/lkrg-${PV}.tar.gz \ + file://makefile_cleanup.patch " + +SRC_URI[sha256sum] = "cabbee1addbf3ae23a584203831e4bd1b730d22bfd1b3e44883214f220b3babd" + +S = "${WORKDIR}/lkrg-${PV}" + +inherit module kernel-module-split + +MAKE_TARGETS = "modules" + +MODULE_NAME = "p_lkrg" + +module_do_install() { + install -d ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} + install -m 0644 ${MODULE_NAME}.ko \ + ${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko +} + +RPROVIDES_${PN} += "kernel-module-lkrg" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" diff --git a/meta-security/recipes-mac/smack/smack_1.3.1.bb b/meta-security/recipes-mac/smack/smack_1.3.1.bb index b1ea4e9ff..88ae56cde 100644 --- a/meta-security/recipes-mac/smack/smack_1.3.1.bb +++ b/meta-security/recipes-mac/smack/smack_1.3.1.bb @@ -13,6 +13,11 @@ SRC_URI = " \ PV = "1.3.1" +# CVE-2014-0363, CVE-2014-0364, CVE-2016-10027 is valnerble for other product. +CVE_CHECK_WHITELIST += "CVE-2014-0363" +CVE_CHECK_WHITELIST += "CVE-2014-0364" +CVE_CHECK_WHITELIST += "CVE-2016-10027" + inherit autotools update-rc.d pkgconfig ptest inherit ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)} inherit features_check diff --git a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb index ce5b0ea4d..4f203095c 100644 --- a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb +++ b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb @@ -8,8 +8,8 @@ DEPENDS = "glibc llvm libtool db openssl zlib curl libxml2 bison pcre2 json-c li LIC_FILES_CHKSUM = "file://COPYING.txt;beginline=2;endline=3;md5=f7029fbbc5898b273d5902896f7bbe17" -# May 2nd -SRCREV = "de0086aa918b79cd22570d0c05977a288b197e23" +# May 15th +SRCREV = "fe96de86bb90c489aa509ee9135f776b7a2a7eb4" SRC_URI = "git://github.com/vrtadmin/clamav-devel;branch=dev/0.104 \ file://clamd.conf \ diff --git a/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.3.bb b/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.3.bb deleted file mode 100644 index d73922778..000000000 --- a/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.3.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Aircrack-ng is a set of tools for auditing wireless networks" -DESCRIPTION = "Aircrack-ng is an 802.11 WEP and WPA-PSK keys cracking program that can recover keys once enough data packets have been captured. It implements the standard FMS attack along with some optimizations like KoreK attacks, as well as the PTW attack, thus making the attack much faster compared to other WEP cracking tools." -SECTION = "security" -LICENSE = "GPL-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=1fbd81241fe252ec0f5658a521ab7dd8" - -DEPENDS = "libnl openssl sqlite3 libpcre libpcap" - -SRC_URI = "http://download.aircrack-ng.org/${BP}.tar.gz" - -SRC_URI[md5sum] = "c7c5b076dee0c25ee580b0f56f455623" -SRC_URI[sha256sum] = "8ae08a7c28741f6ace2769267112053366550e7f746477081188ad38410383ca" - -inherit autotools-brokensep pkgconfig - -PACKAGECONFIG ?= "" -CFLAGS += " -I${S}/src/include" - -OEMAKE_EXTRA = "sqlite=true experimental=true pcre=true \ - prefix=${prefix} \ - " - -do_compile () { - make ${OEMAKE_EXTRA} TOOL_PREFIX=${TARGET_SYS}- -} - -do_install () { - make DESTDIR=${D} ${OEMAKE_EXTRA} ext_scripts=true install -} - -FILES_${PN} += "/usr/local/" - -RDEPENDS_${PN} = "libpcap" diff --git a/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.6.bb b/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.6.bb new file mode 100644 index 000000000..8d3b5311f --- /dev/null +++ b/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.6.bb @@ -0,0 +1,36 @@ +SUMMARY = "Aircrack-ng is a set of tools for auditing wireless networks" +DESCRIPTION = "Aircrack-ng is an 802.11 WEP and WPA-PSK keys cracking program that can recover keys once enough data packets have been captured. It implements the standard FMS attack along with some optimizations like KoreK attacks, as well as the PTW attack, thus making the attack much faster compared to other WEP cracking tools." +SECTION = "security" +LICENSE = "GPL-2.0" + +LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=1fbd81241fe252ec0f5658a521ab7dd8" + +DEPENDS = "libnl openssl sqlite3 libpcre libpcap" + +SRC_URI = "http://download.aircrack-ng.org/${BP}.tar.gz" + +SRC_URI[md5sum] = "22ddc85549b51ed0da0931d01ef215e5" +SRC_URI[sha256sum] = "4f0bfd486efc6ea7229f7fbc54340ff8b2094a0d73e9f617e0a39f878999a247" + +inherit autotools-brokensep pkgconfig + +PACKAGECONFIG ?= "" +CFLAGS += " -I${S}/src/include" + +OEMAKE_EXTRA = "sqlite=true experimental=true pcre=true \ + prefix=${prefix} \ + " + +do_compile () { + make ${OEMAKE_EXTRA} TOOL_PREFIX=${TARGET_SYS}- +} + +do_install () { + make DESTDIR=${D} ${OEMAKE_EXTRA} ext_scripts=true install +} + +FILES_${PN} += "${libdir}/*.so" +FILES_SOLIBSDEV = "" +INSANE_SKIP_${PN} += "dev-so" + +RDEPENDS_${PN} = "libpcap" diff --git a/meta-security/recipes-security/libgssglue/libgssglue_0.4.bb b/meta-security/recipes-security/libgssglue/libgssglue_0.4.bb index f7859a71c..88c58ed26 100644 --- a/meta-security/recipes-security/libgssglue/libgssglue_0.4.bb +++ b/meta-security/recipes-security/libgssglue/libgssglue_0.4.bb @@ -21,7 +21,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=56871e72a5c475289c0d5e4ba3f2ee3a \ file://src/oid_ops.c;beginline=378;endline=398;md5=e02c165cb8383e950214baca2fbd664b \ " -SRC_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/${BPN}/${BP}.tar.gz \ +SRC_URI = "${DEBIAN_MIRROR}/main/libg/${BPN}/${BPN}_${PV}.orig.tar.bz2 \ file://libgssglue-canon-name.patch \ file://libgssglue-gss-inq-cred.patch \ file://libgssglue-mglueP.patch \ @@ -29,8 +29,8 @@ SRC_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/${BPN}/${BP}.tar.gz \ file://libgssglue-fix-CVE-2011-2709.patch \ " -SRC_URI[md5sum] = "088797f3180702fa54e786496b32e750" -SRC_URI[sha256sum] = "3f791a75502ba723e5e85e41e5e0c711bb89e2716b7c0ec6e74bd1df6739043a" +SRC_URI[md5sum] = "5ce81940965fa68c7635c42dcafcddfe" +SRC_URI[sha256sum] = "bb47b2de78409f461811d0db8595c66e6631a9879c3621a35e4434b104ee52f5" # gssglue can use krb5, spkm3... as gssapi library, configurable RRECOMMENDS_${PN} += "krb5" diff --git a/meta-security/recipes-security/opendnssec/opendnssec_2.1.8.bb b/meta-security/recipes-security/opendnssec/opendnssec_2.1.8.bb deleted file mode 100644 index cf6bdbdab..000000000 --- a/meta-security/recipes-security/opendnssec/opendnssec_2.1.8.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "OpenDNSSEC is a policy-based zone signer that automates the process of keeping track of DNSSEC keys and the signing of zones" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b041dbe2da80d4efd951393fbba90937" - -DEPENDS = "libxml2 openssl ldns libmicrohttpd jansson libyaml " - -SRC_URI = "https://dist.opendnssec.org/source/opendnssec-${PV}.tar.gz \ - file://libxml2_conf.patch \ - file://libdns_conf_fix.patch \ - " - -SRC_URI[sha256sum] = "900a213103ff19a405e446327fbfcea9ec13e405283d87b6ffc24a10d9a268f5" - -inherit autotools pkgconfig perlnative - -EXTRA_OECONF = " --with-libxml2=${STAGING_DIR_HOST}/usr --with-ldns=${STAGING_DIR_HOST}/usr \ - --with-ssl=${STAGING_DIR_HOST}/usr " - -CFLAGS += "-fcommon" - -PACKAGECONFIG ?= "sqlite3" - -PACKAGECONFIG[cunit] = "--with-cunit=${STAGING_DIR_HOST}/usr, --without-cunit," -PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_DIR_HOST}/usr, ,sqlite3, sqlite3" -PACKAGECONFIG[mysql] = "--with-mysql=yes, , mariadb, mariadb" -PACKAGECONFIG[readline] = "--with-readline, --without-readline, readline" -PACKAGECONFIG[unwind] = "--with-libunwind, --without-libunwind" - -do_install_append () { - rm -rf ${D}${localstatedir}/run -} - -RDEPENDS_${PN} = "softhsm" diff --git a/meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb b/meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb new file mode 100644 index 000000000..2b79609fa --- /dev/null +++ b/meta-security/recipes-security/opendnssec/opendnssec_2.1.9.bb @@ -0,0 +1,34 @@ +SUMMARY = "OpenDNSSEC is a policy-based zone signer that automates the process of keeping track of DNSSEC keys and the signing of zones" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b041dbe2da80d4efd951393fbba90937" + +DEPENDS = "libxml2 openssl ldns libmicrohttpd jansson libyaml " + +SRC_URI = "https://dist.opendnssec.org/source/opendnssec-${PV}.tar.gz \ + file://libxml2_conf.patch \ + file://libdns_conf_fix.patch \ + " + +SRC_URI[sha256sum] = "6d1d466c8d7f507f3e665f4bfe4d16a68d6bff9d7c2ab65f852e2b2a821c28b5" + +inherit autotools pkgconfig perlnative + +EXTRA_OECONF = " --with-libxml2=${STAGING_DIR_HOST}/usr --with-ldns=${STAGING_DIR_HOST}/usr \ + --with-ssl=${STAGING_DIR_HOST}/usr " + +CFLAGS += "-fcommon" + +PACKAGECONFIG ?= "sqlite3" + +PACKAGECONFIG[cunit] = "--with-cunit=${STAGING_DIR_HOST}/usr, --without-cunit," +PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_DIR_HOST}/usr, ,sqlite3, sqlite3" +PACKAGECONFIG[mysql] = "--with-mysql=yes, , mariadb, mariadb" +PACKAGECONFIG[readline] = "--with-readline, --without-readline, readline" +PACKAGECONFIG[unwind] = "--with-libunwind, --without-libunwind" + +do_install_append () { + rm -rf ${D}${localstatedir}/run +} + +RDEPENDS_${PN} = "softhsm" diff --git a/meta-security/recipes-security/scapy/files/run-ptest b/meta-security/recipes-security/scapy/files/run-ptest deleted file mode 100644 index 797d8ecf7..000000000 --- a/meta-security/recipes-security/scapy/files/run-ptest +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -UTscapy3 -t regression.uts -f text -l -C \ - -o @PTEST_PATH@/scapy_ptest_$(date +%Y%m%d-%H%M%S).log \ - 2>&1 | sed -e 's/^passed None/PASS:/' -e 's/^failed None/FAIL:/' diff --git a/meta-security/recipes-security/scapy/python3-scapy_2.4.4.bb b/meta-security/recipes-security/scapy/python3-scapy_2.4.4.bb deleted file mode 100644 index 23ddfce64..000000000 --- a/meta-security/recipes-security/scapy/python3-scapy_2.4.4.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Network scanning and manipulation tool" -DESCRIPTION = "Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.). It also performs very well at a lot of other specific tasks that most other tools can't handle, like sending invalid frames, injecting your own 802.11 frames, combining technics (VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted channel, ...), etc." -SECTION = "security" -LICENSE = "GPLv2" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -S = "${WORKDIR}/git" - -SRCREV = "95ba5b8504152a1f820bbe679ccf03668cb5118f" -SRC_URI = "git://github.com/secdev/scapy.git \ - file://run-ptest" - -S = "${WORKDIR}/git" - -UPSTREAM_CHECK_COMMITS = "1" - -inherit setuptools3 ptest - -do_install_append() { - mv ${D}${bindir}/scapy ${D}${bindir}/scapy3 - mv ${D}${bindir}/UTscapy ${D}${bindir}/UTscapy3 -} - -do_install_ptest() { - install -m 0644 ${S}/test/regression.uts ${D}${PTEST_PATH} - sed -i 's,@PTEST_PATH@,${PTEST_PATH},' ${D}${PTEST_PATH}/run-ptest -} - -RDEPENDS_${PN} = "tcpdump ${PYTHON_PN}-compression ${PYTHON_PN}-cryptography ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-netserver ${PYTHON_PN}-pydoc ${PYTHON_PN}-pkgutil ${PYTHON_PN}-shell \ - ${PYTHON_PN}-threading ${PYTHON_PN}-numbers ${PYTHON_PN}-pycrypto" diff --git a/meta-security/recipes-security/sssd/files/0001-build-Don-t-use-AC_CHECK_FILE-when-building-manpages.patch b/meta-security/recipes-security/sssd/files/0001-build-Don-t-use-AC_CHECK_FILE-when-building-manpages.patch deleted file mode 100644 index b64670c17..000000000 --- a/meta-security/recipes-security/sssd/files/0001-build-Don-t-use-AC_CHECK_FILE-when-building-manpages.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d54aa109600bcd02bf72cfe64c01935890a102a1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jonatan=20P=C3=A5lsson?= -Date: Fri, 21 Aug 2020 14:45:10 +0200 -Subject: [PATCH] build: Don't use AC_CHECK_FILE when building manpages -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -AC_CHECK_FILE does not support cross-compilation, and will only check -the host rootfs. Replace AC_CHECK_FILE with a 'test -f ' instead, -to allow building manpages when cross-compiling. - -Upstream-status: Submitted [https://github.com/SSSD/sssd/pull/5289] -Signed-off-by: Jonatan Pålsson ---- - src/external/docbook.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/external/docbook.m4 b/src/external/docbook.m4 -index deb8632fa..acdc89a68 100644 ---- a/src/external/docbook.m4 -+++ b/src/external/docbook.m4 -@@ -18,7 +18,7 @@ dnl Checks if the XML catalog given by FILE exists and - dnl if a particular URI appears in the XML catalog - AC_DEFUN([CHECK_STYLESHEET], - [ -- AC_CHECK_FILE($1, [], [AC_MSG_ERROR([could not find XML catalog])]) -+ AS_IF([test -f "$1"], [], [AC_MSG_ERROR([could not find XML catalog])]) - - AC_MSG_CHECKING([for ifelse([$3],,[$2],[$3]) in XML catalog]) - if AC_RUN_LOG([$XSLTPROC --catalogs --nonet --noout "$2" >&2]); then --- -2.26.1 - diff --git a/meta-security/recipes-security/sssd/files/0001-nss-Collision-with-external-nss-symbol.patch b/meta-security/recipes-security/sssd/files/0001-nss-Collision-with-external-nss-symbol.patch deleted file mode 100644 index c319269e9..000000000 --- a/meta-security/recipes-security/sssd/files/0001-nss-Collision-with-external-nss-symbol.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 05c315100a70d3372e891e9a0ea981a875b2ec90 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michal=20=C5=BDidek?= -Date: Thu, 27 Feb 2020 06:50:40 +0100 -Subject: [PATCH] nss: Collision with external nss symbol -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -One of our internal static function names started -to collide with external nss symbol. Additional -sss_ suffix was added to avoid the collision. - -This is needed to unblock Fedora Rawhide's -SSSD build. - -Reviewed-by: Pavel Březina - -Upstream-Status: Backport [https://github.com/SSSD/sssd.git] -Signed-off-by: Hongxu.jia@windriver.com -Signed-off-by: Qi.Chen@windriver.com ---- - src/responder/nss/nss_cmd.c | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) - -diff --git a/src/responder/nss/nss_cmd.c b/src/responder/nss/nss_cmd.c -index 25e663ed5..a4d4cfc0b 100644 ---- a/src/responder/nss/nss_cmd.c -+++ b/src/responder/nss/nss_cmd.c -@@ -728,11 +728,13 @@ done: - talloc_free(cmd_ctx); - } - --static void nss_setnetgrent_done(struct tevent_req *subreq); -+static void sss_nss_setnetgrent_done(struct tevent_req *subreq); - --static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx, -- enum cache_req_type type, -- nss_protocol_fill_packet_fn fill_fn) -+/* This function's name started to collide with external nss symbol, -+ * so it has additional sss_* prefix unlike other functions here. */ -+static errno_t sss_nss_setnetgrent(struct cli_ctx *cli_ctx, -+ enum cache_req_type type, -+ nss_protocol_fill_packet_fn fill_fn) - { - struct nss_ctx *nss_ctx; - struct nss_state_ctx *state_ctx; -@@ -774,7 +776,7 @@ static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx, - goto done; - } - -- tevent_req_set_callback(subreq, nss_setnetgrent_done, cmd_ctx); -+ tevent_req_set_callback(subreq, sss_nss_setnetgrent_done, cmd_ctx); - - ret = EOK; - -@@ -787,7 +789,7 @@ done: - return EOK; - } - --static void nss_setnetgrent_done(struct tevent_req *subreq) -+static void sss_nss_setnetgrent_done(struct tevent_req *subreq) - { - struct nss_cmd_ctx *cmd_ctx; - errno_t ret; -@@ -1037,8 +1039,8 @@ static errno_t nss_cmd_initgroups_ex(struct cli_ctx *cli_ctx) - - static errno_t nss_cmd_setnetgrent(struct cli_ctx *cli_ctx) - { -- return nss_setnetgrent(cli_ctx, CACHE_REQ_NETGROUP_BY_NAME, -- nss_protocol_fill_setnetgrent); -+ return sss_nss_setnetgrent(cli_ctx, CACHE_REQ_NETGROUP_BY_NAME, -+ nss_protocol_fill_setnetgrent); - } - - static errno_t nss_cmd_getnetgrent(struct cli_ctx *cli_ctx) --- -2.21.0 - diff --git a/meta-security/recipes-security/sssd/files/0002-Provide-missing-defines-which-otherwise-are-availabl.patch b/meta-security/recipes-security/sssd/files/0002-Provide-missing-defines-which-otherwise-are-availabl.patch deleted file mode 100644 index 1a2233209..000000000 --- a/meta-security/recipes-security/sssd/files/0002-Provide-missing-defines-which-otherwise-are-availabl.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 37a0999e5a9f54e1c61a02a7fbab6fcd04738b3c Mon Sep 17 00:00:00 2001 -From: Armin Kuster -Date: Thu, 8 Oct 2020 05:54:13 -0700 -Subject: [PATCH] Provide missing defines which otherwise are available on - glibc system headers - -Signed-off-by: Armin Kuster - -Upsteam-Status: Pending - ---- - src/util/util.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/util/util.h b/src/util/util.h -index 8a754dbfd..6e55b4bdc 100644 ---- a/src/util/util.h -+++ b/src/util/util.h -@@ -76,6 +76,10 @@ - #define MAX(a, b) (((a) > (b)) ? (a) : (b)) - #endif - -+#ifndef ALLPERMS -+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */ -+#endif -+ - #define SSSD_MAIN_OPTS SSSD_DEBUG_OPTS - - #define SSSD_SERVER_OPTS(uid, gid) \ --- -2.17.1 - diff --git a/meta-security/recipes-security/sssd/files/drop_ntpdate_chk.patch b/meta-security/recipes-security/sssd/files/drop_ntpdate_chk.patch new file mode 100644 index 000000000..338af5d36 --- /dev/null +++ b/meta-security/recipes-security/sssd/files/drop_ntpdate_chk.patch @@ -0,0 +1,28 @@ +nsupdate path is needed for various exec call +but don't run natvie tests on it. + + +Upstream-Status: Inappropriate [OE specific] +Signed-off-by: Armin Kuster + +Index: sssd-2.5.0/src/external/nsupdate.m4 +=================================================================== +--- sssd-2.5.0.orig/src/external/nsupdate.m4 ++++ sssd-2.5.0/src/external/nsupdate.m4 +@@ -3,16 +3,4 @@ AC_MSG_CHECKING(for executable nsupdate) + if test -x "$NSUPDATE"; then + AC_DEFINE_UNQUOTED([NSUPDATE_PATH], ["$NSUPDATE"], [The path to nsupdate]) + AC_MSG_RESULT(yes) +- +- AC_MSG_CHECKING(for nsupdate 'realm' support') +- if AC_RUN_LOG([echo realm |$NSUPDATE >&2]); then +- AC_MSG_RESULT([yes]) +- else +- AC_MSG_RESULT([no]) +- AC_MSG_ERROR([nsupdate does not support 'realm']) +- fi +- +-else +- AC_MSG_RESULT([no]) +- AC_MSG_ERROR([nsupdate is not available]) + fi diff --git a/meta-security/recipes-security/sssd/files/fix_gid.patch b/meta-security/recipes-security/sssd/files/fix_gid.patch new file mode 100644 index 000000000..9b481ccb9 --- /dev/null +++ b/meta-security/recipes-security/sssd/files/fix_gid.patch @@ -0,0 +1,27 @@ +from ../sssd-2.5.0/src/util/sss_pam_data.c:27: +| ../sssd-2.5.0/src/util/debug.h:88:44: error: unknown type name 'uid_t'; did you mean 'uint_t'? +| 88 | int chown_debug_file(const char *filename, uid_t uid, gid_t gid); +| | ^~~~~ +| | uint_t +| ../sssd-2.5.0/src/util/debug.h:88:55: error: unknown type name 'gid_t' +| 88 | int chown_debug_file(const char *filename, uid_t uid, gid_t gid); +| | ^~~~~ +| make[2]: *** [Makefile:22529: src/util/libsss_iface_la-sss_pam_data.lo] Error 1 +| make[2]: *** Waiting for unfinished jobs.... + +Upstream-Status: Pending +Signed-off-by: Armin Kuster + +Index: sssd-2.5.0/src/util/debug.h +=================================================================== +--- sssd-2.5.0.orig/src/util/debug.h ++++ sssd-2.5.0/src/util/debug.h +@@ -24,6 +24,8 @@ + #include "config.h" + + #include ++#include ++#include + #include + + #include "util/util_errors.h" diff --git a/meta-security/recipes-security/sssd/files/no_gen.patch b/meta-security/recipes-security/sssd/files/no_gen.patch new file mode 100644 index 000000000..5c8377704 --- /dev/null +++ b/meta-security/recipes-security/sssd/files/no_gen.patch @@ -0,0 +1,19 @@ +don't run generate-sbus-code + +Upstream-Status: Inappropriate [OE Specific] + +Signed-off-by: Armin Kuster + +Index: sssd-2.5.0/Makefile.am +=================================================================== +--- sssd-2.5.0.orig/Makefile.am ++++ sssd-2.5.0/Makefile.am +@@ -1033,8 +1033,6 @@ generate-sbus-code: + + .PHONY: generate-sbus-code + +-BUILT_SOURCES += generate-sbus-code +- + EXTRA_DIST += \ + sbus_generate.sh.in \ + src/sbus/codegen/dbus.xml \ diff --git a/meta-security/recipes-security/sssd/sssd_1.16.5.bb b/meta-security/recipes-security/sssd/sssd_1.16.5.bb deleted file mode 100644 index 9784ec77d..000000000 --- a/meta-security/recipes-security/sssd/sssd_1.16.5.bb +++ /dev/null @@ -1,128 +0,0 @@ -SUMMARY = "system security services daemon" -DESCRIPTION = "SSSD is a system security services daemon" -HOMEPAGE = "https://pagure.io/SSSD/sssd/" -SECTION = "base" -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "openldap cyrus-sasl libtdb ding-libs libpam c-ares krb5 autoconf-archive" -DEPENDS_append = " libldb dbus libtalloc libpcre glib-2.0 popt e2fsprogs libtevent" - -DEPENDS_append_libc-musl = " musl-nscd" - -# If no crypto has been selected, default to DEPEND on nss, since that's what -# sssd will pick if no active choice is made during configure -DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'nss', '', \ - bb.utils.contains('PACKAGECONFIG', 'crypto', '', 'nss', d), d)}" - -SRC_URI = "https://releases.pagure.org/SSSD/${BPN}/${BP}.tar.gz \ - file://sssd.conf \ - file://volatiles.99_sssd \ - file://fix-ldblibdir.patch \ - file://0001-build-Don-t-use-AC_CHECK_FILE-when-building-manpages.patch \ - file://0001-nss-Collision-with-external-nss-symbol.patch \ - file://0002-Provide-missing-defines-which-otherwise-are-availabl.patch \ - " - -SRC_URI[sha256sum] = "2e1a7bf036b583f686d35164f2d79bdf4857b98f51fe8b0d17aa0fa756e4d0c0" - -inherit autotools pkgconfig gettext python3-dir features_check systemd - -REQUIRED_DISTRO_FEATURES = "pam" - -SSSD_UID ?= "root" -SSSD_GID ?= "root" - -CACHED_CONFIGUREVARS = "ac_cv_member_struct_ldap_conncb_lc_arg=no \ - ac_cv_path_NSUPDATE=${bindir} ac_cv_prog_HAVE_PYTHON3=${PYTHON_DIR} \ - " - -PACKAGECONFIG ?="nss nscd autofs sudo infopipe" -PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" -PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" - -PACKAGECONFIG[autofs] = "--with-autofs, --with-autofs=no" -PACKAGECONFIG[crypto] = "--with-crypto=libcrypto, , libcrypto" -PACKAGECONFIG[curl] = "--with-kcm, --without-kcm, curl jansson" -PACKAGECONFIG[infopipe] = "--with-infopipe, --with-infopipe=no, " -PACKAGECONFIG[manpages] = "--with-manpages, --with-manpages=no, libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" -PACKAGECONFIG[nl] = "--with-libnl, --with-libnl=no, libnl" -PACKAGECONFIG[nscd] = "--with-nscd=${sbindir}, --with-nscd=no " -PACKAGECONFIG[nss] = "--with-crypto=nss, ,nss," -PACKAGECONFIG[python3] = "--with-python3-bindings, --without-python3-bindings" -PACKAGECONFIG[samba] = "--with-samba, --with-samba=no, samba" -PACKAGECONFIG[selinux] = "--with-selinux, --with-selinux=no --with-semanage=no, libselinux" -PACKAGECONFIG[ssh] = "--with-ssh, --with-ssh=no, " -PACKAGECONFIG[sudo] = "--with-sudo, --with-sudo=no, " -PACKAGECONFIG[systemd] = "--with-initscript=systemd,--with-initscript=sysv" - -EXTRA_OECONF += " \ - --disable-cifs-idmap-plugin \ - --without-nfsv4-idmapd-plugin \ - --without-ipa-getkeytab \ - --without-python2-bindings \ - --enable-pammoddir=${base_libdir}/security \ - --without-python2-bindings \ - --without-secrets \ - --with-xml-catalog-path=${STAGING_ETCDIR_NATIVE}/xml/catalog \ -" - -do_configure_prepend() { - mkdir -p ${AUTOTOOLS_AUXDIR}/build - cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/build/ - - # libresove has host path, remove it - sed -i -e "s#\$sss_extra_libdir##" ${S}/src/external/libresolv.m4 -} - -do_install () { - oe_runmake install DESTDIR="${D}" - rmdir --ignore-fail-on-non-empty "${D}/${bindir}" - install -d ${D}/${sysconfdir}/${BPN} - install -m 600 ${WORKDIR}/${BPN}.conf ${D}/${sysconfdir}/${BPN} - install -D -m 644 ${WORKDIR}/volatiles.99_sssd ${D}/${sysconfdir}/default/volatiles/99_sssd - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /var/log/sssd 0750 - - - -" > ${D}${sysconfdir}/tmpfiles.d/sss.conf - fi - - # Remove /var/run as it is created on startup - rm -rf ${D}${localstatedir}/run - - rm -f ${D}${systemd_system_unitdir}/sssd-secrets.* -} - -pkg_postinst_ontarget_${PN} () { -if [ -e /etc/init.d/populate-volatile.sh ] ; then - ${sysconfdir}/init.d/populate-volatile.sh update -fi - chown ${SSSD_UID}:${SSSD_GID} ${sysconfdir}/${BPN}/${BPN}.conf -} - -CONFFILES_${PN} = "${sysconfdir}/${BPN}/${BPN}.conf" - -INITSCRIPT_NAME = "sssd" -INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ." -SYSTEMD_SERVICE_${PN} = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'autofs', 'sssd-autofs.service sssd-autofs.socket', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'curl', 'sssd-kcm.service sssd-kcm.socket', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'infopipe', 'sssd-ifp.service ', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'ssh', 'sssd-ssh.service sssd-ssh.socket', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'sudo', 'sssd-sudo.service sssd-sudo.socket', '', d)} \ - sssd-nss.service \ - sssd-nss.socket \ - sssd-pam-priv.socket \ - sssd-pam.service \ - sssd-pam.socket \ - sssd.service \ -" -SYSTEMD_AUTO_ENABLE = "disable" - -FILES_${PN} += "${libdir} ${datadir} ${base_libdir}/security/pam_sss.so" -FILES_${PN}-dev = " ${includedir}/* ${libdir}/*la ${libdir}/*/*la" - -# The package contains symlinks that trip up insane -INSANE_SKIP_${PN} = "dev-so" - -RDEPENDS_${PN} = "bind dbus libldb libpam" diff --git a/meta-security/recipes-security/sssd/sssd_2.5.0.bb b/meta-security/recipes-security/sssd/sssd_2.5.0.bb new file mode 100644 index 000000000..84b7b0e46 --- /dev/null +++ b/meta-security/recipes-security/sssd/sssd_2.5.0.bb @@ -0,0 +1,131 @@ +SUMMARY = "system security services daemon" +DESCRIPTION = "SSSD is a system security services daemon" +HOMEPAGE = "https://pagure.io/SSSD/sssd/" +SECTION = "base" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "acl attr openldap cyrus-sasl libtdb ding-libs libpam c-ares krb5 autoconf-archive" +DEPENDS_append = " libldb dbus libtalloc libpcre glib-2.0 popt e2fsprogs libtevent bind p11-kit" + +DEPENDS_append_libc-musl = " musl-nscd" + +# If no crypto has been selected, default to DEPEND on nss, since that's what +# sssd will pick if no active choice is made during configure +DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'nss', '', \ + bb.utils.contains('PACKAGECONFIG', 'crypto', '', 'nss', d), d)}" + +SRC_URI = "https://github.com/SSSD/sssd/releases/download/2.5.0/sssd-2.5.0.tar.gz \ + file://sssd.conf \ + file://volatiles.99_sssd \ + file://no_gen.patch \ + file://fix_gid.patch \ + file://drop_ntpdate_chk.patch \ + file://fix-ldblibdir.patch \ + " +SRC_URI[sha256sum] = "afa62d7d8d23fca3aba093abe4ec0d14e7d9346c5b28ceb7c2c624bed98caa06" + +inherit autotools pkgconfig gettext python3-dir features_check systemd + +REQUIRED_DISTRO_FEATURES = "pam" + +SSSD_UID ?= "root" +SSSD_GID ?= "root" + +CACHED_CONFIGUREVARS = "ac_cv_member_struct_ldap_conncb_lc_arg=no \ + ac_cv_prog_HAVE_PYTHON3=${PYTHON_DIR} \ + " + +PACKAGECONFIG ?="nss nscd autofs sudo infopipe" +PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" +PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + +PACKAGECONFIG[autofs] = "--with-autofs, --with-autofs=no" +PACKAGECONFIG[crypto] = ", , libcrypto" +PACKAGECONFIG[curl] = "--with-kcm, --without-kcm, curl jansson" +PACKAGECONFIG[infopipe] = "--with-infopipe, --with-infopipe=no, " +PACKAGECONFIG[manpages] = "--with-manpages, --with-manpages=no, libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native" +PACKAGECONFIG[nl] = "--with-libnl, --with-libnl=no, libnl" +PACKAGECONFIG[nscd] = "--with-nscd=${sbindir}, --with-nscd=no " +PACKAGECONFIG[nss] = ", ,nss," +PACKAGECONFIG[python3] = "--with-python3-bindings, --without-python3-bindings" +PACKAGECONFIG[samba] = "--with-samba, --with-samba=no, samba" +PACKAGECONFIG[selinux] = "--with-selinux, --with-selinux=no --with-semanage=no, libselinux" +PACKAGECONFIG[ssh] = "--with-ssh, --with-ssh=no, " +PACKAGECONFIG[sudo] = "--with-sudo, --with-sudo=no, " +PACKAGECONFIG[systemd] = "--with-initscript=systemd,--with-initscript=sysv" + +EXTRA_OECONF += " \ + --disable-cifs-idmap-plugin \ + --without-nfsv4-idmapd-plugin \ + --without-ipa-getkeytab \ + --without-python2-bindings \ + --enable-pammoddir=${base_libdir}/security \ + --without-python2-bindings \ + --without-secrets \ + --with-xml-catalog-path=${STAGING_ETCDIR_NATIVE}/xml/catalog \ + --with-pid-path=/run \ +" + +do_configure_prepend() { + mkdir -p ${AUTOTOOLS_AUXDIR}/build + cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/build/ + + # libresove has host path, remove it + sed -i -e "s#\$sss_extra_libdir##" ${S}/src/external/libresolv.m4 +} + +do_compile_prepend () { + echo '#define NSUPDATE_PATH "${bindir}"' >> ${B}/config.h +} +do_install () { + oe_runmake install DESTDIR="${D}" + rmdir --ignore-fail-on-non-empty "${D}/${bindir}" + install -d ${D}/${sysconfdir}/${BPN} + install -m 600 ${WORKDIR}/${BPN}.conf ${D}/${sysconfdir}/${BPN} + install -D -m 644 ${WORKDIR}/volatiles.99_sssd ${D}/${sysconfdir}/default/volatiles/99_sssd + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /var/log/sssd 0750 - - - -" > ${D}${sysconfdir}/tmpfiles.d/sss.conf + fi + + # Remove /run as it is created on startup + rm -rf ${D}/run + + rm -f ${D}${systemd_system_unitdir}/sssd-secrets.* +} + +pkg_postinst_ontarget_${PN} () { +if [ -e /etc/init.d/populate-volatile.sh ] ; then + ${sysconfdir}/init.d/populate-volatile.sh update +fi + chown ${SSSD_UID}:${SSSD_GID} ${sysconfdir}/${BPN}/${BPN}.conf +} + +CONFFILES_${PN} = "${sysconfdir}/${BPN}/${BPN}.conf" + +INITSCRIPT_NAME = "sssd" +INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ." +SYSTEMD_SERVICE_${PN} = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'autofs', 'sssd-autofs.service sssd-autofs.socket', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'curl', 'sssd-kcm.service sssd-kcm.socket', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'infopipe', 'sssd-ifp.service ', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'ssh', 'sssd-ssh.service sssd-ssh.socket', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'sudo', 'sssd-sudo.service sssd-sudo.socket', '', d)} \ + sssd-nss.service \ + sssd-nss.socket \ + sssd-pam-priv.socket \ + sssd-pam.service \ + sssd-pam.socket \ + sssd.service \ +" +SYSTEMD_AUTO_ENABLE = "disable" + +FILES_${PN} += "${libdir} ${datadir} ${base_libdir}/security/pam_sss*.so" +FILES_${PN}-dev = " ${includedir}/* ${libdir}/*la ${libdir}/*/*la" + +# The package contains symlinks that trip up insane +INSANE_SKIP_${PN} = "dev-so" + +RDEPENDS_${PN} = "bind bind-utils dbus libldb libpam" -- cgit v1.2.3 From 0903674e2d7bafcf89cf75adbcf34cac5ce4b938 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 25 Jun 2021 14:25:14 -0500 Subject: poky: subtree update:9d1b332292..2834c2f853 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alex Stewart (3): opkg-utils: upgrade to version 0.4.5 opkg: upgrade to version 0.4.5 opkg: add QA check for openssl feed verification Alexander Kanavin (37): virglrenderer: explicitly depend on libgbm elfutils: update 0.183 -> 0.185 libcap: update 2.49 -> 2.50 perl: split perl-cross into its own recipe perl-cross: 1.3.5 -> 1.3.6 perl: update 5.32.1 -> 5.34.0 libgcrypt: upgrade 1.9.2 -> 1.9.3 erofs-utils: correct upstream version check m4: correct ptest failures ovmf: update 2021.02 -> 2021.05 apt: update 2.2.3 -> 2.2.4 util-linux: update 2.36.2 -> 2.37 cross-canadian: correct the location of pkg-config files nettle: update 3.7.2 -> 3.7.3 glib-2.0: update 2.68.2 -> 2.68.3 meson: upgrade 0.58.0 -> 0.58.1 ell: upgrade 0.40 -> 0.41 erofs-utils: upgrade 1.2.1 -> 1.3 grub: upgrade 2.04+2.06~rc1 -> 2.06 gptfdisk: upgrade 1.0.7 -> 1.0.8 connman: update 1.39 -> 1.40 libksba: upgrade 1.5.1 -> 1.6.0 libnss-mdns: upgrade 0.15 -> 0.15.1 libwpe: upgrade 1.10.0 -> 1.10.1 puzzles: upgrade to latest revision rng-tools: upgrade 6.12 -> 6.13 stress-ng: upgrade 0.12.09 -> 0.12.10 python3-magic: upgrade 0.4.23 -> 0.4.24 sudo: upgrade 1.9.7 -> 1.9.7p1 wpebackend-fdo: upgrade 1.8.4 -> 1.10.0 xkeyboard-config: upgrade 2.32 -> 2.33 bitbake.conf: enable debuginfod in native/nativesdk gdb-cross: enable debuginfod util-linux: backport a patch to address mkswap hangs selftest: do not hardcode /tmp/sdk glibc: do not enable memory tagging on aarch64 just yet mesa: enable gallium intel drivers when building for x86 Alexandre Belloni (1): runqemu: time the copy to tmpfs Alexey Brodkin (3): gcc: Fixes for ARC gdb: Add native GDB support for ARC gcc: Apply multilib fix to ARC as well Alistair Francis (3): recipes-bsp/opensbi: Disable FW_PIC recipes-bsp/u-boot: Allow deploying the u-boot DTB recipes-bsp/opensbi: Add support for specifying a device tree Anders Wallin (1): coreutils: remove NOSTAT_LEAF_OPTIMIZATION Andrea Adami (1): kernel.bbclass: fix do_sizecheck() comparison Andreas Müller (19): mesa: upgrade 21.1.1 -> 21.1.2 systemd: Add more ugly casts to fix build with musl alsa-lib: upgrade 1.2.4 -> 1.2.5 alsa-plugins: upgrade 1.2.2 -> 1.2.5 alsa-tools: upgrade 1.2.2 -> 1.2.5 alsa-topology-conf: upgrade 1.2.4 -> 1.2.5 alsa-ucm-conf: upgrade 1.2.4 -> 1.2.5 alsa-utils(-scripts): upgrade 1.2.4 -> 1.2.5 libinput: upgrade 1.17.3 -> 1.18.0 xf86-input-libinput: upgrade 0.30.0 -> 1.0.1 epiphany: upgrade 40.1 -> 40.2 vala: upgrade 0.52.3 -> 0.52.4 p11-kit: upgrade 0.23.22 -> 0.23.24 xorgproto: upgrade 2021.4.99.1 -> 2021.4.99.2 mpg123: 1.27.2 -> 1.28.0 libx11: upgrade 1.7.1 -> 1.7.2 libx11: remove CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE" libpcap: upgrade 1.10.0 -> 1.10.1 mesa: upgrade 21.1.2 -> 21.1.3 Bruce Ashfield (10): linux-yocto/5.10: update to v5.10.42 linux-yocto/5.10: temporarily revert aufs linux-yocto-dev: base AUTOREV on specified version linux-yocto/5.4: update to v5.4.124 linux-yocto/5.10: restore aufs linux-yocto/5.10: update to v5.10.43 linux-yocto/5.4: update to v5.4.125 linux-yocto/5.10: cgroup1: fix leaked context root causing sporadic NULL deref in LTP btrfs-tools: include linux/const.h to fix build with 5.12+ headers bsps/5.10: update to v5.10.43 Changqing Li (1): libjpeg-turbo: fix do_compile error on arm Chris Laplante (1): bitbake: build: warn on setting noexec/nostamp/fakeroot flag to any value besides '1' Daniel Wagenknecht (5): ref-manual: variables: update examples refering to DEPLOY_DIR_IMAGE ref-manual: variables: document IMGDEPLOYDIR ref-manual: migration-2.2: add note about IMGDEPLOYDIR ref-manual: variables: fixup example in IMAGE_CMD ref-manual: variables: fixup class reference in IMAGE_MANIFEST Joe Slater (1): tcf-agent: change license to EPL/EDL Joshua Watt (2): classes/buildhistory: Add option to strip path prefix classes/reproducible_build: Use atomic rename for SDE file Justin Bronder (1): populate_sdk_ext: copy BBMULTICONFIG files Kai Kang (1): valgrind: fix a typo Khem Raj (14): harfbuzz: Fix unused-variable warning arch-armv4: Allow -march=armv4 ffmpeg: Link in libatomic on riscv32 libssp-nonshared: Use a different implementation for __stack_chk_fail qemuriscv: Enable 4 core emulation gcompat: Add recipe musl: Do not package glibc loader musl: Set UPSTREAM_CHECK_COMMITS Revert "libgcc-initial: Do not build fp128 to decimal ppc functions" qemu: Provide float128 via hwcaps2 on ppc64le linuxloader: Be aware of riscv32 ldso linuxloader.bbclass: Add entry for ppc64 LE glibc loader gcompat: Create symlinks to glibc ldso locations sdk: Enable do_populate_sdk with multilibs Luca Boccassi (1): systemd: install new sysext tool via systemd-extra-utils Marcus Comstedt (1): conf/machine-sdk: Add ppc64 SDK machine Matt Spencer (1): systemd-conf: Prevent systemd-network from managing veth interfaces Michael Halstead (1): releases: update to include 3.1.8 Michael Opdenacker (12): bitbake: docs: Add BB_HASHSERVE definition to glossary bitbake: doc: bitbake-user-manual: fix erroneous statement in glossary intro manuals: fix epub export warnings ref-manual: move migration guides to separate document releases: clarify supported and outdated releases releases: put release number after "Release Series" sdk-manual: fix broken references migration guides: remove index reference to BB_SETSCENE_VERIFY_FUNCTION2 manuals: fix issues related to trailing dots sdk-manual: add missing quoting around "devtool upgrade" sdk-manual: fix wrong word sdk-manual: add missing index references Ming Liu (2): u-boot-tools: fix a mkimage signature issue uboot-sign.bbclass: fix some install commands Mingli Yu (2): sysstat: make the service start automatically boost: fix wrong type for mutex in regex v5 Nicolas Dechesne (3): index: remove the link/section to 'mega manual' from main page index: remove links to releases manual and index index: split releases manuals and indexes into two sections in the tree Paul Barker (2): bitbake: asyncrpc: Add ping method bitbake: asyncrpc: Reduce verbosity Quentin Schulz (6): docs: ref-manual: migration-3.0: remove reference to non-existing BB_SETSCENE_VERIFY_FUNCTION2 docs: ref-manual: variables: add missing links to terms glossary bitbake: doc: user-manual: remove mentions to BBVERSIONS bitbake: doc: user-manual: ref-manual: remove mentions to BB_SETSCENE_VERIFY_FUNCTION2 documentation: Makefile: turn warnings into errors by default docs: replace ``FOO`` by :term:`FOO` where possible Richard Purdie (11): lttng-tools: upgrade 2.12.3 -> 2.12.4 qemurunner: Try to ensure mmap'd libs are paged in qemurunner: Increase startup timeout 120 -> 300 build-appliance-image: Update to master head revision test-manual: add initial reproducible builds documentation test-manual: Add initial YP Compatible documentation README: Tweak as the website isn't really new now README: Move to using markdown as the format perf: Use python3targetconfig to ensure we use target libraries ltp: Reinstate 'hanging' tests for evaluation README.poky: Formatting and content cleanup Richard Weinberger (1): Document erofs filesystem targets Robert P. J. Day (2): ref-manual: add SRCTREECOVEREDTASKS to variable glossary ref-manual: add glossary entry for NON_MULTILIB_RECIPES Ross Burton (11): mx: remove from Openembedded Core core-image-weston: remove Clutter examples Remove Clutter and Cogl oeqa: remove Clutter usage meta-poky: remove clutter references Remove Clutter references gcc: enable branch protection by standard image_types: add zsync conversions avahi: apply fix for CVE-2021-3468 qemu: fix virtio vhost-user-gpu CVEs gcc: replace gdb helper install revert with the upstream fix Sakib Sajal (3): oeqa/core/target/qemu.py: display contents of dumped files oe-time-dd-test.sh: improve output formatting oe-time-dd-test.sh: add iostat command Saul Wold (1): qemurunner: add second qmp port Scott Weaver (1): bitbake: fetch2: add check for empty SRC_URI hash string Tim Orling (8): maintainers.inc: update email address python3-scons: upgrade 3.1.2 -> 4.1.0; simplify python3-hypothesis: upgrade 6.13.7 -> 6.13.14 at-spi2-core: upgrade 2.40.1 -> 2.40.2 python3-importlib-metadata: upgrade 4.4.0 -> 4.5.0 python3-manifest: add statistics subpackage python3-hypothesis: upgrade 6.13.14 -> 6.14.0 python3: skip tests requiring tools-sdk Tony Battersby (1): glibc: fix path to place zdump in the tzcode package Tony Tascioglu (3): valgrind: Improve non-deterministic ptest reliability valgrind: remove buggy ptest from arm64 valgrind: Actually install list of non-deterministic ptests hongxu (1): nativesdk-libdnf: fix installed and not shipped files wangmy (21): cmake: upgrade 3.20.2 -> 3.20.3 mtools: upgrade 4.0.27 -> 4.0.29 python3-magic: upgrade 0.4.22 -> 0.4.23 less: upgrade 586 -> 589 python3-libarchive-c: upgrade 3.0 -> 3.1 diffoscope: upgrade 175 -> 177 dtc: upgrade 1.6.0 -> 1.6.1 git: upgrade 2.31.1 -> 2.32.0 gnutls: upgrade 3.7.1 -> 3.7.2 go: upgrade 1.16.4 -> 1.16.5 less: upgrade 589 -> 590 ethtool: upgrade 5.10 -> 5.12 m4: upgrade 1.4.18 -> 1.4.19 alsa-lib: upgrade 1.2.5 -> 1.2.5.1 alsa-utils: upgrade 1.2.5 -> 1.2.5.1 alsa-topology-conf: upgrade 1.2.5 -> 1.2.5.1 alsa-ucm-conf: upgrade 1.2.5 -> 1.2.5.1 blktrace: upgrade 1.2.0 -> 1.3.0 enchant2: upgrade 2.2.15 -> 2.3.0 librepo: upgrade 1.14.0 -> 1.14.1 createrepo-c: upgrade 0.17.2 -> 0.17.3 zangrc (1): python3-pycairo: upgrade 1.20.0 -> 1.20.1 zhengruoqin (6): python3-importlib-metadata: upgrade 4.3.0 -> 4.4.0 libogg: upgrade 1.3.4 -> 1.3.5 liburcu: upgrade 0.12.2 -> 0.13.0 libcomps: upgrade 0.1.16 -> 0.1.17 python3-dbusmock: upgrade 0.23.0 -> 0.23.1 nfs-utils: upgrade 2.5.3 -> 2.5.4 Signed-off-by: Andrew Geissler Change-Id: Iac124e214336beb9cab7fb3b67a6968d4e34d06f --- poky/README.hardware | 1 - poky/README.hardware.md | 1 + poky/README.poky | 1 - poky/README.poky.md | 1 + .../bitbake-user-manual-execution.rst | 7 - .../bitbake-user-manual-metadata.rst | 45 +- .../bitbake-user-manual-ref-variables.rst | 35 +- poky/bitbake/lib/bb/asyncrpc/client.py | 7 +- poky/bitbake/lib/bb/asyncrpc/serv.py | 13 +- poky/bitbake/lib/bb/build.py | 5 + poky/bitbake/lib/bb/fetch2/__init__.py | 5 +- poky/documentation/Makefile | 2 +- poky/documentation/README | 4 +- poky/documentation/brief-yoctoprojectqs/index.rst | 2 +- poky/documentation/bsp-guide/bsp.rst | 16 +- poky/documentation/conf.py | 3 + poky/documentation/dev-manual/common-tasks.rst | 386 +++--- poky/documentation/index.rst | 13 +- poky/documentation/kernel-dev/advanced.rst | 56 +- poky/documentation/kernel-dev/common.rst | 52 +- poky/documentation/kernel-dev/faq.rst | 2 +- poky/documentation/kernel-dev/maint-appx.rst | 2 +- poky/documentation/migration-guides/index.rst | 34 + .../migration-guides/migration-1.3.rst | 194 +++ .../migration-guides/migration-1.4.rst | 235 ++++ .../migration-guides/migration-1.5.rst | 353 ++++++ .../migration-guides/migration-1.6.rst | 414 +++++++ .../migration-guides/migration-1.7.rst | 221 ++++ .../migration-guides/migration-1.8.rst | 183 +++ .../migration-guides/migration-2.0.rst | 278 +++++ .../migration-guides/migration-2.1.rst | 432 +++++++ .../migration-guides/migration-2.2.rst | 457 +++++++ .../migration-guides/migration-2.3.rst | 517 ++++++++ .../migration-guides/migration-2.4.rst | 327 +++++ .../migration-guides/migration-2.5.rst | 308 +++++ .../migration-guides/migration-2.6.rst | 452 +++++++ .../migration-guides/migration-2.7.rst | 180 +++ .../migration-guides/migration-3.0.rst | 319 +++++ .../migration-guides/migration-3.1.rst | 275 +++++ .../migration-guides/migration-3.2.rst | 313 +++++ .../migration-guides/migration-3.3.rst | 168 +++ .../migration-guides/migration-general.rst | 54 + poky/documentation/overview-manual/concepts.rst | 79 +- poky/documentation/overview-manual/yp-intro.rst | 3 +- poky/documentation/ref-manual/classes.rst | 89 +- poky/documentation/ref-manual/faq.rst | 16 +- poky/documentation/ref-manual/features.rst | 22 +- poky/documentation/ref-manual/images.rst | 4 - poky/documentation/ref-manual/index.rst | 1 - poky/documentation/ref-manual/kickstart.rst | 8 +- poky/documentation/ref-manual/migration-1.3.rst | 194 --- poky/documentation/ref-manual/migration-1.4.rst | 235 ---- poky/documentation/ref-manual/migration-1.5.rst | 353 ------ poky/documentation/ref-manual/migration-1.6.rst | 414 ------- poky/documentation/ref-manual/migration-1.7.rst | 221 ---- poky/documentation/ref-manual/migration-1.8.rst | 183 --- poky/documentation/ref-manual/migration-2.0.rst | 278 ----- poky/documentation/ref-manual/migration-2.1.rst | 432 ------- poky/documentation/ref-manual/migration-2.2.rst | 446 ------- poky/documentation/ref-manual/migration-2.3.rst | 517 -------- poky/documentation/ref-manual/migration-2.4.rst | 327 ----- poky/documentation/ref-manual/migration-2.5.rst | 308 ----- poky/documentation/ref-manual/migration-2.6.rst | 452 ------- poky/documentation/ref-manual/migration-2.7.rst | 180 --- poky/documentation/ref-manual/migration-3.0.rst | 320 ----- poky/documentation/ref-manual/migration-3.1.rst | 275 ----- poky/documentation/ref-manual/migration-3.2.rst | 313 ----- poky/documentation/ref-manual/migration-3.3.rst | 168 --- .../documentation/ref-manual/migration-general.rst | 54 - poky/documentation/ref-manual/migration.rst | 32 - poky/documentation/ref-manual/qa-checks.rst | 26 +- poky/documentation/ref-manual/release-process.rst | 11 +- poky/documentation/ref-manual/structure.rst | 16 +- poky/documentation/ref-manual/tasks.rst | 12 +- poky/documentation/ref-manual/terms.rst | 6 +- poky/documentation/ref-manual/variables.rst | 1251 ++++++++++---------- poky/documentation/releases.rst | 63 +- .../sdk-manual/appendix-customizing-standard.rst | 4 +- .../sdk-manual/appendix-customizing.rst | 47 +- poky/documentation/sdk-manual/extensible.rst | 69 +- poky/documentation/sdk-manual/working-projects.rst | 17 +- poky/documentation/sphinx-static/switchers.js | 2 +- poky/documentation/test-manual/index.rst | 2 + .../test-manual/reproducible-builds.rst | 135 +++ .../test-manual/yocto-project-compatible.rst | 124 ++ .../documentation/toaster-manual/setup-and-use.rst | 2 +- .../transitioning-to-a-custom-environment.rst | 2 +- poky/meta-poky/README.poky | 71 -- poky/meta-poky/README.poky.md | 84 ++ .../distro/include/poky-floating-revisions.inc | 2 - poky/meta-poky/conf/distro/poky-tiny.conf | 1 - poky/meta-yocto-bsp/README.hardware | 265 ----- poky/meta-yocto-bsp/README.hardware.md | 265 +++++ .../recipes-kernel/linux/linux-yocto_5.10.bbappend | 16 +- poky/meta/classes/buildhistory.bbclass | 3 +- poky/meta/classes/clutter.bbclass | 18 - poky/meta/classes/cross-canadian.bbclass | 2 +- poky/meta/classes/image_types.bbclass | 6 +- poky/meta/classes/kernel-yocto.bbclass | 24 + poky/meta/classes/kernel.bbclass | 2 +- poky/meta/classes/linuxloader.bbclass | 4 + poky/meta/classes/multilib.bbclass | 1 - poky/meta/classes/populate_sdk_base.bbclass | 2 +- poky/meta/classes/populate_sdk_ext.bbclass | 13 +- poky/meta/classes/reproducible_build.bbclass | 13 +- poky/meta/classes/uboot-config.bbclass | 4 + poky/meta/classes/uboot-sign.bbclass | 8 +- poky/meta/conf/bitbake.conf | 4 +- poky/meta/conf/distro/include/distro_alias.inc | 11 - poky/meta/conf/distro/include/maintainers.inc | 76 +- .../conf/distro/include/ptest-packagelists.inc | 2 - poky/meta/conf/machine-sdk/ppc64.conf | 2 + poky/meta/conf/machine/include/arm/arch-armv4.inc | 2 +- poky/meta/conf/machine/include/riscv/qemuriscv.inc | 1 + poky/meta/lib/oe/sstatesig.py | 15 +- poky/meta/lib/oeqa/core/target/qemu.py | 27 +- .../meta/lib/oeqa/manual/toaster-managed-mode.json | 6 +- poky/meta/lib/oeqa/selftest/cases/imagefeatures.py | 12 - poky/meta/lib/oeqa/selftest/cases/runtime_test.py | 28 +- poky/meta/lib/oeqa/utils/qemurunner.py | 27 +- poky/meta/recipes-bsp/grub/grub-efi_2.06.bb | 91 ++ poky/meta/recipes-bsp/grub/grub-efi_git.bb | 89 -- poky/meta/recipes-bsp/grub/grub2.inc | 19 +- poky/meta/recipes-bsp/grub/grub_2.06.bb | 41 + poky/meta/recipes-bsp/grub/grub_git.bb | 41 - poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc | 15 +- poky/meta/recipes-bsp/opensbi/opensbi_0.9.bb | 3 +- ...1-tools-image-host-fix-wrong-return-value.patch | 41 + .../recipes-bsp/u-boot/u-boot-tools_2021.04.bb | 1 + poky/meta/recipes-bsp/u-boot/u-boot.inc | 7 +- poky/meta/recipes-connectivity/avahi/avahi_0.8.bb | 1 + .../avahi/files/handle-hup.patch | 41 + ...resolve-musl-does-not-implement-res_ninit.patch | 10 +- .../recipes-connectivity/connman/connman_1.39.bb | 15 - .../recipes-connectivity/connman/connman_1.40.bb | 15 + .../libnss-mdns/libnss-mdns_0.15.1.bb | 39 + .../libnss-mdns/libnss-mdns_0.15.bb | 39 - .../recipes-connectivity/libpcap/libpcap_1.10.0.bb | 44 - .../recipes-connectivity/libpcap/libpcap_1.10.1.bb | 42 + .../nfs-utils/nfs-utils_2.5.3.bb | 145 --- .../nfs-utils/nfs-utils_2.5.4.bb | 145 +++ .../0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch | 167 +++ poky/meta/recipes-core/coreutils/coreutils_8.32.bb | 1 + poky/meta/recipes-core/ell/ell_0.40.bb | 24 - poky/meta/recipes-core/ell/ell_0.41.bb | 24 + .../glib-2.0/glib-2.0/relocate-modules.patch | 2 +- poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb | 54 - poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb | 54 + poky/meta/recipes-core/glibc/glibc-package.inc | 2 +- poky/meta/recipes-core/glibc/glibc_2.33.bb | 2 +- .../images/build-appliance-image_15.0.0.bb | 2 +- poky/meta/recipes-core/musl/gcompat_git.bb | 54 + poky/meta/recipes-core/musl/libssp-nonshared.bb | 11 +- .../recipes-core/musl/libssp-nonshared/ssp-local.c | 45 - .../recipes-core/musl/libssp-nonshared/stack_chk.c | 40 + poky/meta/recipes-core/musl/musl_git.bb | 6 +- ...0001-ovmf-update-path-to-native-BaseTools.patch | 7 +- ...makefile-adjust-to-build-in-under-bitbake.patch | 11 +- .../ovmf/ovmf/0003-ovmf-Update-to-latest.patch | 45 + .../ovmf/ovmf/0004-Strip-build-paths.patch | 32 + .../ovmf/ovmf/0004-ovmf-Update-to-latest.patch | 46 - .../ovmf/ovmf/0005-debug-prefix-map.patch | 104 ++ .../recipes-core/ovmf/ovmf/0006-reproducible.patch | 180 +++ .../recipes-core/ovmf/ovmf/debug_prefix_map.patch | 93 -- .../meta/recipes-core/ovmf/ovmf/reproducible.patch | 165 --- poky/meta/recipes-core/ovmf/ovmf/zero.patch | 84 -- poky/meta/recipes-core/ovmf/ovmf_git.bb | 12 +- .../systemd/systemd-conf/wired.network | 1 + .../0010-Use-uintmax_t-for-handling-rlim_t.patch | 11 +- poky/meta/recipes-core/systemd/systemd_248.3.bb | 1 + .../util-linux/util-linux-libuuid_2.36.2.bb | 16 - .../util-linux/util-linux-libuuid_2.37.bb | 16 + poky/meta/recipes-core/util-linux/util-linux.inc | 4 +- .../8a3a74160b96498d672e3652827aa7e6d7f3a120.patch | 29 + ...e-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch | 49 - .../util-linux/avoid_parallel_tests.patch | 27 +- .../recipes-core/util-linux/util-linux/ptest.patch | 15 +- .../recipes-core/util-linux/util-linux_2.36.2.bb | 332 ------ .../recipes-core/util-linux/util-linux_2.37.bb | 302 +++++ ...o-not-init-tables-from-dpkg-configuration.patch | 2 +- ...ys-run-dpkg-configure-a-at-the-end-of-our.patch | 2 +- poky/meta/recipes-devtools/apt/apt_2.2.3.bb | 135 --- poky/meta/recipes-devtools/apt/apt_2.2.4.bb | 135 +++ ...-include-linux-const.h-to-fix-build-with-.patch | 42 + .../btrfs-tools/btrfs-tools_5.12.1.bb | 1 + .../recipes-devtools/cmake/cmake-native_3.20.2.bb | 53 - .../recipes-devtools/cmake/cmake-native_3.20.3.bb | 53 + poky/meta/recipes-devtools/cmake/cmake.inc | 2 +- poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb | 53 - poky/meta/recipes-devtools/cmake/cmake_3.20.3.bb | 53 + ...-set-PYTHON_INSTALL_DIR-by-running-python.patch | 11 +- .../createrepo-c/createrepo-c_0.17.2.bb | 40 - .../createrepo-c/createrepo-c_0.17.3.bb | 40 + .../recipes-devtools/elfutils/elfutils_0.183.bb | 165 --- .../recipes-devtools/elfutils/elfutils_0.185.bb | 164 +++ ...01-add-support-for-ipkg-to-debuginfod.cxx.patch | 33 - ...debuginfod-client.c-correct-string-format.patch | 61 +- .../elfutils/files/0002-musl-libs.patch | 4 +- .../elfutils/files/0003-musl-utils.patch | 8 +- .../elfutils/files/0004-Fix-error-on-musl.patch | 4 +- .../0015-config-eu.am-do-not-use-Werror.patch | 16 +- .../erofs-utils/erofs-utils_1.2.1.bb | 21 - .../erofs-utils/erofs-utils_1.3.bb | 23 + poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb | 35 - poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.8.bb | 35 + poky/meta/recipes-devtools/gcc/gcc-11.1.inc | 5 +- .../recipes-devtools/gcc/gcc-configure-common.inc | 1 + ...tdc-Install-libstdc-gdb.py-more-robustly-.patch | 76 -- ...Fix-installation-of-python-hooks-PR-99453.patch | 57 + .../gcc/gcc/0004-64-bit-multilib-hack.patch | 23 +- ...0038-arc-Update-64bit-move-split-patterns.patch | 290 +++++ .../gcc/gcc/0039-arc-Fix-u-maddhisi-patterns.patch | 127 ++ .../gcc/0040-arc-Update-doloop_end-patterns.patch | 105 ++ poky/meta/recipes-devtools/gcc/libgcc-initial.inc | 2 - poky/meta/recipes-devtools/gdb/gdb-10.2.inc | 4 + .../recipes-devtools/gdb/gdb-cross-canadian.inc | 3 +- poky/meta/recipes-devtools/gdb/gdb-cross.inc | 3 +- .../0012-arc-Add-support-for-signal-handlers.patch | 218 ++++ ...pport-for-signal-frames-for-Linux-targets.patch | 232 ++++ ...to-account-the-REGNUM-in-supply-collect-g.patch | 104 ++ ...b-Add-native-support-for-ARC-in-GNU-Linux.patch | 414 +++++++ poky/meta/recipes-devtools/git/git_2.31.1.bb | 9 - poky/meta/recipes-devtools/git/git_2.32.0.bb | 9 + poky/meta/recipes-devtools/go/go-1.16.4.inc | 20 - poky/meta/recipes-devtools/go/go-1.16.5.inc | 20 + .../recipes-devtools/go/go-binary-native_1.16.4.bb | 46 - .../recipes-devtools/go/go-binary-native_1.16.5.bb | 46 + .../go/go-cross-canadian_1.16.4.bb | 2 - .../go/go-cross-canadian_1.16.5.bb | 2 + poky/meta/recipes-devtools/go/go-cross_1.16.4.bb | 2 - poky/meta/recipes-devtools/go/go-cross_1.16.5.bb | 2 + .../meta/recipes-devtools/go/go-crosssdk_1.16.4.bb | 2 - .../meta/recipes-devtools/go/go-crosssdk_1.16.5.bb | 2 + poky/meta/recipes-devtools/go/go-native_1.16.4.bb | 59 - poky/meta/recipes-devtools/go/go-native_1.16.5.bb | 59 + poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb | 3 - poky/meta/recipes-devtools/go/go-runtime_1.16.5.bb | 3 + poky/meta/recipes-devtools/go/go_1.16.4.bb | 17 - poky/meta/recipes-devtools/go/go_1.16.5.bb | 17 + ...-set-PYTHON_INSTALL_DIR-by-running-python.patch | 10 +- .../recipes-devtools/libcomps/libcomps_0.1.16.bb | 24 - .../recipes-devtools/libcomps/libcomps_0.1.17.bb | 24 + .../libdnf/0001-drop-FindPythonInstDir.cmake.patch | 42 + poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb | 1 + ...to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch | 15 +- .../recipes-devtools/librepo/librepo_1.14.0.bb | 29 - .../recipes-devtools/librepo/librepo_1.14.1.bb | 29 + poky/meta/recipes-devtools/m4/m4-1.4.18.inc | 63 - poky/meta/recipes-devtools/m4/m4-1.4.19.inc | 61 + poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb | 14 - poky/meta/recipes-devtools/m4/m4-native_1.4.19.bb | 14 + ...need_charset_alias-when-building-for-musl.patch | 33 - .../m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch | 84 -- .../m4/m4/0001-test-getopt-posix-fix.patch | 41 - .../recipes-devtools/m4/m4/ac_config_links.patch | 24 +- .../m4/m4/m4-1.4.18-glibc-change-work-around.patch | 130 -- poky/meta/recipes-devtools/m4/m4_1.4.18.bb | 3 - poky/meta/recipes-devtools/m4/m4_1.4.19.bb | 3 + poky/meta/recipes-devtools/meson/meson.inc | 3 +- .../4e312c19e693a69b0650ce6c8a8903163c959996.patch | 412 ------- poky/meta/recipes-devtools/meson/meson_0.58.0.bb | 4 - poky/meta/recipes-devtools/meson/meson_0.58.1.bb | 4 + .../meson/nativesdk-meson_0.58.0.bb | 56 - .../meson/nativesdk-meson_0.58.1.bb | 56 + poky/meta/recipes-devtools/mtools/mtools_4.0.27.bb | 50 - poky/meta/recipes-devtools/mtools/mtools_4.0.29.bb | 50 + .../opkg-utils/opkg-utils_0.4.3.bb | 66 -- .../opkg-utils/opkg-utils_0.4.5.bb | 66 ++ ...et-the-OS-negotiate-relative-package-dirs.patch | 43 - .../opkg/opkg/sourcedateepoch.patch | 24 - poky/meta/recipes-devtools/opkg/opkg_0.4.4.bb | 77 -- poky/meta/recipes-devtools/opkg/opkg_0.4.5.bb | 88 ++ ...re_func_sel.sh-disable-thread_safe_nl_lan.patch | 27 + ...ath.sh-do-not-hardcode-prefix-lib-as-libr.patch | 69 ++ ...ool.sh-do-not-quote-the-argument-to-comma.patch | 29 + ...rl-cross-add-LDFLAGS-when-linking-libperl.patch | 27 + .../recipes-devtools/perl-cross/files/README.md | 29 + .../perl-cross/files/determinism.patch | 46 + .../recipes-devtools/perl-cross/perlcross_1.3.6.bb | 39 + ...ath.sh-do-not-hardcode-prefix-lib-as-libr.patch | 69 -- ...ool.sh-do-not-quote-the-argument-to-comma.patch | 29 - ...rl-cross-add-LDFLAGS-when-linking-libperl.patch | 27 - .../recipes-devtools/perl/files/determinism.patch | 23 - poky/meta/recipes-devtools/perl/perl_5.32.1.bb | 393 ------ poky/meta/recipes-devtools/perl/perl_5.34.0.bb | 384 ++++++ .../python/python3-dbusmock_0.23.0.bb | 18 - .../python/python3-dbusmock_0.23.1.bb | 18 + .../python/python3-hypothesis_6.13.7.bb | 14 - .../python/python3-hypothesis_6.14.0.bb | 22 + .../python/python3-importlib-metadata_4.3.0.bb | 20 - .../python/python3-importlib-metadata_4.5.0.bb | 20 + .../python/python3-libarchive-c_3.0.bb | 21 - .../python/python3-libarchive-c_3.1.bb | 22 + .../python/python3-magic_0.4.22.bb | 22 - .../python/python3-magic_0.4.24.bb | 22 + .../python/python3-pycairo_1.20.0.bb | 27 - .../python/python3-pycairo_1.20.1.bb | 27 + .../python/python3-scons-native_3.1.2.bb | 7 - .../python/python3-scons-native_4.1.0.bb | 7 + .../0001-Fix-man-page-installation.patch | 46 + .../recipes-devtools/python/python3-scons_3.1.2.bb | 34 - .../recipes-devtools/python/python3-scons_4.1.0.bb | 27 + ...t_ctypes.test_find-skip-without-tools-sdk.patch | 33 + .../python/python3/python3-manifest.json | 15 + poky/meta/recipes-devtools/python/python3_3.9.5.bb | 1 + poky/meta/recipes-devtools/qemu/qemu.inc | 8 + ...01-linux-user-Tag-vsx-with-ieee128-fpbits.patch | 35 + ...gpu-fix-memory-disclosure-in-virgl_cmd_ge.patch | 43 + ...gpu-fix-resource-leak-in-vg_resource_crea.patch | 41 + ...gpu-fix-memory-leak-in-vg_resource_attach.patch | 48 + ...gpu-fix-memory-leak-while-calling-vg_reso.patch | 50 + ...gpu-fix-memory-leak-in-virgl_cmd_resource.patch | 58 + ...gpu-fix-memory-leak-in-virgl_resource_att.patch | 49 + ...gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch | 49 + .../tcf-agent/0001-Fixed-copyright-messages.patch | 56 + .../recipes-devtools/tcf-agent/tcf-agent_git.bb | 1 + poky/meta/recipes-devtools/vala/vala_0.52.3.bb | 5 - poky/meta/recipes-devtools/vala/vala_0.52.4.bb | 5 + .../valgrind/valgrind/remove-for-aarch64 | 1 + .../recipes-devtools/valgrind/valgrind/run-ptest | 14 +- .../valgrind/taskset_nondeterministic_tests | 2 + .../recipes-devtools/valgrind/valgrind_3.17.0.bb | 4 +- .../ethtool/ethtool/avoid_parallel_tests.patch | 2 +- poky/meta/recipes-extended/ethtool/ethtool_5.10.bb | 37 - poky/meta/recipes-extended/ethtool/ethtool_5.12.bb | 37 + poky/meta/recipes-extended/less/less_586.bb | 42 - poky/meta/recipes-extended/less/less_590.bb | 42 + .../ltp/ltp/disable_hanging_tests.patch | 45 - poky/meta/recipes-extended/ltp/ltp_20210524.bb | 1 - .../stress-ng/stress-ng_0.12.09.bb | 27 - .../stress-ng/stress-ng_0.12.10.bb | 27 + poky/meta/recipes-extended/sudo/sudo_1.9.7.bb | 59 - poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb | 59 + poky/meta/recipes-extended/sysstat/sysstat.inc | 4 + poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb | 29 - poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb | 29 + poky/meta/recipes-graphics/clutter/clutter-1.0.inc | 49 - ...ter.types-as-it-is-build-configuration-sp.patch | 143 --- .../clutter/clutter-1.0/install-examples.patch | 19 - .../run-installed-tests-with-tap-output.patch | 30 - .../recipes-graphics/clutter/clutter-1.0/run-ptest | 3 - .../recipes-graphics/clutter/clutter-1.0_1.26.4.bb | 10 - .../recipes-graphics/clutter/clutter-gst-3.0.inc | 23 - ...mple-binary-needed-for-core-image-clutter.patch | 33 - .../clutter/clutter-gst-3.0_3.0.27.bb | 7 - .../recipes-graphics/clutter/clutter-gtk-1.0.inc | 23 - ...g-variable-for-enabling-disabling-introsp.patch | 37 - .../clutter/clutter-gtk-1.0_1.8.4.bb | 7 - poky/meta/recipes-graphics/cogl/cogl-1.0.inc | 84 -- ...1-configure.ac-don-t-require-eglmesaext.h.patch | 92 -- poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb | 6 - ...sed-variable-supp_size-from-plan_subset_e.patch | 44 + .../recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb | 1 + .../recipes-graphics/images/core-image-clutter.bb | 15 - .../recipes-graphics/images/core-image-weston.bb | 2 +- .../recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb | 3 + poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb | 16 - poky/meta/recipes-graphics/mesa/mesa-gl_21.1.3.bb | 16 + poky/meta/recipes-graphics/mesa/mesa.inc | 5 +- poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb | 5 - poky/meta/recipes-graphics/mesa/mesa_21.1.3.bb | 5 + .../mx/mx-1.0/fix-test-includes.patch | 20 - poky/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb | 16 - poky/meta/recipes-graphics/mx/mx.inc | 27 - .../packagegroups/packagegroup-core-clutter.bb | 22 - .../virglrenderer/virglrenderer_0.9.1.bb | 2 +- .../recipes-graphics/wayland/libinput_1.17.3.bb | 49 - .../recipes-graphics/wayland/libinput_1.18.0.bb | 49 + .../xorg-driver/xf86-input-libinput_0.30.0.bb | 11 - .../xorg-driver/xf86-input-libinput_1.0.1.bb | 11 + .../meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb | 45 - .../meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb | 42 + .../xorg-lib/xkeyboard-config_2.32.bb | 30 - .../xorg-lib/xkeyboard-config_2.33.bb | 30 + .../xorg-proto/xorgproto_2021.4.99.1.bb | 25 - .../xorg-proto/xorgproto_2021.4.99.2.bb | 25 + .../blktrace/blktrace/CVE-2018-10689.patch | 150 --- .../recipes-kernel/blktrace/blktrace/ldflags.patch | 114 -- .../blktrace/make-btt-scripts-python3-ready.patch | 197 --- poky/meta/recipes-kernel/blktrace/blktrace_git.bb | 10 +- .../dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch | 35 - poky/meta/recipes-kernel/dtc/dtc_1.6.0.bb | 12 - poky/meta/recipes-kernel/dtc/dtc_1.6.1.bb | 10 + .../recipes-kernel/linux/linux-yocto-rt_5.10.bb | 6 +- .../recipes-kernel/linux/linux-yocto-rt_5.4.bb | 6 +- .../recipes-kernel/linux/linux-yocto-tiny_5.10.bb | 8 +- .../recipes-kernel/linux/linux-yocto-tiny_5.4.bb | 8 +- poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb | 24 +- poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb | 22 +- .../recipes-kernel/lttng/lttng-tools_2.12.3.bb | 174 --- .../recipes-kernel/lttng/lttng-tools_2.12.4.bb | 177 +++ poky/meta/recipes-kernel/perf/perf.bb | 2 +- .../ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch | 31 - .../meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb | 45 - .../recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb | 44 + .../recipes-multimedia/alsa/alsa-plugins_1.2.2.bb | 175 --- .../recipes-multimedia/alsa/alsa-plugins_1.2.5.bb | 174 +++ .../recipes-multimedia/alsa/alsa-tools_1.2.2.bb | 89 -- .../recipes-multimedia/alsa/alsa-tools_1.2.5.bb | 88 ++ .../alsa/alsa-topology-conf_1.2.4.bb | 22 - .../alsa/alsa-topology-conf_1.2.5.1.bb | 23 + .../recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb | 23 - .../alsa/alsa-ucm-conf_1.2.5.1.bb | 24 + .../alsa/alsa-utils-scripts_1.2.4.bb | 25 - .../alsa/alsa-utils-scripts_1.2.5.1.bb | 25 + poky/meta/recipes-multimedia/alsa/alsa-utils.inc | 2 +- .../recipes-multimedia/alsa/alsa-utils_1.2.4.bb | 2 - .../recipes-multimedia/alsa/alsa-utils_1.2.5.1.bb | 2 + poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb | 1 + .../meta/recipes-multimedia/libogg/libogg_1.3.4.bb | 17 - .../meta/recipes-multimedia/libogg/libogg_1.3.5.bb | 17 + .../recipes-multimedia/mpg123/mpg123_1.27.2.bb | 52 - .../recipes-multimedia/mpg123/mpg123_1.28.0.bb | 52 + poky/meta/recipes-sato/puzzles/puzzles_git.bb | 4 +- poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb | 21 - poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb | 21 + .../recipes-sato/webkit/wpebackend-fdo_1.10.0.bb | 20 + .../recipes-sato/webkit/wpebackend-fdo_1.8.4.bb | 20 - .../recipes-support/atk/at-spi2-core_2.40.1.bb | 39 - .../recipes-support/atk/at-spi2-core_2.40.2.bb | 39 + ...01-Fixes-wrong-type-for-mutex-in-regex-v5.patch | 54 + poky/meta/recipes-support/boost/boost_1.76.0.bb | 1 + .../recipes-support/diffoscope/diffoscope_175.bb | 30 - .../recipes-support/diffoscope/diffoscope_177.bb | 30 + .../recipes-support/enchant/enchant2_2.2.15.bb | 31 - .../meta/recipes-support/enchant/enchant2_2.3.0.bb | 31 + poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb | 69 -- poky/meta/recipes-support/gnutls/gnutls_3.7.2.bb | 69 ++ .../0001-tests-do-not-statically-link-a-test.patch | 20 +- poky/meta/recipes-support/libcap/libcap_2.49.bb | 73 -- poky/meta/recipes-support/libcap/libcap_2.50.bb | 73 ++ .../recipes-support/libgcrypt/libgcrypt_1.9.2.bb | 61 - .../recipes-support/libgcrypt/libgcrypt_1.9.3.bb | 61 + poky/meta/recipes-support/libksba/libksba_1.5.1.bb | 34 - poky/meta/recipes-support/libksba/libksba_1.6.0.bb | 34 + .../meta/recipes-support/liburcu/liburcu_0.12.2.bb | 25 - .../meta/recipes-support/liburcu/liburcu_0.13.0.bb | 25 + poky/meta/recipes-support/nettle/nettle_3.7.2.bb | 57 - poky/meta/recipes-support/nettle/nettle_3.7.3.bb | 57 + .../recipes-support/p11-kit/p11-kit_0.23.22.bb | 32 - .../meta/recipes-support/p11-kit/p11-kit_0.24.0.bb | 32 + .../recipes-support/rng-tools/rng-tools_6.12.bb | 60 - .../recipes-support/rng-tools/rng-tools_6.13.bb | 60 + poky/scripts/oe-time-dd-test.sh | 7 + poky/scripts/runqemu | 5 +- 445 files changed, 15235 insertions(+), 14328 deletions(-) delete mode 120000 poky/README.hardware create mode 120000 poky/README.hardware.md delete mode 120000 poky/README.poky create mode 120000 poky/README.poky.md create mode 100644 poky/documentation/migration-guides/index.rst create mode 100644 poky/documentation/migration-guides/migration-1.3.rst create mode 100644 poky/documentation/migration-guides/migration-1.4.rst create mode 100644 poky/documentation/migration-guides/migration-1.5.rst create mode 100644 poky/documentation/migration-guides/migration-1.6.rst create mode 100644 poky/documentation/migration-guides/migration-1.7.rst create mode 100644 poky/documentation/migration-guides/migration-1.8.rst create mode 100644 poky/documentation/migration-guides/migration-2.0.rst create mode 100644 poky/documentation/migration-guides/migration-2.1.rst create mode 100644 poky/documentation/migration-guides/migration-2.2.rst create mode 100644 poky/documentation/migration-guides/migration-2.3.rst create mode 100644 poky/documentation/migration-guides/migration-2.4.rst create mode 100644 poky/documentation/migration-guides/migration-2.5.rst create mode 100644 poky/documentation/migration-guides/migration-2.6.rst create mode 100644 poky/documentation/migration-guides/migration-2.7.rst create mode 100644 poky/documentation/migration-guides/migration-3.0.rst create mode 100644 poky/documentation/migration-guides/migration-3.1.rst create mode 100644 poky/documentation/migration-guides/migration-3.2.rst create mode 100644 poky/documentation/migration-guides/migration-3.3.rst create mode 100644 poky/documentation/migration-guides/migration-general.rst delete mode 100644 poky/documentation/ref-manual/migration-1.3.rst delete mode 100644 poky/documentation/ref-manual/migration-1.4.rst delete mode 100644 poky/documentation/ref-manual/migration-1.5.rst delete mode 100644 poky/documentation/ref-manual/migration-1.6.rst delete mode 100644 poky/documentation/ref-manual/migration-1.7.rst delete mode 100644 poky/documentation/ref-manual/migration-1.8.rst delete mode 100644 poky/documentation/ref-manual/migration-2.0.rst delete mode 100644 poky/documentation/ref-manual/migration-2.1.rst delete mode 100644 poky/documentation/ref-manual/migration-2.2.rst delete mode 100644 poky/documentation/ref-manual/migration-2.3.rst delete mode 100644 poky/documentation/ref-manual/migration-2.4.rst delete mode 100644 poky/documentation/ref-manual/migration-2.5.rst delete mode 100644 poky/documentation/ref-manual/migration-2.6.rst delete mode 100644 poky/documentation/ref-manual/migration-2.7.rst delete mode 100644 poky/documentation/ref-manual/migration-3.0.rst delete mode 100644 poky/documentation/ref-manual/migration-3.1.rst delete mode 100644 poky/documentation/ref-manual/migration-3.2.rst delete mode 100644 poky/documentation/ref-manual/migration-3.3.rst delete mode 100644 poky/documentation/ref-manual/migration-general.rst delete mode 100644 poky/documentation/ref-manual/migration.rst create mode 100644 poky/documentation/test-manual/reproducible-builds.rst create mode 100644 poky/documentation/test-manual/yocto-project-compatible.rst delete mode 100644 poky/meta-poky/README.poky create mode 100644 poky/meta-poky/README.poky.md delete mode 100644 poky/meta-yocto-bsp/README.hardware create mode 100644 poky/meta-yocto-bsp/README.hardware.md delete mode 100644 poky/meta/classes/clutter.bbclass create mode 100644 poky/meta/conf/machine-sdk/ppc64.conf create mode 100644 poky/meta/recipes-bsp/grub/grub-efi_2.06.bb delete mode 100644 poky/meta/recipes-bsp/grub/grub-efi_git.bb create mode 100644 poky/meta/recipes-bsp/grub/grub_2.06.bb delete mode 100644 poky/meta/recipes-bsp/grub/grub_git.bb create mode 100644 poky/meta/recipes-bsp/u-boot/files/0001-tools-image-host-fix-wrong-return-value.patch create mode 100644 poky/meta/recipes-connectivity/avahi/files/handle-hup.patch delete mode 100644 poky/meta/recipes-connectivity/connman/connman_1.39.bb create mode 100644 poky/meta/recipes-connectivity/connman/connman_1.40.bb create mode 100644 poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb delete mode 100644 poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb delete mode 100644 poky/meta/recipes-connectivity/libpcap/libpcap_1.10.0.bb create mode 100644 poky/meta/recipes-connectivity/libpcap/libpcap_1.10.1.bb delete mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.3.bb create mode 100644 poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb create mode 100644 poky/meta/recipes-core/coreutils/coreutils/0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch delete mode 100644 poky/meta/recipes-core/ell/ell_0.40.bb create mode 100644 poky/meta/recipes-core/ell/ell_0.41.bb delete mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb create mode 100644 poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb create mode 100644 poky/meta/recipes-core/musl/gcompat_git.bb delete mode 100644 poky/meta/recipes-core/musl/libssp-nonshared/ssp-local.c create mode 100644 poky/meta/recipes-core/musl/libssp-nonshared/stack_chk.c create mode 100644 poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-Update-to-latest.patch create mode 100644 poky/meta/recipes-core/ovmf/ovmf/0004-Strip-build-paths.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch create mode 100644 poky/meta/recipes-core/ovmf/ovmf/0005-debug-prefix-map.patch create mode 100644 poky/meta/recipes-core/ovmf/ovmf/0006-reproducible.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/reproducible.patch delete mode 100644 poky/meta/recipes-core/ovmf/ovmf/zero.patch delete mode 100644 poky/meta/recipes-core/util-linux/util-linux-libuuid_2.36.2.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux/8a3a74160b96498d672e3652827aa7e6d7f3a120.patch delete mode 100644 poky/meta/recipes-core/util-linux/util-linux/Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch delete mode 100644 poky/meta/recipes-core/util-linux/util-linux_2.36.2.bb create mode 100644 poky/meta/recipes-core/util-linux/util-linux_2.37.bb delete mode 100644 poky/meta/recipes-devtools/apt/apt_2.2.3.bb create mode 100644 poky/meta/recipes-devtools/apt/apt_2.2.4.bb create mode 100644 poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch delete mode 100644 poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb create mode 100644 poky/meta/recipes-devtools/cmake/cmake-native_3.20.3.bb delete mode 100644 poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb create mode 100644 poky/meta/recipes-devtools/cmake/cmake_3.20.3.bb delete mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb create mode 100644 poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.3.bb delete mode 100644 poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb create mode 100644 poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb delete mode 100644 poky/meta/recipes-devtools/elfutils/files/0001-add-support-for-ipkg-to-debuginfod.cxx.patch delete mode 100644 poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb create mode 100644 poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.3.bb delete mode 100644 poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb create mode 100644 poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.8.bb delete mode 100644 poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch create mode 100644 poky/meta/recipes-devtools/gcc/gcc/0001-libstdc-Fix-installation-of-python-hooks-PR-99453.patch create mode 100644 poky/meta/recipes-devtools/gcc/gcc/0038-arc-Update-64bit-move-split-patterns.patch create mode 100644 poky/meta/recipes-devtools/gcc/gcc/0039-arc-Fix-u-maddhisi-patterns.patch create mode 100644 poky/meta/recipes-devtools/gcc/gcc/0040-arc-Update-doloop_end-patterns.patch create mode 100644 poky/meta/recipes-devtools/gdb/gdb/0012-arc-Add-support-for-signal-handlers.patch create mode 100644 poky/meta/recipes-devtools/gdb/gdb/0013-arc-Add-support-for-signal-frames-for-Linux-targets.patch create mode 100644 poky/meta/recipes-devtools/gdb/gdb/0014-arc-Take-into-account-the-REGNUM-in-supply-collect-g.patch create mode 100644 poky/meta/recipes-devtools/gdb/gdb/0015-gdb-Add-native-support-for-ARC-in-GNU-Linux.patch delete mode 100644 poky/meta/recipes-devtools/git/git_2.31.1.bb create mode 100644 poky/meta/recipes-devtools/git/git_2.32.0.bb delete mode 100644 poky/meta/recipes-devtools/go/go-1.16.4.inc create mode 100644 poky/meta/recipes-devtools/go/go-1.16.5.inc delete mode 100644 poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb create mode 100644 poky/meta/recipes-devtools/go/go-binary-native_1.16.5.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb create mode 100644 poky/meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb delete mode 100644 poky/meta/recipes-devtools/go/go-cross_1.16.4.bb create mode 100644 poky/meta/recipes-devtools/go/go-cross_1.16.5.bb delete mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb create mode 100644 poky/meta/recipes-devtools/go/go-crosssdk_1.16.5.bb delete mode 100644 poky/meta/recipes-devtools/go/go-native_1.16.4.bb create mode 100644 poky/meta/recipes-devtools/go/go-native_1.16.5.bb delete mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb create mode 100644 poky/meta/recipes-devtools/go/go-runtime_1.16.5.bb delete mode 100644 poky/meta/recipes-devtools/go/go_1.16.4.bb create mode 100644 poky/meta/recipes-devtools/go/go_1.16.5.bb delete mode 100644 poky/meta/recipes-devtools/libcomps/libcomps_0.1.16.bb create mode 100644 poky/meta/recipes-devtools/libcomps/libcomps_0.1.17.bb create mode 100644 poky/meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch delete mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.14.0.bb create mode 100644 poky/meta/recipes-devtools/librepo/librepo_1.14.1.bb delete mode 100644 poky/meta/recipes-devtools/m4/m4-1.4.18.inc create mode 100644 poky/meta/recipes-devtools/m4/m4-1.4.19.inc delete mode 100644 poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb create mode 100644 poky/meta/recipes-devtools/m4/m4-native_1.4.19.bb delete mode 100644 poky/meta/recipes-devtools/m4/m4/0001-Unset-need_charset_alias-when-building-for-musl.patch delete mode 100644 poky/meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch delete mode 100644 poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch delete mode 100644 poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch delete mode 100644 poky/meta/recipes-devtools/m4/m4_1.4.18.bb create mode 100644 poky/meta/recipes-devtools/m4/m4_1.4.19.bb delete mode 100644 poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch delete mode 100644 poky/meta/recipes-devtools/meson/meson_0.58.0.bb create mode 100644 poky/meta/recipes-devtools/meson/meson_0.58.1.bb delete mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb create mode 100644 poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb delete mode 100644 poky/meta/recipes-devtools/mtools/mtools_4.0.27.bb create mode 100644 poky/meta/recipes-devtools/mtools/mtools_4.0.29.bb delete mode 100644 poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb create mode 100644 poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.5.bb delete mode 100644 poky/meta/recipes-devtools/opkg/opkg/0001-tests-let-the-OS-negotiate-relative-package-dirs.patch delete mode 100644 poky/meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch delete mode 100644 poky/meta/recipes-devtools/opkg/opkg_0.4.4.bb create mode 100644 poky/meta/recipes-devtools/opkg/opkg_0.4.5.bb create mode 100644 poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch create mode 100644 poky/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch create mode 100644 poky/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch create mode 100644 poky/meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch create mode 100644 poky/meta/recipes-devtools/perl-cross/files/README.md create mode 100644 poky/meta/recipes-devtools/perl-cross/files/determinism.patch create mode 100644 poky/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb delete mode 100644 poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch delete mode 100644 poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch delete mode 100644 poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch delete mode 100644 poky/meta/recipes-devtools/perl/perl_5.32.1.bb create mode 100644 poky/meta/recipes-devtools/perl/perl_5.34.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-dbusmock_0.23.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb create mode 100644 poky/meta/recipes-devtools/python/python3-hypothesis_6.14.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-importlib-metadata_4.5.0.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-magic_0.4.22.bb create mode 100644 poky/meta/recipes-devtools/python/python3-magic_0.4.24.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb delete mode 100644 poky/meta/recipes-devtools/python/python3-scons-native_3.1.2.bb create mode 100644 poky/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch delete mode 100644 poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb create mode 100644 poky/meta/recipes-devtools/python/python3-scons_4.1.0.bb create mode 100644 poky/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0001-vhost-user-gpu-fix-memory-disclosure-in-virgl_cmd_ge.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0002-vhost-user-gpu-fix-resource-leak-in-vg_resource_crea.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0003-vhost-user-gpu-fix-memory-leak-in-vg_resource_attach.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0004-vhost-user-gpu-fix-memory-leak-while-calling-vg_reso.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0005-vhost-user-gpu-fix-memory-leak-in-virgl_cmd_resource.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch create mode 100644 poky/meta/recipes-devtools/qemu/qemu/0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch create mode 100644 poky/meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch delete mode 100644 poky/meta/recipes-devtools/vala/vala_0.52.3.bb create mode 100644 poky/meta/recipes-devtools/vala/vala_0.52.4.bb create mode 100644 poky/meta/recipes-devtools/valgrind/valgrind/taskset_nondeterministic_tests delete mode 100644 poky/meta/recipes-extended/ethtool/ethtool_5.10.bb create mode 100644 poky/meta/recipes-extended/ethtool/ethtool_5.12.bb delete mode 100644 poky/meta/recipes-extended/less/less_586.bb create mode 100644 poky/meta/recipes-extended/less/less_590.bb delete mode 100644 poky/meta/recipes-extended/ltp/ltp/disable_hanging_tests.patch delete mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb create mode 100644 poky/meta/recipes-extended/stress-ng/stress-ng_0.12.10.bb delete mode 100644 poky/meta/recipes-extended/sudo/sudo_1.9.7.bb create mode 100644 poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb delete mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb create mode 100644 poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-1.0.inc delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-1.0/run-ptest delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch delete mode 100644 poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb delete mode 100644 poky/meta/recipes-graphics/cogl/cogl-1.0.inc delete mode 100644 poky/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch delete mode 100644 poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb create mode 100644 poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch delete mode 100644 poky/meta/recipes-graphics/images/core-image-clutter.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa-gl_21.1.3.bb delete mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb create mode 100644 poky/meta/recipes-graphics/mesa/mesa_21.1.3.bb delete mode 100644 poky/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch delete mode 100644 poky/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb delete mode 100644 poky/meta/recipes-graphics/mx/mx.inc delete mode 100644 poky/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb delete mode 100644 poky/meta/recipes-graphics/wayland/libinput_1.17.3.bb create mode 100644 poky/meta/recipes-graphics/wayland/libinput_1.18.0.bb delete mode 100644 poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb create mode 100644 poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.0.1.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb delete mode 100644 poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.32.bb create mode 100644 poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb delete mode 100644 poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb create mode 100644 poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb delete mode 100644 poky/meta/recipes-kernel/blktrace/blktrace/CVE-2018-10689.patch delete mode 100644 poky/meta/recipes-kernel/blktrace/blktrace/ldflags.patch delete mode 100644 poky/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch delete mode 100644 poky/meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch delete mode 100644 poky/meta/recipes-kernel/dtc/dtc_1.6.0.bb create mode 100644 poky/meta/recipes-kernel/dtc/dtc_1.6.1.bb delete mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-tools_1.2.2.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.1.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.1.bb delete mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb create mode 100644 poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.5.1.bb delete mode 100644 poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb create mode 100644 poky/meta/recipes-multimedia/libogg/libogg_1.3.5.bb delete mode 100644 poky/meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb create mode 100644 poky/meta/recipes-multimedia/mpg123/mpg123_1.28.0.bb delete mode 100644 poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb create mode 100644 poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb create mode 100644 poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb delete mode 100644 poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb delete mode 100644 poky/meta/recipes-support/atk/at-spi2-core_2.40.1.bb create mode 100644 poky/meta/recipes-support/atk/at-spi2-core_2.40.2.bb create mode 100644 poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch delete mode 100644 poky/meta/recipes-support/diffoscope/diffoscope_175.bb create mode 100644 poky/meta/recipes-support/diffoscope/diffoscope_177.bb delete mode 100644 poky/meta/recipes-support/enchant/enchant2_2.2.15.bb create mode 100644 poky/meta/recipes-support/enchant/enchant2_2.3.0.bb delete mode 100644 poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb create mode 100644 poky/meta/recipes-support/gnutls/gnutls_3.7.2.bb delete mode 100644 poky/meta/recipes-support/libcap/libcap_2.49.bb create mode 100644 poky/meta/recipes-support/libcap/libcap_2.50.bb delete mode 100644 poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.2.bb create mode 100644 poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb delete mode 100644 poky/meta/recipes-support/libksba/libksba_1.5.1.bb create mode 100644 poky/meta/recipes-support/libksba/libksba_1.6.0.bb delete mode 100644 poky/meta/recipes-support/liburcu/liburcu_0.12.2.bb create mode 100644 poky/meta/recipes-support/liburcu/liburcu_0.13.0.bb delete mode 100644 poky/meta/recipes-support/nettle/nettle_3.7.2.bb create mode 100644 poky/meta/recipes-support/nettle/nettle_3.7.3.bb delete mode 100644 poky/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb create mode 100644 poky/meta/recipes-support/p11-kit/p11-kit_0.24.0.bb delete mode 100644 poky/meta/recipes-support/rng-tools/rng-tools_6.12.bb create mode 100644 poky/meta/recipes-support/rng-tools/rng-tools_6.13.bb diff --git a/poky/README.hardware b/poky/README.hardware deleted file mode 120000 index 8b6258d49..000000000 --- a/poky/README.hardware +++ /dev/null @@ -1 +0,0 @@ -meta-yocto-bsp/README.hardware \ No newline at end of file diff --git a/poky/README.hardware.md b/poky/README.hardware.md new file mode 120000 index 000000000..0d0745f46 --- /dev/null +++ b/poky/README.hardware.md @@ -0,0 +1 @@ +meta-yocto-bsp/README.hardware.md \ No newline at end of file diff --git a/poky/README.poky b/poky/README.poky deleted file mode 120000 index 1877dca10..000000000 --- a/poky/README.poky +++ /dev/null @@ -1 +0,0 @@ -meta-poky/README.poky \ No newline at end of file diff --git a/poky/README.poky.md b/poky/README.poky.md new file mode 120000 index 000000000..15b27a322 --- /dev/null +++ b/poky/README.poky.md @@ -0,0 +1 @@ +meta-poky/README.poky.md \ No newline at end of file diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst index 14c342a6a..84d65fa9c 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst @@ -648,13 +648,6 @@ compiled binary. To handle this, BitBake calls the each successful setscene task to know whether or not it needs to obtain the dependencies of that task. -Finally, after all the setscene tasks have executed, BitBake calls the -function listed in -:term:`BB_SETSCENE_VERIFY_FUNCTION2` -with the list of tasks BitBake thinks has been "covered". The metadata -can then ensure that this list is correct and can inform BitBake that it -wants specific tasks to be run regardless of the setscene result. - You can find more information on setscene metadata in the :ref:`bitbake-user-manual/bitbake-user-manual-metadata:task checksums and setscene` section. diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst index 615c9f9ce..20c330e6a 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst @@ -1650,10 +1650,15 @@ user interfaces: Variants - Class Extension Mechanism ==================================== -BitBake supports two features that facilitate creating from a single -recipe file multiple incarnations of that recipe file where all -incarnations are buildable. These features are enabled through the -:term:`BBCLASSEXTEND` and :term:`BBVERSIONS` variables. +BitBake supports multiple incarnations of a recipe file via the +:term:`BBCLASSEXTEND` variable. + +The :term:`BBCLASSEXTEND` variable is a space separated list of classes used +to "extend" the recipe for each variant. Here is an example that results in a +second incarnation of the current recipe being available. This second +incarnation will have the "native" class inherited. :: + + BBCLASSEXTEND = "native" .. note:: @@ -1663,34 +1668,6 @@ incarnations are buildable. These features are enabled through the class. For specific examples, see the OE-Core native , nativesdk , and multilib classes. -- ``BBCLASSEXTEND``: This variable is a space separated list of - classes used to "extend" the recipe for each variant. Here is an - example that results in a second incarnation of the current recipe - being available. This second incarnation will have the "native" class - inherited. :: - - BBCLASSEXTEND = "native" - -- ``BBVERSIONS``: This variable allows a single recipe to build - multiple versions of a project from a single recipe file. You can - also specify conditional metadata (using the - :term:`OVERRIDES` mechanism) for a single - version, or an optionally named range of versions. Here is an - example:: - - BBVERSIONS = "1.0 2.0 git" - SRC_URI_git = "git://someurl/somepath.git" - - BBVERSIONS = "1.0.[0-6]:1.0.0+ 1.0.[7-9]:1.0.7+" - SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;patch=1" - - The name of the range defaults to the original version of the recipe. For - example, in OpenEmbedded, the recipe file ``foo_1.0.0+.bb`` creates a default - name range of ``1.0.0+``. This is useful because the range name is not only - placed into overrides, but it is also made available for the metadata to use - in the variable that defines the base recipe versions for use in ``file://`` - search paths (:term:`FILESPATH`). - Dependencies ============ @@ -1943,10 +1920,6 @@ The following list describes related variables: Specifies a function BitBake calls that determines whether BitBake requires a setscene dependency to be met. -- :term:`BB_SETSCENE_VERIFY_FUNCTION2`: - Specifies a function to call that verifies the list of planned task - execution before the main task execution happens. - - :term:`BB_STAMP_POLICY`: Defines the mode for comparing timestamps of stamp files. diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst index e1b640e2f..2dca52c4a 100644 --- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst +++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst @@ -23,10 +23,6 @@ overview of their function and contents. systems extend the functionality of the variable as it is described here in this glossary. - - Finally, there are variables mentioned in this glossary that do - not appear in the BitBake glossary. These other variables are - variables used in systems that use BitBake. - .. glossary:: :term:`ASSUME_PROVIDED` @@ -313,6 +309,16 @@ overview of their function and contents. However, the more accurate the data returned, the more efficient the build will be. + :term:`BB_HASHSERVE` + Specifies the Hash Equivalence server to use. + + If set to ``auto``, BitBake automatically starts its own server + over a UNIX domain socket. + + If set to ``host:port``, BitBake will use a remote server on the + specified host. This allows multiple clients to share the same + hash equivalence data. + :term:`BB_INVALIDCONF` Used in combination with the ``ConfigParsed`` event to trigger re-parsing the base metadata (i.e. all the recipes). The @@ -426,17 +432,6 @@ overview of their function and contents. The function specified by this variable returns a "True" or "False" depending on whether the dependency needs to be met. - :term:`BB_SETSCENE_VERIFY_FUNCTION2` - Specifies a function to call that verifies the list of planned task - execution before the main task execution happens. The function is - called once BitBake has a list of setscene tasks that have run and - either succeeded or failed. - - The function allows for a task list check to see if they make sense. - Even if BitBake was planning to skip a task, the returned value of - the function can force BitBake to run the task, which is necessary - under certain metadata defined circumstances. - :term:`BB_SIGNATURE_EXCLUDE_FLAGS` Lists variable flags (varflags) that can be safely excluded from checksum and dependency data for keys in the datastore. When @@ -797,16 +792,6 @@ overview of their function and contents. Allows you to use a configuration file to add to the list of command-line target recipes you want to build. - :term:`BBVERSIONS` - Allows a single recipe to build multiple versions of a project from a - single recipe file. You also able to specify conditional metadata - using the :term:`OVERRIDES` mechanism for a - single version or for an optionally named range of versions. - - For more information on ``BBVERSIONS``, see the - ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:variants - class extension mechanism`" - section. - :term:`BITBAKE_UI` Used to specify the UI module to use when running BitBake. Using this variable is equivalent to using the ``-u`` command-line option. diff --git a/poky/bitbake/lib/bb/asyncrpc/client.py b/poky/bitbake/lib/bb/asyncrpc/client.py index 4cdad9ac3..79919c5be 100644 --- a/poky/bitbake/lib/bb/asyncrpc/client.py +++ b/poky/bitbake/lib/bb/asyncrpc/client.py @@ -103,13 +103,18 @@ class AsyncClient(object): return await self._send_wrapper(proc) + async def ping(self): + return await self.send_message( + {'ping': {}} + ) + class Client(object): def __init__(self): self.client = self._get_async_client() self.loop = asyncio.new_event_loop() - self._add_methods('connect_tcp', 'close') + self._add_methods('connect_tcp', 'close', 'ping') @abc.abstractmethod def _get_async_client(self): diff --git a/poky/bitbake/lib/bb/asyncrpc/serv.py b/poky/bitbake/lib/bb/asyncrpc/serv.py index cb3384639..ef20cb71d 100644 --- a/poky/bitbake/lib/bb/asyncrpc/serv.py +++ b/poky/bitbake/lib/bb/asyncrpc/serv.py @@ -28,6 +28,7 @@ class AsyncServerConnection(object): self.max_chunk = DEFAULT_MAX_CHUNK self.handlers = { 'chunk-stream': self.handle_chunk, + 'ping': self.handle_ping, } self.logger = logger @@ -123,6 +124,10 @@ class AsyncServerConnection(object): await self.dispatch_message(msg) + async def handle_ping(self, request): + response = {'alive': True} + self.write_message(response) + class AsyncServer(object): def __init__(self, logger, loop=None): @@ -142,7 +147,7 @@ class AsyncServer(object): ) for s in self.server.sockets: - self.logger.info('Listening on %r' % (s.getsockname(),)) + self.logger.debug('Listening on %r' % (s.getsockname(),)) # Newer python does this automatically. Do it manually here for # maximum compatibility s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1) @@ -168,7 +173,7 @@ class AsyncServer(object): finally: os.chdir(cwd) - self.logger.info('Listening on %r' % path) + self.logger.debug('Listening on %r' % path) self._cleanup_socket = cleanup self.address = "unix://%s" % os.path.abspath(path) @@ -187,7 +192,7 @@ class AsyncServer(object): self.logger.error('Error from client: %s' % str(e), exc_info=True) traceback.print_exc() writer.close() - self.logger.info('Client disconnected') + self.logger.debug('Client disconnected') def run_loop_forever(self): try: @@ -207,7 +212,7 @@ class AsyncServer(object): self.server.close() self.loop.run_until_complete(self.server.wait_closed()) - self.logger.info('Server shutting down') + self.logger.debug('Server shutting down') finally: if self.close_loop: if sys.version_info >= (3, 6): diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py index b2715fc53..6ce8f1e6d 100644 --- a/poky/bitbake/lib/bb/build.py +++ b/poky/bitbake/lib/bb/build.py @@ -927,6 +927,11 @@ def add_tasks(tasklist, d): task_deps[name] = {} if name in flags: deptask = d.expand(flags[name]) + if name in ['noexec', 'fakeroot', 'nostamp']: + if deptask != '1': + bb.warn("In a future version of BitBake, setting the '{}' flag to something other than '1' " + "will result in the flag not being set. See YP bug #13808.".format(name)) + task_deps[name][task] = deptask getTask('mcdepends') getTask('depends') diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py index cf0201c49..c8e91262a 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -562,6 +562,9 @@ def verify_checksum(ud, d, precomputed={}): checksum_expected = getattr(ud, "%s_expected" % checksum_id) + if checksum_expected == '': + checksum_expected = None + return { "id": checksum_id, "name": checksum_name, @@ -612,7 +615,7 @@ def verify_checksum(ud, d, precomputed={}): for ci in checksum_infos: if ci["expected"] and ci["expected"] != ci["data"]: - messages.append("File: '%s' has %s checksum %s when %s was " \ + messages.append("File: '%s' has %s checksum '%s' when '%s' was " \ "expected" % (ud.localpath, ci["id"], ci["data"], ci["expected"])) bad_checksum = ci["data"] diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile index d40f390e2..996f01b7d 100644 --- a/poky/documentation/Makefile +++ b/poky/documentation/Makefile @@ -3,7 +3,7 @@ # You can set these variables from the command line, and also # from the environment for the first two. -SPHINXOPTS ?= -j auto +SPHINXOPTS ?= -W --keep-going -j auto SPHINXBUILD ?= sphinx-build SOURCEDIR = . BUILDDIR = _build diff --git a/poky/documentation/README b/poky/documentation/README index 3ad23a902..f9e803a28 100644 --- a/poky/documentation/README +++ b/poky/documentation/README @@ -88,8 +88,8 @@ documentation. Yocto Project documentation website =================================== -A new website has been created to host the Yocto Project -documentation, it can be found at: https://docs.yoctoproject.org/. +The website hosting the Yocto Project documentation, can be found +at: https://docs.yoctoproject.org/. The entire Yocto Project documentation, as well as the BitBake manual, is published on this website, including all previously released diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst index 7ae4526c4..b92b0d33d 100644 --- a/poky/documentation/brief-yoctoprojectqs/index.rst +++ b/poky/documentation/brief-yoctoprojectqs/index.rst @@ -332,7 +332,7 @@ Follow these steps to add a hardware layer: #. **Change the Configuration to Build for a Specific Machine:** The :term:`MACHINE` variable in the ``local.conf`` file specifies the machine for the build. For this - example, set the ``MACHINE`` variable to ``cyclone5``. These + example, set the :term:`MACHINE` variable to ``cyclone5``. These configurations are used: https://github.com/kraj/meta-altera/blob/master/conf/machine/cyclone5.conf. diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst index b46773ded..5c43f53d0 100644 --- a/poky/documentation/bsp-guide/bsp.rst +++ b/poky/documentation/bsp-guide/bsp.rst @@ -95,11 +95,11 @@ layer and from it build an image. Here is an example:: .. note:: - Ordering and :term:`BBFILE_PRIORITY` for the layers listed in ``BBLAYERS`` + Ordering and :term:`BBFILE_PRIORITY` for the layers listed in :term:`BBLAYERS` matter. For example, if multiple layers define a machine configuration, the OpenEmbedded build system uses the last layer searched given similar layer priorities. The build system works from the top-down through the layers - listed in ``BBLAYERS``. + listed in :term:`BBLAYERS`. Some BSPs require or depend on additional layers beyond the BSP's root layer in order to be functional. In this case, you need to specify these @@ -685,7 +685,7 @@ statements as follows:: .. note:: - When the preferred provider is assumed by default, the ``PREFERRED_PROVIDER`` + When the preferred provider is assumed by default, the :term:`PREFERRED_PROVIDER` statement does not appear in the ``"bsp_root_name".conf`` file. You would use the ``linux-yocto_4.4.bbappend`` file to append specific @@ -1121,15 +1121,15 @@ list describes them in order of preference: how to use these variables. If you build as you normally would, without specifying any recipes in - the ``LICENSE_FLAGS_WHITELIST``, the build stops and provides you + the :term:`LICENSE_FLAGS_WHITELIST`, the build stops and provides you with the list of recipes that you have tried to include in the image - that need entries in the ``LICENSE_FLAGS_WHITELIST``. Once you enter + that need entries in the :term:`LICENSE_FLAGS_WHITELIST`. Once you enter the appropriate license flags into the whitelist, restart the build to continue where it left off. During the build, the prompt will not appear again since you have satisfied the requirement. Once the appropriate license flags are on the white list in the - ``LICENSE_FLAGS_WHITELIST`` variable, you can build the encumbered + :term:`LICENSE_FLAGS_WHITELIST` variable, you can build the encumbered image with no change at all to the normal build process. #. *Get a Pre-Built Version of the BSP:* You can get this type of BSP by @@ -1142,7 +1142,7 @@ list describes them in order of preference: click-through license agreements presented by the website. If you want to build the image yourself using the recipes contained within the BSP tarball, you will still need to create an appropriate - ``LICENSE_FLAGS_WHITELIST`` to match the encumbered recipes in the + :term:`LICENSE_FLAGS_WHITELIST` to match the encumbered recipes in the BSP. .. note:: @@ -1405,7 +1405,7 @@ Project Reference Manual. The BeagleBone development board requires an SPL to boot and that SPL file type must be MLO. Consequently, the machine configuration needs - to define ``SPL_BINARY`` as ``MLO``. + to define :term:`SPL_BINARY` as ``MLO``. .. note:: diff --git a/poky/documentation/conf.py b/poky/documentation/conf.py index 5a2e25f7b..6c6458fed 100644 --- a/poky/documentation/conf.py +++ b/poky/documentation/conf.py @@ -92,6 +92,9 @@ intersphinx_mapping = { 'bitbake': ('https://docs.yoctoproject.org/bitbake/', None) } +# Suppress "WARNING: unknown mimetype for ..." +suppress_warnings = ['epub.unknown_project_files'] + # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst index 130734173..762636a17 100644 --- a/poky/documentation/dev-manual/common-tasks.rst +++ b/poky/documentation/dev-manual/common-tasks.rst @@ -94,10 +94,10 @@ Follow these general steps to create your layer without using tools: - :term:`BBPATH`: Adds the layer's root directory to BitBake's search path. Through the use of the - ``BBPATH`` variable, BitBake locates class files (``.bbclass``), + :term:`BBPATH` variable, BitBake locates class files (``.bbclass``), configuration files, and files that are included with ``include`` and ``require`` statements. For these cases, BitBake uses the - first file that matches the name found in ``BBPATH``. This is + first file that matches the name found in :term:`BBPATH`. This is similar to the way the ``PATH`` variable is used for binaries. It is recommended, therefore, that you use unique class and configuration filenames in your custom layer. @@ -205,7 +205,7 @@ following list: ``foo``. To make sure your changes apply only when building machine "one", - use a machine override with the ``DEPENDS`` statement:: + use a machine override with the :term:`DEPENDS` statement:: DEPENDS_one = "foo" @@ -255,7 +255,7 @@ following list: are building for a different machine and the ``bblayers.conf`` file includes the ``meta-one`` layer and the location of your machine-specific file is the first location where that file is - found according to ``FILESPATH``, builds for all machines will + found according to :term:`FILESPATH`, builds for all machines will also use that machine-specific file. You can make sure that a machine-specific file is used for a @@ -420,7 +420,7 @@ Enabling Your Layer Before the OpenEmbedded build system can use your new layer, you need to enable it. To enable your layer, simply add your layer's path to the -``BBLAYERS`` variable in your ``conf/bblayers.conf`` file, which is +:term:`BBLAYERS` variable in your ``conf/bblayers.conf`` file, which is found in the :term:`Build Directory`. The following example shows how to enable a layer named ``meta-mylayer``:: @@ -438,7 +438,7 @@ The following example shows how to enable a layer named " BitBake parses each ``conf/layer.conf`` file from the top down as -specified in the ``BBLAYERS`` variable within the ``conf/bblayers.conf`` +specified in the :term:`BBLAYERS` variable within the ``conf/bblayers.conf`` file. During the processing of each ``conf/layer.conf`` file, BitBake adds the recipes, classes and configurations contained within the particular layer to the source directory. @@ -531,19 +531,19 @@ have the supporting directory structure set up that will contain any files or patches you will be including from the layer. Using the immediate expansion assignment operator ``:=`` is important -because of the reference to ``THISDIR``. The trailing colon character is +because of the reference to :term:`THISDIR`. The trailing colon character is important as it ensures that items in the list remain colon-separated. .. note:: - BitBake automatically defines the ``THISDIR`` variable. You should + BitBake automatically defines the :term:`THISDIR` variable. You should never set this variable yourself. Using "_prepend" as part of the - ``FILESEXTRAPATHS`` ensures your path will be searched prior to other + :term:`FILESEXTRAPATHS` ensures your path will be searched prior to other paths in the final list. Also, not all append files add extra files. Many append files simply allow to add build options (e.g. ``systemd``). For these cases, your - append file would not even use the ``FILESEXTRAPATHS`` statement. + append file would not even use the :term:`FILESEXTRAPATHS` statement. Prioritizing Your Layer ----------------------- @@ -830,7 +830,7 @@ variable changes are in effect for every build and consequently affect all images, which might not be what you require. To add a package to your image using the local configuration file, use -the ``IMAGE_INSTALL`` variable with the ``_append`` operator:: +the :term:`IMAGE_INSTALL` variable with the ``_append`` operator:: IMAGE_INSTALL_append = " strace" @@ -855,7 +855,7 @@ to a specific image only. Here is an example:: This example adds ``strace`` to the ``core-image-minimal`` image only. You can add packages using a similar approach through the -``CORE_IMAGE_EXTRA_INSTALL`` variable. If you use this variable, only +:term:`CORE_IMAGE_EXTRA_INSTALL` variable. If you use this variable, only ``core-image-*`` images are affected. Customizing Images Using Custom ``IMAGE_FEATURES`` and ``EXTRA_IMAGE_FEATURES`` @@ -866,18 +866,18 @@ high-level image features by using the :term:`IMAGE_FEATURES` and :term:`EXTRA_IMAGE_FEATURES` variables. Although the functions for both variables are nearly -equivalent, best practices dictate using ``IMAGE_FEATURES`` from within -a recipe and using ``EXTRA_IMAGE_FEATURES`` from within your +equivalent, best practices dictate using :term:`IMAGE_FEATURES` from within +a recipe and using :term:`EXTRA_IMAGE_FEATURES` from within your ``local.conf`` file, which is found in the :term:`Build Directory`. To understand how these features work, the best reference is ``meta/classes/core-image.bbclass``. This class lists out the available -``IMAGE_FEATURES`` of which most map to package groups while some, such +:term:`IMAGE_FEATURES` of which most map to package groups while some, such as ``debug-tweaks`` and ``read-only-rootfs``, resolve as general configuration settings. -In summary, the file looks at the contents of the ``IMAGE_FEATURES`` +In summary, the file looks at the contents of the :term:`IMAGE_FEATURES` variable and then maps or configures the feature accordingly. Based on this information, the build system automatically adds the appropriate packages or configurations to the @@ -885,11 +885,11 @@ packages or configurations to the Effectively, you are enabling extra features by extending the class or creating a custom class for use with specialized image ``.bb`` files. -Use the ``EXTRA_IMAGE_FEATURES`` variable from within your local +Use the :term:`EXTRA_IMAGE_FEATURES` variable from within your local configuration file. Using a separate area from which to enable features with this variable helps you avoid overwriting the features in the image -recipe that are enabled with ``IMAGE_FEATURES``. The value of -``EXTRA_IMAGE_FEATURES`` is added to ``IMAGE_FEATURES`` within +recipe that are enabled with :term:`IMAGE_FEATURES`. The value of +:term:`EXTRA_IMAGE_FEATURES` is added to :term:`IMAGE_FEATURES` within ``meta/conf/bitbake.conf``. To illustrate how you can use these variables to modify your image, @@ -903,8 +903,8 @@ images both include OpenSSH. The ``core-image-minimal`` image does not contain an SSH server. You can customize your image and change these defaults. Edit the -``IMAGE_FEATURES`` variable in your recipe or use the -``EXTRA_IMAGE_FEATURES`` in your ``local.conf`` file so that it +:term:`IMAGE_FEATURES` variable in your recipe or use the +:term:`EXTRA_IMAGE_FEATURES` in your ``local.conf`` file so that it configures the image you are working with to include ``ssh-server-dropbear`` or ``ssh-server-openssh``. @@ -926,7 +926,7 @@ the form for the two lines you need:: Defining the software using a custom recipe gives you total control over the contents of the image. It is important to use the correct names of -packages in the ``IMAGE_INSTALL`` variable. You must use the +packages in the :term:`IMAGE_INSTALL` variable. You must use the OpenEmbedded notation and not the Debian notation for the names (e.g. ``glibc-dev`` instead of ``libc6-dev``). @@ -946,25 +946,25 @@ to create a custom package group recipe that is used to build the image or images. A good example of a package group recipe is ``meta/recipes-core/packagegroups/packagegroup-base.bb``. -If you examine that recipe, you see that the ``PACKAGES`` variable lists +If you examine that recipe, you see that the :term:`PACKAGES` variable lists the package group packages to produce. The ``inherit packagegroup`` statement sets appropriate default values and automatically adds ``-dev``, ``-dbg``, and ``-ptest`` complementary packages for each -package specified in the ``PACKAGES`` statement. +package specified in the :term:`PACKAGES` statement. .. note:: The ``inherit packagegroup`` line should be located near the top of the - recipe, certainly before the ``PACKAGES`` statement. + recipe, certainly before the :term:`PACKAGES` statement. -For each package you specify in ``PACKAGES``, you can use ``RDEPENDS`` -and ``RRECOMMENDS`` entries to provide a list of packages the parent +For each package you specify in :term:`PACKAGES`, you can use :term:`RDEPENDS` +and :term:`RRECOMMENDS` entries to provide a list of packages the parent task package should contain. You can see examples of these further down in the ``packagegroup-base.bb`` recipe. Here is a short, fabricated example showing the same basic pieces for a hypothetical packagegroup defined in ``packagegroup-custom.bb``, where -the variable ``PN`` is the standard way to abbreviate the reference to +the variable :term:`PN` is the standard way to abbreviate the reference to the full packagegroup name ``packagegroup-custom``:: DESCRIPTION = "My Custom Package Groups" @@ -994,7 +994,7 @@ their dependencies and their recommended package dependencies listed: ``packagegroup-custom-apps``, and ``packagegroup-custom-tools``. To build an image using these package group packages, you need to add ``packagegroup-custom-apps`` and/or ``packagegroup-custom-tools`` to -``IMAGE_INSTALL``. For other forms of image dependencies see the other +:term:`IMAGE_INSTALL`. For other forms of image dependencies see the other areas of this section. Customizing an Image Hostname @@ -1142,7 +1142,7 @@ Following are some syntax examples: - Use this syntax to generate a recipe using code that you extract from source. The extracted code is placed in its own layer - defined by ``EXTERNALSRC``. + defined by :term:`EXTERNALSRC`. :: recipetool create -o OUTFILE -x EXTERNALSRC source @@ -1288,22 +1288,22 @@ Fetching Code The first thing your recipe must do is specify how to fetch the source files. Fetching is controlled mainly through the :term:`SRC_URI` variable. Your recipe -must have a ``SRC_URI`` variable that points to where the source is +must have a :term:`SRC_URI` variable that points to where the source is located. For a graphical representation of source locations, see the ":ref:`overview-manual/concepts:sources`" section in the Yocto Project Overview and Concepts Manual. The :ref:`ref-tasks-fetch` task uses -the prefix of each entry in the ``SRC_URI`` variable value to determine +the prefix of each entry in the :term:`SRC_URI` variable value to determine which :ref:`fetcher ` to use to get your -source files. It is the ``SRC_URI`` variable that triggers the fetcher. +source files. It is the :term:`SRC_URI` variable that triggers the fetcher. The :ref:`ref-tasks-patch` task uses the variable after source is fetched to apply patches. The OpenEmbedded build system uses :term:`FILESOVERRIDES` for -scanning directory locations for local files in ``SRC_URI``. +scanning directory locations for local files in :term:`SRC_URI`. -The ``SRC_URI`` variable in your recipe must define each unique location +The :term:`SRC_URI` variable in your recipe must define each unique location for your source files. It is good practice to not hard-code version numbers in a URL used in ``SRC_URI``. Rather than hard-code these values, use ``${``\ :term:`PV`\ ``}``, @@ -1319,7 +1319,7 @@ comes from a single tarball. Notice the use of the SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ -Files mentioned in ``SRC_URI`` whose names end in a typical archive +Files mentioned in :term:`SRC_URI` whose names end in a typical archive extension (e.g. ``.tar``, ``.tar.gz``, ``.tar.bz2``, ``.zip``, and so forth), are automatically extracted during the :ref:`ref-tasks-unpack` task. For @@ -1341,17 +1341,17 @@ is an example from the recipe SRC_URI = "git://git.kernel.dk/blktrace.git \ file://ldflags.patch" -If your ``SRC_URI`` statement includes URLs pointing to individual files +If your :term:`SRC_URI` statement includes URLs pointing to individual files fetched from a remote server other than a version control system, BitBake attempts to verify the files against checksums defined in your recipe to ensure they have not been tampered with or otherwise modified since the recipe was written. Two checksums are used: ``SRC_URI[md5sum]`` and ``SRC_URI[sha256sum]``. -If your ``SRC_URI`` variable points to more than a single URL (excluding +If your :term:`SRC_URI` variable points to more than a single URL (excluding SCM URLs), you need to provide the ``md5`` and ``sha256`` checksums for each URL. For these cases, you provide a name for each URL as part of -the ``SRC_URI`` and then reference that name in the subsequent checksum +the :term:`SRC_URI` and then reference that name in the subsequent checksum statements. Here is an example combining lines from the files ``git.inc`` and ``git_2.24.1.bb``:: @@ -1369,7 +1369,7 @@ with other signatures on the download page for the upstream source (e.g. OpenEmbedded build system only deals with ``sha256sum`` and ``md5sum``, you should verify all the signatures you find by hand. -If no ``SRC_URI`` checksums are specified when you attempt to build the +If no :term:`SRC_URI` checksums are specified when you attempt to build the recipe, or you provide an incorrect checksum, the build will produce an error for each missing or incorrect checksum. As part of the error message, the build system provides the checksum string corresponding to @@ -1385,7 +1385,7 @@ paste them into your recipe and then run the build again to continue. This final example is a bit more complicated and is from the ``meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.20.bb`` recipe. The -example's ``SRC_URI`` statement identifies multiple files as the source +example's :term:`SRC_URI` statement identifies multiple files as the source files for the recipe: a tarball, a patch file, a desktop file, and an icon. :: @@ -1424,9 +1424,9 @@ If you are fetching your source files from an upstream source archived tarball and the tarball's internal structure matches the common convention of a top-level subdirectory named ``${``\ :term:`BPN`\ ``}-${``\ :term:`PV`\ ``}``, -then you do not need to set ``S``. However, if ``SRC_URI`` specifies to +then you do not need to set :term:`S`. However, if :term:`SRC_URI` specifies to fetch source from an archive that does not use this convention, or from -an SCM like Git or Subversion, your recipe needs to define ``S``. +an SCM like Git or Subversion, your recipe needs to define :term:`S`. If processing your recipe using BitBake successfully unpacks the source files, you need to be sure that the directory pointed to by ``${S}`` @@ -1436,7 +1436,7 @@ Patching Code ------------- Sometimes it is necessary to patch code after it has been fetched. Any -files mentioned in ``SRC_URI`` whose names end in ``.patch`` or +files mentioned in :term:`SRC_URI` whose names end in ``.patch`` or ``.diff`` or compressed versions of these suffixes (e.g. ``diff.gz`` are treated as patches. The :ref:`ref-tasks-patch` task @@ -1445,7 +1445,7 @@ automatically applies these patches. The build system should be able to apply patches with the "-p1" option (i.e. one directory level in the path will be stripped off). If your patch needs to have more directory levels stripped off, specify the -number of levels using the "striplevel" option in the ``SRC_URI`` entry +number of levels using the "striplevel" option in the :term:`SRC_URI` entry for the patch. Alternatively, if your patch needs to be applied in a specific subdirectory that is not specified in the patch file, use the "patchdir" option in the entry. @@ -1465,24 +1465,24 @@ Your recipe needs to have both the :term:`LIC_FILES_CHKSUM` variables: -- ``LICENSE``: This variable specifies the license for the software. +- :term:`LICENSE`: This variable specifies the license for the software. If you do not know the license under which the software you are building is distributed, you should go to the source code and look for that information. Typical files containing this information - include ``COPYING``, ``LICENSE``, and ``README`` files. You could + include ``COPYING``, :term:`LICENSE`, and ``README`` files. You could also find the information near the top of a source file. For example, given a piece of software licensed under the GNU General Public - License version 2, you would set ``LICENSE`` as follows:: + License version 2, you would set :term:`LICENSE` as follows:: LICENSE = "GPLv2" - The licenses you specify within ``LICENSE`` can have any name as long + The licenses you specify within :term:`LICENSE` can have any name as long as you do not use spaces, since spaces are used as separators between license names. For standard licenses, use the names of the files in - ``meta/files/common-licenses/`` or the ``SPDXLICENSEMAP`` flag names + ``meta/files/common-licenses/`` or the :term:`SPDXLICENSEMAP` flag names defined in ``meta/conf/licenses.conf``. -- ``LIC_FILES_CHKSUM``: The OpenEmbedded build system uses this +- :term:`LIC_FILES_CHKSUM`: The OpenEmbedded build system uses this variable to make sure the license text has not changed. If it has, the build produces an error and it affords you the chance to figure it out and correct the problem. @@ -1492,11 +1492,11 @@ variables: the checksums of the files to be sure the text has not changed. Any differences result in an error with the message containing the current checksum. For more explanation and examples of how to set the - ``LIC_FILES_CHKSUM`` variable, see the + :term:`LIC_FILES_CHKSUM` variable, see the ":ref:`dev-manual/common-tasks:tracking license changes`" section. To determine the correct checksum string, you can list the - appropriate files in the ``LIC_FILES_CHKSUM`` variable with incorrect + appropriate files in the :term:`LIC_FILES_CHKSUM` variable with incorrect md5 strings, attempt to build the software, and then note the resulting error messages that will report the correct md5 strings. See the ":ref:`dev-manual/common-tasks:fetching code`" section for @@ -1522,7 +1522,7 @@ installed on the target in order for the software to run. Within a recipe, you specify build-time dependencies using the :term:`DEPENDS` variable. Although there are nuances, -items specified in ``DEPENDS`` should be names of other +items specified in :term:`DEPENDS` should be names of other recipes. It is important that you specify all build-time dependencies explicitly. @@ -1639,12 +1639,12 @@ your software is built: Once configuration succeeds, it is always good practice to look at the ``log.do_configure`` file to ensure that the appropriate options have been enabled and no additional build-time dependencies need to be added -to ``DEPENDS``. For example, if the configure script reports that it -found something not mentioned in ``DEPENDS``, or that it did not find +to :term:`DEPENDS`. For example, if the configure script reports that it +found something not mentioned in :term:`DEPENDS`, or that it did not find something that it needed for some desired optional functionality, then -you would need to add those to ``DEPENDS``. Looking at the log might +you would need to add those to :term:`DEPENDS`. Looking at the log might also reveal items being checked for, enabled, or both that you do not -want, or items not being found that are in ``DEPENDS``, in which case +want, or items not being found that are in :term:`DEPENDS`, in which case you would need to look at passing extra options to the configure script as needed. For reference information on configure options specific to the software you are building, you can consult the output of the @@ -1762,13 +1762,13 @@ Here are some common issues that cause failures. compilation process notes that files could not be found. In these cases, you need to go back and add additional options to the configure script as well as possibly add additional build-time - dependencies to ``DEPENDS``. + dependencies to :term:`DEPENDS`. Occasionally, it is necessary to apply a patch to the source to ensure the correct paths are used. If you need to specify paths to find files staged into the sysroot from other recipes, use the variables that the OpenEmbedded build system provides (e.g. - ``STAGING_BINDIR``, ``STAGING_INCDIR``, ``STAGING_DATADIR``, and so + :term:`STAGING_BINDIR`, :term:`STAGING_INCDIR`, :term:`STAGING_DATADIR`, and so forth). Installing @@ -2022,7 +2022,7 @@ the list of directories within a recipe:: The `/sysroot-only` is to be used by recipes that generate artifacts that are not included in the target filesystem, allowing them to share - these artifacts without needing to use the ``DEPLOY_DIR``. + these artifacts without needing to use the :term:`DEPLOY_DIR`. For a more complete description of the :ref:`ref-tasks-populate_sysroot` task and its associated functions, see the @@ -2048,7 +2048,7 @@ statement that essentially identifies itself as being able to provide PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else "" }" Any recipe that inherits the ``kernel`` class is -going to utilize a ``PROVIDES`` statement that identifies that recipe as +going to utilize a :term:`PROVIDES` statement that identifies that recipe as being able to provide the ``virtual/kernel`` item. Now comes the time to actually build an image and you need a kernel @@ -2072,7 +2072,7 @@ build is dependent on ``virtual/kernel`` for example:: During the build, the OpenEmbedded build system picks the correct recipe needed for the ``virtual/kernel`` dependency based on -the ``PREFERRED_PROVIDER`` variable. If you want to use the small kernel +the :term:`PREFERRED_PROVIDER` variable. If you want to use the small kernel mentioned at the beginning of this section, configure your build as follows:: @@ -2080,8 +2080,8 @@ follows:: .. note:: - Any recipe that ``PROVIDES`` a ``virtual/*`` item that is ultimately not - selected through ``PREFERRED_PROVIDER`` does not get built. Preventing these + Any recipe that :term:`PROVIDES` a ``virtual/*`` item that is ultimately not + selected through :term:`PREFERRED_PROVIDER` does not get built. Preventing these recipes from building is usually the desired behavior since this mechanism's purpose is to select between mutually exclusive alternative providers. @@ -2221,8 +2221,8 @@ Single .c File Package (Hello World!) Building an application from a single file that is stored locally (e.g. under ``files``) requires a recipe that has the file listed in the -``SRC_URI`` variable. Additionally, you need to manually write the -``do_compile`` and ``do_install`` tasks. The ``S`` variable defines the +:term:`SRC_URI` variable. Additionally, you need to manually write the +``do_compile`` and ``do_install`` tasks. The :term:`S` variable defines the directory containing the source code, which is set to :term:`WORKDIR` in this case - the directory BitBake uses for the build. @@ -2256,7 +2256,7 @@ Autotooled Package ~~~~~~~~~~~~~~~~~~ Applications that use Autotools such as ``autoconf`` and ``automake`` -require a recipe that has a source archive listed in ``SRC_URI`` and +require a recipe that has a source archive listed in :term:`SRC_URI` and also inherit the :ref:`autotools ` class, which contains the definitions of all the steps needed to build an @@ -2275,7 +2275,7 @@ Following is one example: (``hello_2.3.bb``) inherit autotools gettext -The variable ``LIC_FILES_CHKSUM`` is used to track source license +The variable :term:`LIC_FILES_CHKSUM` is used to track source license changes as described in the ":ref:`dev-manual/common-tasks:tracking license changes`" section in the Yocto Project Overview and Concepts Manual. You can quickly create @@ -2285,7 +2285,7 @@ Makefile-Based Package ~~~~~~~~~~~~~~~~~~~~~~ Applications that use GNU ``make`` also require a recipe that has the -source archive listed in ``SRC_URI``. You do not need to add a +source archive listed in :term:`SRC_URI`. You do not need to add a ``do_compile`` step since by default BitBake starts the ``make`` command to compile the application. If you need additional ``make`` options, you should store them in the @@ -2297,7 +2297,7 @@ Otherwise, BitBake runs an empty ``do_install`` task by default. Some applications might require extra parameters to be passed to the compiler. For example, the application might need an additional header -path. You can accomplish this by adding to the ``CFLAGS`` variable. The +path. You can accomplish this by adding to the :term:`CFLAGS` variable. The following example shows this:: CFLAGS_prepend = "-I ${S}/include " @@ -2341,7 +2341,7 @@ In the following example, ``mtd-utils`` is a makefile-based package:: Splitting an Application into Multiple Packages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -You can use the variables ``PACKAGES`` and ``FILES`` to split an +You can use the variables :term:`PACKAGES` and :term:`FILES` to split an application into multiple packages. Following is an example that uses the ``libxpm`` recipe. By default, @@ -2365,12 +2365,12 @@ into separate packages:: In the previous example, we want to ship the ``sxpm`` and ``cxpm`` binaries in separate packages. Since ``bindir`` would be packaged into -the main ``PN`` package by default, we prepend the ``PACKAGES`` variable +the main :term:`PN` package by default, we prepend the :term:`PACKAGES` variable so additional package names are added to the start of list. This results in the extra ``FILES_*`` variables then containing information that define which files and directories go into which packages. Files included by earlier packages are skipped by latter packages. Thus, the -main ``PN`` package does not include the above listed files. +main :term:`PN` package does not include the above listed files. Packaging Externally Produced Binaries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -2415,12 +2415,12 @@ Reference Manual's variable glossary. - Using :term:`DEPENDS` is a good idea even for components distributed in binary form, and is often necessary for shared libraries. For a shared library, listing the - library dependencies in ``DEPENDS`` makes sure that the libraries + library dependencies in :term:`DEPENDS` makes sure that the libraries are available in the staging sysroot when other recipes link against the library, which might be necessary for successful linking. - - Using ``DEPENDS`` also allows runtime dependencies between + - Using :term:`DEPENDS` also allows runtime dependencies between packages to be added automatically. See the ":ref:`overview-manual/concepts:automatically added runtime dependencies`" section in the Yocto Project Overview and Concepts Manual for more @@ -2747,7 +2747,7 @@ file or include from a lower-level configuration file are as follows: - ``PREFERRED_PROVIDER_virtual/kernel`` -- ``MACHINE_FEATURES`` (e.g. "apm screen wifi") +- :term:`MACHINE_FEATURES` (e.g. "apm screen wifi") You might also need these variables: @@ -2755,7 +2755,7 @@ You might also need these variables: - ``KERNEL_IMAGETYPE`` (e.g. "zImage") -- ``IMAGE_FSTYPES`` (e.g. "tar.gz jffs2") +- :term:`IMAGE_FSTYPES` (e.g. "tar.gz jffs2") You can find full details on these variables in the reference section. You can leverage existing machine ``.conf`` files from @@ -2771,8 +2771,8 @@ examples in the Source Directory at ``meta/recipes-kernel/linux`` that you can use as references. If you are creating a new kernel recipe, normal recipe-writing rules -apply for setting up a ``SRC_URI``. Thus, you need to specify any -necessary patches and set ``S`` to point at the source code. You need to +apply for setting up a :term:`SRC_URI`. Thus, you need to specify any +necessary patches and set :term:`S` to point at the source code. You need to create a ``do_configure`` task that configures the unpacked kernel with a ``defconfig`` file. You can do this by using a ``make defconfig`` command or, more commonly, by copying in a suitable ``defconfig`` file @@ -2785,8 +2785,8 @@ If you are extending an existing kernel recipe, it is usually a matter of adding a suitable ``defconfig`` file. The file needs to be added into a location similar to ``defconfig`` files used for other machines in a given kernel recipe. A possible way to do this is by listing the file in -the ``SRC_URI`` and adding the machine to the expression in -``COMPATIBLE_MACHINE``:: +the :term:`SRC_URI` and adding the machine to the expression in +:term:`COMPATIBLE_MACHINE`:: COMPATIBLE_MACHINE = '(qemux86|qemumips)' @@ -3178,9 +3178,9 @@ To manually upgrade recipe versions, follow these general steps: 1. *Change the Version:* Rename the recipe such that the version (i.e. the :term:`PV` part of the recipe name) changes appropriately. If the version is not part of the recipe name, - change the value as it is set for ``PV`` within the recipe itself. + change the value as it is set for :term:`PV` within the recipe itself. -2. *Update* ``SRCREV`` *if Needed*: If the source code your recipe builds +2. *Update* :term:`SRCREV` *if Needed*: If the source code your recipe builds is fetched from Git or some other version control system, update :term:`SRCREV` to point to the commit hash that matches the new version. @@ -3241,15 +3241,15 @@ patches. During a build, the unpacked temporary source code used by recipes to build packages is available in the Build Directory as defined by the :term:`S` variable. Below is the default -value for the ``S`` variable as defined in the +value for the :term:`S` variable as defined in the ``meta/conf/bitbake.conf`` configuration file in the :term:`Source Directory`:: S = "${WORKDIR}/${BP}" You should be aware that many recipes override the -``S`` variable. For example, recipes that fetch their source from Git -usually set ``S`` to ``${WORKDIR}/git``. +:term:`S` variable. For example, recipes that fetch their source from Git +usually set :term:`S` to ``${WORKDIR}/git``. .. note:: @@ -3369,13 +3369,13 @@ Follow these general steps: ``file2.c``, and ``file3.c`` files. You can find the resulting patch file in the ``patches/`` - subdirectory of the source (``S``) directory. + subdirectory of the source (:term:`S`) directory. 8. *Copy the Patch File:* For simplicity, copy the patch file into a directory named ``files``, which you can create in the same directory that holds the recipe (``.bb``) file or the append (``.bbappend``) file. Placing the patch here guarantees that the OpenEmbedded build - system will find the patch. Next, add the patch into the ``SRC_URI`` + system will find the patch. Next, add the patch into the :term:`SRC_URI` of the recipe. Here is an example:: SRC_URI += "file://my_changes.patch" @@ -3454,7 +3454,7 @@ terminal window. use the full compiler name such as ``arm-poky-linux-gnueabi-gcc`` instead of just using ``gcc``. The same applies to other applications such as ``binutils``, ``libtool`` and so forth. - BitBake sets up environment variables such as ``CC`` to assist + BitBake sets up environment variables such as :term:`CC` to assist applications, such as ``make`` to find the correct tools. - It is also worth noting that ``devshell`` still works over X11 @@ -3573,7 +3573,7 @@ The following figure and list overviews the build process: ``conf/local.conf`` configuration file, which is found in the Build Directory, is set up how you want it. This file defines many aspects of the build environment including the target machine architecture - through the ``MACHINE`` variable, the packaging format used during + through the :term:`MACHINE` variable, the packaging format used during the build (:term:`PACKAGE_CLASSES`), and a centralized tarball download directory through the @@ -3646,7 +3646,7 @@ Follow these steps to set up and execute multiple configuration builds: consider a scenario with two different multiconfigs for the same :term:`MACHINE`: "qemux86" built for two distributions such as "poky" and "poky-lsb". In this case, - you might want to use the same ``TMPDIR``. + you might want to use the same :term:`TMPDIR`. Here is an example showing the minimal statements needed in a configuration file for a "qemux86" target whose temporary build @@ -3663,7 +3663,7 @@ Follow these steps to set up and execute multiple configuration builds: .. image:: figures/multiconfig_files.png :align: center - The reason for this required file hierarchy is because the ``BBPATH`` + The reason for this required file hierarchy is because the :term:`BBPATH` variable is not constructed until the layers are parsed. Consequently, using the configuration file as a pre-configuration file is not possible unless it is located in the current working @@ -3674,7 +3674,7 @@ Follow these steps to set up and execute multiple configuration builds: :term:`BBMULTICONFIG` variable in your ``conf/local.conf`` configuration file to specify each multiconfig. Continuing with the example from the previous - figure, the ``BBMULTICONFIG`` variable needs to enable two + figure, the :term:`BBMULTICONFIG` variable needs to enable two multiconfigs: "x86" and "arm" by specifying each configuration file:: BBMULTICONFIG = "x86 arm" @@ -3708,7 +3708,7 @@ Follow these steps to set up and execute multiple configuration builds: Support for multiple configuration builds in the Yocto Project &DISTRO; (&DISTRO_NAME;) Release does not include Shared State (sstate) optimizations. Consequently, if a build uses the same object twice - in, for example, two different ``TMPDIR`` + in, for example, two different :term:`TMPDIR` directories, the build either loads from an existing sstate cache for that build at the start or builds the object fresh. @@ -3806,7 +3806,7 @@ Follow these steps to create an initramfs image: recipe and the initramfs recipe should the initramfs image include kernel modules. - Setting the ``INITRAMFS_IMAGE_BUNDLE`` flag causes the initramfs + Setting the :term:`INITRAMFS_IMAGE_BUNDLE` flag causes the initramfs image to be unpacked into the ``${B}/usr/`` directory. The unpacked initramfs image is then passed to the kernel's ``Makefile`` using the :term:`CONFIG_INITRAMFS_SOURCE` @@ -3828,7 +3828,7 @@ Follow these steps to create an initramfs image: :term:`PACKAGE_INSTALL` rather than :term:`IMAGE_INSTALL`. - ``PACKAGE_INSTALL`` gives more direct control of what is added to the + :term:`PACKAGE_INSTALL` gives more direct control of what is added to the image as compared to the defaults you might not necessarily want that are set by the :ref:`image ` or :ref:`core-image ` @@ -3912,7 +3912,7 @@ your own distribution that are likely modeled after ``poky-tiny``. .. note:: - To use ``poky-tiny`` in your build, set the ``DISTRO`` variable in your + To use ``poky-tiny`` in your build, set the :term:`DISTRO` variable in your ``local.conf`` file to "poky-tiny" as described in the ":ref:`dev-manual/common-tasks:creating your own distribution`" section. @@ -4156,17 +4156,17 @@ your tunings to best consider build times and package feed maintenance. :term:`TMPDIR` across builds. The Yocto Project supports switching between different :term:`MACHINE` values in the same - ``TMPDIR``. This practice is well supported and regularly used by + :term:`TMPDIR`. This practice is well supported and regularly used by developers when building for multiple machines. When you use the same - ``TMPDIR`` for multiple machine builds, the OpenEmbedded build system + :term:`TMPDIR` for multiple machine builds, the OpenEmbedded build system can reuse the existing native and often cross-recipes for multiple machines. Thus, build time decreases. .. note:: If :term:`DISTRO` settings change or fundamental configuration settings - such as the filesystem layout, you need to work with a clean ``TMPDIR``. - Sharing ``TMPDIR`` under these circumstances might work but since it is + such as the filesystem layout, you need to work with a clean :term:`TMPDIR`. + Sharing :term:`TMPDIR` under these circumstances might work but since it is not guaranteed, you should use a clean ``TMPDIR``. - *Enable the Appropriate Package Architecture:* By default, the @@ -4304,7 +4304,7 @@ your ``local.conf`` file:: EXTERNALSRC_pn-myrecipe = "path-to-your-source-tree" This next example shows how to accomplish the same thing by setting -``EXTERNALSRC`` in the recipe itself or in the recipe's append file:: +:term:`EXTERNALSRC` in the recipe itself or in the recipe's append file:: EXTERNALSRC = "path" EXTERNALSRC_BUILD = "path" @@ -4340,7 +4340,7 @@ Follow these steps to populate your Downloads directory: 1. *Create a Clean Downloads Directory:* Start with an empty downloads directory (:term:`DL_DIR`). You start with an empty downloads directory by either removing the files - in the existing directory or by setting ``DL_DIR`` to point to either + in the existing directory or by setting :term:`DL_DIR` to point to either an empty location or one that does not yet exist. 2. *Generate Tarballs of the Source Git Repositories:* Edit your @@ -4351,7 +4351,7 @@ Follow these steps to populate your Downloads directory: During the fetch process in the next step, BitBake gathers the source files - and creates tarballs in the directory pointed to by ``DL_DIR``. See + and creates tarballs in the directory pointed to by :term:`DL_DIR`. See the :term:`BB_GENERATE_MIRROR_TARBALLS` variable for more information. @@ -4394,7 +4394,7 @@ directory: The ``SOURCE_MIRROR_URL`` and ``own-mirror`` class set up the system to use the downloads directory as your "own - mirror". Using the ``BB_NO_NETWORK`` variable makes sure that + mirror". Using the :term:`BB_NO_NETWORK` variable makes sure that BitBake's fetching process in step 3 stays local, which means files from your "own-mirror" are used. @@ -4420,27 +4420,27 @@ directory: SRCREV = "${AUTOREV}" - When a recipe sets ``SRCREV`` to + When a recipe sets :term:`SRCREV` to ``${AUTOREV}``, the build system accesses the network in an attempt to determine the latest version of software from the SCM. - Typically, recipes that use ``AUTOREV`` are custom or modified + Typically, recipes that use :term:`AUTOREV` are custom or modified recipes. Recipes that reside in public repositories usually do not - use ``AUTOREV``. + use :term:`AUTOREV`. - If you do have recipes that use ``AUTOREV``, you can take steps to + If you do have recipes that use :term:`AUTOREV`, you can take steps to still use the recipes in an offline build. Do the following: 1. Use a configuration generated by enabling :ref:`build history `. 2. Use the ``buildhistory-collect-srcrevs`` command to collect the - stored ``SRCREV`` values from the build's history. For more + stored :term:`SRCREV` values from the build's history. For more information on collecting these values, see the ":ref:`dev-manual/common-tasks:build history package information`" section. 3. Once you have the correct source revisions, you can modify - those recipes to set ``SRCREV`` to specific versions of the + those recipes to set :term:`SRCREV` to specific versions of the software. Speeding Up a Build @@ -4580,7 +4580,7 @@ the built library. The :term:`PACKAGES` and :term:`FILES_* ` variables in the ``meta/conf/bitbake.conf`` configuration file define how files installed -by the ``do_install`` task are packaged. By default, the ``PACKAGES`` +by the ``do_install`` task are packaged. By default, the :term:`PACKAGES` variable includes ``${PN}-staticdev``, which represents all static library files. @@ -5943,7 +5943,7 @@ system to make your images more secure: EXTRA_IMAGE_FEATURES = "debug-tweaks" To disable that feature, simply comment out that line in your - ``local.conf`` file, or make sure ``IMAGE_FEATURES`` does not contain + ``local.conf`` file, or make sure :term:`IMAGE_FEATURES` does not contain "debug-tweaks" before producing your final image. Among other things, leaving this in place sets the root password as blank, which makes logging in for debugging or inspection easy during development but @@ -6248,20 +6248,20 @@ the following: .. note:: Technically, a third component, the "epoch" (i.e. :term:`PE`) is involved - but this discussion for the most part ignores ``PE``. + but this discussion for the most part ignores :term:`PE`. The version and revision are taken from the :term:`PV` and :term:`PR` variables, respectively. -- ``PV``: The recipe version. ``PV`` represents the version of the - software being packaged. Do not confuse ``PV`` with the binary +- :term:`PV`: The recipe version. :term:`PV` represents the version of the + software being packaged. Do not confuse :term:`PV` with the binary package version. - ``PR``: The recipe revision. - :term:`SRCPV`: The OpenEmbedded - build system uses this string to help define the value of ``PV`` when + build system uses this string to help define the value of :term:`PV` when the source code revision needs to be included in it. - :yocto_wiki:`PR Service `: A @@ -6271,12 +6271,12 @@ the following: Whenever the binary package content changes, the binary package version must change. Changing the binary package version is accomplished by -changing or "bumping" the ``PR`` and/or ``PV`` values. Increasing these +changing or "bumping" the :term:`PR` and/or :term:`PV` values. Increasing these values occurs one of two ways: - Automatically using a Package Revision Service (PR Service). -- Manually incrementing the ``PR`` and/or ``PV`` variables. +- Manually incrementing the :term:`PR` and/or :term:`PV` variables. Given a primary challenge of any build system and its users is how to maintain a package feed that is compatible with existing package manager @@ -6290,7 +6290,7 @@ package revisioning remains linear, see the section. The following three sections provide related information on the PR -Service, the manual method for "bumping" ``PR`` and/or ``PV``, and on +Service, the manual method for "bumping" :term:`PR` and/or :term:`PV`, and on how to ensure binary package revisioning remains linear. Working With a PR Service @@ -6320,20 +6320,20 @@ Because the OpenEmbedded build system uses unique to a given build, the build system knows when to rebuild packages. All the inputs into a given task are represented by a signature, which can trigger a rebuild when different. Thus, the build -system itself does not rely on the ``PR``, ``PV``, and ``PE`` numbers to +system itself does not rely on the :term:`PR`, :term:`PV`, and :term:`PE` numbers to trigger a rebuild. The signatures, however, can be used to generate these values. The PR Service works with both ``OEBasic`` and ``OEBasicHash`` -generators. The value of ``PR`` bumps when the checksum changes and the +generators. The value of :term:`PR` bumps when the checksum changes and the different generator mechanisms change signatures under different circumstances. As implemented, the build system includes values from the PR Service -into the ``PR`` field as an addition using the form "``.x``" so ``r0`` +into the :term:`PR` field as an addition using the form "``.x``" so ``r0`` becomes ``r0.1``, ``r0.2`` and so forth. This scheme allows existing -``PR`` values to be used for whatever reasons, which include manual -``PR`` bumps, should it be necessary. +:term:`PR` values to be used for whatever reasons, which include manual +:term:`PR` bumps, should it be necessary. By default, the PR Service is not enabled or running. Thus, the packages generated are just "self consistent". The build system adds and removes @@ -6349,7 +6349,7 @@ this scenario, you can enable a local PR Service by setting PRSERV_HOST = "localhost:0" Once the service is started, packages will automatically -get increasing ``PR`` values and BitBake takes care of starting and +get increasing :term:`PR` values and BitBake takes care of starting and stopping the server. If you have a more complex setup where multiple host development systems @@ -6379,7 +6379,7 @@ history, see the .. note:: - The OpenEmbedded build system does not maintain ``PR`` information as + The OpenEmbedded build system does not maintain :term:`PR` information as part of the shared state (sstate) packages. If you maintain an sstate feed, it's expected that either all your building systems that contribute to the sstate feed use a shared PR Service, or you do not @@ -6398,27 +6398,27 @@ The alternative to setting up a PR Service is to manually "bump" the If a committed change results in changing the package output, then the value of the PR variable needs to be increased (or "bumped") as part of -that commit. For new recipes you should add the ``PR`` variable and set +that commit. For new recipes you should add the :term:`PR` variable and set its initial value equal to "r0", which is the default. Even though the default value is "r0", the practice of adding it to a new recipe makes it harder to forget to bump the variable when you make changes to the recipe in future. If you are sharing a common ``.inc`` file with multiple recipes, you can -also use the ``INC_PR`` variable to ensure that the recipes sharing the +also use the :term:`INC_PR` variable to ensure that the recipes sharing the ``.inc`` file are rebuilt when the ``.inc`` file itself is changed. The -``.inc`` file must set ``INC_PR`` (initially to "r0"), and all recipes -referring to it should set ``PR`` to "${INC_PR}.0" initially, +``.inc`` file must set :term:`INC_PR` (initially to "r0"), and all recipes +referring to it should set :term:`PR` to "${INC_PR}.0" initially, incrementing the last number when the recipe is changed. If the ``.inc`` -file is changed then its ``INC_PR`` should be incremented. +file is changed then its :term:`INC_PR` should be incremented. -When upgrading the version of a binary package, assuming the ``PV`` -changes, the ``PR`` variable should be reset to "r0" (or "${INC_PR}.0" -if you are using ``INC_PR``). +When upgrading the version of a binary package, assuming the :term:`PV` +changes, the :term:`PR` variable should be reset to "r0" (or "${INC_PR}.0" +if you are using :term:`INC_PR`). Usually, version increases occur only to binary packages. However, if -for some reason ``PV`` changes but does not increase, you can increase -the ``PE`` variable (Package Epoch). The ``PE`` variable defaults to +for some reason :term:`PV` changes but does not increase, you can increase +the :term:`PE` variable (Package Epoch). The :term:`PE` variable defaults to "0". Binary package version numbering strives to follow the `Debian Version @@ -6433,20 +6433,20 @@ Automatically Incrementing a Package Version Number When fetching a repository, BitBake uses the :term:`SRCREV` variable to determine the specific source code revision from which to build. You set the -``SRCREV`` variable to +:term:`SRCREV` variable to :term:`AUTOREV` to cause the OpenEmbedded build system to automatically use the latest revision of the software:: SRCREV = "${AUTOREV}" -Furthermore, you need to reference ``SRCPV`` in ``PV`` in order to +Furthermore, you need to reference :term:`SRCPV` in :term:`PV` in order to automatically update the version whenever the revision of the source code changes. Here is an example:: PV = "1.0+git${SRCPV}" -The OpenEmbedded build system substitutes ``SRCPV`` with the following: +The OpenEmbedded build system substitutes :term:`SRCPV` with the following: .. code-block:: none @@ -6479,7 +6479,7 @@ with a number. The number used depends on the state of the PR Service: In summary, the OpenEmbedded build system does not track the history of binary package versions for this purpose. ``AUTOINC``, in this case, is -comparable to ``PR``. If PR server is not enabled, ``AUTOINC`` in the +comparable to :term:`PR`. If PR server is not enabled, ``AUTOINC`` in the package version is simply replaced by "0". If PR server is enabled, the build system keeps track of the package versions and bumps the number when the package revision changes. @@ -6654,7 +6654,7 @@ ensure that any :term:`RDEPENDS` and :term:`RRECOMMENDS` on a package name starting with the prefix are satisfied during build time. If you are using ``do_split_packages`` as described in the previous section, -the value you put in ``PACKAGES_DYNAMIC`` should correspond to the name +the value you put in :term:`PACKAGES_DYNAMIC` should correspond to the name pattern specified in the call to ``do_split_packages``. Using Runtime Package Management @@ -6822,7 +6822,7 @@ From within the build directory where you have built an image based on your packaging choice (i.e. the :term:`PACKAGE_CLASSES` setting), simply start the server. The following example assumes a build -directory of ``poky/build/tmp/deploy/rpm`` and a ``PACKAGE_CLASSES`` +directory of ``poky/build/tmp/deploy/rpm`` and a :term:`PACKAGE_CLASSES` setting of "package_rpm":: $ cd poky/build/tmp/deploy/rpm @@ -7360,7 +7360,7 @@ command:: The recipe this command generates is very similar to the recipe created in -the previous section. However, the ``SRC_URI`` looks like the following:: +the previous section. However, the :term:`SRC_URI` looks like the following:: SRC_URI = " \ git://github.com/martinaglv/cute-files.git;protocol=https \ @@ -7394,7 +7394,7 @@ of precedence is the same as this list: - ``PACKAGE_ADD_METADATA_`` -- ``PACKAGE_ADD_METADATA`` +- :term:`PACKAGE_ADD_METADATA` `` is a parameter and expected to be a distinct name of specific package type: @@ -7587,7 +7587,7 @@ variable defines the Device Table to use and should be set in the machine or distro configuration file. Alternatively, you can set this variable in your ``local.conf`` configuration file. -If you do not define the ``IMAGE_DEVICE_TABLES`` variable, the default +If you do not define the :term:`IMAGE_DEVICE_TABLES` variable, the default ``device_table-minimal.txt`` is used:: IMAGE_DEVICE_TABLES = "device_table-mymachine.txt" @@ -7713,13 +7713,13 @@ Creating the Root Filesystem To create the read-only root filesystem, simply add the "read-only-rootfs" feature to your image, normally in one of two ways. The first way is to add the "read-only-rootfs" image feature in the -image's recipe file via the ``IMAGE_FEATURES`` variable:: +image's recipe file via the :term:`IMAGE_FEATURES` variable:: IMAGE_FEATURES += "read-only-rootfs" As an alternative, you can add the same feature from within your build directory's ``local.conf`` file with the -associated ``EXTRA_IMAGE_FEATURES`` variable, as in:: +associated :term:`EXTRA_IMAGE_FEATURES` variable, as in:: EXTRA_IMAGE_FEATURES = "read-only-rootfs" @@ -7813,7 +7813,7 @@ Enabling and Disabling Build History ------------------------------------ Build history is disabled by default. To enable it, add the following -``INHERIT`` statement and set the +:term:`INHERIT` statement and set the :term:`BUILDHISTORY_COMMIT` variable to "1" at the end of your ``conf/local.conf`` file found in the :term:`Build Directory`:: @@ -7913,10 +7913,10 @@ example assuming You can use the ``buildhistory-collect-srcrevs`` command with the ``-a`` option to -collect the stored ``SRCREV`` values from build history and report them +collect the stored :term:`SRCREV` values from build history and report them in a format suitable for use in global configuration (e.g., ``local.conf`` or a distro include file) to override floating -``AUTOREV`` values to a fixed set of revisions. Here is some example +:term:`AUTOREV` values to a fixed set of revisions. Here is some example output from this command:: $ buildhistory-collect-srcrevs -a @@ -7945,7 +7945,7 @@ output from this command:: Here are some notes on using the ``buildhistory-collect-srcrevs`` command: - - By default, only values where the ``SRCREV`` was not hardcoded + - By default, only values where the :term:`SRCREV` was not hardcoded (usually when ``AUTOREV`` is used) are reported. Use the ``-a`` option to see all ``SRCREV`` values. @@ -8276,7 +8276,7 @@ Once you start running the tests, the following happens: tests run. The full boot log is written to ``${WORKDIR}/testimage/qemu_boot_log``. -5. Each test module loads in the order found in ``TEST_SUITES``. You can +5. Each test module loads in the order found in :term:`TEST_SUITES`. You can find the full output of the commands run over SSH in ``${WORKDIR}/testimgage/ssh_target_log``. @@ -8310,7 +8310,7 @@ addresses written into the image, or set the image to use DHCP and have your DHCP server on the test network assign a known IP address based on the MAC address of the device. -In order to run tests on hardware, you need to set ``TEST_TARGET`` to an +In order to run tests on hardware, you need to set :term:`TEST_TARGET` to an appropriate value. For QEMU, you do not have to change anything, the default value is "qemu". For running tests on hardware, the following options are available: @@ -8359,14 +8359,14 @@ options are available: Selecting SystemdbootTarget ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If you did not set ``TEST_TARGET`` to "SystemdbootTarget", then you do +If you did not set :term:`TEST_TARGET` to "SystemdbootTarget", then you do not need any information in this section. You can skip down to the ":ref:`dev-manual/common-tasks:running tests`" section. -If you did set ``TEST_TARGET`` to "SystemdbootTarget", you also need to +If you did set :term:`TEST_TARGET` to "SystemdbootTarget", you also need to perform a one-time setup of your master image by doing the following: -1. *Set EFI_PROVIDER:* Be sure that ``EFI_PROVIDER`` is as follows:: +1. *Set EFI_PROVIDER:* Be sure that :term:`EFI_PROVIDER` is as follows:: EFI_PROVIDER = "systemd-boot" @@ -8400,7 +8400,7 @@ perform a one-time setup of your master image by doing the following: 3. *Install image:* Install the image that you just built on the target system. -The final thing you need to do when setting ``TEST_TARGET`` to +The final thing you need to do when setting :term:`TEST_TARGET` to "SystemdbootTarget" is to set up the test image: 1. *Set up your local.conf file:* Make sure you have the following @@ -8421,8 +8421,8 @@ Power Control For most hardware targets other than "simpleremote", you can control power: -- You can use ``TEST_POWERCONTROL_CMD`` together with - ``TEST_POWERCONTROL_EXTRA_ARGS`` as a command that runs on the host +- You can use :term:`TEST_POWERCONTROL_CMD` together with + :term:`TEST_POWERCONTROL_EXTRA_ARGS` as a command that runs on the host and does power cycling. The test code passes one argument to that command: off, on or cycle (off then on). Here is an example that could appear in your ``local.conf`` file:: @@ -8441,8 +8441,8 @@ power: .. note:: - You need to customize ``TEST_POWERCONTROL_CMD`` and - ``TEST_POWERCONTROL_EXTRA_ARGS`` for your own setup. The one requirement + You need to customize :term:`TEST_POWERCONTROL_CMD` and + :term:`TEST_POWERCONTROL_EXTRA_ARGS` for your own setup. The one requirement is that it accepts "on", "off", and "cycle" as the last argument. - When no command is defined, it connects to the device over SSH and @@ -8540,14 +8540,14 @@ the ``local.conf`` file as normal. Be sure that tests reside in You can change the set of tests run by appending or overriding :term:`TEST_SUITES` variable in -``local.conf``. Each name in ``TEST_SUITES`` represents a required test -for the image. Test modules named within ``TEST_SUITES`` cannot be +``local.conf``. Each name in :term:`TEST_SUITES` represents a required test +for the image. Test modules named within :term:`TEST_SUITES` cannot be skipped even if a test is not suitable for an image (e.g. running the RPM tests on an image without ``rpm``). Appending "auto" to -``TEST_SUITES`` causes the build system to try to run all tests that are +:term:`TEST_SUITES` causes the build system to try to run all tests that are suitable for the image (i.e. each test module may elect to skip itself). -The order you list tests in ``TEST_SUITES`` is important and influences +The order you list tests in :term:`TEST_SUITES` is important and influences test dependencies. Consequently, tests that depend on other tests should be added after the test on which they depend. For example, since the ``ssh`` test depends on the ``ping`` test, "ssh" needs to come after @@ -8599,7 +8599,7 @@ following BitBake command form:: Exporting the tests places them in the :term:`Build Directory` in ``tmp/testexport/``\ image, which is controlled by the -``TEST_EXPORT_DIR`` variable. +:term:`TEST_EXPORT_DIR` variable. You can now run the tests outside of the build environment:: @@ -9558,7 +9558,7 @@ So the first thing to do is build "neard" locally. Before you start the build, set the :term:`PARALLEL_MAKE` variable in your ``local.conf`` file to a high number (e.g. "-j 20"). Using a -high value for ``PARALLEL_MAKE`` increases the chances of the race +high value for :term:`PARALLEL_MAKE` increases the chances of the race condition showing up:: $ bitbake neard @@ -9631,7 +9631,7 @@ The final thing you need to do to implement the fix in the build is to update the "neard" recipe (i.e. ``neard-0.14.bb``) so that the :term:`SRC_URI` statement includes the patch file. The recipe file is in the folder above the patch. Here -is what the edited ``SRC_URI`` statement would look like:: +is what the edited :term:`SRC_URI` statement would look like:: SRC_URI = "${KERNELORG_MIRROR}/linux/network/nfc/${BPN}-${PV}.tar.xz \ file://neard.in \ @@ -9640,7 +9640,7 @@ is what the edited ``SRC_URI`` statement would look like:: " With the patch complete and moved to the correct folder and the -``SRC_URI`` statement updated, you can exit the ``devshell``:: +:term:`SRC_URI` statement updated, you can exit the ``devshell``:: $ exit @@ -9985,14 +9985,14 @@ Here are some other tips that you might find useful: - Removing :term:`TMPDIR` (usually ``tmp/``, within the :term:`Build Directory`) can often fix - temporary build issues. Removing ``TMPDIR`` is usually a relatively + temporary build issues. Removing :term:`TMPDIR` is usually a relatively cheap operation, because task output will be cached in :term:`SSTATE_DIR` (usually ``sstate-cache/``, which is also in the Build Directory). .. note:: - Removing ``TMPDIR`` might be a workaround rather than a fix. + Removing :term:`TMPDIR` might be a workaround rather than a fix. Consequently, trying to determine the underlying cause of an issue before removing the directory is a good idea. @@ -10585,9 +10585,9 @@ build will fail. Specifying the ``LIC_FILES_CHKSUM`` Variable ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The ``LIC_FILES_CHKSUM`` variable contains checksums of the license text +The :term:`LIC_FILES_CHKSUM` variable contains checksums of the license text in the source code for the recipe. Following is an example of how to -specify ``LIC_FILES_CHKSUM``:: +specify :term:`LIC_FILES_CHKSUM`:: LIC_FILES_CHKSUM = "file://COPYING;md5=xxxx \ file://licfile1.txt;beginline=5;endline=29;md5=yyyy \ @@ -10607,7 +10607,7 @@ specify ``LIC_FILES_CHKSUM``:: The build system uses the :term:`S` variable as the default directory when searching files listed in -``LIC_FILES_CHKSUM``. The previous example employs the default +:term:`LIC_FILES_CHKSUM`. The previous example employs the default directory. Consider this next example:: @@ -10620,13 +10620,13 @@ The first line locates a file in ``${S}/src/ls.c`` and isolates lines five through 16 as license text. The second line refers to a file in :term:`WORKDIR`. -Note that ``LIC_FILES_CHKSUM`` variable is mandatory for all recipes, -unless the ``LICENSE`` variable is set to "CLOSED". +Note that :term:`LIC_FILES_CHKSUM` variable is mandatory for all recipes, +unless the :term:`LICENSE` variable is set to "CLOSED". Explanation of Syntax ~~~~~~~~~~~~~~~~~~~~~ -As mentioned in the previous section, the ``LIC_FILES_CHKSUM`` variable +As mentioned in the previous section, the :term:`LIC_FILES_CHKSUM` variable lists all the important files that contain the license text for the source code. It is possible to specify a checksum for an entire file, or a specific section of a file (specified by beginning and ending line @@ -10646,7 +10646,7 @@ build, the correct md5 checksum is placed in the build log and can be easily copied to the recipe. There is no limit to how many files you can specify using the -``LIC_FILES_CHKSUM`` variable. Generally, however, every project +:term:`LIC_FILES_CHKSUM` variable. Generally, however, every project requires a few specifications for license tracking. Many projects have a "COPYING" file that stores the license information for all the source code files. This practice allows you to just track the "COPYING" file as @@ -10683,16 +10683,16 @@ name and version (after variable expansion):: LICENSE_FLAGS = "license_${PN}_${PV}" In order for a component restricted by a -``LICENSE_FLAGS`` definition to be enabled and included in an image, it +:term:`LICENSE_FLAGS` definition to be enabled and included in an image, it needs to have a matching entry in the global :term:`LICENSE_FLAGS_WHITELIST` variable, which is a variable typically defined in your ``local.conf`` file. For example, to enable the ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` package, you could add either the string "commercial_gst-plugins-ugly" or the more -general string "commercial" to ``LICENSE_FLAGS_WHITELIST``. See the +general string "commercial" to :term:`LICENSE_FLAGS_WHITELIST`. See the ":ref:`dev-manual/common-tasks:license flag matching`" section for a full -explanation of how ``LICENSE_FLAGS`` matching works. Here is the +explanation of how :term:`LICENSE_FLAGS` matching works. Here is the example:: LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly" @@ -10723,8 +10723,8 @@ License Flag Matching License flag matching allows you to control what recipes the OpenEmbedded build system includes in the build. Fundamentally, the -build system attempts to match ``LICENSE_FLAGS`` strings found in -recipes against ``LICENSE_FLAGS_WHITELIST`` strings found in the +build system attempts to match :term:`LICENSE_FLAGS` strings found in +recipes against :term:`LICENSE_FLAGS_WHITELIST` strings found in the whitelist. A match causes the build system to include a recipe in the build, while failure to find a match causes the build system to exclude a recipe. @@ -10734,14 +10734,14 @@ concepts will help you correctly and effectively use matching. Before a flag defined by a particular recipe is tested against the contents of the whitelist, the expanded string ``_${PN}`` is appended to -the flag. This expansion makes each ``LICENSE_FLAGS`` value +the flag. This expansion makes each :term:`LICENSE_FLAGS` value recipe-specific. After expansion, the string is then matched against the whitelist. Thus, specifying ``LICENSE_FLAGS = "commercial"`` in recipe "foo", for example, results in the string ``"commercial_foo"``. And, to create a match, that string must appear in the whitelist. -Judicious use of the ``LICENSE_FLAGS`` strings and the contents of the -``LICENSE_FLAGS_WHITELIST`` variable allows you a lot of flexibility for +Judicious use of the :term:`LICENSE_FLAGS` strings and the contents of the +:term:`LICENSE_FLAGS_WHITELIST` variable allows you a lot of flexibility for including or excluding recipes based on licensing. For example, you can broaden the matching capabilities by using license flags string subsets in the whitelist. @@ -10753,7 +10753,7 @@ in the whitelist. ``usethispart_1.3``, ``usethispart_1.4``, and so forth). For example, simply specifying the string "commercial" in the whitelist -matches any expanded ``LICENSE_FLAGS`` definition that starts with the +matches any expanded :term:`LICENSE_FLAGS` definition that starts with the string "commercial" such as "commercial_foo" and "commercial_bar", which are the strings the build system automatically generates for hypothetical recipes named "foo" and "bar" assuming those recipes simply @@ -10767,7 +10767,7 @@ only specific recipes into the image, or you can use a string subset that causes a broader range of matches to allow a range of recipes into the image. -This scheme works even if the ``LICENSE_FLAGS`` string already has +This scheme works even if the :term:`LICENSE_FLAGS` string already has ``_${PN}`` appended. For example, the build system turns the license flag "commercial_1.2_foo" into "commercial_1.2_foo_foo" and would match both the general "commercial" and the specific "commercial_1.2_foo" @@ -10814,14 +10814,14 @@ file:: Of course, you could also create a matching whitelist for those components using the more general "commercial" in the whitelist, but -that would also enable all the other packages with ``LICENSE_FLAGS`` +that would also enable all the other packages with :term:`LICENSE_FLAGS` containing "commercial", which you may or may not want:: LICENSE_FLAGS_WHITELIST = "commercial" Specifying audio and video plugins as part of the ``COMMERCIAL_AUDIO_PLUGINS`` and ``COMMERCIAL_VIDEO_PLUGINS`` statements -(along with the enabling ``LICENSE_FLAGS_WHITELIST``) includes the +(along with the enabling :term:`LICENSE_FLAGS_WHITELIST`) includes the plugins or components into built images, thus adding support for media formats or components. @@ -10887,7 +10887,7 @@ accidental release of proprietary software. The Yocto Project provides an :ref:`archiver ` class to help avoid some of these concerns. -Before you employ ``DL_DIR`` or the ``archiver`` class, you need to +Before you employ :term:`DL_DIR` or the ``archiver`` class, you need to decide how you choose to provide source. The source ``archiver`` class can generate tarballs and SRPMs and can create them with various levels of compliance in mind. diff --git a/poky/documentation/index.rst b/poky/documentation/index.rst index 6aeeb2197..0fca6ce72 100644 --- a/poky/documentation/index.rst +++ b/poky/documentation/index.rst @@ -38,16 +38,15 @@ Welcome to the Yocto Project Documentation .. toctree:: :maxdepth: 1 - :caption: 'Mega' Manual + :caption: Releases manual + :hidden: - All-in-one 'Mega' Manual + Release Migration Guides + releases .. toctree:: :maxdepth: 1 - :caption: Manuals/Variable Index + :caption: Documentation Index + :hidden: genindex - Current/Previous Version Specific Manuals - - - diff --git a/poky/documentation/kernel-dev/advanced.rst b/poky/documentation/kernel-dev/advanced.rst index 0e745c375..871ec8ae7 100644 --- a/poky/documentation/kernel-dev/advanced.rst +++ b/poky/documentation/kernel-dev/advanced.rst @@ -46,15 +46,15 @@ linux-yocto recipe. Every linux-yocto style recipe must define the :term:`KMACHINE` variable. This -variable is typically set to the same value as the ``MACHINE`` variable, +variable is typically set to the same value as the :term:`MACHINE` variable, which is used by :term:`BitBake`. However, in some cases, the variable might instead refer to the -underlying platform of the ``MACHINE``. +underlying platform of the :term:`MACHINE`. -Multiple BSPs can reuse the same ``KMACHINE`` name if they are built +Multiple BSPs can reuse the same :term:`KMACHINE` name if they are built using the same BSP description. Multiple Corei7-based BSPs could share -the same "intel-corei7-64" value for ``KMACHINE``. It is important to -realize that ``KMACHINE`` is just for kernel mapping, while ``MACHINE`` +the same "intel-corei7-64" value for :term:`KMACHINE`. It is important to +realize that :term:`KMACHINE` is just for kernel mapping, while :term:`MACHINE` is the machine type within a BSP Layer. Even with this distinction, however, these two variables can hold the same value. See the ":ref:`kernel-dev/advanced:bsp descriptions`" section for more information. @@ -66,7 +66,7 @@ to indicate the branch. .. note:: - You can use the ``KBRANCH`` value to define an alternate branch typically + You can use the :term:`KBRANCH` value to define an alternate branch typically with a machine override as shown here from the ``meta-yocto-bsp`` layer:: KBRANCH_edgerouter = "standard/edgerouter" @@ -81,8 +81,8 @@ variables: :term:`LINUX_KERNEL_TYPE` defines the kernel type to be used in assembling the configuration. If -you do not specify a ``LINUX_KERNEL_TYPE``, it defaults to "standard". -Together with ``KMACHINE``, ``LINUX_KERNEL_TYPE`` defines the search +you do not specify a :term:`LINUX_KERNEL_TYPE`, it defaults to "standard". +Together with :term:`KMACHINE`, :term:`LINUX_KERNEL_TYPE` defines the search arguments used by the kernel tools to find the appropriate description within the kernel Metadata with which to build out the sources and configuration. The linux-yocto recipes define "standard", "tiny", and @@ -90,21 +90,21 @@ configuration. The linux-yocto recipes define "standard", "tiny", and section for more information on kernel types. During the build, the kern-tools search for the BSP description file -that most closely matches the ``KMACHINE`` and ``LINUX_KERNEL_TYPE`` +that most closely matches the :term:`KMACHINE` and :term:`LINUX_KERNEL_TYPE` variables passed in from the recipe. The tools use the first BSP description they find that matches both variables. If the tools cannot find a match, they issue a warning. -The tools first search for the ``KMACHINE`` and then for the -``LINUX_KERNEL_TYPE``. If the tools cannot find a partial match, they -will use the sources from the ``KBRANCH`` and any configuration +The tools first search for the :term:`KMACHINE` and then for the +:term:`LINUX_KERNEL_TYPE`. If the tools cannot find a partial match, they +will use the sources from the :term:`KBRANCH` and any configuration specified in the :term:`SRC_URI`. You can use the :term:`KERNEL_FEATURES` variable to include features (configuration fragments, patches, or both) -that are not already included by the ``KMACHINE`` and -``LINUX_KERNEL_TYPE`` variable combination. For example, to include a +that are not already included by the :term:`KMACHINE` and +:term:`LINUX_KERNEL_TYPE` variable combination. For example, to include a feature specified as "features/netfilter/netfilter.scc", specify:: KERNEL_FEATURES += "features/netfilter/netfilter.scc" @@ -116,7 +116,7 @@ specify:: KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc" The value of -the entries in ``KERNEL_FEATURES`` are dependent on their location +the entries in :term:`KERNEL_FEATURES` are dependent on their location within the kernel Metadata itself. The examples here are taken from the ``yocto-kernel-cache`` repository. Each branch of this repository contains "features" and "cfg" subdirectories at the top-level. For more @@ -344,7 +344,7 @@ as how an additional feature description file is included with the Typically, features are less granular than configuration fragments and are more likely than configuration fragments and patches to be the types -of things you want to specify in the ``KERNEL_FEATURES`` variable of the +of things you want to specify in the :term:`KERNEL_FEATURES` variable of the Linux kernel recipe. See the ":ref:`kernel-dev/advanced:using kernel metadata in a recipe`" section earlier in the manual. @@ -509,12 +509,12 @@ description as meeting the criteria set by the recipe being built. This example supports the "beaglebone" machine for the "standard" kernel and the "arm" architecture. -Be aware that there is no hard link between the ``KTYPE`` variable and a kernel +Be aware that there is no hard link between the :term:`KTYPE` variable and a kernel type description file. Thus, if you do not have the kernel type defined in your kernel Metadata as it is here, you only need to ensure that the :term:`LINUX_KERNEL_TYPE` -variable in the kernel recipe and the ``KTYPE`` variable in the BSP +variable in the kernel recipe and the :term:`KTYPE` variable in the BSP description file match. To separate your kernel policy from your hardware configuration, you @@ -657,7 +657,7 @@ Notice again the three critical variables: :term:`KMACHINE`, :term:`KTYPE`, and :term:`KARCH`. Of these variables, only -``KTYPE`` has changed to specify the "tiny" kernel type. +:term:`KTYPE` has changed to specify the "tiny" kernel type. Kernel Metadata Location ======================== @@ -693,7 +693,7 @@ directory hierarchy below a linux-yocto recipe or for a Linux kernel recipe derived by copying and modifying ``oe-core/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb`` to -a recipe in your layer, ``FILESEXTRAPATHS`` is typically set to +a recipe in your layer, :term:`FILESEXTRAPATHS` is typically set to ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}``. See the ":ref:`kernel-dev/common:modifying an existing recipe`" section for more information. @@ -718,10 +718,10 @@ and fetches any files referenced in the ``.scc`` files by the ``include``, ``patch``, or ``kconf`` commands. Because of this, it is necessary to bump the recipe :term:`PR` value when changing the content of files not explicitly listed in the -``SRC_URI``. +:term:`SRC_URI`. If the BSP description is in recipe space, you cannot simply list the -``*.scc`` in the ``SRC_URI`` statement. You need to use the following +``*.scc`` in the :term:`SRC_URI` statement. You need to use the following form from your kernel append file:: SRC_URI_append_myplatform = " \ @@ -735,7 +735,7 @@ When stored outside of the recipe-space, the kernel Metadata files reside in a separate repository. The OpenEmbedded build system adds the Metadata to the build as a "type=kmeta" repository through the :term:`SRC_URI` variable. As an -example, consider the following ``SRC_URI`` statement from the +example, consider the following :term:`SRC_URI` statement from the ``linux-yocto_4.12.bb`` kernel recipe:: SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.12.git;name=machine;branch=${KBRANCH}; \ @@ -744,20 +744,20 @@ example, consider the following ``SRC_URI`` statement from the ``${KMETA}``, in this context, is simply used to name the directory into which the Git fetcher places the Metadata. This behavior is no different -than any multi-repository ``SRC_URI`` statement used in a recipe (e.g. +than any multi-repository :term:`SRC_URI` statement used in a recipe (e.g. see the previous section). You can keep kernel Metadata in a "kernel-cache", which is a directory containing configuration fragments. As with any Metadata kept outside -the recipe-space, you simply need to use the ``SRC_URI`` statement with +the recipe-space, you simply need to use the :term:`SRC_URI` statement with the "type=kmeta" attribute. Doing so makes the kernel Metadata available during the configuration phase. -If you modify the Metadata, you must not forget to update the ``SRCREV`` +If you modify the Metadata, you must not forget to update the :term:`SRCREV` statements in the kernel's recipe. In particular, you need to update the ``SRCREV_meta`` variable to match the commit in the ``KMETA`` branch you wish to use. Changing the data in these branches and not updating the -``SRCREV`` statements to match will cause the build to fetch an older +:term:`SRCREV` statements to match will cause the build to fetch an older commit. Organizing Your Source @@ -820,7 +820,7 @@ patches into a feature. Once you have a new branch, you can set up your kernel Metadata to use the branch a couple different ways. In the recipe, you can specify the -new branch as the ``KBRANCH`` to use for the board as follows:: +new branch as the :term:`KBRANCH` to use for the board as follows:: KBRANCH = "mynewbranch" diff --git a/poky/documentation/kernel-dev/common.rst b/poky/documentation/kernel-dev/common.rst index f64cbab56..de62df5b1 100644 --- a/poky/documentation/kernel-dev/common.rst +++ b/poky/documentation/kernel-dev/common.rst @@ -70,7 +70,7 @@ section: :term:`MACHINE` variable is set to "qemux86-64", which is fine if you are building for the QEMU emulator in 64-bit mode. However, if you are not, you need to set the - ``MACHINE`` variable appropriately in your ``conf/local.conf`` file + :term:`MACHINE` variable appropriately in your ``conf/local.conf`` file found in the :term:`Build Directory` (i.e. ``poky/build`` in this example). @@ -248,7 +248,7 @@ section: :term:`MACHINE` variable is set to "qemux86-64", which is fine if you are building for the QEMU emulator in 64-bit mode. However, if you are not, you need to set the - ``MACHINE`` variable appropriately in your ``conf/local.conf`` file + :term:`MACHINE` variable appropriately in your ``conf/local.conf`` file found in the :term:`Build Directory` (i.e. ``poky/build`` in this example). @@ -474,7 +474,7 @@ variable as follows:: The path ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}`` expands to "linux-yocto" in the current directory for this example. If you add any new files that modify the kernel recipe and you have -extended ``FILESPATH`` as described above, you must place the files in +extended :term:`FILESPATH` as described above, you must place the files in your layer in the following area:: your-layer/recipes-kernel/linux/linux-yocto/ @@ -553,7 +553,7 @@ the append file. For example, suppose you had some configuration options in a file called ``network_configs.cfg``. You can place that file inside a directory -named ``linux-yocto`` and then add a ``SRC_URI`` statement such as the +named ``linux-yocto`` and then add a :term:`SRC_URI` statement such as the following to the append file. When the OpenEmbedded build system builds the kernel, the configuration options are picked up and applied. :: @@ -563,7 +563,7 @@ the kernel, the configuration options are picked up and applied. To group related configurations into multiple files, you perform a similar procedure. Here is an example that groups separate configurations specifically for Ethernet and graphics into their own -files and adds the configurations by using a ``SRC_URI`` statement like +files and adds the configurations by using a :term:`SRC_URI` statement like the following in your append file:: SRC_URI += "file://myconfig.cfg \ @@ -643,7 +643,7 @@ following lines to the linux-yocto ``.bbappend`` file in your layer:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://defconfig" -The ``SRC_URI`` tells the build system how to search +The :term:`SRC_URI` tells the build system how to search for the file, while the :term:`FILESEXTRAPATHS` extends the :term:`FILESPATH` @@ -684,7 +684,7 @@ with the following content (without indentation):: CONFIG_SERIAL_CORE_CONSOLE=y Next, include this -configuration fragment and extend the ``FILESPATH`` variable in your +configuration fragment and extend the :term:`FILESPATH` variable in your ``.bbappend`` file:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" @@ -722,7 +722,7 @@ form:: KBUILD_DEFCONFIG_KMACHINE ?= "defconfig_file" Here is an example -that assigns the ``KBUILD_DEFCONFIG`` variable based on "raspberrypi2" +that assigns the :term:`KBUILD_DEFCONFIG` variable based on "raspberrypi2" and provides the path to the "in-tree" ``defconfig`` file to be used for a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset:: @@ -734,7 +734,7 @@ Aside from modifying your kernel recipe and providing your own a kernel's ``linux-``\ `machine`\ ``.inc`` file). In other words, if the build system detects a statement that identifies an "out-of-tree" ``defconfig`` file, that statement will override your -``KBUILD_DEFCONFIG`` variable. +:term:`KBUILD_DEFCONFIG` variable. See the :term:`KBUILD_DEFCONFIG` @@ -1349,10 +1349,10 @@ be picked up and applied when the kernel is built:: SRC_URI += "file://myconfig.cfg" As mentioned earlier, you can group related configurations into multiple -files and name them all in the ``SRC_URI`` statement as well. For +files and name them all in the :term:`SRC_URI` statement as well. For example, you could group separate configurations specifically for Ethernet and graphics into their own files and add those by using a -``SRC_URI`` statement like the following in your append file:: +:term:`SRC_URI` statement like the following in your append file:: SRC_URI += "file://myconfig.cfg \ file://eth.cfg \ @@ -1628,11 +1628,11 @@ Here are some basic steps you can use to work with your own sources: appropriate for your project: - :term:`SRC_URI`: The - ``SRC_URI`` should specify a Git repository that uses one of the + :term:`SRC_URI` should specify a Git repository that uses one of the supported Git fetcher protocols (i.e. ``file``, ``git``, ``http``, - and so forth). The ``SRC_URI`` variable should also specify either + and so forth). The :term:`SRC_URI` variable should also specify either a ``defconfig`` file or some configuration fragment files. The - skeleton recipe provides an example ``SRC_URI`` as a syntax + skeleton recipe provides an example :term:`SRC_URI` as a syntax reference. - :term:`LINUX_VERSION`: @@ -1650,16 +1650,16 @@ Here are some basic steps you can use to work with your own sources: indicate to the OpenEmbedded build system that the recipe has changed. - - :term:`PV`: The default ``PV`` + - :term:`PV`: The default :term:`PV` assignment is typically adequate. It combines the - ``LINUX_VERSION`` with the Source Control Manager (SCM) revision + :term:`LINUX_VERSION` with the Source Control Manager (SCM) revision as derived from the :term:`SRCPV` variable. The combined results are a string with the following form:: 3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2 - While lengthy, the extra verbosity in ``PV`` helps ensure you are + While lengthy, the extra verbosity in :term:`PV` helps ensure you are using the exact sources from which you intend to build. - :term:`COMPATIBLE_MACHINE`: @@ -1773,7 +1773,7 @@ information to build modules. If your module ``Makefile`` uses a different variable, you might want to override the :ref:`ref-tasks-compile` step, or create a patch to the ``Makefile`` to work with the more typical -``KERNEL_SRC`` or ``KERNEL_PATH`` variables. +:term:`KERNEL_SRC` or :term:`KERNEL_PATH` variables. After you have prepared your recipe, you will likely want to include the module in your images. To do this, see the documentation for the @@ -1886,23 +1886,23 @@ build stops. Kernel features are the last elements processed for configuring and patching the kernel. Therefore, adding features in this manner is a way to enforce specific features are present and enabled without needing to do a full audit of any other layer's additions to the -``SRC_URI`` statement. +:term:`SRC_URI` statement. You add a kernel feature by providing the feature as part of the -``KERNEL_FEATURES`` variable and by providing the path to the feature's +:term:`KERNEL_FEATURES` variable and by providing the path to the feature's ``.scc`` file, which is relative to the root of the kernel Metadata. The OpenEmbedded build system searches all forms of kernel Metadata on the -``SRC_URI`` statement regardless of whether the Metadata is in the +:term:`SRC_URI` statement regardless of whether the Metadata is in the "kernel-cache", system kernel Metadata, or a recipe-space Metadata (i.e. part of the kernel recipe). See the ":ref:`kernel-dev/advanced:kernel metadata location`" section for additional information. -When you specify the feature's ``.scc`` file on the ``SRC_URI`` +When you specify the feature's ``.scc`` file on the :term:`SRC_URI` statement, the OpenEmbedded build system adds the directory of that ``.scc`` file along with all its subdirectories to the kernel feature search path. Because subdirectories are searched, you can reference a -single ``.scc`` file in the ``SRC_URI`` statement to reference multiple +single ``.scc`` file in the :term:`SRC_URI` statement to reference multiple kernel features. Consider the following example that adds the "test.scc" feature to the @@ -1910,7 +1910,7 @@ build. 1. *Create the Feature File:* Create a ``.scc`` file and locate it just as you would any other patch file, ``.cfg`` file, or fetcher item you - specify in the ``SRC_URI`` statement. + specify in the :term:`SRC_URI` statement. .. note:: @@ -1937,7 +1937,7 @@ build. a similarly named configuration fragment file ``test.cfg``. 2. *Add the Feature File to SRC_URI:* Add the ``.scc`` file to the - recipe's ``SRC_URI`` statement:: + recipe's :term:`SRC_URI` statement:: SRC_URI_append = " file://test.scc" @@ -1945,7 +1945,7 @@ build. appended to the existing path. 3. *Specify the Feature as a Kernel Feature:* Use the - ``KERNEL_FEATURES`` statement to specify the feature as a kernel + :term:`KERNEL_FEATURES` statement to specify the feature as a kernel feature:: KERNEL_FEATURES_append = " test.scc" diff --git a/poky/documentation/kernel-dev/faq.rst b/poky/documentation/kernel-dev/faq.rst index cffd1c433..f0a7af37b 100644 --- a/poky/documentation/kernel-dev/faq.rst +++ b/poky/documentation/kernel-dev/faq.rst @@ -68,7 +68,7 @@ How do I change the Linux kernel command line? ---------------------------------------------- The Linux kernel command line is -typically specified in the machine config using the ``APPEND`` variable. +typically specified in the machine config using the :term:`APPEND` variable. For example, you can add some helpful debug information doing the following:: diff --git a/poky/documentation/kernel-dev/maint-appx.rst b/poky/documentation/kernel-dev/maint-appx.rst index 3354de5f0..d968c856f 100644 --- a/poky/documentation/kernel-dev/maint-appx.rst +++ b/poky/documentation/kernel-dev/maint-appx.rst @@ -104,7 +104,7 @@ patch, or BSP: repository organized under the "Yocto Linux Kernel" heading in the :yocto_git:`Yocto Project Source Repositories <>`. - - Areas pointed to by ``SRC_URI`` statements found in kernel recipes. + - Areas pointed to by :term:`SRC_URI` statements found in kernel recipes. For a typical build, the target of the search is a feature description in an ``.scc`` file whose name follows this format (e.g. diff --git a/poky/documentation/migration-guides/index.rst b/poky/documentation/migration-guides/index.rst new file mode 100644 index 000000000..6304e6318 --- /dev/null +++ b/poky/documentation/migration-guides/index.rst @@ -0,0 +1,34 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +========================== + Release Migration Guides +========================== + +| + +Each document in this chapter provides information about how +to move to one release of the Yocto Project from the previous one. + +.. toctree:: + + migration-general + migration-3.3 + migration-3.2 + migration-3.1 + migration-3.0 + migration-2.7 + migration-2.6 + migration-2.5 + migration-2.4 + migration-2.3 + migration-2.2 + migration-2.1 + migration-2.0 + migration-1.8 + migration-1.7 + migration-1.6 + migration-1.5 + migration-1.4 + migration-1.3 + +.. include:: /boilerplate.rst diff --git a/poky/documentation/migration-guides/migration-1.3.rst b/poky/documentation/migration-guides/migration-1.3.rst new file mode 100644 index 000000000..afb868e7c --- /dev/null +++ b/poky/documentation/migration-guides/migration-1.3.rst @@ -0,0 +1,194 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +Release 1.3 (danny) +=================== + +This section provides migration information for moving to the Yocto +Project 1.3 Release (codename "danny") from the prior release. + +.. _1.3-local-configuration: + +Local Configuration +------------------- + +Differences include changes for +:term:`SSTATE_MIRRORS` and ``bblayers.conf``. + +.. _migration-1.3-sstate-mirrors: + +SSTATE_MIRRORS +~~~~~~~~~~~~~~ + +The shared state cache (sstate-cache), as pointed to by +:term:`SSTATE_DIR`, by default now has two-character +subdirectories to prevent issues arising from too many files in the same +directory. Also, native sstate-cache packages, which are built to run on +the host system, will go into a subdirectory named using the distro ID +string. If you copy the newly structured sstate-cache to a mirror +location (either local or remote) and then point to it in +:term:`SSTATE_MIRRORS`, you need to append "PATH" +to the end of the mirror URL so that the path used by BitBake before the +mirror substitution is appended to the path used to access the mirror. +Here is an example:: + + SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH" + +.. _migration-1.3-bblayers-conf: + +bblayers.conf +~~~~~~~~~~~~~ + +The ``meta-yocto`` layer consists of two parts that correspond to the +Poky reference distribution and the reference hardware Board Support +Packages (BSPs), respectively: ``meta-yocto`` and ``meta-yocto-bsp``. +When running BitBake for the first time after upgrading, your +``conf/bblayers.conf`` file will be updated to handle this change and +you will be asked to re-run or restart for the changes to take effect. + +.. _1.3-recipes: + +Recipes +------- + +Differences include changes for the following: + +.. _migration-1.3-python-function-whitespace: + +Python Function Whitespace +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +All Python functions must now use four spaces for indentation. +Previously, an inconsistent mix of spaces and tabs existed, which made +extending these functions using ``_append`` or ``_prepend`` complicated +given that Python treats whitespace as syntactically significant. If you +are defining or extending any Python functions (e.g. +``populate_packages``, ``do_unpack``, ``do_patch`` and so forth) in +custom recipes or classes, you need to ensure you are using consistent +four-space indentation. + +.. _migration-1.3-proto=-in-src-uri: + +proto= in SRC_URI +~~~~~~~~~~~~~~~~~ + +Any use of ``proto=`` in :term:`SRC_URI` needs to be +changed to ``protocol=``. In particular, this applies to the following +URIs: + +- ``svn://`` + +- ``bzr://`` + +- ``hg://`` + +- ``osc://`` + +Other URIs were already using ``protocol=``. This change improves +consistency. + +.. _migration-1.3-nativesdk: + +nativesdk +~~~~~~~~~ + +The suffix ``nativesdk`` is now implemented as a prefix, which +simplifies a lot of the packaging code for ``nativesdk`` recipes. All +custom ``nativesdk`` recipes, which are relocatable packages that are +native to :term:`SDK_ARCH`, and any references need to +be updated to use ``nativesdk-*`` instead of ``*-nativesdk``. + +.. _migration-1.3-task-recipes: + +Task Recipes +~~~~~~~~~~~~ + +"Task" recipes are now known as "Package groups" and have been renamed +from ``task-*.bb`` to ``packagegroup-*.bb``. Existing references to the +previous ``task-*`` names should work in most cases as there is an +automatic upgrade path for most packages. However, you should update +references in your own recipes and configurations as they could be +removed in future releases. You should also rename any custom ``task-*`` +recipes to ``packagegroup-*``, and change them to inherit +``packagegroup`` instead of ``task``, as well as taking the opportunity +to remove anything now handled by ``packagegroup.bbclass``, such as +providing ``-dev`` and ``-dbg`` packages, setting +:term:`LIC_FILES_CHKSUM`, and so forth. See the +":ref:`packagegroup.bbclass `" section for +further details. + +.. _migration-1.3-image-features: + +IMAGE_FEATURES +~~~~~~~~~~~~~~ + +Image recipes that previously included ``apps-console-core`` in +:term:`IMAGE_FEATURES` should now include ``splash`` +instead to enable the boot-up splash screen. Retaining +``apps-console-core`` will still include the splash screen but generates a +warning. The ``apps-x11-core`` and ``apps-x11-games`` :term:`IMAGE_FEATURES` +features have been removed. + +.. _migration-1.3-removed-recipes: + +Removed Recipes +~~~~~~~~~~~~~~~ + +The following recipes have been removed. For most of them, it is +unlikely that you would have any references to them in your own +:term:`Metadata`. However, you should check your metadata +against this list to be sure: + +- ``libx11-trim``: Replaced by ``libx11``, which has a negligible + size difference with modern Xorg. + +- ``xserver-xorg-lite``: Use ``xserver-xorg``, which has a negligible + size difference when DRI and GLX modules are not installed. + +- ``xserver-kdrive``: Effectively unmaintained for many years. + +- ``mesa-xlib``: No longer serves any purpose. + +- ``galago``: Replaced by telepathy. + +- ``gail``: Functionality was integrated into GTK+ 2.13. + +- ``eggdbus``: No longer needed. + +- ``gcc-*-intermediate``: The build has been restructured to avoid + the need for this step. + +- ``libgsmd``: Unmaintained for many years. Functionality now + provided by ``ofono`` instead. + +- *contacts, dates, tasks, eds-tools*: Largely unmaintained PIM + application suite. It has been moved to ``meta-gnome`` in + ``meta-openembedded``. + +In addition to the previously listed changes, the ``meta-demoapps`` +directory has also been removed because the recipes in it were not being +maintained and many had become obsolete or broken. Additionally, these +recipes were not parsed in the default configuration. Many of these +recipes are already provided in an updated and maintained form within +the OpenEmbedded community layers such as ``meta-oe`` and +``meta-gnome``. For the remainder, you can now find them in the +``meta-extras`` repository, which is in the +:yocto_git:`Source Repositories <>` at +:yocto_git:`/meta-extras/`. + +.. _1.3-linux-kernel-naming: + +Linux Kernel Naming +------------------- + +The naming scheme for kernel output binaries has been changed to now +include :term:`PE` as part of the filename:: + + KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}" + +Because the :term:`PE` variable is not set by default, these binary files +could result with names that include two dash characters. Here is an +example:: + + bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin + + diff --git a/poky/documentation/migration-guides/migration-1.4.rst b/poky/documentation/migration-guides/migration-1.4.rst new file mode 100644 index 000000000..3f980915c --- /dev/null +++ b/poky/documentation/migration-guides/migration-1.4.rst @@ -0,0 +1,235 @@ +Release 1.4 (dylan) +=================== + +This section provides migration information for moving to the Yocto +Project 1.4 Release (codename "dylan") from the prior release. + +.. _migration-1.4-bitbake: + +BitBake +------- + +Differences include the following: + +- *Comment Continuation:* If a comment ends with a line continuation + (\\) character, then the next line must also be a comment. Any + instance where this is not the case, now triggers a warning. You must + either remove the continuation character, or be sure the next line is + a comment. + +- *Package Name Overrides:* The runtime package specific variables + :term:`RDEPENDS`, + :term:`RRECOMMENDS`, + :term:`RSUGGESTS`, + :term:`RPROVIDES`, + :term:`RCONFLICTS`, + :term:`RREPLACES`, :term:`FILES`, + :term:`ALLOW_EMPTY`, and the pre, post, install, + and uninstall script functions ``pkg_preinst``, ``pkg_postinst``, + ``pkg_prerm``, and ``pkg_postrm`` should always have a package name + override. For example, use ``RDEPENDS_${PN}`` for the main package + instead of :term:`RDEPENDS`. BitBake uses more strict checks when it + parses recipes. + +.. _migration-1.4-build-behavior: + +Build Behavior +-------------- + +Differences include the following: + +- *Shared State Code:* The shared state code has been optimized to + avoid running unnecessary tasks. For example, the following no longer + populates the target sysroot since that is not necessary:: + + $ bitbake -c rootfs some-image + + Instead, the system just needs to extract the + output package contents, re-create the packages, and construct the + root filesystem. This change is unlikely to cause any problems unless + you have missing declared dependencies. + +- *Scanning Directory Names:* When scanning for files in + :term:`SRC_URI`, the build system now uses + :term:`FILESOVERRIDES` instead of + :term:`OVERRIDES` for the directory names. In + general, the values previously in :term:`OVERRIDES` are now in + :term:`FILESOVERRIDES` as well. However, if you relied upon an additional + value you previously added to :term:`OVERRIDES`, you might now need to + add it to :term:`FILESOVERRIDES` unless you are already adding it through + the :term:`MACHINEOVERRIDES` or + :term:`DISTROOVERRIDES` variables, as + appropriate. For more related changes, see the + ":ref:`migration-guides/migration-1.4:variables`" section. + +.. _migration-1.4-proxies-and-fetching-source: + +Proxies and Fetching Source +--------------------------- + +A new ``oe-git-proxy`` script has been added to replace previous methods +of handling proxies and fetching source from Git. See the +``meta-yocto/conf/site.conf.sample`` file for information on how to use +this script. + +.. _migration-1.4-custom-interfaces-file-netbase-change: + +Custom Interfaces File (netbase change) +--------------------------------------- + +If you have created your own custom ``etc/network/interfaces`` file by +creating an append file for the ``netbase`` recipe, you now need to +create an append file for the ``init-ifupdown`` recipe instead, which +you can find in the :term:`Source Directory` at +``meta/recipes-core/init-ifupdown``. For information on how to use +append files, see the +":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" +section in the Yocto Project Development Tasks Manual. + +.. _migration-1.4-remote-debugging: + +Remote Debugging +---------------- + +Support for remote debugging with the Eclipse IDE is now separated into +an image feature (``eclipse-debug``) that corresponds to the +``packagegroup-core-eclipse-debug`` package group. Previously, the +debugging feature was included through the ``tools-debug`` image +feature, which corresponds to the ``packagegroup-core-tools-debug`` +package group. + +.. _migration-1.4-variables: + +Variables +--------- + +The following variables have changed: + +- :term:`SANITY_TESTED_DISTROS`: This variable now uses a distribution + ID, which is composed of the host distributor ID followed by the + release. Previously, + :term:`SANITY_TESTED_DISTROS` was + composed of the description field. For example, "Ubuntu 12.10" + becomes "Ubuntu-12.10". You do not need to worry about this change if + you are not specifically setting this variable, or if you are + specifically setting it to "". + +- :term:`SRC_URI`: The ``${``\ :term:`PN`\ ``}``, + ``${``\ :term:`PF`\ ``}``, + ``${``\ :term:`P`\ ``}``, and ``FILE_DIRNAME`` directories + have been dropped from the default value of the + :term:`FILESPATH` variable, which is used as the + search path for finding files referred to in + :term:`SRC_URI`. If you have a recipe that relied upon + these directories, which would be unusual, then you will need to add + the appropriate paths within the recipe or, alternatively, rearrange + the files. The most common locations are still covered by ``${``\ :term:`BP`\ ``}``, + ``${``\ :term:`BPN`\ ``}``, and "files", which all remain in the default value of + :term:`FILESPATH`. + +.. _migration-target-package-management-with-rpm: + +Target Package Management with RPM +---------------------------------- + +If runtime package management is enabled and the RPM backend is +selected, Smart is now installed for package download, dependency +resolution, and upgrades instead of Zypper. For more information on how +to use Smart, run the following command on the target:: + + smart --help + +.. _migration-1.4-recipes-moved: + +Recipes Moved +------------- + +The following recipes were moved from their previous locations because +they are no longer used by anything in the OpenEmbedded-Core: + +- ``clutter-box2d``: Now resides in the ``meta-oe`` layer. + +- ``evolution-data-server``: Now resides in the ``meta-gnome`` layer. + +- ``gthumb``: Now resides in the ``meta-gnome`` layer. + +- ``gtkhtml2``: Now resides in the ``meta-oe`` layer. + +- ``gupnp``: Now resides in the ``meta-multimedia`` layer. + +- ``gypsy``: Now resides in the ``meta-oe`` layer. + +- ``libcanberra``: Now resides in the ``meta-gnome`` layer. + +- ``libgdata``: Now resides in the ``meta-gnome`` layer. + +- ``libmusicbrainz``: Now resides in the ``meta-multimedia`` layer. + +- ``metacity``: Now resides in the ``meta-gnome`` layer. + +- ``polkit``: Now resides in the ``meta-oe`` layer. + +- ``zeroconf``: Now resides in the ``meta-networking`` layer. + +.. _migration-1.4-removals-and-renames: + +Removals and Renames +-------------------- + +The following list shows what has been removed or renamed: + +- ``evieext``: Removed because it has been removed from ``xserver`` + since 2008. + +- *Gtk+ DirectFB:* Removed support because upstream Gtk+ no longer + supports it as of version 2.18. + +- ``libxfontcache / xfontcacheproto``: Removed because they were + removed from the Xorg server in 2008. + +- ``libxp / libxprintapputil / libxprintutil / printproto``: Removed + because the XPrint server was removed from Xorg in 2008. + +- ``libxtrap / xtrapproto``: Removed because their functionality was + broken upstream. + +- *linux-yocto 3.0 kernel:* Removed with linux-yocto 3.8 kernel being + added. The linux-yocto 3.2 and linux-yocto 3.4 kernels remain as part + of the release. + +- ``lsbsetup``: Removed with functionality now provided by + ``lsbtest``. + +- ``matchbox-stroke``: Removed because it was never more than a + proof-of-concept. + +- ``matchbox-wm-2 / matchbox-theme-sato-2``: Removed because they are + not maintained. However, ``matchbox-wm`` and ``matchbox-theme-sato`` + are still provided. + +- ``mesa-dri``: Renamed to ``mesa``. + +- ``mesa-xlib``: Removed because it was no longer useful. + +- ``mutter``: Removed because nothing ever uses it and the recipe is + very old. + +- ``orinoco-conf``: Removed because it has become obsolete. + +- ``update-modules``: Removed because it is no longer used. The + kernel module ``postinstall`` and ``postrm`` scripts can now do the + same task without the use of this script. + +- ``web``: Removed because it is not maintained. Superseded by + ``web-webkit``. + +- ``xf86bigfontproto``: Removed because upstream it has been disabled + by default since 2007. Nothing uses ``xf86bigfontproto``. + +- ``xf86rushproto``: Removed because its dependency in ``xserver`` + was spurious and it was removed in 2005. + +- ``zypper / libzypp / sat-solver``: Removed and been functionally + replaced with Smart (``python-smartpm``) when RPM packaging is used + and package management is enabled on the target. + diff --git a/poky/documentation/migration-guides/migration-1.5.rst b/poky/documentation/migration-guides/migration-1.5.rst new file mode 100644 index 000000000..e956d9fff --- /dev/null +++ b/poky/documentation/migration-guides/migration-1.5.rst @@ -0,0 +1,353 @@ +Release 1.5 (dora) +================== + +This section provides migration information for moving to the Yocto +Project 1.5 Release (codename "dora") from the prior release. + +.. _migration-1.5-host-dependency-changes: + +Host Dependency Changes +----------------------- + +The OpenEmbedded build system now has some additional requirements on +the host system: + +- Python 2.7.3+ + +- Tar 1.24+ + +- Git 1.7.8+ + +- Patched version of Make if you are using 3.82. Most distributions + that provide Make 3.82 use the patched version. + +If the Linux distribution you are using on your build host does not +provide packages for these, you can install and use the Buildtools +tarball, which provides an SDK-like environment containing them. + +For more information on this requirement, see the +":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`" +section. + +.. _migration-1.5-atom-pc-bsp: + +``atom-pc`` Board Support Package (BSP) +--------------------------------------- + +The ``atom-pc`` hardware reference BSP has been replaced by a +``genericx86`` BSP. This BSP is not necessarily guaranteed to work on +all x86 hardware, but it will run on a wider range of systems than the +``atom-pc`` did. + +.. note:: + + Additionally, a ``genericx86-64`` BSP has been added for 64-bit Atom + systems. + +.. _migration-1.5-bitbake: + +BitBake +------- + +The following changes have been made that relate to BitBake: + +- BitBake now supports a ``_remove`` operator. The addition of this + operator means you will have to rename any items in recipe space + (functions, variables) whose names currently contain ``_remove_`` or + end with ``_remove`` to avoid unexpected behavior. + +- BitBake's global method pool has been removed. This method is not + particularly useful and led to clashes between recipes containing + functions that had the same name. + +- The "none" server backend has been removed. The "process" server + backend has been serving well as the default for a long time now. + +- The ``bitbake-runtask`` script has been removed. + +- ``${``\ :term:`P`\ ``}`` and + ``${``\ :term:`PF`\ ``}`` are no longer added to + :term:`PROVIDES` by default in ``bitbake.conf``. + These version-specific :term:`PROVIDES` items were seldom used. + Attempting to use them could result in two versions being built + simultaneously rather than just one version due to the way BitBake + resolves dependencies. + +.. _migration-1.5-qa-warnings: + +QA Warnings +----------- + +The following changes have been made to the package QA checks: + +- If you have customized :term:`ERROR_QA` or + :term:`WARN_QA` values in your configuration, check + that they contain all of the issues that you wish to be reported. + Previous Yocto Project versions contained a bug that meant that any + item not mentioned in :term:`ERROR_QA` or :term:`WARN_QA` would be treated as + a warning. Consequently, several important items were not already in + the default value of :term:`WARN_QA`. All of the possible QA checks are + now documented in the ":ref:`insane.bbclass `" + section. + +- An additional QA check has been added to check if + ``/usr/share/info/dir`` is being installed. Your recipe should delete + this file within :ref:`ref-tasks-install` if "make + install" is installing it. + +- If you are using the ``buildhistory`` class, the check for the package + version going backwards is now controlled using a standard QA check. + Thus, if you have customized your :term:`ERROR_QA` or :term:`WARN_QA` values + and still wish to have this check performed, you should add + "version-going-backwards" to your value for one or the other + variables depending on how you wish it to be handled. See the + documented QA checks in the + ":ref:`insane.bbclass `" section. + +.. _migration-1.5-directory-layout-changes: + +Directory Layout Changes +------------------------ + +The following directory changes exist: + +- Output SDK installer files are now named to include the image name + and tuning architecture through the :term:`SDK_NAME` + variable. + +- Images and related files are now installed into a directory that is + specific to the machine, instead of a parent directory containing + output files for multiple machines. The + :term:`DEPLOY_DIR_IMAGE` variable continues + to point to the directory containing images for the current + :term:`MACHINE` and should be used anywhere there is a + need to refer to this directory. The ``runqemu`` script now uses this + variable to find images and kernel binaries and will use BitBake to + determine the directory. Alternatively, you can set the + ``DEPLOY_DIR_IMAGE`` variable in the external environment. + +- When buildhistory is enabled, its output is now written under the + :term:`Build Directory` rather than + :term:`TMPDIR`. Doing so makes it easier to delete + :term:`TMPDIR` and preserve the build history. Additionally, data for + produced SDKs is now split by :term:`IMAGE_NAME`. + +- The ``pkgdata`` directory produced as part of the packaging process + has been collapsed into a single machine-specific directory. This + directory is located under ``sysroots`` and uses a machine-specific + name (i.e. ``tmp/sysroots/machine/pkgdata``). + +.. _migration-1.5-shortened-git-srcrev-values: + +Shortened Git ``SRCREV`` Values +------------------------------- + +BitBake will now shorten revisions from Git repositories from the normal +40 characters down to 10 characters within :term:`SRCPV` +for improved usability in path and file names. This change should be +safe within contexts where these revisions are used because the chances +of spatially close collisions is very low. Distant collisions are not a +major issue in the way the values are used. + +.. _migration-1.5-image-features: + +``IMAGE_FEATURES`` +------------------ + +The following changes have been made that relate to +:term:`IMAGE_FEATURES`: + +- The value of :term:`IMAGE_FEATURES` is now validated to ensure invalid + feature items are not added. Some users mistakenly add package names + to this variable instead of using + :term:`IMAGE_INSTALL` in order to have the + package added to the image, which does not work. This change is + intended to catch those kinds of situations. Valid :term:`IMAGE_FEATURES` + are drawn from ``PACKAGE_GROUP`` definitions, + :term:`COMPLEMENTARY_GLOB` and a new + "validitems" varflag on :term:`IMAGE_FEATURES`. The "validitems" varflag + change allows additional features to be added if they are not + provided using the previous two mechanisms. + +- The previously deprecated "apps-console-core" :term:`IMAGE_FEATURES` item + is no longer supported. Add "splash" to :term:`IMAGE_FEATURES` if you + wish to have the splash screen enabled, since this is all that + apps-console-core was doing. + +.. _migration-1.5-run: + +``/run`` +-------- + +The ``/run`` directory from the Filesystem Hierarchy Standard 3.0 has +been introduced. You can find some of the implications for this change +:oe_git:`here `. +The change also means that recipes that install files to ``/var/run`` +must be changed. You can find a guide on how to make these changes +`here `__. + +.. _migration-1.5-removal-of-package-manager-database-within-image-recipes: + +Removal of Package Manager Database Within Image Recipes +-------------------------------------------------------- + +The image ``core-image-minimal`` no longer adds +``remove_packaging_data_files`` to +:term:`ROOTFS_POSTPROCESS_COMMAND`. +This addition is now handled automatically when "package-management" is +not in :term:`IMAGE_FEATURES`. If you have custom +image recipes that make this addition, you should remove the lines, as +they are not needed and might interfere with correct operation of +postinstall scripts. + +.. _migration-1.5-images-now-rebuild-only-on-changes-instead-of-every-time: + +Images Now Rebuild Only on Changes Instead of Every Time +-------------------------------------------------------- + +The :ref:`ref-tasks-rootfs` and other related image +construction tasks are no longer marked as "nostamp". Consequently, they +will only be re-executed when their inputs have changed. Previous +versions of the OpenEmbedded build system always rebuilt the image when +requested rather when necessary. + +.. _migration-1.5-task-recipes: + +Task Recipes +------------ + +The previously deprecated ``task.bbclass`` has now been dropped. For +recipes that previously inherited from this class, you should rename +them from ``task-*`` to ``packagegroup-*`` and inherit packagegroup +instead. + +For more information, see the +":ref:`packagegroup.bbclass `" section. + +.. _migration-1.5-busybox: + +BusyBox +------- + +By default, we now split BusyBox into two binaries: one that is suid +root for those components that need it, and another for the rest of the +components. Splitting BusyBox allows for optimization that eliminates +the ``tinylogin`` recipe as recommended by upstream. You can disable +this split by setting +:term:`BUSYBOX_SPLIT_SUID` to "0". + +.. _migration-1.5-automated-image-testing: + +Automated Image Testing +----------------------- + +A new automated image testing framework has been added through the +:ref:`testimage.bbclass ` class. This +framework replaces the older ``imagetest-qemu`` framework. + +You can learn more about performing automated image tests in the +":ref:`dev-manual/common-tasks:performing automated runtime testing`" +section in the Yocto Project Development Tasks Manual. + +.. _migration-1.5-build-history: + +Build History +------------- + +Following are changes to Build History: + +- Installed package sizes: ``installed-package-sizes.txt`` for an image + now records the size of the files installed by each package instead + of the size of each compressed package archive file. + +- The dependency graphs (``depends*.dot``) now use the actual package + names instead of replacing dashes, dots and plus signs with + underscores. + +- The ``buildhistory-diff`` and ``buildhistory-collect-srcrevs`` + utilities have improved command-line handling. Use the ``--help`` + option for each utility for more information on the new syntax. + +For more information on Build History, see the +":ref:`dev-manual/common-tasks:maintaining build output quality`" +section in the Yocto Project Development Tasks Manual. + +.. _migration-1.5-udev: + +``udev`` +-------- + +Following are changes to ``udev``: + +- ``udev`` no longer brings in ``udev-extraconf`` automatically through + :term:`RRECOMMENDS`, since this was originally + intended to be optional. If you need the extra rules, then add + ``udev-extraconf`` to your image. + +- ``udev`` no longer brings in ``pciutils-ids`` or ``usbutils-ids`` + through :term:`RRECOMMENDS`. These are not needed by ``udev`` itself and + removing them saves around 350KB. + +.. _migration-1.5-removed-renamed-recipes: + +Removed and Renamed Recipes +--------------------------- + +- The ``linux-yocto`` 3.2 kernel has been removed. + +- ``libtool-nativesdk`` has been renamed to ``nativesdk-libtool``. + +- ``tinylogin`` has been removed. It has been replaced by a suid + portion of Busybox. See the ":ref:`migration-1.5-busybox`" + section for more information. + +- ``external-python-tarball`` has been renamed to + ``buildtools-tarball``. + +- ``web-webkit`` has been removed. It has been functionally replaced by + ``midori``. + +- ``imake`` has been removed. It is no longer needed by any other + recipe. + +- ``transfig-native`` has been removed. It is no longer needed by any + other recipe. + +- ``anjuta-remote-run`` has been removed. Anjuta IDE integration has + not been officially supported for several releases. + +.. _migration-1.5-other-changes: + +Other Changes +------------- + +Following is a list of short entries describing other changes: + +- ``run-postinsts``: Make this generic. + +- ``base-files``: Remove the unnecessary ``media/``\ xxx directories. + +- ``alsa-state``: Provide an empty ``asound.conf`` by default. + +- ``classes/image``: Ensure + :term:`BAD_RECOMMENDATIONS` supports + pre-renamed package names. + +- ``classes/rootfs_rpm``: Implement ``BAD_RECOMMENDATIONS`` for RPM. + +- ``systemd``: Remove ``systemd_unitdir`` if ``systemd`` is not in + :term:`DISTRO_FEATURES`. + +- ``systemd``: Remove ``init.d`` dir if ``systemd`` unit file is + present and ``sysvinit`` is not a distro feature. + +- ``libpam``: Deny all services for the ``OTHER`` entries. + +- ``image.bbclass``: Move ``runtime_mapping_rename`` to avoid conflict + with ``multilib``. See :yocto_bugs:`YOCTO #4993 ` + in Bugzilla for more information. + +- ``linux-dtb``: Use kernel build system to generate the ``dtb`` files. + +- ``kern-tools``: Switch from guilt to new ``kgit-s2q`` tool. + diff --git a/poky/documentation/migration-guides/migration-1.6.rst b/poky/documentation/migration-guides/migration-1.6.rst new file mode 100644 index 000000000..eea3d1767 --- /dev/null +++ b/poky/documentation/migration-guides/migration-1.6.rst @@ -0,0 +1,414 @@ +Release 1.6 (daisy) +=================== + +This section provides migration information for moving to the Yocto +Project 1.6 Release (codename "daisy") from the prior release. + +.. _migration-1.6-archiver-class: + +``archiver`` Class +------------------ + +The :ref:`archiver ` class has been rewritten +and its configuration has been simplified. For more details on the +source archiver, see the +":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`" +section in the Yocto Project Development Tasks Manual. + +.. _migration-1.6-packaging-changes: + +Packaging Changes +----------------- + +The following packaging changes have been made: + +- The ``binutils`` recipe no longer produces a ``binutils-symlinks`` + package. ``update-alternatives`` is now used to handle the preferred + ``binutils`` variant on the target instead. + +- The tc (traffic control) utilities have been split out of the main + ``iproute2`` package and put into the ``iproute2-tc`` package. + +- The ``gtk-engines`` schemas have been moved to a dedicated + ``gtk-engines-schemas`` package. + +- The ``armv7a`` with thumb package architecture suffix has changed. + The suffix for these packages with the thumb optimization enabled is + "t2" as it should be. Use of this suffix was not the case in the 1.5 + release. Architecture names will change within package feeds as a + result. + +.. _migration-1.6-bitbake: + +BitBake +------- + +The following changes have been made to :term:`BitBake`. + +.. _migration-1.6-matching-branch-requirement-for-git-fetching: + +Matching Branch Requirement for Git Fetching +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When fetching source from a Git repository using +:term:`SRC_URI`, BitBake will now validate the +:term:`SRCREV` value against the branch. You can specify +the branch using the following form:: + + SRC_URI = "git://server.name/repository;branch=branchname" + +If you do not specify a branch, BitBake looks in the default "master" branch. + +Alternatively, if you need to bypass this check (e.g. if you are +fetching a revision corresponding to a tag that is not on any branch), +you can add ";nobranch=1" to the end of the URL within :term:`SRC_URI`. + +.. _migration-1.6-bitbake-deps: + +Python Definition substitutions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +BitBake had some previously deprecated Python definitions within its +``bb`` module removed. You should use their sub-module counterparts +instead: + +- ``bb.MalformedUrl``: Use ``bb.fetch.MalformedUrl``. + +- ``bb.encodeurl``: Use ``bb.fetch.encodeurl``. + +- ``bb.decodeurl``: Use ``bb.fetch.decodeurl`` + +- ``bb.mkdirhier``: Use ``bb.utils.mkdirhier``. + +- ``bb.movefile``: Use ``bb.utils.movefile``. + +- ``bb.copyfile``: Use ``bb.utils.copyfile``. + +- ``bb.which``: Use ``bb.utils.which``. + +- ``bb.vercmp_string``: Use ``bb.utils.vercmp_string``. + +- ``bb.vercmp``: Use ``bb.utils.vercmp``. + +.. _migration-1.6-bitbake-fetcher: + +SVK Fetcher +~~~~~~~~~~~ + +The SVK fetcher has been removed from BitBake. + +.. _migration-1.6-bitbake-console-output: + +Console Output Error Redirection +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The BitBake console UI will now output errors to ``stderr`` instead of +``stdout``. Consequently, if you are piping or redirecting the output of +``bitbake`` to somewhere else, and you wish to retain the errors, you +will need to add ``2>&1`` (or something similar) to the end of your +``bitbake`` command line. + +.. _migration-1.6-task-taskname-overrides: + +``task-``\ taskname Overrides +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +``task-``\ taskname overrides have been adjusted so that tasks whose +names contain underscores have the underscores replaced by hyphens for +the override so that they now function properly. For example, the task +override for :ref:`ref-tasks-populate_sdk` is +``task-populate-sdk``. + +.. _migration-1.6-variable-changes: + +Changes to Variables +-------------------- + +The following variables have changed. For information on the +OpenEmbedded build system variables, see the ":doc:`/ref-manual/variables`" Chapter. + +.. _migration-1.6-variable-changes-TMPDIR: + +``TMPDIR`` +~~~~~~~~~~ + +:term:`TMPDIR` can no longer be on an NFS mount. NFS does +not offer full POSIX locking and inode consistency and can cause +unexpected issues if used to store :term:`TMPDIR`. + +The check for this occurs on startup. If :term:`TMPDIR` is detected on an +NFS mount, an error occurs. + +.. _migration-1.6-variable-changes-PRINC: + +``PRINC`` +~~~~~~~~~ + +The ``PRINC`` variable has been deprecated and triggers a warning if +detected during a build. For :term:`PR` increments on changes, +use the PR service instead. You can find out more about this service in +the ":ref:`dev-manual/common-tasks:working with a pr service`" +section in the Yocto Project Development Tasks Manual. + +.. _migration-1.6-variable-changes-IMAGE_TYPES: + +``IMAGE_TYPES`` +~~~~~~~~~~~~~~~ + +The "sum.jffs2" option for :term:`IMAGE_TYPES` has +been replaced by the "jffs2.sum" option, which fits the processing +order. + +.. _migration-1.6-variable-changes-COPY_LIC_MANIFEST: + +``COPY_LIC_MANIFEST`` +~~~~~~~~~~~~~~~~~~~~~ + +The :term:`COPY_LIC_MANIFEST` variable must now +be set to "1" rather than any value in order to enable it. + +.. _migration-1.6-variable-changes-COPY_LIC_DIRS: + +``COPY_LIC_DIRS`` +~~~~~~~~~~~~~~~~~ + +The :term:`COPY_LIC_DIRS` variable must now be set +to "1" rather than any value in order to enable it. + +.. _migration-1.6-variable-changes-PACKAGE_GROUP: + +``PACKAGE_GROUP`` +~~~~~~~~~~~~~~~~~ + +The ``PACKAGE_GROUP`` variable has been renamed to +:term:`FEATURE_PACKAGES` to more accurately +reflect its purpose. You can still use ``PACKAGE_GROUP`` but the +OpenEmbedded build system produces a warning message when it encounters +the variable. + +.. _migration-1.6-variable-changes-variable-entry-behavior: + +Preprocess and Post Process Command Variable Behavior +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following variables now expect a semicolon separated list of +functions to call and not arbitrary shell commands: + + - :term:`ROOTFS_PREPROCESS_COMMAND` + - :term:`ROOTFS_POSTPROCESS_COMMAND` + - :term:`SDK_POSTPROCESS_COMMAND` + - :term:`POPULATE_SDK_POST_TARGET_COMMAND` + - :term:`POPULATE_SDK_POST_HOST_COMMAND` + - :term:`IMAGE_POSTPROCESS_COMMAND` + - :term:`IMAGE_PREPROCESS_COMMAND` + - :term:`ROOTFS_POSTUNINSTALL_COMMAND` + - :term:`ROOTFS_POSTINSTALL_COMMAND` + +For +migration purposes, you can simply wrap shell commands in a shell +function and then call the function. Here is an example:: + + my_postprocess_function() { + echo "hello" > ${IMAGE_ROOTFS}/hello.txt + } + ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; " + +.. _migration-1.6-package-test-ptest: + +Package Test (ptest) +-------------------- + +Package Tests (ptest) are built but not installed by default. For +information on using Package Tests, see the +":ref:`dev-manual/common-tasks:testing packages with ptest`" +section in the Yocto Project Development Tasks Manual. For information on the +``ptest`` class, see the ":ref:`ptest.bbclass `" +section. + +.. _migration-1.6-build-changes: + +Build Changes +------------- + +Separate build and source directories have been enabled by default for +selected recipes where it is known to work (a whitelist) and for all +recipes that inherit the :ref:`cmake ` class. In +future releases the :ref:`autotools ` class +will enable a separate build directory by default as well. Recipes +building Autotools-based software that fails to build with a separate +build directory should be changed to inherit from the +:ref:`autotools-brokensep ` class instead of +the ``autotools`` or ``autotools_stage``\ classes. + +.. _migration-1.6-building-qemu-native: + +``qemu-native`` +--------------- + +``qemu-native`` now builds without SDL-based graphical output support by +default. The following additional lines are needed in your +``local.conf`` to enable it:: + + PACKAGECONFIG_pn-qemu-native = "sdl" + ASSUME_PROVIDED += "libsdl-native" + +.. note:: + + The default ``local.conf`` contains these statements. Consequently, if you + are building a headless system and using a default ``local.conf`` + file, you will need comment these two lines out. + +.. _migration-1.6-core-image-basic: + +``core-image-basic`` +-------------------- + +``core-image-basic`` has been renamed to ``core-image-full-cmdline``. + +In addition to ``core-image-basic`` being renamed, +``packagegroup-core-basic`` has been renamed to +``packagegroup-core-full-cmdline`` to match. + +.. _migration-1.6-licensing: + +Licensing +--------- + +The top-level :term:`LICENSE` file has been changed to better describe the +license of the various components of :term:`OpenEmbedded-Core (OE-Core)`. However, +the licensing itself remains unchanged. + +Normally, this change would not cause any side-effects. However, some +recipes point to this file within +:term:`LIC_FILES_CHKSUM` (as +``${COREBASE}/LICENSE``) and thus the accompanying checksum must be +changed from 3f40d7994397109285ec7b81fdeb3b58 to +4d92cd373abda3937c2bc47fbc49d690. A better alternative is to have +:term:`LIC_FILES_CHKSUM` point to a file describing the license that is +distributed with the source that the recipe is building, if possible, +rather than pointing to ``${COREBASE}/LICENSE``. + +.. _migration-1.6-cflags-options: + +``CFLAGS`` Options +------------------ + +The "-fpermissive" option has been removed from the default +:term:`CFLAGS` value. You need to take action on +individual recipes that fail when building with this option. You need to +either patch the recipes to fix the issues reported by the compiler, or +you need to add "-fpermissive" to :term:`CFLAGS` in the recipes. + +.. _migration-1.6-custom-images: + +Custom Image Output Types +------------------------- + +Custom image output types, as selected using +:term:`IMAGE_FSTYPES`, must declare their +dependencies on other image types (if any) using a new +:term:`IMAGE_TYPEDEP` variable. + +.. _migration-1.6-do-package-write-task: + +Tasks +----- + +The ``do_package_write`` task has been removed. The task is no longer +needed. + +.. _migration-1.6-update-alternatives-provider: + +``update-alternative`` Provider +------------------------------- + +The default ``update-alternatives`` provider has been changed from +``opkg`` to ``opkg-utils``. This change resolves some troublesome +circular dependencies. The runtime package has also been renamed from +``update-alternatives-cworth`` to ``update-alternatives-opkg``. + +.. _migration-1.6-virtclass-overrides: + +``virtclass`` Overrides +----------------------- + +The ``virtclass`` overrides are now deprecated. Use the equivalent class +overrides instead (e.g. ``virtclass-native`` becomes ``class-native``.) + +.. _migration-1.6-removed-renamed-recipes: + +Removed and Renamed Recipes +--------------------------- + +The following recipes have been removed: + +- ``packagegroup-toolset-native`` - This recipe is largely unused. + +- ``linux-yocto-3.8`` - Support for the Linux yocto 3.8 kernel has been + dropped. Support for the 3.10 and 3.14 kernels have been added with + the ``linux-yocto-3.10`` and ``linux-yocto-3.14`` recipes. + +- ``ocf-linux`` - This recipe has been functionally replaced using + ``cryptodev-linux``. + +- ``genext2fs`` - ``genext2fs`` is no longer used by the build system + and is unmaintained upstream. + +- ``js`` - This provided an ancient version of Mozilla's javascript + engine that is no longer needed. + +- ``zaurusd`` - The recipe has been moved to the ``meta-handheld`` + layer. + +- ``eglibc 2.17`` - Replaced by the ``eglibc 2.19`` recipe. + +- ``gcc 4.7.2`` - Replaced by the now stable ``gcc 4.8.2``. + +- ``external-sourcery-toolchain`` - this recipe is now maintained in + the ``meta-sourcery`` layer. + +- ``linux-libc-headers-yocto 3.4+git`` - Now using version 3.10 of the + ``linux-libc-headers`` by default. + +- ``meta-toolchain-gmae`` - This recipe is obsolete. + +- ``packagegroup-core-sdk-gmae`` - This recipe is obsolete. + +- ``packagegroup-core-standalone-gmae-sdk-target`` - This recipe is + obsolete. + +.. _migration-1.6-removed-classes: + +Removed Classes +--------------- + +The following classes have become obsolete and have been removed: + +- ``module_strip`` + +- ``pkg_metainfo`` + +- ``pkg_distribute`` + +- ``image-empty`` + +.. _migration-1.6-reference-bsps: + +Reference Board Support Packages (BSPs) +--------------------------------------- + +The following reference BSPs changes occurred: + +- The BeagleBoard (``beagleboard``) ARM reference hardware has been + replaced by the BeagleBone (``beaglebone``) hardware. + +- The RouterStation Pro (``routerstationpro``) MIPS reference hardware + has been replaced by the EdgeRouter Lite (``edgerouter``) hardware. + +The previous reference BSPs for the ``beagleboard`` and +``routerstationpro`` machines are still available in a new +``meta-yocto-bsp-old`` layer in the +:yocto_git:`Source Repositories <>` at +:yocto_git:`/meta-yocto-bsp-old/`. + + diff --git a/poky/documentation/migration-guides/migration-1.7.rst b/poky/documentation/migration-guides/migration-1.7.rst new file mode 100644 index 000000000..c3a50eec8 --- /dev/null +++ b/poky/documentation/migration-guides/migration-1.7.rst @@ -0,0 +1,221 @@ +Release 1.7 (dizzy) +=================== + +This section provides migration information for moving to the Yocto +Project 1.7 Release (codename "dizzy") from the prior release. + +.. _migration-1.7-changes-to-setting-qemu-packageconfig-options: + +Changes to Setting QEMU ``PACKAGECONFIG`` Options in ``local.conf`` +------------------------------------------------------------------- + +The QEMU recipe now uses a number of +:term:`PACKAGECONFIG` options to enable various +optional features. The method used to set defaults for these options +means that existing ``local.conf`` files will need to be modified to +append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu`` +instead of setting it. In other words, to enable graphical output for +QEMU, you should now have these lines in ``local.conf``:: + + PACKAGECONFIG_append_pn-qemu-native = " sdl" + PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" + +.. _migration-1.7-minimum-git-version: + +Minimum Git version +------------------- + +The minimum :ref:`overview-manual/development-environment:git` +version required on the +build host is now 1.7.8 because the ``--list`` option is now required by +BitBake's Git fetcher. As always, if your host distribution does not +provide a version of Git that meets this requirement, you can use the +``buildtools-tarball`` that does. See the +":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`" +section for more information. + +.. _migration-1.7-autotools-class-changes: + +Autotools Class Changes +----------------------- + +The following :ref:`autotools ` class changes +occurred: + +- *A separate build directory is now used by default:* The + ``autotools`` class has been changed to use a directory for building + (:term:`B`), which is separate from the source directory + (:term:`S`). This is commonly referred to as ``B != S``, or + an out-of-tree build. + + If the software being built is already capable of building in a + directory separate from the source, you do not need to do anything. + However, if the software is not capable of being built in this + manner, you will need to either patch the software so that it can + build separately, or you will need to change the recipe to inherit + the :ref:`autotools-brokensep ` class + instead of the ``autotools`` or ``autotools_stage`` classes. + +- The ``--foreign`` option is no longer passed to ``automake`` when + running ``autoconf``: This option tells ``automake`` that a + particular software package does not follow the GNU standards and + therefore should not be expected to distribute certain files such as + ``ChangeLog``, ``AUTHORS``, and so forth. Because the majority of + upstream software packages already tell ``automake`` to enable + foreign mode themselves, the option is mostly superfluous. However, + some recipes will need patches for this change. You can easily make + the change by patching ``configure.ac`` so that it passes "foreign" + to ``AM_INIT_AUTOMAKE()``. See :oe_git:`this + commit ` + for an example showing how to make the patch. + +.. _migration-1.7-binary-configuration-scripts-disabled: + +Binary Configuration Scripts Disabled +------------------------------------- + +Some of the core recipes that package binary configuration scripts now +disable the scripts due to the scripts previously requiring error-prone +path substitution. Software that links against these libraries using +these scripts should use the much more robust ``pkg-config`` instead. +The list of recipes changed in this version (and their configuration +scripts) is as follows:: + + directfb (directfb-config) + freetype (freetype-config) + gpgme (gpgme-config) + libassuan (libassuan-config) + libcroco (croco-6.0-config) + libgcrypt (libgcrypt-config) + libgpg-error (gpg-error-config) + libksba (ksba-config) + libpcap (pcap-config) + libpcre (pcre-config) + libpng (libpng-config, libpng16-config) + libsdl (sdl-config) + libusb-compat (libusb-config) + libxml2 (xml2-config) + libxslt (xslt-config) + ncurses (ncurses-config) + neon (neon-config) + npth (npth-config) + pth (pth-config) + taglib (taglib-config) + +Additionally, support for ``pkg-config`` has been added to some recipes in the +previous list in the rare cases where the upstream software package does +not already provide it. + +.. _migration-1.7-glibc-replaces-eglibc: + +``eglibc 2.19`` Replaced with ``glibc 2.20`` +-------------------------------------------- + +Because ``eglibc`` and ``glibc`` were already fairly close, this +replacement should not require any significant changes to other software +that links to ``eglibc``. However, there were a number of minor changes +in ``glibc 2.20`` upstream that could require patching some software +(e.g. the removal of the ``_BSD_SOURCE`` feature test macro). + +``glibc 2.20`` requires version 2.6.32 or greater of the Linux kernel. +Thus, older kernels will no longer be usable in conjunction with it. + +For full details on the changes in ``glibc 2.20``, see the upstream +release notes +`here `__. + +.. _migration-1.7-kernel-module-autoloading: + +Kernel Module Autoloading +------------------------- + +The :term:`module_autoload_* ` variable is now +deprecated and a new +:term:`KERNEL_MODULE_AUTOLOAD` variable +should be used instead. Also, :term:`module_conf_* ` +must now be used in conjunction with a new +:term:`KERNEL_MODULE_PROBECONF` variable. +The new variables no longer require you to specify the module name as +part of the variable name. This change not only simplifies usage but +also allows the values of these variables to be appropriately +incorporated into task signatures and thus trigger the appropriate tasks +to re-execute when changed. You should replace any references to +``module_autoload_*`` with :term:`KERNEL_MODULE_AUTOLOAD`, and add any +modules for which ``module_conf_*`` is specified to +:term:`KERNEL_MODULE_PROBECONF`. + +.. _migration-1.7-qa-check-changes: + +QA Check Changes +---------------- + +The following changes have occurred to the QA check process: + +- Additional QA checks ``file-rdeps`` and ``build-deps`` have been + added in order to verify that file dependencies are satisfied (e.g. + package contains a script requiring ``/bin/bash``) and build-time + dependencies are declared, respectively. For more information, please + see the ":doc:`/ref-manual/qa-checks`" chapter. + +- Package QA checks are now performed during a new + :ref:`ref-tasks-package_qa` task rather than being + part of the :ref:`ref-tasks-package` task. This allows + more parallel execution. This change is unlikely to be an issue + except for highly customized recipes that disable packaging tasks + themselves by marking them as ``noexec``. For those packages, you + will need to disable the ``do_package_qa`` task as well. + +- Files being overwritten during the + :ref:`ref-tasks-populate_sysroot` task now + trigger an error instead of a warning. Recipes should not be + overwriting files written to the sysroot by other recipes. If you + have these types of recipes, you need to alter them so that they do + not overwrite these files. + + You might now receive this error after changes in configuration or + metadata resulting in orphaned files being left in the sysroot. If + you do receive this error, the way to resolve the issue is to delete + your :term:`TMPDIR` or to move it out of the way and + then re-start the build. Anything that has been fully built up to + that point and does not need rebuilding will be restored from the + shared state cache and the rest of the build will be able to proceed + as normal. + +.. _migration-1.7-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed: + +- ``x-load``: This recipe has been superseded by U-Boot SPL for all + Cortex-based TI SoCs. For legacy boards, the ``meta-ti`` layer, which + contains a maintained recipe, should be used instead. + +- ``ubootchart``: This recipe is obsolete. A ``bootchart2`` recipe has + been added to functionally replace it. + +- ``linux-yocto 3.4``: Support for the linux-yocto 3.4 kernel has been + dropped. Support for the 3.10 and 3.14 kernels remains, while support + for version 3.17 has been added. + +- ``eglibc`` has been removed in favor of ``glibc``. See the + ":ref:`migration-1.7-glibc-replaces-eglibc`" section for more information. + +.. _migration-1.7-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following miscellaneous change occurred: + +- The build history feature now writes ``build-id.txt`` instead of + ``build-id``. Additionally, ``build-id.txt`` now contains the full + build header as printed by BitBake upon starting the build. You + should manually remove old "build-id" files from your existing build + history repositories to avoid confusion. For information on the build + history feature, see the + ":ref:`dev-manual/common-tasks:maintaining build output quality`" + section in the Yocto Project Development Tasks Manual. + + diff --git a/poky/documentation/migration-guides/migration-1.8.rst b/poky/documentation/migration-guides/migration-1.8.rst new file mode 100644 index 000000000..51a13873e --- /dev/null +++ b/poky/documentation/migration-guides/migration-1.8.rst @@ -0,0 +1,183 @@ +Release 1.8 (fido) +================== + +This section provides migration information for moving to the Yocto +Project 1.8 Release (codename "fido") from the prior release. + +.. _migration-1.8-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed: + +- ``owl-video``: Functionality replaced by ``gst-player``. + +- ``gaku``: Functionality replaced by ``gst-player``. + +- ``gnome-desktop``: This recipe is now available in ``meta-gnome`` and + is no longer needed. + +- ``gsettings-desktop-schemas``: This recipe is now available in + ``meta-gnome`` and is no longer needed. + +- ``python-argparse``: The ``argparse`` module is already provided in + the default Python distribution in a package named + ``python-argparse``. Consequently, the separate ``python-argparse`` + recipe is no longer needed. + +- ``telepathy-python, libtelepathy, telepathy-glib, telepathy-idle, telepathy-mission-control``: + All these recipes have moved to ``meta-oe`` and are consequently no + longer needed by any recipes in OpenEmbedded-Core. + +- ``linux-yocto_3.10`` and ``linux-yocto_3.17``: Support for the + linux-yocto 3.10 and 3.17 kernels has been dropped. Support for the + 3.14 kernel remains, while support for 3.19 kernel has been added. + +- ``poky-feed-config-opkg``: This recipe has become obsolete and is no + longer needed. Use ``distro-feed-config`` from ``meta-oe`` instead. + +- ``libav 0.8.x``: ``libav 9.x`` is now used. + +- ``sed-native``: No longer needed. A working version of ``sed`` is + expected to be provided by the host distribution. + +.. _migration-1.8-bluez: + +BlueZ 4.x / 5.x Selection +------------------------- + +Proper built-in support for selecting BlueZ 5.x in preference to the +default of 4.x now exists. To use BlueZ 5.x, simply add "bluez5" to your +:term:`DISTRO_FEATURES` value. If you had +previously added append files (``*.bbappend``) to make this selection, +you can now remove them. + +Additionally, a ``bluetooth`` class has been added to make selection of +the appropriate bluetooth support within a recipe a little easier. If +you wish to make use of this class in a recipe, add something such as +the following:: + + inherit bluetooth + PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}" + PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4" + PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5" + +.. _migration-1.8-kernel-build-changes: + +Kernel Build Changes +-------------------- + +The kernel build process was changed to place the source in a common +shared work area and to place build artifacts separately in the source +code tree. In theory, migration paths have been provided for most common +usages in kernel recipes but this might not work in all cases. In +particular, users need to ensure that ``${S}`` (source files) and +``${B}`` (build artifacts) are used correctly in functions such as +:ref:`ref-tasks-configure` and +:ref:`ref-tasks-install`. For kernel recipes that do not +inherit from ``kernel-yocto`` or include ``linux-yocto.inc``, you might +wish to refer to the ``linux.inc`` file in the ``meta-oe`` layer for the +kinds of changes you need to make. For reference, here is the +:oe_git:`commit ` +where the ``linux.inc`` file in ``meta-oe`` was updated. + +Recipes that rely on the kernel source code and do not inherit the +module classes might need to add explicit dependencies on the +``do_shared_workdir`` kernel task, for example:: + + do_configure[depends] += "virtual/kernel:do_shared_workdir" + +.. _migration-1.8-ssl: + +SSL 3.0 is Now Disabled in OpenSSL +---------------------------------- + +SSL 3.0 is now disabled when building OpenSSL. Disabling SSL 3.0 avoids +any lingering instances of the POODLE vulnerability. If you feel you +must re-enable SSL 3.0, then you can add an append file (``*.bbappend``) +for the ``openssl`` recipe to remove "-no-ssl3" from +:term:`EXTRA_OECONF`. + +.. _migration-1.8-default-sysroot-poisoning: + +Default Sysroot Poisoning +------------------------- + +``gcc's`` default sysroot and include directories are now "poisoned". In +other words, the sysroot and include directories are being redirected to +a non-existent location in order to catch when host directories are +being used due to the correct options not being passed. This poisoning +applies both to the cross-compiler used within the build and to the +cross-compiler produced in the SDK. + +If this change causes something in the build to fail, it almost +certainly means the various compiler flags and commands are not being +passed correctly to the underlying piece of software. In such cases, you +need to take corrective steps. + +.. _migration-1.8-rebuild-improvements: + +Rebuild Improvements +-------------------- + +Changes have been made to the :ref:`base `, +:ref:`autotools `, and +:ref:`cmake ` classes to clean out generated files +when the :ref:`ref-tasks-configure` task needs to be +re-executed. + +One of the improvements is to attempt to run "make clean" during the +``do_configure`` task if a ``Makefile`` exists. Some software packages +do not provide a working clean target within their make files. If you +have such recipes, you need to set +:term:`CLEANBROKEN` to "1" within the recipe, for example:: + + CLEANBROKEN = "1" + +.. _migration-1.8-qa-check-and-validation-changes: + +QA Check and Validation Changes +------------------------------- + +The following QA Check and Validation Changes have occurred: + +- Usage of ``PRINC`` previously triggered a warning. It now triggers an + error. You should remove any remaining usage of ``PRINC`` in any + recipe or append file. + +- An additional QA check has been added to detect usage of ``${D}`` in + :term:`FILES` values where :term:`D` values + should not be used at all. The same check ensures that ``$D`` is used + in ``pkg_preinst/pkg_postinst/pkg_prerm/pkg_postrm`` functions + instead of ``${D}``. + +- :term:`S` now needs to be set to a valid value within a + recipe. If :term:`S` is not set in the recipe, the directory is not + automatically created. If :term:`S` does not point to a directory that + exists at the time the :ref:`ref-tasks-unpack` task + finishes, a warning will be shown. + +- :term:`LICENSE` is now validated for correct + formatting of multiple licenses. If the format is invalid (e.g. + multiple licenses are specified with no operators to specify how the + multiple licenses interact), then a warning will be shown. + +.. _migration-1.8-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following miscellaneous changes have occurred: + +- The ``send-error-report`` script now expects a "-s" option to be + specified before the server address. This assumes a server address is + being specified. + +- The ``oe-pkgdata-util`` script now expects a "-p" option to be + specified before the ``pkgdata`` directory, which is now optional. If + the ``pkgdata`` directory is not specified, the script will run + BitBake to query :term:`PKGDATA_DIR` from the + build environment. + + diff --git a/poky/documentation/migration-guides/migration-2.0.rst b/poky/documentation/migration-guides/migration-2.0.rst new file mode 100644 index 000000000..721785377 --- /dev/null +++ b/poky/documentation/migration-guides/migration-2.0.rst @@ -0,0 +1,278 @@ +Release 2.0 (jethro) +==================== + +This section provides migration information for moving to the Yocto +Project 2.0 Release (codename "jethro") from the prior release. + +.. _migration-2.0-gcc-5: + +GCC 5 +----- + +The default compiler is now GCC 5.2. This change has required fixes for +compilation errors in a number of other recipes. + +One important example is a fix for when the Linux kernel freezes at boot +time on ARM when built with GCC 5. If you are using your own kernel +recipe or source tree and building for ARM, you will likely need to +apply this +`patch `__. +The standard ``linux-yocto`` kernel source tree already has a workaround +for the same issue. + +For further details, see https://gcc.gnu.org/gcc-5/changes.html +and the porting guide at +https://gcc.gnu.org/gcc-5/porting_to.html. + +Alternatively, you can switch back to GCC 4.9 or 4.8 by setting +:term:`GCCVERSION` in your configuration, as follows:: + + GCCVERSION = "4.9%" + +.. _migration-2.0-Gstreamer-0.10-removed: + +Gstreamer 0.10 Removed +---------------------- + +Gstreamer 0.10 has been removed in favor of Gstreamer 1.x. As part of +the change, recipes for Gstreamer 0.10 and related software are now +located in ``meta-multimedia``. This change results in Qt4 having Phonon +and Gstreamer support in QtWebkit disabled by default. + +.. _migration-2.0-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been moved or removed: + +- ``bluez4``: The recipe is obsolete and has been moved due to + ``bluez5`` becoming fully integrated. The ``bluez4`` recipe now + resides in ``meta-oe``. + +- ``gamin``: The recipe is obsolete and has been removed. + +- ``gnome-icon-theme``: The recipe's functionally has been replaced by + ``adwaita-icon-theme``. + +- Gstreamer 0.10 Recipes: Recipes for Gstreamer 0.10 have been removed + in favor of the recipes for Gstreamer 1.x. + +- ``insserv``: The recipe is obsolete and has been removed. + +- ``libunique``: The recipe is no longer used and has been moved to + ``meta-oe``. + +- ``midori``: The recipe's functionally has been replaced by + ``epiphany``. + +- ``python-gst``: The recipe is obsolete and has been removed since it + only contains bindings for Gstreamer 0.10. + +- ``qt-mobility``: The recipe is obsolete and has been removed since it + requires ``Gstreamer 0.10``, which has been replaced. + +- ``subversion``: All 1.6.x versions of this recipe have been removed. + +- ``webkit-gtk``: The older 1.8.3 version of this recipe has been + removed in favor of ``webkitgtk``. + +.. _migration-2.0-bitbake-datastore-improvements: + +BitBake datastore improvements +------------------------------ + +The method by which BitBake's datastore handles overrides has changed. +Overrides are now applied dynamically and ``bb.data.update_data()`` is +now a no-op. Thus, ``bb.data.update_data()`` is no longer required in +order to apply the correct overrides. In practice, this change is +unlikely to require any changes to Metadata. However, these minor +changes in behavior exist: + +- All potential overrides are now visible in the variable history as + seen when you run the following:: + + $ bitbake -e + +- ``d.delVar('VARNAME')`` and + ``d.setVar('VARNAME', None)`` result in the variable and all + of its overrides being cleared out. Before the change, only the + non-overridden values were cleared. + +.. _migration-2.0-shell-message-function-changes: + +Shell Message Function Changes +------------------------------ + +The shell versions of the BitBake message functions (i.e. ``bbdebug``, +``bbnote``, ``bbwarn``, ``bbplain``, ``bberror``, and ``bbfatal``) are +now connected through to their BitBake equivalents ``bb.debug()``, +``bb.note()``, ``bb.warn()``, ``bb.plain()``, ``bb.error()``, and +``bb.fatal()``, respectively. Thus, those message functions that you +would expect to be printed by the BitBake UI are now actually printed. +In practice, this change means two things: + +- If you now see messages on the console that you did not previously + see as a result of this change, you might need to clean up the calls + to ``bbwarn``, ``bberror``, and so forth. Or, you might want to + simply remove the calls. + +- The ``bbfatal`` message function now suppresses the full error log in + the UI, which means any calls to ``bbfatal`` where you still wish to + see the full error log should be replaced by ``die`` or + ``bbfatal_log``. + +.. _migration-2.0-extra-development-debug-package-cleanup: + +Extra Development/Debug Package Cleanup +--------------------------------------- + +The following recipes have had extra ``dev/dbg`` packages removed: + +- ``acl`` + +- ``apmd`` + +- ``aspell`` + +- ``attr`` + +- ``augeas`` + +- ``bzip2`` + +- ``cogl`` + +- ``curl`` + +- ``elfutils`` + +- ``gcc-target`` + +- ``libgcc`` + +- ``libtool`` + +- ``libxmu`` + +- ``opkg`` + +- ``pciutils`` + +- ``rpm`` + +- ``sysfsutils`` + +- ``tiff`` + +- ``xz`` + +All of the above recipes now conform to the standard packaging scheme +where a single ``-dev``, ``-dbg``, and ``-staticdev`` package exists per +recipe. + +.. _migration-2.0-recipe-maintenance-tracking-data-moved-to-oe-core: + +Recipe Maintenance Tracking Data Moved to OE-Core +------------------------------------------------- + +Maintenance tracking data for recipes that was previously part of +``meta-yocto`` has been moved to :term:`OpenEmbedded-Core (OE-Core)`. The change +includes ``package_regex.inc`` and ``distro_alias.inc``, which are +typically enabled when using the ``distrodata`` class. Additionally, the +contents of ``upstream_tracking.inc`` has now been split out to the +relevant recipes. + +.. _migration-2.0-automatic-stale-sysroot-file-cleanup: + +Automatic Stale Sysroot File Cleanup +------------------------------------ + +Stale files from recipes that no longer exist in the current +configuration are now automatically removed from sysroot as well as +removed from any other place managed by shared state. This automatic +cleanup means that the build system now properly handles situations such +as renaming the build system side of recipes, removal of layers from +``bblayers.conf``, and :term:`DISTRO_FEATURES` +changes. + +Additionally, work directories for old versions of recipes are now +pruned. If you wish to disable pruning old work directories, you can set +the following variable in your configuration:: + + SSTATE_PRUNE_OBSOLETEWORKDIR = "0" + +.. _migration-2.0-linux-yocto-kernel-metadata-repository-now-split-from-source: + +``linux-yocto`` Kernel Metadata Repository Now Split from Source +---------------------------------------------------------------- + +The ``linux-yocto`` tree has up to now been a combined set of kernel +changes and configuration (meta) data carried in a single tree. While +this format is effective at keeping kernel configuration and source +modifications synchronized, it is not always obvious to developers how +to manipulate the Metadata as compared to the source. + +Metadata processing has now been removed from the +:ref:`kernel-yocto ` class and the external +Metadata repository ``yocto-kernel-cache``, which has always been used +to seed the ``linux-yocto`` "meta" branch. This separate ``linux-yocto`` +cache repository is now the primary location for this data. Due to this +change, ``linux-yocto`` is no longer able to process combined trees. +Thus, if you need to have your own combined kernel repository, you must +do the split there as well and update your recipes accordingly. See the +``meta/recipes-kernel/linux/linux-yocto_4.1.bb`` recipe for an example. + +.. _migration-2.0-additional-qa-checks: + +Additional QA checks +-------------------- + +The following QA checks have been added: + +- Added a "host-user-contaminated" check for ownership issues for + packaged files outside of ``/home``. The check looks for files that + are incorrectly owned by the user that ran BitBake instead of owned + by a valid user in the target system. + +- Added an "invalid-chars" check for invalid (non-UTF8) characters in + recipe metadata variable values (i.e. + :term:`DESCRIPTION`, + :term:`SUMMARY`, :term:`LICENSE`, and + :term:`SECTION`). Some package managers do not support + these characters. + +- Added an "invalid-packageconfig" check for any options specified in + :term:`PACKAGECONFIG` that do not match any + :term:`PACKAGECONFIG` option defined for the recipe. + +.. _migration-2.0-miscellaneous: + +Miscellaneous Changes +--------------------- + +These additional changes exist: + +- ``gtk-update-icon-cache`` has been renamed to ``gtk-icon-utils``. + +- The ``tools-profile`` :term:`IMAGE_FEATURES` + item as well as its corresponding packagegroup and + ``packagegroup-core-tools-profile`` no longer bring in ``oprofile``. + Bringing in ``oprofile`` was originally added to aid compilation on + resource-constrained targets. However, this aid has not been widely + used and is not likely to be used going forward due to the more + powerful target platforms and the existence of better + cross-compilation tools. + +- The :term:`IMAGE_FSTYPES` variable's default + value now specifies ``ext4`` instead of ``ext3``. + +- All support for the ``PRINC`` variable has been removed. + +- The ``packagegroup-core-full-cmdline`` packagegroup no longer brings + in ``lighttpd`` due to the fact that bringing in ``lighttpd`` is not + really in line with the packagegroup's purpose, which is to add full + versions of command-line tools that by default are provided by + ``busybox``. + + diff --git a/poky/documentation/migration-guides/migration-2.1.rst b/poky/documentation/migration-guides/migration-2.1.rst new file mode 100644 index 000000000..6c5ed965d --- /dev/null +++ b/poky/documentation/migration-guides/migration-2.1.rst @@ -0,0 +1,432 @@ +Release 2.1 (krogoth) +===================== + +This section provides migration information for moving to the Yocto +Project 2.1 Release (codename "krogoth") from the prior release. + +.. _migration-2.1-variable-expansion-in-python-functions: + +Variable Expansion in Python Functions +-------------------------------------- + +Variable expressions, such as ``${VARNAME}`` no longer expand +automatically within Python functions. Suppressing expansion was done to +allow Python functions to construct shell scripts or other code for +situations in which you do not want such expressions expanded. For any +existing code that relies on these expansions, you need to change the +expansions to expand the value of individual variables through +``d.getVar()``. To alternatively expand more complex expressions, use +``d.expand()``. + +.. _migration-2.1-overrides-must-now-be-lower-case: + +Overrides Must Now be Lower-Case +-------------------------------- + +The convention for overrides has always been for them to be lower-case +characters. This practice is now a requirement as BitBake's datastore +now assumes lower-case characters in order to give a slight performance +boost during parsing. In practical terms, this requirement means that +anything that ends up in :term:`OVERRIDES` must now +appear in lower-case characters (e.g. values for :term:`MACHINE`, +:term:`TARGET_ARCH`, :term:`DISTRO`, and also recipe names if +``_pn-``\ recipename overrides are to be effective). + +.. _migration-2.1-expand-parameter-to-getvar-and-getvarflag-now-mandatory: + +Expand Parameter to ``getVar()`` and ``getVarFlag()`` is Now Mandatory +---------------------------------------------------------------------- + +The expand parameter to ``getVar()`` and ``getVarFlag()`` previously +defaulted to False if not specified. Now, however, no default exists so +one must be specified. You must change any ``getVar()`` calls that do +not specify the final expand parameter to calls that do specify the +parameter. You can run the following ``sed`` command at the base of a +layer to make this change:: + + sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *` + sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *` + +.. note:: + + The reason for this change is that it prepares the way for changing + the default to True in a future Yocto Project release. This future + change is a much more sensible default than False. However, the + change needs to be made gradually as a sudden change of the default + would potentially cause side-effects that would be difficult to + detect. + +.. _migration-2.1-makefile-environment-changes: + +Makefile Environment Changes +---------------------------- + +:term:`EXTRA_OEMAKE` now defaults to "" instead of +"-e MAKEFLAGS=". Setting ``EXTRA_OEMAKE`` to "-e MAKEFLAGS=" by default +was a historical accident that has required many classes (e.g. +``autotools``, ``module``) and recipes to override this default in order +to work with sensible build systems. When upgrading to the release, you +must edit any recipe that relies upon this old default by either setting +``EXTRA_OEMAKE`` back to "-e MAKEFLAGS=" or by explicitly setting any +required variable value overrides using :term:`EXTRA_OEMAKE`, which is +typically only needed when a Makefile sets a default value for a +variable that is inappropriate for cross-compilation using the "=" +operator rather than the "?=" operator. + +.. _migration-2.1-libexecdir-reverted-to-prefix-libexec: + +``libexecdir`` Reverted to ``${prefix}/libexec`` +------------------------------------------------ + +The use of ``${libdir}/${BPN}`` as ``libexecdir`` is different as +compared to all other mainstream distributions, which either uses +``${prefix}/libexec`` or ``${libdir}``. The use is also contrary to the +GNU Coding Standards (i.e. +https://www.gnu.org/prep/standards/html_node/Directory-Variables.html) +that suggest ``${prefix}/libexec`` and also notes that any +package-specific nesting should be done by the package itself. Finally, +having ``libexecdir`` change between recipes makes it very difficult for +different recipes to invoke binaries that have been installed into +``libexecdir``. The Filesystem Hierarchy Standard (i.e. +https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html) now +recognizes the use of ``${prefix}/libexec/``, giving distributions the +choice between ``${prefix}/lib`` or ``${prefix}/libexec`` without +breaking FHS. + +.. _migration-2.1-ac-cv-sizeof-off-t-no-longer-cached-in-site-files: + +``ac_cv_sizeof_off_t`` is No Longer Cached in Site Files +-------------------------------------------------------- + +For recipes inheriting the :ref:`autotools ` +class, ``ac_cv_sizeof_off_t`` is no longer cached in the site files for +``autoconf``. The reason for this change is because the +``ac_cv_sizeof_off_t`` value is not necessarily static per architecture +as was previously assumed. Rather, the value changes based on whether +large file support is enabled. For most software that uses ``autoconf``, +this change should not be a problem. However, if you have a recipe that +bypasses the standard :ref:`ref-tasks-configure` task +from the ``autotools`` class and the software the recipe is building +uses a very old version of ``autoconf``, the recipe might be incapable +of determining the correct size of ``off_t`` during ``do_configure``. + +The best course of action is to patch the software as necessary to allow +the default implementation from the ``autotools`` class to work such +that ``autoreconf`` succeeds and produces a working configure script, +and to remove the overridden ``do_configure`` task such that the default +implementation does get used. + +.. _migration-2.1-image-generation-split-out-from-filesystem-generation: + +Image Generation is Now Split Out from Filesystem Generation +------------------------------------------------------------ + +Previously, for image recipes the :ref:`ref-tasks-rootfs` +task assembled the filesystem and then from that filesystem generated +images. With this Yocto Project release, image generation is split into +separate :ref:`ref-tasks-image` tasks for clarity both in +operation and in the code. + +For most cases, this change does not present any problems. However, if +you have made customizations that directly modify the ``do_rootfs`` task +or that mention ``do_rootfs``, you might need to update those changes. +In particular, if you had added any tasks after ``do_rootfs``, you +should make edits so that those tasks are after the +:ref:`ref-tasks-image-complete` task rather than +after ``do_rootfs`` so that your added tasks run at the correct +time. + +A minor part of this restructuring is that the post-processing +definitions and functions have been moved from the +:ref:`image ` class to the +:ref:`rootfs-postcommands ` class. Functionally, +however, they remain unchanged. + +.. _migration-2.1-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed in the 2.1 release: + +- ``gcc`` version 4.8: Versions 4.9 and 5.3 remain. + +- ``qt4``: All support for Qt 4.x has been moved out to a separate + ``meta-qt4`` layer because Qt 4 is no longer supported upstream. + +- ``x11vnc``: Moved to the ``meta-oe`` layer. + +- ``linux-yocto-3.14``: No longer supported. + +- ``linux-yocto-3.19``: No longer supported. + +- ``libjpeg``: Replaced by the ``libjpeg-turbo`` recipe. + +- ``pth``: Became obsolete. + +- ``liboil``: Recipe is no longer needed and has been moved to the + ``meta-multimedia`` layer. + +- ``gtk-theme-torturer``: Recipe is no longer needed and has been moved + to the ``meta-gnome`` layer. + +- ``gnome-mime-data``: Recipe is no longer needed and has been moved to + the ``meta-gnome`` layer. + +- ``udev``: Replaced by the ``eudev`` recipe for compatibility when + using ``sysvinit`` with newer kernels. + +- ``python-pygtk``: Recipe became obsolete. + +- ``adt-installer``: Recipe became obsolete. See the + ":ref:`migration-guides/migration-2.1:adt removed`" section for more information. + +.. _migration-2.1-class-changes: + +Class Changes +------------- + +The following classes have changed: + +- ``autotools_stage``: Removed because the + :ref:`autotools ` class now provides its + functionality. Recipes that inherited from ``autotools_stage`` should + now inherit from ``autotools`` instead. + +- ``boot-directdisk``: Merged into the ``image-vm`` class. The + ``boot-directdisk`` class was rarely directly used. Consequently, + this change should not cause any issues. + +- ``bootimg``: Merged into the + :ref:`image-live ` class. The ``bootimg`` + class was rarely directly used. Consequently, this change should not + cause any issues. + +- ``packageinfo``: Removed due to its limited use by the Hob UI, which + has itself been removed. + +.. _migration-2.1-build-system-ui-changes: + +Build System User Interface Changes +----------------------------------- + +The following changes have been made to the build system user interface: + +- *Hob GTK+-based UI*: Removed because it is unmaintained and based on + the outdated GTK+ 2 library. The Toaster web-based UI is much more + capable and is actively maintained. See the + ":ref:`toaster-manual/setup-and-use:using the toaster web interface`" + section in the Toaster User Manual for more information on this + interface. + +- *"puccho" BitBake UI*: Removed because is unmaintained and no longer + useful. + +.. _migration-2.1-adt-removed: + +ADT Removed +----------- + +The Application Development Toolkit (ADT) has been removed because its +functionality almost completely overlapped with the :ref:`standard +SDK ` and the +:ref:`extensible SDK `. For +information on these SDKs and how to build and use them, see the +:doc:`/sdk-manual/index` manual. + +.. note:: + + The Yocto Project Eclipse IDE Plug-in is still supported and is not + affected by this change. + +.. _migration-2.1-poky-reference-distribution-changes: + +Poky Reference Distribution Changes +----------------------------------- + +The following changes have been made for the Poky distribution: + +- The ``meta-yocto`` layer has been renamed to ``meta-poky`` to better + match its purpose, which is to provide the Poky reference + distribution. The ``meta-yocto-bsp`` layer retains its original name + since it provides reference machines for the Yocto Project and it is + otherwise unrelated to Poky. References to ``meta-yocto`` in your + ``conf/bblayers.conf`` should automatically be updated, so you should + not need to change anything unless you are relying on this naming + elsewhere. + +- The :ref:`uninative ` class is now enabled + by default in Poky. This class attempts to isolate the build system + from the host distribution's C library and makes re-use of native + shared state artifacts across different host distributions practical. + With this class enabled, a tarball containing a pre-built C library + is downloaded at the start of the build. + + The ``uninative`` class is enabled through the + ``meta/conf/distro/include/yocto-uninative.inc`` file, which for + those not using the Poky distribution, can include to easily enable + the same functionality. + + Alternatively, if you wish to build your own ``uninative`` tarball, + you can do so by building the ``uninative-tarball`` recipe, making it + available to your build machines (e.g. over HTTP/HTTPS) and setting a + similar configuration as the one set by ``yocto-uninative.inc``. + +- Static library generation, for most cases, is now disabled by default + in the Poky distribution. Disabling this generation saves some build + time as well as the size used for build output artifacts. + + Disabling this library generation is accomplished through a + ``meta/conf/distro/include/no-static-libs.inc``, which for those not + using the Poky distribution can easily include to enable the same + functionality. + + Any recipe that needs to opt-out of having the "--disable-static" + option specified on the configure command line either because it is + not a supported option for the configure script or because static + libraries are needed should set the following variable:: + + DISABLE_STATIC = "" + +- The separate ``poky-tiny`` distribution now uses the musl C library + instead of a heavily pared down ``glibc``. Using musl results in a + smaller distribution and facilitates much greater maintainability + because musl is designed to have a small footprint. + + If you have used ``poky-tiny`` and have customized the ``glibc`` + configuration you will need to redo those customizations with musl + when upgrading to the new release. + +.. _migration-2.1-packaging-changes: + +Packaging Changes +----------------- + +The following changes have been made to packaging: + +- The ``runuser`` and ``mountpoint`` binaries, which were previously in + the main ``util-linux`` package, have been split out into the + ``util-linux-runuser`` and ``util-linux-mountpoint`` packages, + respectively. + +- The ``python-elementtree`` package has been merged into the + ``python-xml`` package. + +.. _migration-2.1-tuning-file-changes: + +Tuning File Changes +------------------- + +The following changes have been made to the tuning files: + +- The "no-thumb-interwork" tuning feature has been dropped from the ARM + tune include files. Because interworking is required for ARM EABI, + attempting to disable it through a tuning feature no longer makes + sense. + + .. note:: + + Support for ARM OABI was deprecated in gcc 4.7. + +- The ``tune-cortexm*.inc`` and ``tune-cortexr4.inc`` files have been + removed because they are poorly tested. Until the OpenEmbedded build + system officially gains support for CPUs without an MMU, these tuning + files would probably be better maintained in a separate layer if + needed. + +.. _migration-2.1-supporting-gobject-introspection: + +Supporting GObject Introspection +-------------------------------- + +This release supports generation of GLib Introspective Repository (GIR) +files through GObject introspection, which is the standard mechanism for +accessing GObject-based software from runtime environments. You can +enable, disable, and test the generation of this data. See the +":ref:`dev-manual/common-tasks:enabling gobject introspection support`" +section in the Yocto Project Development Tasks Manual for more +information. + +.. _migration-2.1-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +These additional changes exist: + +- The minimum Git version has been increased to 1.8.3.1. If your host + distribution does not provide a sufficiently recent version, you can + install the buildtools, which will provide it. See the + :ref:`ref-manual/system-requirements:required git, tar, python and gcc versions` + section for more information on the buildtools tarball. + +- The buggy and incomplete support for the RPM version 4 package + manager has been removed. The well-tested and maintained support for + RPM version 5 remains. + +- Previously, the following list of packages were removed if + package-management was not in + :term:`IMAGE_FEATURES`, regardless of any + dependencies:: + + update-rc.d + base-passwd + shadow + update-alternatives + run-postinsts + + With the Yocto Project 2.1 release, these packages are + only removed if "read-only-rootfs" is in :term:`IMAGE_FEATURES`, since + they might still be needed for a read-write image even in the absence + of a package manager (e.g. if users need to be added, modified, or + removed at runtime). + +- The + :ref:`devtool modify ` + command now defaults to extracting the source since that is most + commonly expected. The "-x" or "--extract" options are now no-ops. If + you wish to provide your own existing source tree, you will now need + to specify either the "-n" or "--no-extract" options when running + ``devtool modify``. + +- If the formfactor for a machine is either not supplied or does not + specify whether a keyboard is attached, then the default is to assume + a keyboard is attached rather than assume no keyboard. This change + primarily affects the Sato UI. + +- The ``.debug`` directory packaging is now automatic. If your recipe + builds software that installs binaries into directories other than + the standard ones, you no longer need to take care of setting + ``FILES_${PN}-dbg`` to pick up the resulting ``.debug`` directories + as these directories are automatically found and added. + +- Inaccurate disk and CPU percentage data has been dropped from + ``buildstats`` output. This data has been replaced with + ``getrusage()`` data and corrected IO statistics. You will probably + need to update any custom code that reads the ``buildstats`` data. + +- The ``meta/conf/distro/include/package_regex.inc`` is now deprecated. + The contents of this file have been moved to individual recipes. + + .. note:: + + Because this file will likely be removed in a future Yocto Project + release, it is suggested that you remove any references to the + file that might be in your configuration. + +- The ``v86d/uvesafb`` has been removed from the ``genericx86`` and + ``genericx86-64`` reference machines, which are provided by the + ``meta-yocto-bsp`` layer. Most modern x86 boards do not rely on this + file and it only adds kernel error messages during startup. If you do + still need to support ``uvesafb``, you can simply add ``v86d`` to + your image. + +- Build sysroot paths are now removed from debug symbol files. Removing + these paths means that remote GDB using an unstripped build system + sysroot will no longer work (although this was never documented to + work). The supported method to accomplish something similar is to set + ``IMAGE_GEN_DEBUGFS`` to "1", which will generate a companion debug + image containing unstripped binaries and associated debug sources + alongside the image. + + diff --git a/poky/documentation/migration-guides/migration-2.2.rst b/poky/documentation/migration-guides/migration-2.2.rst new file mode 100644 index 000000000..d6dacdf34 --- /dev/null +++ b/poky/documentation/migration-guides/migration-2.2.rst @@ -0,0 +1,457 @@ +Release 2.2 (morty) +=================== + +This section provides migration information for moving to the Yocto +Project 2.2 Release (codename "morty") from the prior release. + +.. _migration-2.2-minimum-kernel-version: + +Minimum Kernel Version +---------------------- + +The minimum kernel version for the target system and for SDK is now +3.2.0, due to the upgrade to ``glibc 2.24``. Specifically, for +AArch64-based targets the version is 3.14. For Nios II-based targets, +the minimum kernel version is 3.19. + +.. note:: + + For x86 and x86_64, you can reset :term:`OLDEST_KERNEL` + to anything down to 2.6.32 if desired. + +.. _migration-2.2-staging-directories-in-sysroot-simplified: + +Staging Directories in Sysroot Has Been Simplified +-------------------------------------------------- + +The way directories are staged in sysroot has been simplified and +introduces the new :term:`SYSROOT_DIRS`, +:term:`SYSROOT_DIRS_NATIVE`, and +:term:`SYSROOT_DIRS_BLACKLIST`. See the +:oe_lists:`v2 patch series on the OE-Core Mailing List +` +for additional information. + +.. _migration-2.2-removal-of-old-images-from-tmp-deploy-now-enabled: + +Removal of Old Images and Other Files in ``tmp/deploy`` Now Enabled +------------------------------------------------------------------- + +Removal of old images and other files in ``tmp/deploy/`` is now enabled +by default due to a new staging method used for those files. As a result +of this change, the ``RM_OLD_IMAGE`` variable is now redundant. + +.. _migration-2.2-python-changes: + +Python Changes +-------------- + +The following changes for Python occurred: + +.. _migration-2.2-bitbake-now-requires-python-3.4: + +BitBake Now Requires Python 3.4+ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +BitBake requires Python 3.4 or greater. + +.. _migration-2.2-utf-8-locale-required-on-build-host: + +UTF-8 Locale Required on Build Host +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A UTF-8 locale is required on the build host due to Python 3. Since +C.UTF-8 is not a standard, the default is en_US.UTF-8. + +.. _migration-2.2-metadata-now-must-use-python-3-syntax: + +Metadata Must Now Use Python 3 Syntax +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The metadata is now required to use Python 3 syntax. For help preparing +metadata, see any of the many Python 3 porting guides available. +Alternatively, you can reference the conversion commits for Bitbake and +you can use :term:`OpenEmbedded-Core (OE-Core)` as a guide for changes. Following are +particular areas of interest: + + - subprocess command-line pipes needing locale decoding + + - the syntax for octal values changed + + - the ``iter*()`` functions changed name + + - iterators now return views, not lists + + - changed names for Python modules + +.. _migration-2.2-target-python-recipes-switched-to-python-3: + +Target Python Recipes Switched to Python 3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Most target Python recipes have now been switched to Python 3. +Unfortunately, systems using RPM as a package manager and providing +online package-manager support through SMART still require Python 2. + +.. note:: + + Python 2 and recipes that use it can still be built for the target as + with previous versions. + +.. _migration-2.2-buildtools-tarball-includes-python-3: + +``buildtools-tarball`` Includes Python 3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +``buildtools-tarball`` now includes Python 3. + +.. _migration-2.2-uclibc-replaced-by-musl: + +uClibc Replaced by musl +----------------------- + +uClibc has been removed in favor of musl. Musl has matured, is better +maintained, and is compatible with a wider range of applications as +compared to uClibc. + +.. _migration-2.2-B-no-longer-default-working-directory-for-tasks: + +``${B}`` No Longer Default Working Directory for Tasks +------------------------------------------------------ + +``${``\ :term:`B`\ ``}`` is no longer the default working +directory for tasks. Consequently, any custom tasks you define now need +to either have the +``[``\ :ref:`dirs `\ ``]`` flag +set, or the task needs to change into the appropriate working directory +manually (e.g using ``cd`` for a shell task). + +.. note:: + + The preferred method is to use the + [dirs] + flag. + +.. _migration-2.2-runqemu-ported-to-python: + +``runqemu`` Ported to Python +---------------------------- + +``runqemu`` has been ported to Python and has changed behavior in some +cases. Previous usage patterns continue to be supported. + +The new ``runqemu`` is a Python script. Machine knowledge is no longer +hardcoded into ``runqemu``. You can choose to use the ``qemuboot`` +configuration file to define the BSP's own arguments and to make it +bootable with ``runqemu``. If you use a configuration file, use the +following form:: + + image-name-machine.qemuboot.conf + +The configuration file +enables fine-grained tuning of options passed to QEMU without the +``runqemu`` script hard-coding any knowledge about different machines. +Using a configuration file is particularly convenient when trying to use +QEMU with machines other than the ``qemu*`` machines in +:term:`OpenEmbedded-Core (OE-Core)`. The ``qemuboot.conf`` file is generated by the +``qemuboot`` class when the root filesystem is being build (i.e. build +rootfs). QEMU boot arguments can be set in BSP's configuration file and +the ``qemuboot`` class will save them to ``qemuboot.conf``. + +If you want to use ``runqemu`` without a configuration file, use the +following command form:: + + $ runqemu machine rootfs kernel [options] + +Supported machines are as follows: + + - qemuarm + - qemuarm64 + - qemux86 + - qemux86-64 + - qemuppc + - qemumips + - qemumips64 + - qemumipsel + - qemumips64el + +Consider the +following example, which uses the ``qemux86-64`` machine, provides a +root filesystem, provides an image, and uses the ``nographic`` option:: + + $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tmp/deploy/images/qemux86-64/bzImage nographic + +Following is a list of variables that can be set in configuration files +such as ``bsp.conf`` to enable the BSP to be booted by ``runqemu``: + +.. note:: + + "QB" means "QEMU Boot". + +:: + + QB_SYSTEM_NAME: QEMU name (e.g. "qemu-system-i386") + QB_OPT_APPEND: Options to append to QEMU (e.g. "-show-cursor") + QB_DEFAULT_KERNEL: Default kernel to boot (e.g. "bzImage") + QB_DEFAULT_FSTYPE: Default FSTYPE to boot (e.g. "ext4") + QB_MEM: Memory (e.g. "-m 512") + QB_MACHINE: QEMU machine (e.g. "-machine virt") + QB_CPU: QEMU cpu (e.g. "-cpu qemu32") + QB_CPU_KVM: Similar to QB_CPU except used for kvm support (e.g. "-cpu kvm64") + QB_KERNEL_CMDLINE_APPEND: Options to append to the kernel's -append + option (e.g. "console=ttyS0 console=tty") + QB_DTB: QEMU dtb name + QB_AUDIO_DRV: QEMU audio driver (e.g. "alsa", set it when support audio) + QB_AUDIO_OPT: QEMU audio option (e.g. "-soundhw ac97,es1370"), which is used + when QB_AUDIO_DRV is set. + QB_KERNEL_ROOT: Kernel's root (e.g. /dev/vda) + QB_TAP_OPT: Network option for 'tap' mode (e.g. + "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-device,netdev=net0"). + runqemu will replace "@TAP@" with the one that is used, such as tap0, tap1 ... + QB_SLIRP_OPT: Network option for SLIRP mode (e.g. "-netdev user,id=net0 -device virtio-net-device,netdev=net0") + QB_ROOTFS_OPT: Used as rootfs (e.g. + "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"). + runqemu will replace "@ROOTFS@" with the one which is used, such as + core-image-minimal-qemuarm64.ext4. + QB_SERIAL_OPT: Serial port (e.g. "-serial mon:stdio") + QB_TCPSERIAL_OPT: tcp serial port option (e.g. + " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" + runqemu will replace "@PORT@" with the port number which is used. + +To use ``runqemu``, set :term:`IMAGE_CLASSES` as +follows and run ``runqemu``: + +.. note:: + + For command-line syntax, use ``runqemu help``. + +:: + + IMAGE_CLASSES += "qemuboot" + +.. _migration-2.2-default-linker-hash-style-changed: + +Default Linker Hash Style Changed +--------------------------------- + +The default linker hash style for ``gcc-cross`` is now "sysv" in order +to catch recipes that are building software without using the +OpenEmbedded :term:`LDFLAGS`. This change could result in +seeing some "No GNU_HASH in the elf binary" QA issues when building such +recipes. You need to fix these recipes so that they use the expected +:term:`LDFLAGS`. Depending on how the software is built, the build system +used by the software (e.g. a Makefile) might need to be patched. +However, sometimes making this fix is as simple as adding the following +to the recipe:: + + TARGET_CC_ARCH += "${LDFLAGS}" + +.. _migration-2.2-kernel-image-base-name-no-longer-uses-kernel-imagetype: + +``KERNEL_IMAGE_BASE_NAME`` no Longer Uses ``KERNEL_IMAGETYPE`` +-------------------------------------------------------------- + +The ``KERNEL_IMAGE_BASE_NAME`` variable no longer uses the +:term:`KERNEL_IMAGETYPE` variable to create the +image's base name. Because the OpenEmbedded build system can now build +multiple kernel image types, this part of the kernel image base name as +been removed leaving only the following:: + + KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" + +If you have recipes or +classes that use ``KERNEL_IMAGE_BASE_NAME`` directly, you might need to +update the references to ensure they continue to work. + +.. _migration-2.2-imgdeploydir-replaces-deploy-dir-image-for-most-use-cases: + +``IMGDEPLOYDIR`` Replaces ``DEPLOY_DIR_IMAGE`` for Most Use Cases +----------------------------------------------------------------- + +The :term:`IMGDEPLOYDIR` variable was introduced to allow sstate caching of +image creation results. Image recipes defining custom :term:`IMAGE_CMD` or +doing postprocessing on the generated images need to be adapted to use +``IMGDEPLOYDIR`` instead of :term:`DEPLOY_DIR_IMAGE`. ``IMAGE_MANIFEST`` +creation and symlinking of the most recent image file will fail otherwise. + +.. _migration-2.2-bitbake-changes: + +BitBake Changes +--------------- + +The following changes took place for BitBake: + +- The "goggle" UI and standalone image-writer tool have been removed as + they both require GTK+ 2.0 and were not being maintained. + +- The Perforce fetcher now supports :term:`SRCREV` for + specifying the source revision to use, be it + ``${``\ :term:`AUTOREV`\ ``}``, changelist number, + p4date, or label, in preference to separate + :term:`SRC_URI` parameters to specify these. This + change is more in-line with how the other fetchers work for source + control systems. Recipes that fetch from Perforce will need to be + updated to use :term:`SRCREV` in place of specifying the source revision + within ``SRC_URI``. + +- Some of BitBake's internal code structures for accessing the recipe + cache needed to be changed to support the new multi-configuration + functionality. These changes will affect external tools that use + BitBake's tinfoil module. For information on these changes, see the + changes made to the scripts supplied with OpenEmbedded-Core: + :yocto_git:`1 ` + and + :yocto_git:`2 `. + +- The task management code has been rewritten to avoid using ID + indirection in order to improve performance. This change is unlikely + to cause any problems for most users. However, the setscene + verification function as pointed to by + ``BB_SETSCENE_VERIFY_FUNCTION`` needed to change signature. + Consequently, a new variable named ``BB_SETSCENE_VERIFY_FUNCTION2`` + has been added allowing multiple versions of BitBake to work with + suitably written metadata, which includes OpenEmbedded-Core and Poky. + Anyone with custom BitBake task scheduler code might also need to + update the code to handle the new structure. + +.. _migration-2.2-swabber-has-been-removed: + +Swabber has Been Removed +------------------------ + +Swabber, a tool that was intended to detect host contamination in the +build process, has been removed, as it has been unmaintained and unused +for some time and was never particularly effective. The OpenEmbedded +build system has since incorporated a number of mechanisms including +enhanced QA checks that mean that there is less of a need for such a +tool. + +.. _migration-2.2-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed: + +- ``augeas``: No longer needed and has been moved to ``meta-oe``. + +- ``directfb``: Unmaintained and has been moved to ``meta-oe``. + +- ``gcc``: Removed 4.9 version. Versions 5.4 and 6.2 are still present. + +- ``gnome-doc-utils``: No longer needed. + +- ``gtk-doc-stub``: Replaced by ``gtk-doc``. + +- ``gtk-engines``: No longer needed and has been moved to + ``meta-gnome``. + +- ``gtk-sato-engine``: Became obsolete. + +- ``libglade``: No longer needed and has been moved to ``meta-oe``. + +- ``libmad``: Unmaintained and functionally replaced by ``libmpg123``. + ``libmad`` has been moved to ``meta-oe``. + +- ``libowl``: Became obsolete. + +- ``libxsettings-client``: No longer needed. + +- ``oh-puzzles``: Functionally replaced by ``puzzles``. + +- ``oprofileui``: Became obsolete. OProfile has been largely supplanted + by perf. + +- ``packagegroup-core-directfb.bb``: Removed. + +- ``core-image-directfb.bb``: Removed. + +- ``pointercal``: No longer needed and has been moved to ``meta-oe``. + +- ``python-imaging``: No longer needed and moved to ``meta-python`` + +- ``python-pyrex``: No longer needed and moved to ``meta-python``. + +- ``sato-icon-theme``: Became obsolete. + +- ``swabber-native``: Swabber has been removed. See the :ref:`entry on + Swabber `. + +- ``tslib``: No longer needed and has been moved to ``meta-oe``. + +- ``uclibc``: Removed in favor of musl. + +- ``xtscal``: No longer needed and moved to ``meta-oe`` + +.. _migration-2.2-removed-classes: + +Removed Classes +--------------- + +The following classes have been removed: + +- ``distutils-native-base``: No longer needed. + +- ``distutils3-native-base``: No longer needed. + +- ``sdl``: Only set :term:`DEPENDS` and + :term:`SECTION`, which are better set within the + recipe instead. + +- ``sip``: Mostly unused. + +- ``swabber``: See the :ref:`entry on + Swabber `. + +.. _migration-2.2-minor-packaging-changes: + +Minor Packaging Changes +----------------------- + +The following minor packaging changes have occurred: + +- ``grub``: Split ``grub-editenv`` into its own package. + +- ``systemd``: Split container and vm related units into a new package, + systemd-container. + +- ``util-linux``: Moved ``prlimit`` to a separate + ``util-linux-prlimit`` package. + +.. _migration-2.2-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following miscellaneous changes have occurred: + +- ``package_regex.inc``: Removed because the definitions + ``package_regex.inc`` previously contained have been moved to their + respective recipes. + +- Both ``devtool add`` and ``recipetool create`` now use a fixed + :term:`SRCREV` by default when fetching from a Git + repository. You can override this in either case to use + ``${``\ :term:`AUTOREV`\ ``}`` instead by using the + ``-a`` or ``--autorev`` command-line option + +- ``distcc``: GTK+ UI is now disabled by default. + +- ``packagegroup-core-tools-testapps``: Removed Piglit. + +- ``image.bbclass``: Renamed COMPRESS(ION) to CONVERSION. This change + means that ``COMPRESSIONTYPES``, ``COMPRESS_DEPENDS`` and + ``COMPRESS_CMD`` are deprecated in favor of ``CONVERSIONTYPES``, + ``CONVERSION_DEPENDS`` and ``CONVERSION_CMD``. The ``COMPRESS*`` + variable names will still work in the 2.2 release but metadata that + does not need to be backwards-compatible should be changed to use the + new names as the ``COMPRESS*`` ones will be removed in a future + release. + +- ``gtk-doc``: A full version of ``gtk-doc`` is now made available. + However, some old software might not be capable of using the current + version of ``gtk-doc`` to build documentation. You need to change + recipes that build such software so that they explicitly disable + building documentation with ``gtk-doc``. + + diff --git a/poky/documentation/migration-guides/migration-2.3.rst b/poky/documentation/migration-guides/migration-2.3.rst new file mode 100644 index 000000000..886d579f9 --- /dev/null +++ b/poky/documentation/migration-guides/migration-2.3.rst @@ -0,0 +1,517 @@ +Release 2.3 (pyro) +================== + +This section provides migration information for moving to the Yocto +Project 2.3 Release (codename "pyro") from the prior release. + +.. _migration-2.3-recipe-specific-sysroots: + +Recipe-specific Sysroots +------------------------ + +The OpenEmbedded build system now uses one sysroot per recipe to resolve +long-standing issues with configuration script auto-detection of +undeclared dependencies. Consequently, you might find that some of your +previously written custom recipes are missing declared dependencies, +particularly those dependencies that are incidentally built earlier in a +typical build process and thus are already likely to be present in the +shared sysroot in previous releases. + +Consider the following: + +- *Declare Build-Time Dependencies:* Because of this new feature, you + must explicitly declare all build-time dependencies for your recipe. + If you do not declare these dependencies, they are not populated into + the sysroot for the recipe. + +- *Specify Pre-Installation and Post-Installation Native Tool + Dependencies:* You must specifically specify any special native tool + dependencies of ``pkg_preinst`` and ``pkg_postinst`` scripts by using + the :term:`PACKAGE_WRITE_DEPS` variable. + Specifying these dependencies ensures that these tools are available + if these scripts need to be run on the build host during the + :ref:`ref-tasks-rootfs` task. + + As an example, see the ``dbus`` recipe. You will see that this recipe + has a ``pkg_postinst`` that calls ``systemctl`` if "systemd" is in + :term:`DISTRO_FEATURES`. In the example, + ``systemd-systemctl-native`` is added to :term:`PACKAGE_WRITE_DEPS`, + which is also conditional on "systemd" being in ``DISTRO_FEATURES``. + +- Examine Recipes that Use ``SSTATEPOSTINSTFUNCS``: You need to + examine any recipe that uses ``SSTATEPOSTINSTFUNCS`` and determine + steps to take. + + Functions added to ``SSTATEPOSTINSTFUNCS`` are still called as they + were in previous Yocto Project releases. However, since a separate + sysroot is now being populated for every recipe and if existing + functions being called through ``SSTATEPOSTINSTFUNCS`` are doing + relocation, then you will need to change these to use a + post-installation script that is installed by a function added to + :term:`SYSROOT_PREPROCESS_FUNCS`. + + For an example, see the ``pixbufcache`` class in ``meta/classes/`` in + the :ref:`overview-manual/development-environment:yocto project source repositories`. + + .. note:: + + The + SSTATEPOSTINSTFUNCS + variable itself is now deprecated in favor of the + do_populate_sysroot[postfuncs] + task. Consequently, if you do still have any function or functions + that need to be called after the sysroot component is created for + a recipe, then you would be well advised to take steps to use a + post installation script as described previously. Taking these + steps prepares your code for when + SSTATEPOSTINSTFUNCS + is removed in a future Yocto Project release. + +- *Specify the Sysroot when Using Certain External Scripts:* Because + the shared sysroot is now gone, the scripts + ``oe-find-native-sysroot`` and ``oe-run-native`` have been changed + such that you need to specify which recipe's + :term:`STAGING_DIR_NATIVE` is used. + +.. note:: + + You can find more information on how recipe-specific sysroots work in + the ":ref:`ref-classes-staging`" section. + +.. _migration-2.3-path-variable: + +``PATH`` Variable +----------------- + +Within the environment used to run build tasks, the environment variable +``PATH`` is now sanitized such that the normal native binary paths +(``/bin``, ``/sbin``, ``/usr/bin`` and so forth) are removed and a +directory containing symbolic links linking only to the binaries from +the host mentioned in the :term:`HOSTTOOLS` and +:term:`HOSTTOOLS_NONFATAL` variables is added +to ``PATH``. + +Consequently, any native binaries provided by the host that you need to +call needs to be in one of these two variables at the configuration +level. + +Alternatively, you can add a native recipe (i.e. ``-native``) that +provides the binary to the recipe's :term:`DEPENDS` +value. + +.. note:: + + PATH + is not sanitized in the same way within ``devshell``. + If it were, you would have difficulty running host tools for + development and debugging within the shell. + +.. _migration-2.3-scripts: + +Changes to Scripts +------------------ + +The following changes to scripts took place: + +- ``oe-find-native-sysroot``: The usage for the + ``oe-find-native-sysroot`` script has changed to the following:: + + $ . oe-find-native-sysroot recipe + + You must now supply a recipe for recipe + as part of the command. Prior to the Yocto Project 2.3 release, it + was not necessary to provide the script with the command. + +- ``oe-run-native``: The usage for the ``oe-run-native`` script has + changed to the following:: + + $ oe-run-native native_recipe tool + + You must + supply the name of the native recipe and the tool you want to run as + part of the command. Prior to the Yocto Project 2.3 release, it + was not necessary to provide the native recipe with the command. + +- ``cleanup-workdir``: The ``cleanup-workdir`` script has been + removed because the script was found to be deleting files it should + not have, which lead to broken build trees. Rather than trying to + delete portions of :term:`TMPDIR` and getting it wrong, + it is recommended that you delete :term:`TMPDIR` and have it restored + from shared state (sstate) on subsequent builds. + +- ``wipe-sysroot``: The ``wipe-sysroot`` script has been removed as + it is no longer needed with recipe-specific sysroots. + +.. _migration-2.3-functions: + +Changes to Functions +-------------------- + +The previously deprecated ``bb.data.getVar()``, ``bb.data.setVar()``, +and related functions have been removed in favor of ``d.getVar()``, +``d.setVar()``, and so forth. + +You need to fix any references to these old functions. + +.. _migration-2.3-bitbake-changes: + +BitBake Changes +--------------- + +The following changes took place for BitBake: + +- *BitBake's Graphical Dependency Explorer UI Replaced:* BitBake's + graphical dependency explorer UI ``depexp`` was replaced by + ``taskexp`` ("Task Explorer"), which provides a graphical way of + exploring the ``task-depends.dot`` file. The data presented by Task + Explorer is much more accurate than the data that was presented by + ``depexp``. Being able to visualize the data is an often requested + feature as standard ``*.dot`` file viewers cannot usual cope with the + size of the ``task-depends.dot`` file. + +- *BitBake "-g" Output Changes:* The ``package-depends.dot`` and + ``pn-depends.dot`` files as previously generated using the + ``bitbake -g`` command have been removed. A ``recipe-depends.dot`` + file is now generated as a collapsed version of ``task-depends.dot`` + instead. + + The reason for this change is because ``package-depends.dot`` and + ``pn-depends.dot`` largely date back to a time before task-based + execution and do not take into account task-level dependencies + between recipes, which could be misleading. + +- *Mirror Variable Splitting Changes:* Mirror variables including + :term:`MIRRORS`, :term:`PREMIRRORS`, + and :term:`SSTATE_MIRRORS` can now separate + values entirely with spaces. Consequently, you no longer need "\\n". + BitBake looks for pairs of values, which simplifies usage. There + should be no change required to existing mirror variable values + themselves. + +- *The Subversion (SVN) Fetcher Uses an "ssh" Parameter and Not an + "rsh" Parameter:* The SVN fetcher now takes an "ssh" parameter + instead of an "rsh" parameter. This new optional parameter is used + when the "protocol" parameter is set to "svn+ssh". You can only use + the new parameter to specify the ``ssh`` program used by SVN. The SVN + fetcher passes the new parameter through the ``SVN_SSH`` environment + variable during the :ref:`ref-tasks-fetch` task. + + See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:subversion (svn) fetcher (\`\`svn://\`\`)`" + section in the BitBake + User Manual for additional information. + +- ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2`` + Removed: Because the mechanism they were part of is no longer + necessary with recipe-specific sysroots, the + ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2`` + variables have been removed. + +.. _migration-2.3-absolute-symlinks: + +Absolute Symbolic Links +----------------------- + +Absolute symbolic links (symlinks) within staged files are no longer +permitted and now trigger an error. Any explicit creation of symlinks +can use the ``lnr`` script, which is a replacement for ``ln -r``. + +If the build scripts in the software that the recipe is building are +creating a number of absolute symlinks that need to be corrected, you +can inherit ``relative_symlinks`` within the recipe to turn those +absolute symlinks into relative symlinks. + +.. _migration-2.3-gplv2-and-gplv3-moves: + +GPLv2 Versions of GPLv3 Recipes Moved +------------------------------------- + +Older GPLv2 versions of GPLv3 recipes have moved to a separate +``meta-gplv2`` layer. + +If you use :term:`INCOMPATIBLE_LICENSE` to +exclude GPLv3 or set :term:`PREFERRED_VERSION` +to substitute a GPLv2 version of a GPLv3 recipe, then you must add the +``meta-gplv2`` layer to your configuration. + +.. note:: + + You can ``find meta-gplv2`` layer in the OpenEmbedded layer index at + :oe_layer:`/meta-gplv2`. + +These relocated GPLv2 recipes do not receive the same level of +maintenance as other core recipes. The recipes do not get security fixes +and upstream no longer maintains them. In fact, the upstream community +is actively hostile towards people that use the old versions of the +recipes. Moving these recipes into a separate layer both makes the +different needs of the recipes clearer and clearly identifies the number +of these recipes. + +.. note:: + + The long-term solution might be to move to BSD-licensed replacements + of the GPLv3 components for those that need to exclude GPLv3-licensed + components from the target system. This solution will be investigated + for future Yocto Project releases. + +.. _migration-2.3-package-management-changes: + +Package Management Changes +-------------------------- + +The following package management changes took place: + +- Smart package manager is replaced by DNF package manager. Smart has + become unmaintained upstream, is not ported to Python 3.x. + Consequently, Smart needed to be replaced. DNF is the only feasible + candidate. + + The change in functionality is that the on-target runtime package + management from remote package feeds is now done with a different + tool that has a different set of command-line options. If you have + scripts that call the tool directly, or use its API, they need to be + fixed. + + For more information, see the `DNF + Documentation `__. + +- Rpm 5.x is replaced with Rpm 4.x. This is done for two major reasons: + + - DNF is API-incompatible with Rpm 5.x and porting it and + maintaining the port is non-trivial. + + - Rpm 5.x itself has limited maintenance upstream, and the Yocto + Project is one of the very few remaining users. + +- Berkeley DB 6.x is removed and Berkeley DB 5.x becomes the default: + + - Version 6.x of Berkeley DB has largely been rejected by the open + source community due to its AGPLv3 license. As a result, most + mainstream open source projects that require DB are still + developed and tested with DB 5.x. + + - In OE-core, the only thing that was requiring DB 6.x was Rpm 5.x. + Thus, no reason exists to continue carrying DB 6.x in OE-core. + +- ``createrepo`` is replaced with ``createrepo_c``. + + ``createrepo_c`` is the current incarnation of the tool that + generates remote repository metadata. It is written in C as compared + to ``createrepo``, which is written in Python. ``createrepo_c`` is + faster and is maintained. + +- Architecture-independent RPM packages are "noarch" instead of "all". + + This change was made because too many places in DNF/RPM4 stack + already make that assumption. Only the filenames and the architecture + tag has changed. Nothing else has changed in OE-core system, + particularly in the :ref:`allarch.bbclass ` + class. + +- Signing of remote package feeds using ``PACKAGE_FEED_SIGN`` is not + currently supported. This issue will be fully addressed in a future + Yocto Project release. See :yocto_bugs:`defect 11209 ` + for more information on a solution to package feed signing with RPM + in the Yocto Project 2.3 release. + +- OPKG now uses the libsolv backend for resolving package dependencies + by default. This is vastly superior to OPKG's internal ad-hoc solver + that was previously used. This change does have a small impact on + disk (around 500 KB) and memory footprint. + + .. note:: + + For further details on this change, see the + :yocto_git:`commit message `. + +.. _migration-2.3-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed: + +- ``linux-yocto 4.8``: Version 4.8 has been removed. Versions 4.1 + (LTSI), 4.4 (LTS), 4.9 (LTS/LTSI) and 4.10 are now present. + +- ``python-smartpm``: Functionally replaced by ``dnf``. + +- ``createrepo``: Replaced by the ``createrepo-c`` recipe. + +- ``rpmresolve``: No longer needed with the move to RPM 4 as RPM + itself is used instead. + +- ``gstreamer``: Removed the GStreamer Git version recipes as they + have been stale. ``1.10.``\ x recipes are still present. + +- ``alsa-conf-base``: Merged into ``alsa-conf`` since ``libasound`` + depended on both. Essentially, no way existed to install only one of + these. + +- ``tremor``: Moved to ``meta-multimedia``. Fixed-integer Vorbis + decoding is not needed by current hardware. Thus, GStreamer's ivorbis + plugin has been disabled by default eliminating the need for the + ``tremor`` recipe in :term:`OpenEmbedded-Core (OE-Core)`. + +- ``gummiboot``: Replaced by ``systemd-boot``. + +.. _migration-2.3-wic-changes: + +Wic Changes +----------- + +The following changes have been made to Wic: + +.. note:: + + For more information on Wic, see the + ":ref:`dev-manual/common-tasks:creating partitioned images using wic`" + section in the Yocto Project Development Tasks Manual. + +- *Default Output Directory Changed:* Wic's default output directory is + now the current directory by default instead of the unusual + ``/var/tmp/wic``. + + The "-o" and "--outdir" options remain unchanged and are used to + specify your preferred output directory if you do not want to use the + default directory. + +- *fsimage Plug-in Removed:* The Wic fsimage plugin has been removed as + it duplicates functionality of the rawcopy plugin. + +.. _migration-2.3-qa-changes: + +QA Changes +---------- + +The following QA checks have changed: + +- ``unsafe-references-in-binaries``: The + ``unsafe-references-in-binaries`` QA check, which was disabled by + default, has now been removed. This check was intended to detect + binaries in ``/bin`` that link to libraries in ``/usr/lib`` and have + the case where the user has ``/usr`` on a separate filesystem to + ``/``. + + The removed QA check was buggy. Additionally, ``/usr`` residing on a + separate partition from ``/`` is now a rare configuration. + Consequently, ``unsafe-references-in-binaries`` was removed. + +- ``file-rdeps``: The ``file-rdeps`` QA check is now an error by + default instead of a warning. Because it is an error instead of a + warning, you need to address missing runtime dependencies. + + For additional information, see the + :ref:`insane ` class and the + ":ref:`ref-manual/qa-checks:errors and warnings`" section. + +.. _migration-2.3-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following miscellaneous changes have occurred: + +- In this release, a number of recipes have been changed to ignore the + ``largefile`` :term:`DISTRO_FEATURES` item, + enabling large file support unconditionally. This feature has always + been enabled by default. Disabling the feature has not been widely + tested. + + .. note:: + + Future releases of the Yocto Project will remove entirely the + ability to disable the + largefile + feature, which would make it unconditionally enabled everywhere. + +- If the :term:`DISTRO_VERSION` value contains + the value of the :term:`DATE` variable, which is the + default between Poky releases, the :term:`DATE` value is explicitly + excluded from ``/etc/issue`` and ``/etc/issue.net``, which is + displayed at the login prompt, in order to avoid conflicts with + Multilib enabled. Regardless, the :term:`DATE` value is inaccurate if the + ``base-files`` recipe is restored from shared state (sstate) rather + than rebuilt. + + If you need the build date recorded in ``/etc/issue*`` or anywhere + else in your image, a better method is to define a post-processing + function to do it and have the function called from + :term:`ROOTFS_POSTPROCESS_COMMAND`. + Doing so ensures the value is always up-to-date with the created + image. + +- Dropbear's ``init`` script now disables DSA host keys by default. + This change is in line with the systemd service file, which supports + RSA keys only, and with recent versions of OpenSSH, which deprecates + DSA host keys. + +- The :ref:`buildhistory ` class now + correctly uses tabs as separators between all columns in + ``installed-package-sizes.txt`` in order to aid import into other + tools. + +- The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig" + :term:`DISTRO_FEATURES` feature. Distributions that previously set:: + + USE_LDCONFIG = "0" + + should now instead use the following:: + + DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig" + +- The default value of + :term:`COPYLEFT_LICENSE_INCLUDE` now + includes all versions of AGPL licenses in addition to GPL and LGPL. + + .. note:: + + The default list is not intended to be guaranteed as a complete + safe list. You should seek legal advice based on what you are + distributing if you are unsure. + +- Kernel module packages are now suffixed with the kernel version in + order to allow module packages from multiple kernel versions to + co-exist on a target system. If you wish to return to the previous + naming scheme that does not include the version suffix, use the + following:: + + KERNEL_MODULE_PACKAGE_SUFFIX = "" + +- Removal of ``libtool`` ``*.la`` files is now enabled by default. The + ``*.la`` files are not actually needed on Linux and relocating them + is an unnecessary burden. + + If you need to preserve these ``.la`` files (e.g. in a custom + distribution), you must change + :term:`INHERIT_DISTRO` such that + "remove-libtool" is not included in the value. + +- Extensible SDKs built for GCC 5+ now refuse to install on a + distribution where the host GCC version is 4.8 or 4.9. This change + resulted from the fact that the installation is known to fail due to + the way the ``uninative`` shared state (sstate) package is built. See + the :ref:`uninative ` class for additional + information. + +- All native and nativesdk recipes now use a separate + :term:`DISTRO_FEATURES` value instead of sharing the value used by + recipes for the target, in order to avoid unnecessary rebuilds. + + The :term:`DISTRO_FEATURES` for ``native`` recipes is + :term:`DISTRO_FEATURES_NATIVE` added to + an intersection of :term:`DISTRO_FEATURES` and + :term:`DISTRO_FEATURES_FILTER_NATIVE`. + + For nativesdk recipes, the corresponding variables are + :term:`DISTRO_FEATURES_NATIVESDK` + and + :term:`DISTRO_FEATURES_FILTER_NATIVESDK`. + +- The ``FILESDIR`` variable, which was previously deprecated and rarely + used, has now been removed. You should change any recipes that set + ``FILESDIR`` to set :term:`FILESPATH` instead. + +- The ``MULTIMACH_HOST_SYS`` variable has been removed as it is no + longer needed with recipe-specific sysroots. + + diff --git a/poky/documentation/migration-guides/migration-2.4.rst b/poky/documentation/migration-guides/migration-2.4.rst new file mode 100644 index 000000000..07f2bef62 --- /dev/null +++ b/poky/documentation/migration-guides/migration-2.4.rst @@ -0,0 +1,327 @@ +Release 2.4 (rocko) +=================== + +This section provides migration information for moving to the Yocto +Project 2.4 Release (codename "rocko") from the prior release. + +.. _migration-2.4-memory-resident-mode: + +Memory Resident Mode +-------------------- + +A persistent mode is now available in BitBake's default operation, +replacing its previous "memory resident mode" (i.e. +``oe-init-build-env-memres``). Now you only need to set +:term:`BB_SERVER_TIMEOUT` to a timeout (in +seconds) and BitBake's server stays resident for that amount of time +between invocations. The ``oe-init-build-env-memres`` script has been +removed since a separate environment setup script is no longer needed. + +.. _migration-2.4-packaging-changes: + +Packaging Changes +----------------- + +This section provides information about packaging changes that have +occurred: + +- ``python3`` Changes: + + - The main "python3" package now brings in all of the standard + Python 3 distribution rather than a subset. This behavior matches + what is expected based on traditional Linux distributions. If you + wish to install a subset of Python 3, specify ``python-core`` plus + one or more of the individual packages that are still produced. + + - ``python3``: The ``bz2.py``, ``lzma.py``, and + ``_compression.py`` scripts have been moved from the + ``python3-misc`` package to the ``python3-compression`` package. + +- ``binutils``: The ``libbfd`` library is now packaged in a separate + "libbfd" package. This packaging saves space when certain tools (e.g. + ``perf``) are installed. In such cases, the tools only need + ``libbfd`` rather than all the packages in ``binutils``. + +- ``util-linux`` Changes: + + - The ``su`` program is now packaged in a separate "util-linux-su" + package, which is only built when "pam" is listed in the + :term:`DISTRO_FEATURES` variable. + ``util-linux`` should not be installed unless it is needed because + ``su`` is normally provided through the shadow file format. The + main ``util-linux`` package has runtime dependencies (i.e. + :term:`RDEPENDS`) on the ``util-linux-su`` package + when "pam" is in ``DISTRO_FEATURES``. + + - The ``switch_root`` program is now packaged in a separate + "util-linux-switch-root" package for small initramfs images that + do not need the whole ``util-linux`` package or the busybox + binary, which are both much larger than ``switch_root``. The main + ``util-linux`` package has a recommended runtime dependency (i.e. + :term:`RRECOMMENDS`) on the + ``util-linux-switch-root`` package. + + - The ``ionice`` program is now packaged in a separate + "util-linux-ionice" package. The main ``util-linux`` package has a + recommended runtime dependency (i.e. :term:`RRECOMMENDS`) on the + ``util-linux-ionice`` package. + +- ``initscripts``: The ``sushell`` program is now packaged in a + separate "initscripts-sushell" package. This packaging change allows + systems to pull ``sushell`` in when ``selinux`` is enabled. The + change also eliminates needing to pull in the entire ``initscripts`` + package. The main ``initscripts`` package has a runtime dependency + (i.e. :term:`RDEPENDS`) on the ``sushell`` package when "selinux" is in + ``DISTRO_FEATURES``. + +- ``glib-2.0``: The ``glib-2.0`` package now has a recommended + runtime dependency (i.e. ``RRECOMMENDS``) on the ``shared-mime-info`` + package, since large portions of GIO are not useful without the MIME + database. You can remove the dependency by using the + :term:`BAD_RECOMMENDATIONS` variable if + ``shared-mime-info`` is too large and is not required. + +- *Go Standard Runtime:* The Go standard runtime has been split out + from the main ``go`` recipe into a separate ``go-runtime`` recipe. + +.. _migration-2.4-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed: + +- ``acpitests``: This recipe is not maintained. + +- ``autogen-native``: No longer required by Grub, oe-core, or + meta-oe. + +- ``bdwgc``: Nothing in OpenEmbedded-Core requires this recipe. It + has moved to meta-oe. + +- ``byacc``: This recipe was only needed by rpm 5.x and has moved to + meta-oe. + +- ``gcc (5.4)``: The 5.4 series dropped the recipe in favor of 6.3 / + 7.2. + +- ``gnome-common``: Deprecated upstream and no longer needed. + +- ``go-bootstrap-native``: Go 1.9 does its own bootstrapping so this + recipe has been removed. + +- ``guile``: This recipe was only needed by ``autogen-native`` and + ``remake``. The recipe is no longer needed by either of these + programs. + +- ``libclass-isa-perl``: This recipe was previously needed for LSB 4, + no longer needed. + +- ``libdumpvalue-perl``: This recipe was previously needed for LSB 4, + no longer needed. + +- ``libenv-perl``: This recipe was previously needed for LSB 4, no + longer needed. + +- ``libfile-checktree-perl``: This recipe was previously needed for + LSB 4, no longer needed. + +- ``libi18n-collate-perl``: This recipe was previously needed for LSB + 4, no longer needed. + +- ``libiconv``: This recipe was only needed for ``uclibc``, which was + removed in the previous release. ``glibc`` and ``musl`` have their + own implementations. ``meta-mingw`` still needs ``libiconv``, so it + has been moved to ``meta-mingw``. + +- ``libpng12``: This recipe was previously needed for LSB. The + current ``libpng`` is 1.6.x. + +- ``libpod-plainer-perl``: This recipe was previously needed for LSB + 4, no longer needed. + +- ``linux-yocto (4.1)``: This recipe was removed in favor of 4.4, + 4.9, 4.10 and 4.12. + +- ``mailx``: This recipe was previously only needed for LSB + compatibility, and upstream is defunct. + +- ``mesa (git version only)``: The git version recipe was stale with + respect to the release version. + +- ``ofono (git version only)``: The git version recipe was stale with + respect to the release version. + +- ``portmap``: This recipe is obsolete and is superseded by + ``rpcbind``. + +- ``python3-pygpgme``: This recipe is old and unmaintained. It was + previously required by ``dnf``, which has switched to official + ``gpgme`` Python bindings. + +- ``python-async``: This recipe has been removed in favor of the + Python 3 version. + +- ``python-gitdb``: This recipe has been removed in favor of the + Python 3 version. + +- ``python-git``: This recipe was removed in favor of the Python 3 + version. + +- ``python-mako``: This recipe was removed in favor of the Python 3 + version. + +- ``python-pexpect``: This recipe was removed in favor of the Python + 3 version. + +- ``python-ptyprocess``: This recipe was removed in favor of Python + the 3 version. + +- ``python-pycurl``: Nothing is using this recipe in + OpenEmbedded-Core (i.e. ``meta-oe``). + +- ``python-six``: This recipe was removed in favor of the Python 3 + version. + +- ``python-smmap``: This recipe was removed in favor of the Python 3 + version. + +- ``remake``: Using ``remake`` as the provider of ``virtual/make`` is + broken. Consequently, this recipe is not needed in OpenEmbedded-Core. + +.. _migration-2.4-kernel-device-tree-move: + +Kernel Device Tree Move +----------------------- + +Kernel Device Tree support is now easier to enable in a kernel recipe. +The Device Tree code has moved to a +:ref:`kernel-devicetree ` class. +Functionality is automatically enabled for any recipe that inherits the +:ref:`kernel ` class and sets the +:term:`KERNEL_DEVICETREE` variable. The +previous mechanism for doing this, +``meta/recipes-kernel/linux/linux-dtb.inc``, is still available to avoid +breakage, but triggers a deprecation warning. Future releases of the +Yocto Project will remove ``meta/recipes-kernel/linux/linux-dtb.inc``. +It is advisable to remove any ``require`` statements that request +``meta/recipes-kernel/linux/linux-dtb.inc`` from any custom kernel +recipes you might have. This will avoid breakage in post 2.4 releases. + +.. _migration-2.4-package-qa-changes: + +Package QA Changes +------------------ + +The following package QA changes took place: + +- The "unsafe-references-in-scripts" QA check has been removed. + +- If you refer to ``${COREBASE}/LICENSE`` within + :term:`LIC_FILES_CHKSUM` you receive a + warning because this file is a description of the license for + OE-Core. Use ``${COMMON_LICENSE_DIR}/MIT`` if your recipe is + MIT-licensed and you cannot use the preferred method of referring to + a file within the source tree. + +.. _migration-2.4-readme-changes: + +``README`` File Changes +----------------------- + +The following are changes to ``README`` files: + +- The main Poky ``README`` file has been moved to the ``meta-poky`` + layer and has been renamed ``README.poky``. A symlink has been + created so that references to the old location work. + +- The ``README.hardware`` file has been moved to ``meta-yocto-bsp``. A + symlink has been created so that references to the old location work. + +- A ``README.qemu`` file has been created with coverage of the + ``qemu*`` machines. + +.. _migration-2.4-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following are additional changes: + +- The ``ROOTFS_PKGMANAGE_BOOTSTRAP`` variable and any references to it + have been removed. You should remove this variable from any custom + recipes. + +- The ``meta-yocto`` directory has been removed. + + .. note:: + + In the Yocto Project 2.1 release + meta-yocto + was renamed to + meta-poky + and the + meta-yocto + subdirectory remained to avoid breaking existing configurations. + +- The ``maintainers.inc`` file, which tracks maintainers by listing a + primary person responsible for each recipe in OE-Core, has been moved + from ``meta-poky`` to OE-Core (i.e. from + ``meta-poky/conf/distro/include`` to ``meta/conf/distro/include``). + +- The :ref:`buildhistory ` class now makes + a single commit per build rather than one commit per subdirectory in + the repository. This behavior assumes the commits are enabled with + :term:`BUILDHISTORY_COMMIT` = "1", which + is typical. Previously, the ``buildhistory`` class made one commit + per subdirectory in the repository in order to make it easier to see + the changes for a particular subdirectory. To view a particular + change, specify that subdirectory as the last parameter on the + ``git show`` or ``git diff`` commands. + +- The ``x86-base.inc`` file, which is included by all x86-based machine + configurations, now sets :term:`IMAGE_FSTYPES` + using ``?=`` to "live" rather than appending with ``+=``. This change + makes the default easier to override. + +- BitBake fires multiple "BuildStarted" events when multiconfig is + enabled (one per configuration). For more information, see the + ":ref:`Events `" section in the BitBake User + Manual. + +- By default, the ``security_flags.inc`` file sets a + :term:`GCCPIE` variable with an option to enable + Position Independent Executables (PIE) within ``gcc``. Enabling PIE + in the GNU C Compiler (GCC), makes Return Oriented Programming (ROP) + attacks much more difficult to execute. + +- OE-Core now provides a ``bitbake-layers`` plugin that implements a + "create-layer" subcommand. The implementation of this subcommand has + resulted in the ``yocto-layer`` script being deprecated and will + likely be removed in the next Yocto Project release. + +- The ``vmdk``, ``vdi``, and ``qcow2`` image file types are now used in + conjunction with the "wic" image type through ``CONVERSION_CMD``. + Consequently, the equivalent image types are now ``wic.vmdk``, + ``wic.vdi``, and ``wic.qcow2``, respectively. + +- ``do_image_[depends]`` has replaced ``IMAGE_DEPENDS_``. + If you have your own classes that implement custom image types, then + you need to update them. + +- OpenSSL 1.1 has been introduced. However, the default is still 1.0.x + through the :term:`PREFERRED_VERSION` + variable. This preference is set is due to the remaining + compatibility issues with other software. The + :term:`PROVIDES` variable in the openssl 1.0 recipe + now includes "openssl10" as a marker that can be used in + :term:`DEPENDS` within recipes that build software + that still depend on OpenSSL 1.0. + +- To ensure consistent behavior, BitBake's "-r" and "-R" options (i.e. + prefile and postfile), which are used to read or post-read additional + configuration files from the command line, now only affect the + current BitBake command. Before these BitBake changes, these options + would "stick" for future executions. + + diff --git a/poky/documentation/migration-guides/migration-2.5.rst b/poky/documentation/migration-guides/migration-2.5.rst new file mode 100644 index 000000000..d14580df2 --- /dev/null +++ b/poky/documentation/migration-guides/migration-2.5.rst @@ -0,0 +1,308 @@ +Release 2.5 (sumo) +================== + +This section provides migration information for moving to the Yocto +Project 2.5 Release (codename "sumo") from the prior release. + +.. _migration-2.5-packaging-changes: + +Packaging Changes +----------------- + +This section provides information about packaging changes that have +occurred: + +- ``bind-libs``: The libraries packaged by the bind recipe are in a + separate ``bind-libs`` package. + +- ``libfm-gtk``: The ``libfm`` GTK+ bindings are split into a + separate ``libfm-gtk`` package. + +- ``flex-libfl``: The flex recipe splits out libfl into a separate + ``flex-libfl`` package to avoid too many dependencies being pulled in + where only the library is needed. + +- ``grub-efi``: The ``grub-efi`` configuration is split into a + separate ``grub-bootconf`` recipe. However, the dependency + relationship from ``grub-efi`` is through a virtual/grub-bootconf + provider making it possible to have your own recipe provide the + dependency. Alternatively, you can use a BitBake append file to bring + the configuration back into the ``grub-efi`` recipe. + +- *armv7a Legacy Package Feed Support:* Legacy support is removed for + transitioning from ``armv7a`` to ``armv7a-vfp-neon`` in package + feeds, which was previously enabled by setting + ``PKGARCHCOMPAT_ARMV7A``. This transition occurred in 2011 and active + package feeds should by now be updated to the new naming. + +.. _migration-2.5-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed: + +- ``gcc``: The version 6.4 recipes are replaced by 7.x. + +- ``gst-player``: Renamed to ``gst-examples`` as per upstream. + +- ``hostap-utils``: This software package is obsolete. + +- ``latencytop``: This recipe is no longer maintained upstream. The + last release was in 2009. + +- ``libpfm4``: The only file that requires this recipe is + ``oprofile``, which has been removed. + +- ``linux-yocto``: The version 4.4, 4.9, and 4.10 recipes have been + removed. Versions 4.12, 4.14, and 4.15 remain. + +- ``man``: This recipe has been replaced by modern ``man-db`` + +- ``mkelfimage``: This tool has been removed in the upstream coreboot + project, and is no longer needed with the removal of the ELF image + type. + +- ``nativesdk-postinst-intercept``: This recipe is not maintained. + +- ``neon``: This software package is no longer maintained upstream + and is no longer needed by anything in OpenEmbedded-Core. + +- ``oprofile``: The functionality of this recipe is replaced by + ``perf`` and keeping compatibility on an ongoing basis with ``musl`` + is difficult. + +- ``pax``: This software package is obsolete. + +- ``stat``: This software package is not maintained upstream. + ``coreutils`` provides a modern stat binary. + +- ``zisofs-tools-native``: This recipe is no longer needed because + the compressed ISO image feature has been removed. + +.. _migration-2.5-scripts-and-tools-changes: + +Scripts and Tools Changes +------------------------- + +The following are changes to scripts and tools: + +- ``yocto-bsp``, ``yocto-kernel``, and ``yocto-layer``: The + ``yocto-bsp``, ``yocto-kernel``, and ``yocto-layer`` scripts + previously shipped with poky but not in OpenEmbedded-Core have been + removed. These scripts are not maintained and are outdated. In many + cases, they are also limited in scope. The + ``bitbake-layers create-layer`` command is a direct replacement for + ``yocto-layer``. See the documentation to create a BSP or kernel + recipe in the ":ref:`bsp-guide/bsp:bsp kernel recipe example`" section. + +- ``devtool finish``: ``devtool finish`` now exits with an error if + there are uncommitted changes or a rebase/am in progress in the + recipe's source repository. If this error occurs, there might be + uncommitted changes that will not be included in updates to the + patches applied by the recipe. A -f/--force option is provided for + situations that the uncommitted changes are inconsequential and you + want to proceed regardless. + +- ``scripts/oe-setup-rpmrepo`` script: The functionality of + ``scripts/oe-setup-rpmrepo`` is replaced by + ``bitbake package-index``. + +- ``scripts/test-dependencies.sh`` script: The script is largely made + obsolete by the recipe-specific sysroots functionality introduced in + the previous release. + +.. _migration-2.5-bitbake-changes: + +BitBake Changes +--------------- + +The following are BitBake changes: + +- The ``--runall`` option has changed. There are two different + behaviors people might want: + + - *Behavior A:* For a given target (or set of targets) look through + the task graph and run task X only if it is present and will be + built. + + - *Behavior B:* For a given target (or set of targets) look through + the task graph and run task X if any recipe in the taskgraph has + such a target, even if it is not in the original task graph. + + The ``--runall`` option now performs "Behavior B". Previously + ``--runall`` behaved like "Behavior A". A ``--runonly`` option has + been added to retain the ability to perform "Behavior A". + +- Several explicit "run this task for all recipes in the dependency + tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``, + and the ``*all`` tasks provided by the ``distrodata`` and + ``archiver`` classes). There is a BitBake option to complete this for + any arbitrary task. For example:: + + bitbake -c fetchall + + should now be replaced with:: + + bitbake --runall=fetch + +.. _migration-2.5-python-and-python3-changes: + +Python and Python 3 Changes +--------------------------- + +The following are auto-packaging changes to Python and Python 3: + +The script-managed ``python-*-manifest.inc`` files that were previously +used to generate Python and Python 3 packages have been replaced with a +JSON-based file that is easier to read and maintain. A new task is +available for maintainers of the Python recipes to update the JSON file +when upgrading to new Python versions. You can now edit the file +directly instead of having to edit a script and run it to update the +file. + +One particular change to note is that the Python recipes no longer have +build-time provides for their packages. This assumes ``python-foo`` is +one of the packages provided by the Python recipe. You can no longer run +``bitbake python-foo`` or have a +:term:`DEPENDS` on ``python-foo``, +but doing either of the following causes the package to work as +expected:: + + IMAGE_INSTALL_append = " python-foo" + +or :: + + RDEPENDS_${PN} = "python-foo" + +The earlier build-time provides behavior was a quirk of the +way the Python manifest file was created. For more information on this +change please see :yocto_git:`this commit +`. + +.. _migration-2.5-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following are additional changes: + +- The ``kernel`` class supports building packages for multiple kernels. + If your kernel recipe or ``.bbappend`` file mentions packaging at + all, you should replace references to the kernel in package names + with ``${KERNEL_PACKAGE_NAME}``. For example, if you disable + automatic installation of the kernel image using + ``RDEPENDS_kernel-base = ""`` you can avoid warnings using + ``RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""`` instead. + +- The ``buildhistory`` class commits changes to the repository by + default so you no longer need to set ``BUILDHISTORY_COMMIT = "1"``. + If you want to disable commits you need to set + ``BUILDHISTORY_COMMIT = "0"`` in your configuration. + +- The ``beaglebone`` reference machine has been renamed to + ``beaglebone-yocto``. The ``beaglebone-yocto`` BSP is a reference + implementation using only mainline components available in + OpenEmbedded-Core and ``meta-yocto-bsp``, whereas Texas Instruments + maintains a full-featured BSP in the ``meta-ti`` layer. This rename + avoids the previous name clash that existed between the two BSPs. + +- The ``update-alternatives`` class no longer works with SysV ``init`` + scripts because this usage has been problematic. Also, the + ``sysklogd`` recipe no longer uses ``update-alternatives`` because it + is incompatible with other implementations. + +- By default, the :ref:`cmake ` class uses + ``ninja`` instead of ``make`` for building. This improves build + performance. If a recipe is broken with ``ninja``, then the recipe + can set ``OECMAKE_GENERATOR = "Unix Makefiles"`` to change back to + ``make``. + +- The previously deprecated ``base_*`` functions have been removed in + favor of their replacements in ``meta/lib/oe`` and + ``bitbake/lib/bb``. These are typically used from recipes and + classes. Any references to the old functions must be updated. The + following table shows the removed functions and their replacements: + + +------------------------------+----------------------------------------------------------+ + | *Removed* | *Replacement* | + +==============================+==========================================================+ + | base_path_join() | oe.path.join() | + +------------------------------+----------------------------------------------------------+ + | base_path_relative() | oe.path.relative() | + +------------------------------+----------------------------------------------------------+ + | base_path_out() | oe.path.format_display() | + +------------------------------+----------------------------------------------------------+ + | base_read_file() | oe.utils.read_file() | + +------------------------------+----------------------------------------------------------+ + | base_ifelse() | oe.utils.ifelse() | + +------------------------------+----------------------------------------------------------+ + | base_conditional() | oe.utils.conditional() | + +------------------------------+----------------------------------------------------------+ + | base_less_or_equal() | oe.utils.less_or_equal() | + +------------------------------+----------------------------------------------------------+ + | base_version_less_or_equal() | oe.utils.version_less_or_equal() | + +------------------------------+----------------------------------------------------------+ + | base_contains() | bb.utils.contains() | + +------------------------------+----------------------------------------------------------+ + | base_both_contain() | oe.utils.both_contain() | + +------------------------------+----------------------------------------------------------+ + | base_prune_suffix() | oe.utils.prune_suffix() | + +------------------------------+----------------------------------------------------------+ + | oe_filter() | oe.utils.str_filter() | + +------------------------------+----------------------------------------------------------+ + | oe_filter_out() | oe.utils.str_filter_out() (or use the \_remove operator) | + +------------------------------+----------------------------------------------------------+ + +- Using ``exit 1`` to explicitly defer a postinstall script until first + boot is now deprecated since it is not an obvious mechanism and can + mask actual errors. If you want to explicitly defer a postinstall to + first boot on the target rather than at ``rootfs`` creation time, use + ``pkg_postinst_ontarget()`` or call + ``postinst_intercept delay_to_first_boot`` from ``pkg_postinst()``. + Any failure of a ``pkg_postinst()`` script (including ``exit 1``) + will trigger a warning during ``do_rootfs``. + + For more information, see the + ":ref:`dev-manual/common-tasks:post-installation scripts`" + section in the Yocto Project Development Tasks Manual. + +- The ``elf`` image type has been removed. This image type was removed + because the ``mkelfimage`` tool that was required to create it is no + longer provided by coreboot upstream and required updating every time + ``binutils`` updated. + +- Support for .iso image compression (previously enabled through + ``COMPRESSISO = "1"``) has been removed. The userspace tools + (``zisofs-tools``) are unmaintained and ``squashfs`` provides better + performance and compression. In order to build a live image with + squashfs+lz4 compression enabled you should now set + ``LIVE_ROOTFS_TYPE = "squashfs-lz4"`` and ensure that ``live`` is in + ``IMAGE_FSTYPES``. + +- Recipes with an unconditional dependency on ``libpam`` are only + buildable with ``pam`` in :term:`DISTRO_FEATURES`. If the dependency is + truly optional then it is recommended that the dependency be + conditional upon ``pam`` being in ``DISTRO_FEATURES``. + +- For EFI-based machines, the bootloader (``grub-efi`` by default) is + installed into the image at /boot. Wic can be used to split the + bootloader into separate boot and rootfs partitions if necessary. + +- Patches whose context does not match exactly (i.e. where patch + reports "fuzz" when applying) will generate a warning. For an example + of this see :yocto_git:`this commit + `. + +- Layers are expected to set ``LAYERSERIES_COMPAT_layername`` to match + the version(s) of OpenEmbedded-Core they are compatible with. This is + specified as codenames using spaces to separate multiple values (e.g. + "rocko sumo"). If a layer does not set + ``LAYERSERIES_COMPAT_layername``, a warning will is shown. If a layer + sets a value that does not include the current version ("sumo" for + the 2.5 release), then an error will be produced. + +- The ``TZ`` environment variable is set to "UTC" within the build + environment in order to fix reproducibility problems in some recipes. + + diff --git a/poky/documentation/migration-guides/migration-2.6.rst b/poky/documentation/migration-guides/migration-2.6.rst new file mode 100644 index 000000000..3216ed5ae --- /dev/null +++ b/poky/documentation/migration-guides/migration-2.6.rst @@ -0,0 +1,452 @@ +Release 2.6 (thud) +================== + +This section provides migration information for moving to the Yocto +Project 2.6 Release (codename "thud") from the prior release. + +.. _migration-2.6-gcc-changes: + +GCC 8.2 is Now Used by Default +------------------------------ + +The GNU Compiler Collection version 8.2 is now used by default for +compilation. For more information on what has changed in the GCC 8.x +release, see https://gcc.gnu.org/gcc-8/changes.html. + +If you still need to compile with version 7.x, GCC 7.3 is also provided. +You can select this version by setting the and can be selected by +setting the :term:`GCCVERSION` variable to "7.%" in +your configuration. + +.. _migration-2.6-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed: + +- *beecrypt*: No longer needed since moving to RPM 4. +- *bigreqsproto*: Replaced by ``xorgproto``. +- *calibrateproto*: Removed in favor of ``xinput``. +- *compositeproto*: Replaced by ``xorgproto``. +- *damageproto*: Replaced by ``xorgproto``. +- *dmxproto*: Replaced by ``xorgproto``. +- *dri2proto*: Replaced by ``xorgproto``. +- *dri3proto*: Replaced by ``xorgproto``. +- *eee-acpi-scripts*: Became obsolete. +- *fixesproto*: Replaced by ``xorgproto``. +- *fontsproto*: Replaced by ``xorgproto``. +- *fstests*: Became obsolete. +- *gccmakedep*: No longer used. +- *glproto*: Replaced by ``xorgproto``. +- *gnome-desktop3*: No longer needed. This recipe has moved to ``meta-oe``. +- *icon-naming-utils*: No longer used since the Sato theme was removed in 2016. +- *inputproto*: Replaced by ``xorgproto``. +- *kbproto*: Replaced by ``xorgproto``. +- *libusb-compat*: Became obsolete. +- *libuser*: Became obsolete. +- *libnfsidmap*: No longer an external requirement since ``nfs-utils`` 2.2.1. ``libnfsidmap`` is now integrated. +- *libxcalibrate*: No longer needed with ``xinput`` +- *mktemp*: Became obsolete. The ``mktemp`` command is provided by both ``busybox`` and ``coreutils``. +- *ossp-uuid*: Is not being maintained and has mostly been replaced by ``uuid.h`` in ``util-linux``. +- *pax-utils*: No longer needed. Previous QA tests that did use this recipe are now done at build time. +- *pcmciautils*: Became obsolete. +- *pixz*: No longer needed. ``xz`` now supports multi-threaded compression. +- *presentproto*: Replaced by ``xorgproto``. +- *randrproto*: Replaced by ``xorgproto``. +- *recordproto*: Replaced by ``xorgproto``. +- *renderproto*: Replaced by ``xorgproto``. +- *resourceproto*: Replaced by ``xorgproto``. +- *scrnsaverproto*: Replaced by ``xorgproto``. +- *trace-cmd*: Became obsolete. ``perf`` replaced this recipe's functionally. +- *videoproto*: Replaced by ``xorgproto``. +- *wireless-tools*: Became obsolete. Superseded by ``iw``. +- *xcmiscproto*: Replaced by ``xorgproto``. +- *xextproto*: Replaced by ``xorgproto``. +- *xf86dgaproto*: Replaced by ``xorgproto``. +- *xf86driproto*: Replaced by ``xorgproto``. +- *xf86miscproto*: Replaced by ``xorgproto``. +- *xf86-video-omapfb*: Became obsolete. Use kernel modesetting driver instead. +- *xf86-video-omap*: Became obsolete. Use kernel modesetting driver instead. +- *xf86vidmodeproto*: Replaced by ``xorgproto``. +- *xineramaproto*: Replaced by ``xorgproto``. +- *xproto*: Replaced by ``xorgproto``. +- *yasm*: No longer needed since previous usages are now satisfied by ``nasm``. + +.. _migration-2.6-packaging-changes: + +Packaging Changes +----------------- + +The following packaging changes have been made: + +- *cmake*: ``cmake.m4`` and ``toolchain`` files have been moved to + the main package. + +- *iptables*: The ``iptables`` modules have been split into + separate packages. + +- *alsa-lib*: ``libasound`` is now in the main ``alsa-lib`` package + instead of ``libasound``. + +- *glibc*: ``libnss-db`` is now in its own package along with a + ``/var/db/makedbs.sh`` script to update databases. + +- *python and python3*: The main package has been removed from + the recipe. You must install specific packages or ``python-modules`` + / ``python3-modules`` for everything. + +- *systemtap*: Moved ``systemtap-exporter`` into its own package. + +.. _migration-2.6-xorg-protocol-dependencies: + +XOrg Protocol dependencies +-------------------------- + +The ``*proto`` upstream repositories have been combined into one +"xorgproto" repository. Thus, the corresponding recipes have also been +combined into a single ``xorgproto`` recipe. Any recipes that depend +upon the older ``*proto`` recipes need to be changed to depend on the +newer ``xorgproto`` recipe instead. + +For names of recipes removed because of this repository change, see the +:ref:`migration-guides/migration-2.6:removed recipes` section. + +.. _migration-2.6-distutils-distutils3-fetching-dependencies: + +``distutils`` and ``distutils3`` Now Prevent Fetching Dependencies During the ``do_configure`` Task +--------------------------------------------------------------------------------------------------- + +Previously, it was possible for Python recipes that inherited the +``distutils`` and +:ref:`distutils3 ` classes to fetch code +during the :ref:`ref-tasks-configure` task to satisfy +dependencies mentioned in ``setup.py`` if those dependencies were not +provided in the sysroot (i.e. recipes providing the dependencies were +missing from :term:`DEPENDS`). + +.. note:: + + This change affects classes beyond just the two mentioned (i.e. + ``distutils`` and ``distutils3``). Any recipe that inherits ``distutils*`` + classes are affected. For example, the ``setuptools`` and ``setuptools3`` + recipes are affected since they inherit the ``distutils*`` classes. + +Fetching these types of dependencies that are not provided in the +sysroot negatively affects the ability to reproduce builds. This type of +fetching is now explicitly disabled. Consequently, any missing +dependencies in Python recipes that use these classes now result in an +error during the ``do_configure`` task. + +.. _migration-2.6-linux-yocto-configuration-audit-issues-now-correctly-reported: + +``linux-yocto`` Configuration Audit Issues Now Correctly Reported +----------------------------------------------------------------- + +Due to a bug, the kernel configuration audit functionality was not +writing out any resulting warnings during the build. This issue is now +corrected. You might notice these warnings now if you have a custom +kernel configuration with a ``linux-yocto`` style kernel recipe. + +.. _migration-2.6-image-kernel-artifact-naming-changes: + +Image/Kernel Artifact Naming Changes +------------------------------------ + +The following changes have been made: + +- Name variables (e.g. :term:`IMAGE_NAME`) use a new + :term:`IMAGE_VERSION_SUFFIX` variable instead of + :term:`DATETIME`. Using :term:`IMAGE_VERSION_SUFFIX` + allows easier and more direct changes. + + The :term:`IMAGE_VERSION_SUFFIX` variable is set in the ``bitbake.conf`` + configuration file as follows:: + + IMAGE_VERSION_SUFFIX = "-${DATETIME}" + +- Several variables have changed names for consistency:: + + Old Variable Name New Variable Name + ======================================================== + KERNEL_IMAGE_BASE_NAME KERNEL_IMAGE_NAME + KERNEL_IMAGE_SYMLINK_NAME KERNEL_IMAGE_LINK_NAME + MODULE_TARBALL_BASE_NAME MODULE_TARBALL_NAME + MODULE_TARBALL_SYMLINK_NAME MODULE_TARBALL_LINK_NAME + INITRAMFS_BASE_NAME INITRAMFS_NAME + +- The ``MODULE_IMAGE_BASE_NAME`` variable has been removed. The module + tarball name is now controlled directly with the + :term:`MODULE_TARBALL_NAME` variable. + +- The :term:`KERNEL_DTB_NAME` and + :term:`KERNEL_DTB_LINK_NAME` variables + have been introduced to control kernel Device Tree Binary (DTB) + artifact names instead of mangling ``KERNEL_IMAGE_*`` variables. + +- The :term:`KERNEL_FIT_NAME` and + :term:`KERNEL_FIT_LINK_NAME` variables + have been introduced to specify the name of flattened image tree + (FIT) kernel images similar to other deployed artifacts. + +- The :term:`MODULE_TARBALL_NAME` and + :term:`MODULE_TARBALL_LINK_NAME` + variable values no longer include the "module-" prefix or ".tgz" + suffix. These parts are now hardcoded so that the values are + consistent with other artifact naming variables. + +- Added the :term:`INITRAMFS_LINK_NAME` + variable so that the symlink can be controlled similarly to other + artifact types. + +- :term:`INITRAMFS_NAME` now uses + "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" instead + of "${PV}-${PR}-${MACHINE}-${DATETIME}", which makes it consistent + with other variables. + +.. _migration-2.6-serial-console-deprecated: + +``SERIAL_CONSOLE`` Deprecated +----------------------------- + +The :term:`SERIAL_CONSOLE` variable has been +functionally replaced by the +:term:`SERIAL_CONSOLES` variable for some time. +With the Yocto Project 2.6 release, :term:`SERIAL_CONSOLE` has been +officially deprecated. + +:term:`SERIAL_CONSOLE` will continue to work as before for the 2.6 release. +However, for the sake of future compatibility, it is recommended that +you replace all instances of :term:`SERIAL_CONSOLE` with +:term:`SERIAL_CONSOLES`. + +.. note:: + + The only difference in usage is that :term:`SERIAL_CONSOLES` + expects entries to be separated using semicolons as compared to + :term:`SERIAL_CONSOLE`, which expects spaces. + +.. _migration-2.6-poky-sets-unknown-configure-option-to-qa-error: + +Configure Script Reports Unknown Options as Errors +-------------------------------------------------- + +If the configure script reports an unknown option, this now triggers a +QA error instead of a warning. Any recipes that previously got away with +specifying such unknown options now need to be fixed. + +.. _migration-2.6-override-changes: + +Override Changes +---------------- + +The following changes have occurred: + +- The ``virtclass-native`` and ``virtclass-nativesdk`` Overrides Have + Been Removed: The ``virtclass-native`` and ``virtclass-nativesdk`` + overrides have been deprecated since 2012 in favor of + ``class-native`` and ``class-nativesdk``, respectively. Both + ``virtclass-native`` and ``virtclass-nativesdk`` are now dropped. + + .. note:: + + The ``virtclass-multilib-`` overrides for multilib are still valid. + +- The ``forcevariable`` Override Now Has a Higher Priority Than + ``libc`` Overrides: The ``forcevariable`` override is documented to + be the highest priority override. However, due to a long-standing + quirk of how :term:`OVERRIDES` is set, the ``libc`` + overrides (e.g. ``libc-glibc``, ``libc-musl``, and so forth) + erroneously had a higher priority. This issue is now corrected. + + It is likely this change will not cause any problems. However, it is + possible with some unusual configurations that you might see a change + in behavior if you were relying on the previous behavior. Be sure to + check how you use ``forcevariable`` and ``libc-*`` overrides in your + custom layers and configuration files to ensure they make sense. + +- The ``build-${BUILD_OS}`` Override Has Been Removed: The + ``build-${BUILD_OS}``, which is typically ``build-linux``, override + has been removed because building on a host operating system other + than a recent version of Linux is neither supported nor recommended. + Dropping the override avoids giving the impression that other host + operating systems might be supported. + +- The "_remove" operator now preserves whitespace. Consequently, when + specifying list items to remove, be aware that leading and trailing + whitespace resulting from the removal is retained. + + See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`" + section in the BitBake User Manual for a detailed example. + +.. _migration-2.6-systemd-configuration-now-split-out-to-system-conf: + +``systemd`` Configuration is Now Split Into ``systemd-conf`` +------------------------------------------------------------ + +The configuration for the ``systemd`` recipe has been moved into a +``system-conf`` recipe. Moving this configuration to a separate recipe +avoids the ``systemd`` recipe from becoming machine-specific for cases +where machine-specific configurations need to be applied (e.g. for +``qemu*`` machines). + +Currently, the new recipe packages the following files:: + + ${sysconfdir}/machine-id + ${sysconfdir}/systemd/coredump.conf + ${sysconfdir}/systemd/journald.conf + ${sysconfdir}/systemd/logind.conf + ${sysconfdir}/systemd/system.conf + ${sysconfdir}/systemd/user.conf + +If you previously used bbappend files to append the ``systemd`` recipe to +change any of the listed files, you must do so for the ``systemd-conf`` +recipe instead. + +.. _migration-2.6-automatic-testing-changes: + +Automatic Testing Changes +------------------------- + +This section provides information about automatic testing changes: + +- ``TEST_IMAGE`` Variable Removed: Prior to this release, you set the + ``TEST_IMAGE`` variable to "1" to enable automatic testing for + successfully built images. The ``TEST_IMAGE`` variable no longer + exists and has been replaced by the + :term:`TESTIMAGE_AUTO` variable. + +- Inheriting the ``testimage`` and ``testsdk`` Classes: Best + practices now dictate that you use the + :term:`IMAGE_CLASSES` variable rather than the + :term:`INHERIT` variable when you inherit the + :ref:`testimage ` and + :ref:`testsdk ` classes used for automatic + testing. + +.. _migration-2.6-openssl-changes: + +OpenSSL Changes +--------------- + +`OpenSSL `__ has been upgraded from 1.0 to +1.1. By default, this upgrade could cause problems for recipes that have +both versions in their dependency chains. The problem is that both +versions cannot be installed together at build time. + +.. note:: + + It is possible to have both versions of the library at runtime. + +.. _migration-2.6-bitbake-changes: + +BitBake Changes +--------------- + +The server logfile ``bitbake-cookerdaemon.log`` is now always placed in +the :term:`Build Directory` instead of the current +directory. + +.. _migration-2.6-security-changes: + +Security Changes +---------------- + +The Poky distribution now uses security compiler flags by default. +Inclusion of these flags could cause new failures due to stricter +checking for various potential security issues in code. + +.. _migration-2.6-post-installation-changes: + +Post Installation Changes +------------------------- + +You must explicitly mark post installs to defer to the target. If you +want to explicitly defer a postinstall to first boot on the target +rather than at rootfs creation time, use ``pkg_postinst_ontarget()`` or +call ``postinst_intercept delay_to_first_boot`` from ``pkg_postinst()``. +Any failure of a ``pkg_postinst()`` script (including exit 1) triggers +an error during the :ref:`ref-tasks-rootfs` task. + +For more information on post-installation behavior, see the +":ref:`dev-manual/common-tasks:post-installation scripts`" +section in the Yocto Project Development Tasks Manual. + +.. _migration-2.6-python-3-profile-guided-optimizations: + +Python 3 Profile-Guided Optimization +------------------------------------ + +The ``python3`` recipe now enables profile-guided optimization. Using +this optimization requires a little extra build time in exchange for +improved performance on the target at runtime. Additionally, the +optimization is only enabled if the current +:term:`MACHINE` has support for user-mode emulation in +QEMU (i.e. "qemu-usermode" is in +:term:`MACHINE_FEATURES`, which it is by +default). + +If you wish to disable Python profile-guided optimization regardless of +the value of :term:`MACHINE_FEATURES`, then ensure that +:term:`PACKAGECONFIG` for the ``python3`` recipe +does not contain "pgo". You could accomplish the latter using the +following at the configuration level:: + + PACKAGECONFIG_remove_pn-python3 = "pgo" + +Alternatively, you can set :term:`PACKAGECONFIG` using an append file +for the ``python3`` recipe. + +.. _migration-2.6-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following miscellaneous changes occurred: + +- Default to using the Thumb-2 instruction set for armv7a and above. If + you have any custom recipes that build software that needs to be + built with the ARM instruction set, change the recipe to set the + instruction set as follows:: + + ARM_INSTRUCTION_SET = "arm" + +- ``run-postinsts`` no longer uses ``/etc/*-postinsts`` for + ``dpkg/opkg`` in favor of built-in postinst support. RPM behavior + remains unchanged. + +- The ``NOISO`` and ``NOHDD`` variables are no longer used. You now + control building ``*.iso`` and ``*.hddimg`` image types directly by + using the :term:`IMAGE_FSTYPES` variable. + +- The ``scripts/contrib/mkefidisk.sh`` has been removed in favor of + Wic. + +- ``kernel-modules`` has been removed from + :term:`RRECOMMENDS` for ``qemumips`` and + ``qemumips64`` machines. Removal also impacts the ``x86-base.inc`` + file. + + .. note:: + + ``genericx86`` and ``genericx86-64`` retain ``kernel-modules`` as part of + the ``RRECOMMENDS`` variable setting. + +- The ``LGPLv2_WHITELIST_GPL-3.0`` variable has been removed. If you + are setting this variable in your configuration, set or append it to + the ``WHITELIST_GPL-3.0`` variable instead. + +- ``${ASNEEDED}`` is now included in the + :term:`TARGET_LDFLAGS` variable directly. The + remaining definitions from ``meta/conf/distro/include/as-needed.inc`` + have been moved to corresponding recipes. + +- Support for DSA host keys has been dropped from the OpenSSH recipes. + If you are still using DSA keys, you must switch over to a more + secure algorithm as recommended by OpenSSH upstream. + +- The ``dhcp`` recipe now uses the ``dhcpd6.conf`` configuration file + in ``dhcpd6.service`` for IPv6 DHCP rather than re-using + ``dhcpd.conf``, which is now reserved for IPv4. + + diff --git a/poky/documentation/migration-guides/migration-2.7.rst b/poky/documentation/migration-guides/migration-2.7.rst new file mode 100644 index 000000000..25d92296c --- /dev/null +++ b/poky/documentation/migration-guides/migration-2.7.rst @@ -0,0 +1,180 @@ +Release 2.7 (warrior) +===================== + +This section provides migration information for moving to the Yocto +Project 2.7 Release (codename "warrior") from the prior release. + +.. _migration-2.7-bitbake-changes: + +BitBake Changes +--------------- + +The following changes have been made to BitBake: + +- BitBake now checks anonymous Python functions and pure Python + functions (e.g. ``def funcname:``) in the metadata for tab + indentation. If found, BitBake produces a warning. + +- Bitbake now checks + :term:`BBFILE_COLLECTIONS` for duplicate + entries and triggers an error if any are found. + +.. _migration-2.7-eclipse-support-dropped: + +Eclipse Support Removed +----------------------- + +Support for the Eclipse IDE has been removed. Support continues for +those releases prior to 2.7 that did include support. The 2.7 release +does not include the Eclipse Yocto plugin. + +.. _migration-2.7-qemu-native-splits-system-and-user-mode-parts: + +``qemu-native`` Splits the System and User-Mode Parts +----------------------------------------------------- + +The system and user-mode parts of ``qemu-native`` are now split. +``qemu-native`` provides the user-mode components and +``qemu-system-native`` provides the system components. If you have +recipes that depend on QEMU's system emulation functionality at build +time, they should now depend upon ``qemu-system-native`` instead of +``qemu-native``. + +.. _migration-2.7-upstream-tracking.inc-removed: + +The ``upstream-tracking.inc`` File Has Been Removed +--------------------------------------------------- + +The previously deprecated ``upstream-tracking.inc`` file is now removed. +Any ``UPSTREAM_TRACKING*`` variables are now set in the corresponding +recipes instead. + +Remove any references you have to the ``upstream-tracking.inc`` file in +your configuration. + +.. _migration-2.7-distro-features-libc-removed: + +The ``DISTRO_FEATURES_LIBC`` Variable Has Been Removed +------------------------------------------------------ + +The ``DISTRO_FEATURES_LIBC`` variable is no longer used. The ability to +configure glibc using kconfig has been removed for quite some time +making the ``libc-*`` features set no longer effective. + +Remove any references you have to ``DISTRO_FEATURES_LIBC`` in your own +layers. + +.. _migration-2.7-license-values: + +License Value Corrections +------------------------- + +The following corrections have been made to the +:term:`LICENSE` values set by recipes: + +- *socat*: Corrected ``LICENSE`` to be "GPLv2" rather than "GPLv2+". +- *libgfortran*: Set license to "GPL-3.0-with-GCC-exception". +- *elfutils*: Removed "Elfutils-Exception" and set to "GPLv2" for shared libraries + +.. _migration-2.7-packaging-changes: + +Packaging Changes +----------------- + +This section provides information about packaging changes. + +- ``bind``: The ``nsupdate`` binary has been moved to the + ``bind-utils`` package. + +- Debug split: The default debug split has been changed to create + separate source packages (i.e. package_name\ ``-dbg`` and + package_name\ ``-src``). If you are currently using ``dbg-pkgs`` in + :term:`IMAGE_FEATURES` to bring in debug + symbols and you still need the sources, you must now also add + ``src-pkgs`` to :term:`IMAGE_FEATURES`. Source packages remain in the + target portion of the SDK by default, unless you have set your own + value for :term:`SDKIMAGE_FEATURES` that + does not include ``src-pkgs``. + +- Mount all using ``util-linux``: ``/etc/default/mountall`` has moved + into the -mount sub-package. + +- Splitting binaries using ``util-linux``: ``util-linux`` now splits + each binary into its own package for fine-grained control. The main + ``util-linux`` package pulls in the individual binary packages using + the :term:`RRECOMMENDS` and + :term:`RDEPENDS` variables. As a result, existing + images should not see any changes assuming + :term:`NO_RECOMMENDATIONS` is not set. + +- ``netbase/base-files``: ``/etc/hosts`` has moved from ``netbase`` to + ``base-files``. + +- ``tzdata``: The main package has been converted to an empty meta + package that pulls in all ``tzdata`` packages by default. + +- ``lrzsz``: This package has been removed from + ``packagegroup-self-hosted`` and + ``packagegroup-core-tools-testapps``. The X/Y/ZModem support is less + likely to be needed on modern systems. If you are relying on these + packagegroups to include the ``lrzsz`` package in your image, you now + need to explicitly add the package. + +.. _migration-2.7-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed: + +- *gcc*: Drop version 7.3 recipes. Version 8.3 now remains. +- *linux-yocto*: Drop versions 4.14 and 4.18 recipes. Versions 4.19 and 5.0 remain. +- *go*: Drop version 1.9 recipes. Versions 1.11 and 1.12 remain. +- *xvideo-tests*: Became obsolete. +- *libart-lgpl*: Became obsolete. +- *gtk-icon-utils-native*: These tools are now provided by gtk+3-native +- *gcc-cross-initial*: No longer needed. gcc-cross/gcc-crosssdk is now used instead. +- *gcc-crosssdk-initial*: No longer needed. gcc-cross/gcc-crosssdk is now used instead. +- *glibc-initial*: Removed because the benefits of having it for site_config are currently outweighed by the cost of building the recipe. + +.. _migration-2.7-removed-classes: + +Removed Classes +--------------- + +The following classes have been removed: + +- *distutils-tools*: This class was never used. +- *bugzilla.bbclass*: Became obsolete. +- *distrodata*: This functionally has been replaced by a more modern tinfoil-based implementation. + +.. _migration-2.7-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following miscellaneous changes occurred: + +- The ``distro`` subdirectory of the Poky repository has been removed + from the top-level ``scripts`` directory. + +- Perl now builds for the target using + `perl-cross `_ for better + maintainability and improved build performance. This change should + not present any problems unless you have heavily customized your Perl + recipe. + +- ``arm-tunes``: Removed the "-march" option if mcpu is already added. + +- ``update-alternatives``: Convert file renames to + :term:`PACKAGE_PREPROCESS_FUNCS` + +- ``base/pixbufcache``: Obsolete ``sstatecompletions`` code has been + removed. + +- :ref:`native ` class: + :term:`RDEPENDS` handling has been enabled. + +- ``inetutils``: This recipe has rsh disabled. + + diff --git a/poky/documentation/migration-guides/migration-3.0.rst b/poky/documentation/migration-guides/migration-3.0.rst new file mode 100644 index 000000000..163c6201c --- /dev/null +++ b/poky/documentation/migration-guides/migration-3.0.rst @@ -0,0 +1,319 @@ +Release 3.0 (zeus) +================== + +This section provides migration information for moving to the Yocto +Project 3.0 Release (codename "zeus") from the prior release. + +.. _migration-3.0-init-system-selection: + +Init System Selection +--------------------- + +Changing the init system manager previously required setting a number of +different variables. You can now change the manager by setting the +``INIT_MANAGER`` variable and the corresponding include files (i.e. +``conf/distro/include/init-manager-*.conf``). Include files are provided +for four values: "none", "sysvinit", "systemd", and "mdev-busybox". The +default value, "none", for ``INIT_MANAGER`` should allow your current +settings to continue working. However, it is advisable to explicitly set +``INIT_MANAGER``. + +.. _migration-3.0-lsb-support-removed: + +LSB Support Removed +------------------- + +Linux Standard Base (LSB) as a standard is not current, and is not well +suited for embedded applications. Support can be continued in a separate +layer if needed. However, presently LSB support has been removed from +the core. + +As a result of this change, the ``poky-lsb`` derivative distribution +configuration that was also used for testing alternative configurations +has been replaced with a ``poky-altcfg`` distribution that has LSB parts +removed. + +.. _migration-3.0-removed-recipes: + +Removed Recipes +--------------- + +The following recipes have been removed. + +- ``core-image-lsb-dev``: Part of removed LSB support. + +- ``core-image-lsb``: Part of removed LSB support. + +- ``core-image-lsb-sdk``: Part of removed LSB support. + +- ``cve-check-tool``: Functionally replaced by the ``cve-update-db`` + recipe and ``cve-check`` class. + +- ``eglinfo``: No longer maintained. ``eglinfo`` from ``mesa-demos`` is + an adequate and maintained alternative. + +- ``gcc-8.3``: Version 8.3 removed. Replaced by 9.2. + +- ``gnome-themes-standard``: Only needed by gtk+ 2.x, which has been + removed. + +- ``gtk+``: GTK+ 2 is obsolete and has been replaced by gtk+3. + +- ``irda-utils``: Has become obsolete. IrDA support has been removed + from the Linux kernel in version 4.17 and later. + +- ``libnewt-python``: ``libnewt`` Python support merged into main + ``libnewt`` recipe. + +- ``libsdl``: Replaced by newer ``libsdl2``. + +- ``libx11-diet``: Became obsolete. + +- ``libxx86dga``: Removed obsolete client library. + +- ``libxx86misc``: Removed. Library is redundant. + +- ``linux-yocto``: Version 5.0 removed, which is now redundant (5.2 / + 4.19 present). + +- ``lsbinitscripts``: Part of removed LSB support. + +- ``lsb``: Part of removed LSB support. + +- ``lsbtest``: Part of removed LSB support. + +- ``openssl10``: Replaced by newer ``openssl`` version 1.1. + +- ``packagegroup-core-lsb``: Part of removed LSB support. + +- ``python-nose``: Removed the Python 2.x version of the recipe. + +- ``python-numpy``: Removed the Python 2.x version of the recipe. + +- ``python-scons``: Removed the Python 2.x version of the recipe. + +- ``source-highlight``: No longer needed. + +- ``stress``: Replaced by ``stress-ng``. + +- ``vulkan``: Split into ``vulkan-loader``, ``vulkan-headers``, and + ``vulkan-tools``. + +- ``weston-conf``: Functionality moved to ``weston-init``. + +.. _migration-3.0-packaging-changes: + +Packaging Changes +----------------- + +The following packaging changes have occurred. + +- The `Epiphany `__ browser + has been dropped from ``packagegroup-self-hosted`` as it has not been + needed inside ``build-appliance-image`` for quite some time and was + causing resource problems. + +- ``libcap-ng`` Python support has been moved to a separate + ``libcap-ng-python`` recipe to streamline the build process when the + Python bindings are not needed. + +- ``libdrm`` now packages the file ``amdgpu.ids`` into a separate + ``libdrm-amdgpu`` package. + +- ``python3``: The ``runpy`` module is now in the ``python3-core`` + package as it is required to support the common "python3 -m" command + usage. + +- ``distcc`` now provides separate ``distcc-client`` and + ``distcc-server`` packages as typically one or the other are needed, + rather than both. + +- ``python*-setuptools`` recipes now separately package the + ``pkg_resources`` module in a ``python-pkg-resources`` / + ``python3-pkg-resources`` package as the module is useful independent + of the rest of the setuptools package. The main ``python-setuptools`` + / ``python3-setuptools`` package depends on this new package so you + should only need to update dependencies unless you want to take + advantage of the increased granularity. + +.. _migration-3.0-cve-checking: + +CVE Checking +------------ + +``cve-check-tool`` has been functionally replaced by a new +``cve-update-db`` recipe and functionality built into the ``cve-check`` +class. The result uses NVD JSON data feeds rather than the deprecated +XML feeds that ``cve-check-tool`` was using, supports CVSSv3 scoring, +and makes other improvements. + +Additionally, the ``CVE_CHECK_CVE_WHITELIST`` variable has been replaced +by ``CVE_CHECK_WHITELIST``. + +.. _migration-3.0-bitbake-changes: + +Bitbake Changes +--------------- + +The following BitBake changes have occurred. + +- ``addtask`` statements now properly validate dependent tasks. + Previously, an invalid task was silently ignored. With this change, + the invalid task generates a warning. + +- Other invalid ``addtask`` and ``deltask`` usages now trigger these + warnings: "multiple target tasks arguments with addtask / deltask", + and "multiple before/after clauses". + +- The "multiconfig" prefix is now shortened to "mc". "multiconfig" will + continue to work, however it may be removed in a future release. + +- The ``bitbake -g`` command no longer generates a + ``recipe-depends.dot`` file as the contents (i.e. a reprocessed + version of ``task-depends.dot``) were confusing. + +- The ``bb.build.FuncFailed`` exception, previously raised by + ``bb.build.exec_func()`` when certain other exceptions have occurred, + has been removed. The real underlying exceptions will be raised + instead. If you have calls to ``bb.build.exec_func()`` in custom + classes or ``tinfoil-using`` scripts, any references to + ``bb.build.FuncFailed`` should be cleaned up. + +- Additionally, the ``bb.build.exec_func()`` no longer accepts the + "pythonexception" parameter. The function now always raises + exceptions. Remove this argument in any calls to + ``bb.build.exec_func()`` in custom classes or scripts. + +- The ``BB_SETSCENE_VERIFY_FUNCTION2`` variable is no longer used. In + the unlikely event that you have any references to it, they should be + removed. + +- The ``RunQueueExecuteScenequeue`` and ``RunQueueExecuteTasks`` events + have been removed since setscene tasks are now executed as part of + the normal runqueue. Any event handling code in custom classes or + scripts that handles these two events need to be updated. + +- The arguments passed to functions used with + :term:`bitbake:BB_HASHCHECK_FUNCTION` + have changed. If you are using your own custom hash check function, + see :yocto_git:`/poky/commit/?id=40a5e193c4ba45c928fccd899415ea56b5417725` + for details. + +- Task specifications in ``BB_TASKDEPDATA`` and class implementations + used in signature generator classes now use ":" everywhere + rather than the "." delimiter that was being used in some places. + This change makes it consistent with all areas in the code. Custom + signature generator classes and code that reads ``BB_TASKDEPDATA`` + need to be updated to use ':' as a separator rather than '.'. + +.. _migration-3.0-sanity-checks: + +Sanity Checks +------------- + +The following sanity check changes occurred. + +- :term:`SRC_URI` is now checked for usage of two + problematic items: + + - "${PN}" prefix/suffix use - Warnings always appear if ${PN} is + used. You must fix the issue regardless of whether multiconfig or + anything else that would cause prefixing/suffixing to happen. + + - Github archive tarballs - these are not guaranteed to be stable. + Consequently, it is likely that the tarballs will be refreshed and + thus the SRC_URI checksums will fail to apply. It is recommended + that you fetch either an official release tarball or a specific + revision from the actual Git repository instead. + + Either one of these items now trigger a warning by default. If you + wish to disable this check, remove ``src-uri-bad`` from + :term:`WARN_QA`. + +- The ``file-rdeps`` runtime dependency check no longer expands + :term:`RDEPENDS` recursively as there is no mechanism + to ensure they can be fully computed, and thus races sometimes result + in errors either showing up or not. Thus, you might now see errors + for missing runtime dependencies that were previously satisfied + recursively. Here is an example: package A contains a shell script + starting with ``#!/bin/bash`` but has no dependency on bash. However, + package A depends on package B, which does depend on bash. You need + to add the missing dependency or dependencies to resolve the warning. + +- Setting ``DEPENDS_${PN}`` anywhere (i.e. typically in a recipe) now + triggers an error. The error is triggered because + :term:`DEPENDS` is not a package-specific variable + unlike RDEPENDS. You should set ``DEPENDS`` instead. + +- systemd currently does not work well with the musl C library because + only upstream officially supports linking the library with glibc. + Thus, a warning is shown when building systemd in conjunction with + musl. + +.. _migration-3.0-miscellaneous-changes: + +Miscellaneous Changes +--------------------- + +The following miscellaneous changes have occurred. + +- The ``gnome`` class has been removed because it now does very little. + You should update recipes that previously inherited this class to do + the following: inherit gnomebase gtk-icon-cache gconf mime + +- The ``meta/recipes-kernel/linux/linux-dtb.inc`` file has been + removed. This file was previously deprecated in favor of setting + :term:`KERNEL_DEVICETREE` in any kernel + recipe and only produced a warning. Remove any ``include`` or + ``require`` statements pointing to this file. + +- :term:`TARGET_CFLAGS`, + :term:`TARGET_CPPFLAGS`, + :term:`TARGET_CXXFLAGS`, and + :term:`TARGET_LDFLAGS` are no longer exported + to the external environment. This change did not require any changes + to core recipes, which is a good indicator that no changes will be + required. However, if for some reason the software being built by one + of your recipes is expecting these variables to be set, then building + the recipe will fail. In such cases, you must either export the + variable or variables in the recipe or change the scripts so that + exporting is not necessary. + +- You must change the host distro identifier used in + :term:`NATIVELSBSTRING` to use all lowercase + characters even if it does not contain a version number. This change + is necessary only if you are not using ``uninative`` and + :term:`SANITY_TESTED_DISTROS`. + +- In the ``base-files`` recipe, writing the hostname into + ``/etc/hosts`` and ``/etc/hostname`` is now done within the main + :ref:`ref-tasks-install` function rather than in the + ``do_install_basefilesissue`` function. The reason for the change is + because ``do_install_basefilesissue`` is more easily overridden + without having to duplicate the hostname functionality. If you have + done the latter (e.g. in a ``base-files`` bbappend), then you should + remove it from your customized ``do_install_basefilesissue`` + function. + +- The ``wic --expand`` command now uses commas to separate "key:value" + pairs rather than hyphens. + + .. note:: + + The wic command-line help is not updated. + + You must update any scripts or commands where you use + ``wic --expand`` with multiple "key:value" pairs. + +- UEFI image variable settings have been moved from various places to a + central ``conf/image-uefi.conf``. This change should not influence + any existing configuration as the ``meta/conf/image-uefi.conf`` in + the core metadata sets defaults that can be overridden in the same + manner as before. + +- ``conf/distro/include/world-broken.inc`` has been removed. For cases + where certain recipes need to be disabled when using the musl C + library, these recipes now have ``COMPATIBLE_HOST_libc-musl`` set + with a comment that explains why. + + diff --git a/poky/documentation/migration-guides/migration-3.1.rst b/poky/documentation/migration-guides/migration-3.1.rst new file mode 100644 index 000000000..80b8f6baa --- /dev/null +++ b/poky/documentation/migration-guides/migration-3.1.rst @@ -0,0 +1,275 @@ +Release 3.1 (dunfell) +===================== + +This section provides migration information for moving to the Yocto +Project 3.1 Release (codename "dunfell") from the prior release. + +.. _migration-3.1-minimum-system-requirements: + +Minimum system requirements +--------------------------- + +The following versions / requirements of build host components have been +updated: + +- gcc 5.0 + +- python 3.5 + +- tar 1.28 + +- ``rpcgen`` is now required on the host (part of the ``libc-dev-bin`` + package on Ubuntu, Debian and related distributions, and the + ``glibc`` package on RPM-based distributions). + +Additionally, the ``makeinfo`` and ``pod2man`` tools are *no longer* +required on the host. + +.. _migration-3.1-mpc8315e-rdb-removed: + +mpc8315e-rdb machine removed +---------------------------- + +The MPC8315E-RDB machine is old/obsolete and unobtainable, thus given +the maintenance burden the ``mpc8315e-rdb`` machine configuration that +supported it has been removed in this release. The removal does leave a +gap in official PowerPC reference hardware support; this may change in +future if a suitable machine with accompanying support resources is +found. + +.. _migration-3.1-python-2-removed: + +Python 2 removed +---------------- + +Due to the expiration of upstream support in January 2020, support for +Python 2 has now been removed; it is recommended that you use Python 3 +instead. If absolutely needed there is a meta-python2 community layer +containing Python 2, related classes and various Python 2-based modules, +however it should not be considered as supported. + +.. _migration-3.1-reproducible-builds: + +Reproducible builds now enabled by default +------------------------------------------ + +In order to avoid unnecessary differences in output files (aiding binary +reproducibility), the Poky distribution configuration +(``DISTRO = "poky"``) now inherits the ``reproducible_build`` class by +default. + +.. _migration-3.1-ptest-feature-impact: + +Impact of ptest feature is now more significant +----------------------------------------------- + +The Poky distribution configuration (``DISTRO = "poky"``) enables ptests +by default to enable runtime testing of various components. In this +release, a dependency needed to be added that has resulted in a +significant increase in the number of components that will be built just +when building a simple image such as core-image-minimal. If you do not +need runtime tests enabled for core components, then it is recommended +that you remove "ptest" from +:term:`DISTRO_FEATURES` to save a significant +amount of build time e.g. by adding the following in your configuration:: + + DISTRO_FEATURES_remove = "ptest" + +.. _migration-3.1-removed-recipes: + +Removed recipes +--------------- + +The following recipes have been removed: + +- ``chkconfig``: obsolete + +- ``console-tools``: obsolete + +- ``enchant``: replaced by ``enchant2`` + +- ``foomatic-filters``: obsolete + +- ``libidn``: no longer needed, moved to meta-oe + +- ``libmodulemd``: replaced by ``libmodulemd-v1`` + +- ``linux-yocto``: drop 4.19, 5.2 version recipes (5.4 now provided) + +- ``nspr``: no longer needed, moved to meta-oe + +- ``nss``: no longer needed, moved to meta-oe + +- ``python``: Python 2 removed (Python 3 preferred) + +- ``python-setuptools``: Python 2 version removed (python3-setuptools + preferred) + +- ``sysprof``: no longer needed, moved to meta-oe + +- ``texi2html``: obsolete + +- ``u-boot-fw-utils``: functionally replaced by ``libubootenv`` + +.. _migration-3.1-features-check: + +features_check class replaces distro_features_check +--------------------------------------------------- + +The ``distro_features_check`` class has had its functionality expanded, +now supporting ``ANY_OF_MACHINE_FEATURES``, +``REQUIRED_MACHINE_FEATURES``, ``CONFLICT_MACHINE_FEATURES``, +``ANY_OF_COMBINED_FEATURES``, ``REQUIRED_COMBINED_FEATURES``, +``CONFLICT_COMBINED_FEATURES``. As a result the class has now been +renamed to ``features_check``; the ``distro_features_check`` class still +exists but generates a warning and redirects to the new class. In +preparation for a future removal of the old class it is recommended that +you update recipes currently inheriting ``distro_features_check`` to +inherit ``features_check`` instead. + +.. _migration-3.1-removed-classes: + +Removed classes +--------------- + +The following classes have been removed: + +- ``distutils-base``: moved to meta-python2 + +- ``distutils``: moved to meta-python2 + +- ``libc-common``: merged into the glibc recipe as nothing else used + it. + +- ``python-dir``: moved to meta-python2 + +- ``pythonnative``: moved to meta-python2 + +- ``setuptools``: moved to meta-python2 + +- ``tinderclient``: dropped as it was obsolete. + +.. _migration-3.1-src-uri-checksums: + +SRC_URI checksum behaviour +-------------------------- + +Previously, recipes by tradition included both SHA256 and MD5 checksums +for remotely fetched files in :term:`SRC_URI`, even +though only one is actually mandated. However, the MD5 checksum does not +add much given its inherent weakness; thus when a checksum fails only +the SHA256 sum will now be printed. The md5sum will still be verified if +it is specified. + +.. _migration-3.1-npm: + +npm fetcher changes +------------------- + +The npm fetcher has been completely reworked in this release. The npm +fetcher now only fetches the package source itself and no longer the +dependencies; there is now also an npmsw fetcher which explicitly +fetches the shrinkwrap file and the dependencies. This removes the +slightly awkward ``NPM_LOCKDOWN`` and ``NPM_SHRINKWRAP`` variables which +pointed to local files; the lockdown file is no longer needed at all. +Additionally, the package name in ``npm://`` entries in +:term:`SRC_URI` is now specified using a ``package`` +parameter instead of the earlier ``name`` which overlapped with the +generic ``name`` parameter. All recipes using the npm fetcher will need +to be changed as a result. + +An example of the new scheme:: + + SRC_URI = "npm://registry.npmjs.org;package=array-flatten;version=1.1.1 \ + npmsw://${THISDIR}/npm-shrinkwrap.json" + +Another example where the sources are fetched from git rather than an npm repository:: + + SRC_URI = "git://github.com/foo/bar.git;protocol=https \ + npmsw://${THISDIR}/npm-shrinkwrap.json" + +devtool and recipetool have also been updated to match with the npm +fetcher changes. Other than producing working and more complete recipes +for npm sources, there is also a minor change to the command line for +devtool: the ``--fetch-dev`` option has been renamed to ``--npm-dev`` as +it is npm-specific. + +.. _migration-3.1-packaging-changes: + +Packaging changes +----------------- + +- ``intltool`` has been removed from ``packagegroup-core-sdk`` as it is + rarely needed to build modern software - gettext can do most of the + things it used to be needed for. ``intltool`` has also been removed + from ``packagegroup-core-self-hosted`` as it is not needed to for + standard builds. + +- git: ``git-am``, ``git-difftool``, ``git-submodule``, and + ``git-request-pull`` are no longer perl-based, so are now installed + with the main ``git`` package instead of within ``git-perltools``. + +- The ``ldconfig`` binary built as part of glibc has now been moved to + its own ``ldconfig`` package (note no ``glibc-`` prefix). This + package is in the :term:`RRECOMMENDS` of the main + ``glibc`` package if ``ldconfig`` is present in + :term:`DISTRO_FEATURES`. + +- ``libevent`` now splits each shared library into its own package (as + Debian does). Since these are shared libraries and will be pulled in + through the normal shared library dependency handling, there should + be no impact to existing configurations other than less unnecessary + libraries being installed in some cases. + +- linux-firmware now has a new package for ``bcm4366c`` and includes + available NVRAM config files into the ``bcm43340``, ``bcm43362``, + ``bcm43430`` and ``bcm4356-pcie`` packages. + +- ``harfbuzz`` now splits the new ``libharfbuzz-subset.so`` library + into its own package to reduce the main package size in cases where + ``libharfbuzz-subset.so`` is not needed. + +.. _migration-3.1-package-qa-warnings: + +Additional warnings +------------------- + +Warnings will now be shown at ``do_package_qa`` time in the following +circumstances: + +- A recipe installs ``.desktop`` files containing ``MimeType`` keys but + does not inherit the new ``mime-xdg`` class + +- A recipe installs ``.xml`` files into ``${datadir}/mime/packages`` + but does not inherit the ``mime`` class + +.. _migration-3.1-x86-live-wic: + +``wic`` image type now used instead of ``live`` by default for x86 +------------------------------------------------------------------ + +``conf/machine/include/x86-base.inc`` (inherited by most x86 machine +configurations) now specifies ``wic`` instead of ``live`` by default in +:term:`IMAGE_FSTYPES`. The ``live`` image type will +likely be removed in a future release so it is recommended that you use +``wic`` instead. + +.. _migration-3.1-misc: + +Miscellaneous changes +--------------------- + +- The undocumented ``SRC_DISTRIBUTE_LICENSES`` variable has now been + removed in favour of a new :term:`AVAILABLE_LICENSES` variable which is + dynamically set based upon license files found in + ``${COMMON_LICENSE_DIR}`` and ``${LICENSE_PATH}``. + +- The tune definition for big-endian microblaze machines is now + ``microblaze`` instead of ``microblazeeb``. + +- ``newlib`` no longer has built-in syscalls. ``libgloss`` should then + provide the syscalls, ``crt0.o`` and other functions that are no + longer part of ``newlib`` itself. If you are using + ``TCLIBC = "newlib"`` this now means that you must link applications + with both ``newlib`` and ``libgloss``, whereas before ``newlib`` + would run in many configurations by itself. diff --git a/poky/documentation/migration-guides/migration-3.2.rst b/poky/documentation/migration-guides/migration-3.2.rst new file mode 100644 index 000000000..a940f2323 --- /dev/null +++ b/poky/documentation/migration-guides/migration-3.2.rst @@ -0,0 +1,313 @@ +Release 3.2 (gatesgarth) +======================== + +This section provides migration information for moving to the Yocto +Project 3.2 Release (codename "gatesgarth") from the prior release. + +.. _migration-3.2-minimum-system-requirements: + +Minimum system requirements +--------------------------- + +``gcc`` version 6.0 is now required at minimum on the build host. For older +host distributions where this is not available, you can use the +``buildtools-extended-tarball`` (easily installable using +``scripts/install-buildtools``). + + +.. _migration-3.2-removed-recipes: + +Removed recipes +--------------- + +The following recipes have been removed: + +- ``bjam-native``: replaced by ``boost-build-native`` +- ``avahi-ui``: folded into the main ``avahi`` recipe - the GTK UI can be disabled using :term:`PACKAGECONFIG` for ``avahi``. +- ``build-compare``: no longer needed with the removal of the ``packagefeed-stability`` class +- ``dhcp``: obsolete, functionally replaced by ``dhcpcd`` and ``kea`` +- ``libmodulemd-v1``: replaced by ``libmodulemd`` +- ``packagegroup-core-device-devel``: obsolete + + +.. _migration-3.2-removed-classes: + +Removed classes +--------------- + +The following classes (.bbclass files) have been removed: + +- ``spdx``: obsolete - the Yocto Project is a strong supporter of SPDX, but this class was old code using a dated approach and had the potential to be misleading. The ``meta-sdpxscanner`` layer is a much more modern and active approach to handling this and is recommended as a replacement. + +- ``packagefeed-stability``: this class had become obsolete with the advent of hash equivalence and reproducible builds. + + +pseudo path filtering and mismatch behaviour +-------------------------------------------- + +pseudo now operates on a filtered subset of files. This is a significant change +to the way pseudo operates within OpenEmbedded - by default, pseudo monitors and +logs (adds to its database) any file created or modified whilst in a ``fakeroot`` +environment. However, there are large numbers of files that we simply don't care +about the permissions of whilst in that ``fakeroot`` context, for example ${:term:`S`}, ${:term:`B`}, ${:term:`T`}, +${:term:`SSTATE_DIR`}, the central sstate control directories, and others. + +As of this release, new functionality in pseudo is enabled to ignore these +directory trees (controlled using a new :term:`PSEUDO_IGNORE_PATHS` variable) +resulting in a cleaner database with less chance of "stray" mismatches if files +are modified outside pseudo context. It also should reduce some overhead from +pseudo as the interprocess round trip to the server is avoided. + +There is a possible complication where some existing recipe may break, for +example, a recipe was found to be writing to ``${B}/install`` for +``make install`` in ``do_install`` and since ``${B}`` is listed as not to be tracked, +there were errors trying to ``chown root`` for files in this location. Another +example was the ``tcl`` recipe where the source directory :term:`S` is set to a +subdirectory of the source tree but files were written out to the directory +structure above that subdirectory. For these types of cases in your own recipes, +extend :term:`PSEUDO_IGNORE_PATHS` to cover additional paths that pseudo should not +be monitoring. + +In addition, pseudo's behaviour on mismatches has now been changed - rather +than doing what turns out to be a rather dangerous "fixup" if it sees a file +with a different path but the same inode as another file it has previously seen, +pseudo will throw an ``abort()`` and direct you to a :yocto_wiki:`wiki page ` +that explains how to deal with this. + + +.. _migration-3.2-multilib-mlprefix: + +``MLPREFIX`` now required for multilib when runtime dependencies conditionally added +------------------------------------------------------------------------------------ + +In order to solve some previously intractable problems with runtime +dependencies and multilib, a change was made that now requires the :term:`MLPREFIX` +value to be explicitly prepended to package names being added as +dependencies (e.g. in :term:`RDEPENDS` and :term:`RRECOMMENDS` values) +where the dependency is conditionally added. + +If you have anonymous python or in-line python conditionally adding +dependencies in your custom recipes, and you intend for those recipes to +work with multilib, then you will need to ensure that ``${MLPREFIX}`` +is prefixed on the package names in the dependencies, for example +(from the ``glibc`` recipe):: + + RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}" + +This also applies when conditionally adding packages to :term:`PACKAGES` where +those packages have dependencies, for example (from the ``alsa-plugins`` recipe):: + + PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" + ... + RDEPENDS_${PN}-pulseaudio-conf += "\ + ${MLPREFIX}libasound-module-conf-pulse \ + ${MLPREFIX}libasound-module-ctl-pulse \ + ${MLPREFIX}libasound-module-pcm-pulse \ + " + + +.. _migration-3.2-packagegroup-core-device-devel: + +packagegroup-core-device-devel no longer included in images built for qemu* machines +------------------------------------------------------------------------------------ + +``packagegroup-core-device-devel`` was previously added automatically to +images built for ``qemu*`` machines, however the purpose of the group and what +it should contain is no longer clear, and in general, adding userspace +development items to images is best done at the image/class level; thus this +packagegroup was removed. + +This packagegroup previously pulled in the following: + +- ``distcc-config`` +- ``nfs-export-root`` +- ``bash`` +- ``binutils-symlinks`` + +If you still need any of these in your image built for a ``qemu*`` machine +then you will add them explicitly to :term:`IMAGE_INSTALL` or another +appropriate place in the dependency chain for your image (if you have not +already done so). + + +.. _migration-3.2-dhcp: + +DHCP server/client replaced +--------------------------- + +The ``dhcp`` software package has become unmaintained and thus has been +functionally replaced by ``dhcpcd`` (client) and ``kea`` (server). You will +need to replace references to the recipe/package names as appropriate - most +commonly, at the package level ``dhcp-client`` should be replaced by +``dhcpcd`` and ``dhcp-server`` should be replaced by ``kea``. If you have any +custom configuration files for these they will need to be adapted - refer to +the upstream documentation for ``dhcpcd`` and ``kea`` for further details. + + +.. _migration-3.2-packaging-changes: + +Packaging changes +----------------- + +- ``python3``: the ``urllib`` python package has now moved into the core package, as it is used more commonly than just netclient (e.g. email, xml, mimetypes, pydoc). In addition, the ``pathlib`` module is now also part of the core package. + +- ``iptables``: ``iptables-apply`` and ``ip6tables-apply`` have been split out to their own package to avoid a bash dependency in the main ``iptables`` package + + +.. _migration-3.2-package-qa-checks: + +Package QA check changes +------------------------ + +Previously, the following package QA checks triggered warnings, however they can +be indicators of genuine underlying problems and are therefore now treated as +errors: + +- :ref:`already-stripped ` +- :ref:`compile-host-path ` +- :ref:`installed-vs-shipped ` +- :ref:`ldflags ` +- :ref:`pn-overrides ` +- :ref:`rpaths ` +- :ref:`staticdev ` +- :ref:`unknown-configure-option ` +- :ref:`useless-rpaths ` + +In addition, the following new checks were added and default to triggering an error: + +- :ref:`shebang-size `: Check for shebang (#!) lines longer than 128 characters, which can give an error at runtime depending on the operating system. + +- :ref:`unhandled-features-check `: Check if any of the variables supported by the :ref:`features_check ` class is set while not inheriting the class itself. + +- :ref:`missing-update-alternatives `: Check if the recipe sets the :term:`ALTERNATIVE` variable for any of its packages, and does not inherit the :ref:`update-alternatives ` class. + +- A trailing slash or duplicated slashes in the value of :term:`S` or :term:`B` will now trigger a warning so that they can be removed and path comparisons can be more reliable - remove any instances of these in your recipes if the warning is displayed. + + +.. _migration-3.2-src-uri-file-globbing: + +Globbing no longer supported in ``file://`` entries in ``SRC_URI`` +------------------------------------------------------------------ + +Globbing (``*`` and ``?`` wildcards) in ``file://`` URLs within :term:`SRC_URI` +did not properly support file checksums, thus changes to the source files +would not always change the do_fetch task checksum, and consequently would +not ensure that the changed files would be incorporated in subsequent builds. + +Unfortunately it is not practical to make globbing work generically here, so +the decision was taken to remove support for globs in ``file://`` URLs. +If you have any usage of these in your recipes, then you will now need to +either add each of the files that you expect to match explicitly, or +alternatively if you still need files to be pulled in dynamically, put the +files into a subdirectory and reference that instead. + + +.. _migration-3.2-deploydir-clean: + +deploy class now cleans ``DEPLOYDIR`` before ``do_deploy`` +---------------------------------------------------------- + +``do_deploy`` as implemented in the :ref:`deploy ` class now cleans up ${:term:`DEPLOYDIR`} before running, just as ``do_install`` cleans up ${:term:`D`} before running. This reduces the risk of :term:`DEPLOYDIR` being accidentally contaminated by files from previous runs, possibly even with different config, in case of incremental builds. + +Most recipes and classes that inherit the ``deploy`` class or interact with ``do_deploy`` are unlikely to be affected by this unless they add ``prefuncs`` to ``do_deploy`` *which also* put files into ``${DEPLOYDIR}`` - these should be refactored to use ``do_deploy_prepend`` instead. + + +.. _migration-3.2-nativesdk-sdk-provides-dummy: + +Custom SDK / SDK-style recipes need to include ``nativesdk-sdk-provides-dummy`` +------------------------------------------------------------------------------- + +All ``nativesdk`` packages require ``/bin/sh`` due to their postinstall scriptlets, thus this package has to be dummy-provided within the SDK and ``nativesdk-sdk-provides-dummy`` now does this. If you have a custom SDK recipe (or your own SDK-style recipe similar to e.g. ``buildtools-tarball``), you will need to ensure ``nativesdk-sdk-provides-dummy`` or an equivalent is included in :term:`TOOLCHAIN_HOST_TASK`. + + +``ld.so.conf`` now moved back to main ``glibc`` package +------------------------------------------------------- + +There are cases where one doesn't want ``ldconfig`` on target (e.g. for +read-only root filesystems, it's rather pointless), yet one still +needs ``/etc/ld.so.conf`` to be present at image build time: + +When some recipe installs libraries to a non-standard location, and +therefore installs in a file in ``/etc/ld.so.conf.d/foo.conf``, we +need ``/etc/ld.so.conf`` containing:: + + include /etc/ld.so.conf.d/*.conf + +in order to get those other locations picked up. + +Thus ``/etc/ld.so.conf`` is now in the main ``glibc`` package so that +there's always an ``ld.so.conf`` present when the build-time ``ldconfig`` +runs towards the end of image construction. + +The ``ld.so.conf`` and ``ld.so.conf.d/*.conf`` files do not take up +significant space (at least not compared to the ~700kB ``ldconfig`` binary), and they +might be needed in case ``ldconfig`` is installable, so they are left +in place after the image is built. Technically it would be possible to +remove them if desired, though it would not be trivial if you still +wanted the build-time ldconfig to function (:term:`ROOTFS_POSTPROCESS_COMMAND` +will not work as ``ldconfig`` is run after the functions referred to +by that variable). + + +.. _migration-3.2-virgl: + +Host DRI drivers now used for GL support within ``runqemu`` +----------------------------------------------------------- + +``runqemu`` now uses the mesa-native libraries everywhere virgl is used +(i.e. when ``gl``, ``gl-es`` or ``egl-headless`` options are specified), +but instructs them to load DRI drivers from the host. Unfortunately this +may not work well with proprietary graphics drivers such as those from +Nvidia; if you are using such drivers then you may need to switch to an +alternative (such as Nouveau in the case of Nvidia hardware) or avoid +using the GL options. + + +.. _migration-3.2-initramfs-suffix: + +initramfs images now use a blank suffix +--------------------------------------- + +The reference initramfs images (``core-image-minimal-initramfs``, +``core-image-tiny-initramfs`` and ``core-image-testmaster-initramfs``) now +set an empty string for :term:`IMAGE_NAME_SUFFIX`, which otherwise defaults +to ``".rootfs"``. These images aren't root filesystems and thus the rootfs +label didn't make sense. If you are looking for the output files generated +by these image recipes directly then you will need to adapt to the new +naming without the ``.rootfs`` part. + + +.. _migration-3.2-image-artifact-names: + +Image artifact name variables now centralised in image-artifact-names class +--------------------------------------------------------------------------- + +The defaults for the following image artifact name variables have been moved +from bitbake.conf to a new ``image-artifact-names`` class: + +- :term:`IMAGE_BASENAME` +- :term:`IMAGE_LINK_NAME` +- :term:`IMAGE_NAME` +- :term:`IMAGE_NAME_SUFFIX` +- :term:`IMAGE_VERSION_SUFFIX` + +Image-related classes now inherit this class, and typically these variables +are only referenced within image recipes so those will be unaffected by this +change. However if you have references to these variables in either a recipe +that is not an image or a class that is enabled globally, then those will +now need to be changed to ``inherit image-artifact-names``. + + +.. _migration-3.2-misc: + +Miscellaneous changes +--------------------- + +- Support for the long-deprecated ``PACKAGE_GROUP`` variable has now been removed - replace any remaining instances with :term:`FEATURE_PACKAGES`. +- The ``FILESPATHPKG`` variable, having been previously deprecated, has now been removed. Replace any remaining references with appropriate use of :term:`FILESEXTRAPATHS`. +- Erroneous use of ``inherit +=`` (instead of ``INHERIT +=``) in a configuration file now triggers an error instead of silently being ignored. +- ptest support has been removed from the ``kbd`` recipe, as upstream has moved to autotest which is difficult to work with in a cross-compilation environment. +- ``oe.utils.is_machine_specific()`` and ``oe.utils.machine_paths()`` have been removed as their utility was questionable. In the unlikely event that you have references to these in your own code, then the code will need to be reworked. +- The ``i2ctransfer`` module is now disabled by default when building ``busybox`` in order to be consistent with disabling the other i2c tools there. If you do wish the i2ctransfer module to be built in BusyBox then add ``CONFIG_I2CTRANSFER=y`` to your custom BusyBox configuration. +- In the ``Upstream-Status`` header convention for patches, ``Accepted`` has been replaced with ``Backport`` as these almost always mean the same thing i.e. the patch is already upstream and may need to be removed in a future recipe upgrade. If you are adding these headers to your own patches then use ``Backport`` to indicate that the patch has been sent upstream. +- The ``tune-supersparc.inc`` tune file has been removed as it does not appear to be widely used and no longer works. diff --git a/poky/documentation/migration-guides/migration-3.3.rst b/poky/documentation/migration-guides/migration-3.3.rst new file mode 100644 index 000000000..28857e820 --- /dev/null +++ b/poky/documentation/migration-guides/migration-3.3.rst @@ -0,0 +1,168 @@ +Release 3.3 (hardknott) +======================= + +This section provides migration information for moving to the Yocto +Project 3.3 Release (codename "hardknott") from the prior release. + + +.. _migration-3.3-minimum-system-requirements: + +Minimum system requirements +--------------------------- + +You will now need at least Python 3.6 installed on your build host. Most recent +distributions provide this, but should you be building on a distribution that +does not have it, you can use the ``buildtools-tarball`` (easily installable +using ``scripts/install-buildtools``) - see +:ref:`ref-manual/system-requirements:required git, tar, python and gcc versions` +for details. + + +.. _migration-3.3-removed-recipes: + +Removed recipes +--------------- + +The following recipes have been removed: + +- ``go-dep``: obsolete with the advent of go modules +- ``gst-validate``: replaced by ``gst-devtools`` +- ``linux-yocto``: removed 5.8 version recipes (5.4 / 5.10 still provided) +- ``vulkan-demos``: replaced by ``vulkan-samples`` + + +.. _migration-3.3-common-license-only-versions: + +Single version common license file naming +----------------------------------------- + +Some license files in ``meta/files/common-licenses`` have been renamed to match +current SPDX naming conventions: + +- AGPL-3.0 -> AGPL-3.0-only +- GPL-1.0 -> GPL-1.0-only +- GPL-2.0 -> GPL-2.0-only +- GPL-3.0 -> GPL-3.0-only +- LGPL-2.0 -> LGPL-2.0-only +- LGPL-2.1 -> LGPL-2.1-only +- LGPL-3.0 -> LGPL-3.0-only + +Additionally, corresponding "-or-later" suffixed files have been added e.g. +``GPL-2.0-or-later``. + +It is not required that you change :term:`LICENSE` values as there are mappings +from the original names in place; however, in rare cases where you have a recipe +which sets :term:`LIC_FILES_CHKSUM` to point to file(s) in +``meta/files/common-licenses`` (which in any case is not recommended) you will +need to update those. + + +.. _migration-3.3-python3targetconfig: + +New ``python3targetconfig`` class +--------------------------------- + +A new :ref:`python3targetconfig ` class has been +created for situations where you would previously have inherited the +``python3native`` class but need access to target configuration data (such as +correct installation directories). Recipes where this situation applies should +be changed to inherit ``python3targetconfig`` instead of ``python3native``. This +also adds a dependency on target ``python3``, so it should only be used where +appropriate in order to avoid unnecessarily lengthening builds. + +Some example recipes where this change has been made: ``gpgme``, ``libcap-ng``, +``python3-pycairo``. + + +.. _migration-3.3-distutils-path: + +``setup.py`` path for python modules +------------------------------------ + +In a Python module, sometimes ``setup.py`` can be buried deep in the +source tree. Previously this was handled in recipes by setting :term:`S` to +point to the subdirectory within the source where ``setup.py`` is located. +However with the recent :ref:`pseudo ` +changes, some Python modules make changes to files beneath ``${S}``, for +example:: + + S = "${WORKDIR}/git/python/pythonmodule" + +then in ``setup.py`` it works with source code in a relative fashion, such +as ``../../src``. This causes pseudo to abort as it isn't able to track +the paths properly. This release introduces a new :term:`DISTUTILS_SETUP_PATH` +variable so that recipes can specify it explicitly, for example:: + + S = "${WORKDIR}/git" + DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule" + +Recipes that inherit from :ref:`distutils3 ` (or +:ref:`setuptools3 ` which itself inherits +:ref:`distutils3 `) that also set :term:`S` to +point to a Python module within a subdirectory in the aforementioned +manner should be changed to set :term:`DISTUTILS_SETUP_PATH` instead. + + +.. _migration-3.3-bitbake: + +BitBake changes +--------------- + +- BitBake is now configured to use a default ``umask`` of ``022`` for all tasks + (specified via a new :term:`BB_DEFAULT_UMASK` variable). If needed, ``umask`` can + still be set on a per-task basis via the ``umask`` varflag on the task + function, but that is unlikely to be necessary in most cases. + +- If a version specified in :term:`PREFERRED_VERSION` is not available this + will now trigger a warning instead of just a note, making such issues more + visible. + + +.. _migration-3.3-packaging: + +Packaging changes +----------------- + +The following packaging changes have been made; in all cases the main package +still depends upon the split out packages so you should not need to do anything +unless you want to take advantage of the improved granularity: + +- ``dbus``: ``-common`` and ``-tools`` split out +- ``iproute2``: split ``ip`` binary to its own package +- ``net-tools``: split ``mii-tool`` into its own package +- ``procps``: split ``ps`` and ``sysctl`` into their own packages +- ``rpm``: split build and extra functionality into separate packages +- ``sudo``: split ``sudo`` binary into ``sudo-sudo`` and libs into ``sudo-lib`` +- ``systemtap``: examples, python scripts and runtime material split out +- ``util-linux``: ``libuuid`` has been split out to its own + ``util-linux-libuuid`` recipe (and corresponding packages) to avoid circular + dependencies if ``libgcrypt`` support is enabled in ``util-linux``. + (``util-linux`` depends upon ``util-linux-libuuid``.) + + +.. _migration-3.3-misc: + +Miscellaneous changes +--------------------- + +- The default poky :term:`DISTRO_VERSION` value now uses the core metadata's + git hash (i.e. :term:`METADATA_REVISION`) rather than the date (i.e. + :term:`DATE`) to reduce one small source of non-reproducibility. You can + of course specify your own :term:`DISTRO_VERSION` value as desired + (particularly if you create your own custom distro configuration). +- ``adwaita-icon-theme`` version 3.34.3 has been added back, and is selected + as the default via :term:`PREFERRED_VERSION` in + ``meta/conf/distro/include/default-versions.inc`` due to newer versions + not working well with ``librsvg`` 2.40. ``librsvg`` is not practically + upgradeable at the moment as it has been ported to Rust, and Rust is not + (yet) in OE-Core, but this will change in a future release. +- ``ffmpeg`` is now configured to disable GPL-licensed portions by default + to make it harder to accidentally violate the GPL. To explicitly enable GPL + licensed portions, add ``gpl`` to :term:`PACKAGECONFIG` for ``ffmpeg`` + using a bbappend (or use ``PACKAGECONFIG_append_pn-ffmpeg = " gpl"`` in + your configuration.) +- ``connman`` is now set to conflict with ``systemd-networkd`` as they + overlap functionally and may interfere with each other at runtime. +- Canonical SPDX license names are now used in image license manifests in + order to avoid aliases of the same license from showing up together (e.g. + ``GPLv2`` and ``GPL-2.0``) diff --git a/poky/documentation/migration-guides/migration-general.rst b/poky/documentation/migration-guides/migration-general.rst new file mode 100644 index 000000000..182482ec4 --- /dev/null +++ b/poky/documentation/migration-guides/migration-general.rst @@ -0,0 +1,54 @@ +General Migration Considerations +================================ + +Some considerations are not tied to a specific Yocto Project release. +This section presents information you should consider when migrating to +any new Yocto Project release. + +- *Dealing with Customized Recipes*: + + Issues could arise if you take + older recipes that contain customizations and simply copy them + forward expecting them to work after you migrate to new Yocto Project + metadata. For example, suppose you have a recipe in your layer that + is a customized version of a core recipe copied from the earlier + release, rather than through the use of an append file. When you + migrate to a newer version of Yocto Project, the metadata (e.g. + perhaps an include file used by the recipe) could have changed in a + way that would break the build. Say, for example, a function is + removed from an include file and the customized recipe tries to call + that function. + + You could "forward-port" all your customizations in your recipe so + that everything works for the new release. However, this is not the + optimal solution as you would have to repeat this process with each + new release if changes occur that give rise to problems. + + The better solution (where practical) is to use append files + (``*.bbappend``) to capture any customizations you want to make to a + recipe. Doing so, isolates your changes from the main recipe making + them much more manageable. However, sometimes it is not practical to + use an append file. A good example of this is when introducing a + newer or older version of a recipe in another layer. + +- *Updating Append Files*: + + Since append files generally only contain + your customizations, they often do not need to be adjusted for new + releases. However, if the ``.bbappend`` file is specific to a + particular version of the recipe (i.e. its name does not use the % + wildcard) and the version of the recipe to which it is appending has + changed, then you will at a minimum need to rename the append file to + match the name of the recipe file. A mismatch between an append file + and its corresponding recipe file (``.bb``) will trigger an error + during parsing. + + Depending on the type of customization the append file applies, other + incompatibilities might occur when you upgrade. For example, if your + append file applies a patch and the recipe to which it is appending + is updated to a newer version, the patch might no longer apply. If + this is the case and assuming the patch is still needed, you must + modify the patch file so that it does apply. + + + diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst index e5bdcdad2..642ef15fe 100644 --- a/poky/documentation/overview-manual/concepts.rst +++ b/poky/documentation/overview-manual/concepts.rst @@ -332,7 +332,7 @@ created by an autobuilder: One useful scenario for using the ``conf/site.conf`` file is to extend your :term:`BBPATH` variable to include the path to a ``conf/site.conf``. Then, when BitBake looks - for Metadata using ``BBPATH``, it finds the ``conf/site.conf`` file + for Metadata using :term:`BBPATH`, it finds the ``conf/site.conf`` file and applies your common configurations found in the file. To override configurations in a particular build directory, alter the similar configurations within that build directory's ``conf/local.conf`` @@ -532,7 +532,7 @@ to build software. A combination of the two is also possible. BitBake uses the :term:`SRC_URI` variable to point to source files regardless of their location. Each -recipe must have a ``SRC_URI`` variable that points to the source. +recipe must have a :term:`SRC_URI` variable that points to the source. Another area that plays a significant role in where source files come from is pointed to by the @@ -540,13 +540,13 @@ from is pointed to by the a cache that can hold previously downloaded source. You can also instruct the OpenEmbedded build system to create tarballs from Git repositories, which is not the default behavior, and store them in the -``DL_DIR`` by using the +:term:`DL_DIR` by using the :term:`BB_GENERATE_MIRROR_TARBALLS` variable. -Judicious use of a ``DL_DIR`` directory can save the build system a trip +Judicious use of a :term:`DL_DIR` directory can save the build system a trip across the Internet when looking for files. A good method for using a -download directory is to have ``DL_DIR`` point to an area outside of +download directory is to have :term:`DL_DIR` point to an area outside of your Build Directory. Doing so allows you to safely delete the Build Directory if needed without fear of removing any downloaded source file. @@ -747,7 +747,7 @@ Build Directory's hierarchy: architecture of the built package or packages. Depending on the eventual destination of the package or packages (i.e. machine architecture, :term:`Build Host`, SDK, or - specific machine), ``PACKAGE_ARCH`` varies. See the variable's + specific machine), :term:`PACKAGE_ARCH` varies. See the variable's description for details. - :term:`TARGET_OS`: The operating @@ -756,7 +756,7 @@ Build Directory's hierarchy: - :term:`PN`: The name of the recipe used to build the package. This variable can have multiple meanings. - However, when used in the context of input files, ``PN`` represents + However, when used in the context of input files, :term:`PN` represents the name of the recipe. - :term:`WORKDIR`: The location @@ -773,7 +773,7 @@ Build Directory's hierarchy: files for a given recipe. - :term:`BPN`: The name of the recipe - used to build the package. The ``BPN`` variable is a version of + used to build the package. The :term:`BPN` variable is a version of the ``PN`` variable but with common prefixes and suffixes removed. - :term:`PV`: The version of the @@ -803,13 +803,13 @@ and the :term:`FILESPATH` variable to locate applicable patch files. Default processing for patch files assumes the files have either -``*.patch`` or ``*.diff`` file types. You can use ``SRC_URI`` parameters +``*.patch`` or ``*.diff`` file types. You can use :term:`SRC_URI` parameters to change the way the build system recognizes patch files. See the :ref:`ref-tasks-patch` task for more information. BitBake finds and applies multiple patches for a single recipe in the -order in which it locates the patches. The ``FILESPATH`` variable +order in which it locates the patches. The :term:`FILESPATH` variable defines the default set of directories that the build system uses to search for patch files. Once found, patches are applied to the recipe's source files, which are located in the @@ -877,12 +877,12 @@ This step in the build process consists of the following tasks: :ref:`ref-tasks-compile` task. Compilation occurs in the directory pointed to by the :term:`B` variable. Realize that the - ``B`` directory is, by default, the same as the + :term:`B` directory is, by default, the same as the :term:`S` directory. - *do_install*: After compilation completes, BitBake executes the :ref:`ref-tasks-install` task. - This task copies files from the ``B`` directory and places them in a + This task copies files from the :term:`B` directory and places them in a holding area pointed to by the :term:`D` variable. Packaging occurs later using files from this holding directory. @@ -928,7 +928,7 @@ the analysis and package splitting process use several areas: - :term:`PKGDATA_DIR`: A shared, global-state directory that holds packaging metadata generated during the packaging process. The packaging process copies metadata from - ``PKGDESTWORK`` to the ``PKGDATA_DIR`` area where it becomes globally + :term:`PKGDESTWORK` to the :term:`PKGDATA_DIR` area where it becomes globally available. - :term:`STAGING_DIR_HOST`: @@ -1008,7 +1008,7 @@ actually install: With :term:`IMAGE_ROOTFS` pointing to the location of the filesystem under construction and the -``PACKAGE_INSTALL`` variable providing the final list of packages to +:term:`PACKAGE_INSTALL` variable providing the final list of packages to install, the root file system is created. Package installation is under control of the package manager (e.g. @@ -1057,7 +1057,7 @@ based on the image types specified in the The process turns everything into an image file or a set of image files and can compress the root filesystem image to reduce the overall size of the image. The formats used for the root filesystem depend on the -``IMAGE_FSTYPES`` variable. Compression depends on whether the formats +:term:`IMAGE_FSTYPES` variable. Compression depends on whether the formats support compression. As an example, a dynamically created task when creating a particular @@ -1066,7 +1066,7 @@ image type would take the following form:: do_image_type So, if the type -as specified by the ``IMAGE_FSTYPES`` were ``ext4``, the dynamically +as specified by the :term:`IMAGE_FSTYPES` were ``ext4``, the dynamically generated task would be as follows:: do_image_ext4 @@ -1171,9 +1171,9 @@ the task is rerun. the sstate cache mechanism adds is a way to cache task output that can then be shared between build machines. -Since ``STAMPS_DIR`` is usually a subdirectory of ``TMPDIR``, removing -``TMPDIR`` will also remove ``STAMPS_DIR``, which means tasks will -properly be rerun to repopulate ``TMPDIR``. +Since :term:`STAMPS_DIR` is usually a subdirectory of :term:`TMPDIR`, removing +:term:`TMPDIR` will also remove :term:`STAMPS_DIR`, which means tasks will +properly be rerun to repopulate :term:`TMPDIR`. If you want some task to always be considered "out of date", you can mark it with the :ref:`nostamp ` @@ -1408,7 +1408,7 @@ This next list, shows the variables associated with a standard SDK: - :term:`TOOLCHAIN_HOST_TASK`: Lists packages that make up the host part of the SDK (i.e. the part - that runs on the ``SDKMACHINE``). When you use + that runs on the :term:`SDKMACHINE`). When you use ``bitbake -c populate_sdk imagename`` to create the SDK, a set of default packages apply. This variable allows you to add more packages. @@ -1462,12 +1462,9 @@ cross-compiler that is used internally within BitBake only. .. note:: - The extensible SDK does not use - gcc-cross-canadian + The extensible SDK does not use ``gcc-cross-canadian`` since this SDK ships a copy of the OpenEmbedded build system and the - sysroot within it contains - gcc-cross - . + sysroot within it contains ``gcc-cross``. The chain of events that occurs when the standard toolchain is bootstrapped:: @@ -1614,7 +1611,7 @@ them if they are deemed to be valid. :term:`PR` information as part of the shared state packages. Consequently, there are considerations that affect maintaining shared state feeds. For information on how the - build system works with packages and can track incrementing ``PR`` + build system works with packages and can track incrementing :term:`PR` information, see the ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`" section in the Yocto Project Development Tasks Manual. @@ -1671,8 +1668,8 @@ objective of making native or cross packages relocatable. build host. However, cross packages generate output for the target architecture. -The checksum therefore needs to exclude ``WORKDIR``. The simplistic -approach for excluding the work directory is to set ``WORKDIR`` to some +The checksum therefore needs to exclude :term:`WORKDIR`. The simplistic +approach for excluding the work directory is to set :term:`WORKDIR` to some fixed value and create the checksum for the "run" script. Another problem results from the "run" scripts containing functions that @@ -1690,7 +1687,7 @@ contains code that first figures out the variable and function dependencies, and then creates a checksum for the data used as the input to the task. -Like the ``WORKDIR`` case, there can be situations where dependencies should be +Like the :term:`WORKDIR` case, there can be situations where dependencies should be ignored. For these situations, you can instruct the build process to ignore a dependency by using a line like the following:: @@ -1707,7 +1704,7 @@ following:: PACKAGE_ARCHS[vardeps] = "MACHINE" This example explicitly -adds the ``MACHINE`` variable as a dependency for ``PACKAGE_ARCHS``. +adds the :term:`MACHINE` variable as a dependency for :term:`PACKAGE_ARCHS`. As an example, consider a case with in-line Python where BitBake is not able to figure out dependencies. When running in debug mode (i.e. using @@ -1761,7 +1758,7 @@ through this setting in the ``bitbake.conf`` file:: BB_SIGNATURE_HANDLER ?= "OEBasicHash" -The "OEBasicHash" ``BB_SIGNATURE_HANDLER`` is the same +The "OEBasicHash" :term:`BB_SIGNATURE_HANDLER` is the same as the "OEBasic" version but adds the task hash to the :ref:`stamp files `. This results in any metadata change that changes the task hash, automatically causing @@ -1782,7 +1779,7 @@ the build. This information includes: - ``BBHASHDEPS_``\ filename\ ``:``\ taskname: The task dependencies for each task. -- ``BB_TASKHASH``: The hash of the currently running task. +- :term:`BB_TASKHASH`: The hash of the currently running task. Shared State ------------ @@ -1851,7 +1848,7 @@ The following list explains the previous example: ``do_deploy`` is in the shared state cache and its signature indicates that the cached output is still valid (i.e. if no relevant task inputs have changed), then the contents of the shared state cache copies - directly to ${``DEPLOY_DIR_IMAGE``} by the ``do_deploy_setscene`` task + directly to ${:term:`DEPLOY_DIR_IMAGE`} by the ``do_deploy_setscene`` task instead, skipping the ``do_deploy`` task. - The following task definition is glue logic needed to make the @@ -1897,8 +1894,8 @@ The following list explains the previous example: - ``sstate-inputdirs`` and ``sstate-outputdirs`` can also be used with multiple directories. For example, the following declares - ``PKGDESTWORK`` and ``SHLIBWORK`` as shared state input directories, - which populates the shared state cache, and ``PKGDATA_DIR`` and + :term:`PKGDESTWORK` and ``SHLIBWORK`` as shared state input directories, + which populates the shared state cache, and :term:`PKGDATA_DIR` and ``SHLIBSDIR`` as the corresponding shared state output directories:: do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}" @@ -1925,7 +1922,7 @@ shared state files. Here is an example:: subdirectories, where the subdirectory names are based on the first two characters of the hash. If the shared state directory structure for a mirror has the same structure - as ``SSTATE_DIR``, you must specify "PATH" as part of the URI to enable the build + as :term:`SSTATE_DIR`, you must specify "PATH" as part of the URI to enable the build system to map to the appropriate subdirectory. The shared state package validity can be detected just by looking at the @@ -1976,7 +1973,7 @@ dependencies, you must manually declare the dependencies. Simultaneously, all executables and shared libraries installed by the recipe are inspected to see what shared libraries they link against. - For each shared library dependency that is found, ``PKGDATA_DIR`` is + For each shared library dependency that is found, :term:`PKGDATA_DIR` is queried to see if some package (likely from a different recipe) contains the shared library. If such a package is found, a runtime dependency is added from the package that depends on the shared @@ -1985,7 +1982,7 @@ dependencies, you must manually declare the dependencies. The automatically added runtime dependency also includes a version restriction. This version restriction specifies that at least the current version of the package that provides the shared library must - be used, as if "package (>= version)" had been added to ``RDEPENDS``. + be used, as if "package (>= version)" had been added to :term:`RDEPENDS`. This forces an upgrade of the package containing the shared library when installing the package that depends on the library, if needed. @@ -1999,14 +1996,14 @@ dependencies, you must manually declare the dependencies. pkg-config modules (``*.pc`` files) installed by the recipe are located. For each module, the package that contains the module is registered as providing the module. The resulting module-to-package - mapping is saved globally in ``PKGDATA_DIR`` by the + mapping is saved globally in :term:`PKGDATA_DIR` by the ``do_packagedata`` task. Simultaneously, all pkg-config modules installed by the recipe are inspected to see what other pkg-config modules they depend on. A module is seen as depending on another module if it contains a "Requires:" line that specifies the other module. For each module - dependency, ``PKGDATA_DIR`` is queried to see if some package + dependency, :term:`PKGDATA_DIR` is queried to see if some package contains the module. If such a package is found, a runtime dependency is added from the package that depends on the module to the package that contains the module. @@ -2046,7 +2043,7 @@ recipe in :term:`DEPENDS` through use of a ``[``\ :ref:`deptask `\ ``]`` declaration, which guarantees that the required shared-library/module-to-package mapping information will be available -when needed as long as ``DEPENDS`` has been correctly set. +when needed as long as :term:`DEPENDS` has been correctly set. Fakeroot and Pseudo =================== diff --git a/poky/documentation/overview-manual/yp-intro.rst b/poky/documentation/overview-manual/yp-intro.rst index 28ed07994..d20a4ab09 100644 --- a/poky/documentation/overview-manual/yp-intro.rst +++ b/poky/documentation/overview-manual/yp-intro.rst @@ -248,8 +248,7 @@ accomplish this through a recipe that is a BitBake append .. note:: For general information on BSP layer structure, see the - :doc:`/bsp-guide/index` - . + :doc:`/bsp-guide/index`. The :term:`Source Directory` contains both general layers and BSP layers right out of the box. You diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst index 6dd0cbbd4..09878c480 100644 --- a/poky/documentation/ref-manual/classes.rst +++ b/poky/documentation/ref-manual/classes.rst @@ -50,7 +50,7 @@ splitting out of debug symbols during packaging). ``do_package_write_*`` tasks to have different signatures for the machines with different tunings. Additionally, unnecessary rebuilds occur every time an image for a - different ``MACHINE`` is built even when the recipe never changes. + different :term:`MACHINE` is built even when the recipe never changes. By default, all recipes inherit the :ref:`base ` and :ref:`package ` classes, which enable @@ -110,7 +110,7 @@ It's useful to have some idea of how the tasks defined by the - :ref:`ref-tasks-configure` - Regenerates the configure script (using ``autoreconf``) and then launches it with a standard set of arguments used during cross-compilation. You can pass - additional parameters to ``configure`` through the ``EXTRA_OECONF`` + additional parameters to ``configure`` through the :term:`EXTRA_OECONF` or :term:`PACKAGECONFIG_CONFARGS` variables. @@ -168,7 +168,7 @@ example use for this class. the "subpath" parameter limits the checkout to a specific subpath of the tree. Here is an example where ``${BP}`` is used so that the files are extracted into the subdirectory expected by the default value of - ``S``:: + :term:`S`:: SRC_URI = "git://example.com/downloads/somepackage.rpm;subpath=${BP}" @@ -256,7 +256,7 @@ Collecting build statistics is enabled by default through the :term:`USER_CLASSES` variable from your ``local.conf`` file. Consequently, you do not have to do anything to enable the class. However, if you want to disable the class, simply -remove "buildstats" from the ``USER_CLASSES`` list. +remove "buildstats" from the :term:`USER_CLASSES` list. .. _ref-classes-buildstats-summary: @@ -289,21 +289,6 @@ is used during the build process for ``nativesdk``, ``cross``, and ``cross-canadian`` recipes to change ``RPATH`` records within binaries in order to make them relocatable. -.. _ref-classes-clutter: - -``clutter.bbclass`` -=================== - -The ``clutter`` class consolidates the major and minor version naming -and other common items used by Clutter and related recipes. - -.. note:: - - Unlike some other classes related to specific libraries, recipes - building other software that uses Clutter do not need to inherit this - class unless they use the same recipe versioning scheme that the - Clutter and related recipes do. - .. _ref-classes-cmake: ``cmake.bbclass`` @@ -448,7 +433,7 @@ deployed to :term:`DEPLOYDIR`, and use ``addtask`` to add the task at the appropriate place, which is usually after :ref:`ref-tasks-compile` or :ref:`ref-tasks-install`. The class then takes care of -staging the files from ``DEPLOYDIR`` to ``DEPLOY_DIR_IMAGE``. +staging the files from :term:`DEPLOYDIR` to :term:`DEPLOY_DIR_IMAGE`. .. _ref-classes-devshell: @@ -489,7 +474,7 @@ The class currently only supports creating a development variant of the target recipe, not ``native`` or ``nativesdk`` variants. -The ``BBCLASSEXTEND`` syntax (i.e. ``devupstream:target``) provides +The :term:`BBCLASSEXTEND` syntax (i.e. ``devupstream:target``) provides support for ``native`` and ``nativesdk`` variants. Consequently, this functionality can be added in a future release. @@ -534,13 +519,13 @@ and to build it, respectively. When your recipe inherits the ``externalsrc`` class, you use the :term:`EXTERNALSRC` and :term:`EXTERNALSRC_BUILD` variables to -ultimately define ``S`` and ``B``. +ultimately define :term:`S` and :term:`B`. By default, this class expects the source code to support recipe builds that use the :term:`B` variable to point to the directory in which the OpenEmbedded build system places the generated objects built -from the recipes. By default, the ``B`` directory is set to the -following, which is separate from the source directory (``S``):: +from the recipes. By default, the :term:`B` directory is set to the +following, which is separate from the source directory (:term:`S`):: ${WORKDIR}/${BPN}/{PV}/ @@ -704,8 +689,8 @@ introspection. This functionality is only enabled if the .. note:: This functionality is backfilled by default and, if not applicable, - should be disabled through ``DISTRO_FEATURES_BACKFILL_CONSIDERED`` or - ``MACHINE_FEATURES_BACKFILL_CONSIDERED``, respectively. + should be disabled through :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` or + :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`, respectively. .. _ref-classes-grub-efi: @@ -853,7 +838,7 @@ using an empty :term:`PARALLEL_MAKE` variable. Inheriting the ``icecc`` class changes all sstate signatures. Consequently, if a development team has a dedicated build system that populates :term:`SSTATE_MIRRORS` and they want to -reuse sstate from ``SSTATE_MIRRORS``, then all developers and the build +reuse sstate from :term:`SSTATE_MIRRORS`, then all developers and the build system need to either inherit the ``icecc`` class or nobody should. At the distribution level, you can inherit the ``icecc`` class to be @@ -881,10 +866,10 @@ First, the root filesystem is created from packages using one of the ``rootfs*.bbclass`` files (depending on the package format used) and then one or more image files are created. -- The ``IMAGE_FSTYPES`` variable controls the types of images to +- The :term:`IMAGE_FSTYPES` variable controls the types of images to generate. -- The ``IMAGE_INSTALL`` variable controls the list of packages to +- The :term:`IMAGE_INSTALL` variable controls the list of packages to install into the image. For information on customizing images, see the @@ -931,7 +916,7 @@ The ``image_types`` class also handles conversion and compression of images. .. note:: To build a VMware VMDK image, you need to add "wic.vmdk" to - ``IMAGE_FSTYPES``. This would also be similar for Virtual Box Virtual Disk + :term:`IMAGE_FSTYPES`. This would also be similar for Virtual Box Virtual Disk Image ("vdi") and QEMU Copy On Write Version 2 ("qcow2") images. .. _ref-classes-image-live: @@ -1009,7 +994,7 @@ Please keep in mind that the QA checks are meant to detect real or potential problems in the packaged output. So exercise caution when disabling these checks. -Here are the tests you can list with the ``WARN_QA`` and +Here are the tests you can list with the :term:`WARN_QA` and ``ERROR_QA`` variables: - ``already-stripped:`` Checks that produced binaries have not @@ -1142,13 +1127,13 @@ Here are the tests you can list with the ``WARN_QA`` and PACKAGECONFIG[foo] = "..." -- ``la:`` Checks ``.la`` files for any ``TMPDIR`` paths. Any ``.la`` +- ``la:`` Checks ``.la`` files for any :term:`TMPDIR` paths. Any ``.la`` file containing these paths is incorrect since ``libtool`` adds the correct sysroot prefix when using the files automatically itself. - ``ldflags:`` Ensures that the binaries were linked with the :term:`LDFLAGS` options provided by the build system. - If this test fails, check that the ``LDFLAGS`` variable is being + If this test fails, check that the :term:`LDFLAGS` variable is being passed to the linker command. - ``libdir:`` Checks for libraries being installed into incorrect @@ -1188,7 +1173,7 @@ Here are the tests you can list with the ``WARN_QA`` and invalid characters (i.e. characters other than 0-9, a-z, ., +, and -). -- ``pkgv-undefined:`` Checks to see if the ``PKGV`` variable is +- ``pkgv-undefined:`` Checks to see if the :term:`PKGV` variable is undefined during :ref:`ref-tasks-package`. - ``pkgvarcheck:`` Checks through the variables @@ -1208,8 +1193,8 @@ Here are the tests you can list with the ``WARN_QA`` and - ``pn-overrides:`` Checks that a recipe does not have a name (:term:`PN`) value that appears in :term:`OVERRIDES`. If a recipe is named such that - its ``PN`` value matches something already in ``OVERRIDES`` (e.g. - ``PN`` happens to be the same as :term:`MACHINE` or + its :term:`PN` value matches something already in :term:`OVERRIDES` (e.g. + :term:`PN` happens to be the same as :term:`MACHINE` or :term:`DISTRO`), it can have unexpected consequences. For example, assignments such as ``FILES_${PN} = "xyz"`` effectively turn into ``FILES = "xyz"``. @@ -1740,7 +1725,7 @@ To use this class, inherit it globally and specify SOURCE_MIRROR_URL = "http://example.com/my-source-mirror" You can specify only a single URL -in ``SOURCE_MIRROR_URL``. +in :term:`SOURCE_MIRROR_URL`. .. _ref-classes-package: @@ -1764,7 +1749,7 @@ package-specific classes: use this class. You can control the list of resulting package formats by using the -``PACKAGE_CLASSES`` variable defined in your ``conf/local.conf`` +:term:`PACKAGE_CLASSES` variable defined in your ``conf/local.conf`` configuration file, which is located in the :term:`Build Directory`. When defining the variable, you can specify one or more package types. Since images are generated from @@ -1785,7 +1770,7 @@ the same or similar package. This comparison takes into account a complete build of the package with all dependencies previously built. The reason for this discrepancy is because the RPM package manager creates and processes more :term:`Metadata` than the IPK package -manager. Consequently, you might consider setting ``PACKAGE_CLASSES`` to +manager. Consequently, you might consider setting :term:`PACKAGE_CLASSES` to "package_ipk" if you are building smaller systems. Before making your package manager decision, however, you should @@ -1867,7 +1852,7 @@ variable in the ``local.conf`` file. .. note:: You cannot specify the ``package_tar`` class first using the - ``PACKAGE_CLASSES`` variable. You must use ``.deb``, ``.ipk``, or ``.rpm`` + :term:`PACKAGE_CLASSES` variable. You must use ``.deb``, ``.ipk``, or ``.rpm`` file formats for your image or SDK. .. _ref-classes-packagedata: @@ -1889,7 +1874,7 @@ This class is enabled by default because it is inherited by the ======================== The ``packagegroup`` class sets default values appropriate for package -group recipes (e.g. ``PACKAGES``, ``PACKAGE_ARCH``, ``ALLOW_EMPTY``, and +group recipes (e.g. :term:`PACKAGES`, :term:`PACKAGE_ARCH`, :term:`ALLOW_EMPTY`, and so forth). It is highly recommended that all package group recipes inherit this class. @@ -2208,7 +2193,7 @@ modifying and building source code out of the work directory for a recipe, enabling ``rm_work`` will potentially result in your changes to the source being lost. To exclude some recipes from having their work directories deleted by ``rm_work``, you can add the names of the recipe -or recipes you are working on to the ``RM_WORK_EXCLUDE`` variable, which +or recipes you are working on to the :term:`RM_WORK_EXCLUDE` variable, which can also be set in your ``local.conf`` file. Here is an example:: RM_WORK_EXCLUDE += "busybox glibc" @@ -2323,11 +2308,11 @@ results so these tests can be skipped over but still make the correct values available. The ``meta/site directory`` contains test results sorted into different categories such as architecture, endianness, and the ``libc`` used. Site information provides a list of files containing -data relevant to the current build in the ``CONFIG_SITE`` variable that +data relevant to the current build in the :term:`CONFIG_SITE` variable that Autotools automatically picks up. -The class also provides variables like ``SITEINFO_ENDIANNESS`` and -``SITEINFO_BITS`` that can be used elsewhere in the metadata. +The class also provides variables like :term:`SITEINFO_ENDIANNESS` and +:term:`SITEINFO_BITS` that can be used elsewhere in the metadata. .. _ref-classes-sstate: @@ -2378,7 +2363,7 @@ stages: .. note:: Additionally, a recipe can customize the files further by - declaring a processing function in the ``SYSROOT_PREPROCESS_FUNCS`` + declaring a processing function in the :term:`SYSROOT_PREPROCESS_FUNCS` variable. A shared state (sstate) object is built from these files and the @@ -2420,11 +2405,11 @@ stages: recommended for general use, the files do allow some issues such as user creation and module indexes to be addressed. - Because recipes can have other dependencies outside of ``DEPENDS`` + Because recipes can have other dependencies outside of :term:`DEPENDS` (e.g. ``do_unpack[depends] += "tar-native:do_populate_sysroot"``), the sysroot creation function ``extend_recipe_sysroot`` is also added as a pre-function for those tasks whose dependencies are not through - ``DEPENDS`` but operate similarly. + :term:`DEPENDS` but operate similarly. When installing dependencies into the sysroot, the code traverses the dependency graph and processes dependencies in exactly the same way @@ -2750,8 +2735,8 @@ initialization script on behalf of the package. The OpenEmbedded build system takes care of details such as making sure the script is stopped before a package is removed and started when the package is installed. -Three variables control this class: ``INITSCRIPT_PACKAGES``, -``INITSCRIPT_NAME`` and ``INITSCRIPT_PARAMS``. See the variable links +Three variables control this class: :term:`INITSCRIPT_PACKAGES`, +:term:`INITSCRIPT_NAME` and :term:`INITSCRIPT_PARAMS`. See the variable links for details. .. _ref-classes-useradd: @@ -2805,9 +2790,9 @@ additional information. .. note:: You do not use the ``useradd-staticids`` class directly. You either enable - or disable the class by setting the ``USERADDEXTENSION`` variable. If you + or disable the class by setting the :term:`USERADDEXTENSION` variable. If you enable or disable the class in a configured system, :term:`TMPDIR` might - contain incorrect ``uid`` and ``gid`` values. Deleting the ``TMPDIR`` + contain incorrect ``uid`` and ``gid`` values. Deleting the :term:`TMPDIR` directory will correct this condition. .. _ref-classes-utility-tasks: diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst index f1b564a60..640ef77d0 100644 --- a/poky/documentation/ref-manual/faq.rst +++ b/poky/documentation/ref-manual/faq.rst @@ -108,10 +108,10 @@ the team can place sources there so builds continue to work. but the package is being marked as machine-specific in all cases, how do I prevent this? -**A:** Set ``SRC_URI_OVERRIDES_PACKAGE_ARCH`` = "0" in the ``.bb`` file +**A:** Set :term:`SRC_URI_OVERRIDES_PACKAGE_ARCH` = "0" in the ``.bb`` file but make sure the package is manually marked as machine-specific for the case that needs it. The code that handles -``SRC_URI_OVERRIDES_PACKAGE_ARCH`` is in the +:term:`SRC_URI_OVERRIDES_PACKAGE_ARCH` is in the ``meta/classes/base.bbclass`` file. **Q:** I'm behind a firewall and need to use a proxy server. How do I do @@ -250,7 +250,7 @@ size, you need to set various configurations: :term:`IMAGE_ROOTFS_EXTRA_SPACE` variable to add additional free space to the image. The build system adds this space to the image after it determines its - ``IMAGE_ROOTFS_SIZE``. + :term:`IMAGE_ROOTFS_SIZE`. **Q:** Why don't you support directories with spaces in the pathnames? @@ -262,11 +262,11 @@ situation changes, the team will not support spaces in pathnames. **Q:** How do I use an external toolchain? **A:** The toolchain configuration is very flexible and customizable. It -is primarily controlled with the ``TCMODE`` variable. This variable +is primarily controlled with the :term:`TCMODE` variable. This variable controls which ``tcmode-*.inc`` file to include from the ``meta/conf/distro/include`` directory within the :term:`Source Directory`. -The default value of ``TCMODE`` is "default", which tells the +The default value of :term:`TCMODE` is "default", which tells the OpenEmbedded build system to use its internally built toolchain (i.e. ``tcmode-default.inc``). However, other patterns are accepted. In particular, "external-\*" refers to external toolchains. One example is @@ -325,7 +325,7 @@ Here is another technique:: BB_FETCH_PREMIRRORONLY = "1" This statement -limits the build system to pulling source from the ``PREMIRRORS`` only. +limits the build system to pulling source from the :term:`PREMIRRORS` only. Again, this technique is useful for reproducing builds. Here is another technique:: @@ -339,7 +339,7 @@ however, the technique can simply waste time during the build. Finally, consider an example where you are behind an HTTP-only firewall. You could make the following changes to the ``local.conf`` configuration -file as long as the ``PREMIRRORS`` server is current:: +file as long as the :term:`PREMIRRORS` server is current:: PREMIRRORS_prepend = "\ ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ @@ -349,7 +349,7 @@ file as long as the ``PREMIRRORS`` server is current:: These changes would cause the build system to successfully fetch source over HTTP and any network accesses to anything other than the -``PREMIRRORS`` would fail. +:term:`PREMIRRORS` would fail. The build system also honors the standard shell environment variables ``http_proxy``, ``ftp_proxy``, ``https_proxy``, and ``all_proxy`` to diff --git a/poky/documentation/ref-manual/features.rst b/poky/documentation/ref-manual/features.rst index 31d24b8c2..ded653221 100644 --- a/poky/documentation/ref-manual/features.rst +++ b/poky/documentation/ref-manual/features.rst @@ -10,10 +10,10 @@ can select, and a reference on feature backfilling. Features provide a mechanism for working out which packages should be included in the generated images. Distributions can select which -features they want to support through the ``DISTRO_FEATURES`` variable, +features they want to support through the :term:`DISTRO_FEATURES` variable, which is set or appended to in a distribution's configuration file such as ``poky.conf``, ``poky-tiny.conf``, ``poky-lsb.conf`` and so forth. -Machine features are set in the ``MACHINE_FEATURES`` variable, which is +Machine features are set in the :term:`MACHINE_FEATURES` variable, which is set in the machine configuration file and specifies the hardware features for a given machine. @@ -267,7 +267,7 @@ these valid features is as follows: - *ssh-server-openssh:* Installs the OpenSSH SSH server, which is more full-featured than Dropbear. Note that if both the OpenSSH SSH server and the Dropbear minimal SSH server are present in - ``IMAGE_FEATURES``, then OpenSSH will take precedence and Dropbear + :term:`IMAGE_FEATURES`, then OpenSSH will take precedence and Dropbear will not be installed. - *tools-debug:* Installs debugging tools such as ``strace`` and @@ -323,27 +323,27 @@ Here are two examples to help illustrate feature backfilling: - *The "pulseaudio" distro feature option*: Previously, PulseAudio support was enabled within the Qt and GStreamer frameworks. Because of this, the feature is backfilled and thus enabled for all distros - through the ``DISTRO_FEATURES_BACKFILL`` variable in the + through the :term:`DISTRO_FEATURES_BACKFILL` variable in the ``meta/conf/bitbake.conf`` file. However, your distro needs to disable the feature. You can disable the feature without affecting other existing distro configurations that need PulseAudio support by - adding "pulseaudio" to ``DISTRO_FEATURES_BACKFILL_CONSIDERED`` in + adding "pulseaudio" to :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` in your distro's ``.conf`` file. Adding the feature to this variable - when it also exists in the ``DISTRO_FEATURES_BACKFILL`` variable + when it also exists in the :term:`DISTRO_FEATURES_BACKFILL` variable prevents the build system from adding the feature to your - configuration's ``DISTRO_FEATURES``, effectively disabling the + configuration's :term:`DISTRO_FEATURES`, effectively disabling the feature for that particular distro. - *The "rtc" machine feature option*: Previously, real time clock (RTC) support was enabled for all target devices. Because of this, the feature is backfilled and thus enabled for all machines through the - ``MACHINE_FEATURES_BACKFILL`` variable in the + :term:`MACHINE_FEATURES_BACKFILL` variable in the ``meta/conf/bitbake.conf`` file. However, your target device does not have this capability. You can disable RTC support for your device without affecting other machines that need RTC support by adding the - feature to your machine's ``MACHINE_FEATURES_BACKFILL_CONSIDERED`` + feature to your machine's :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED` list in the machine's ``.conf`` file. Adding the feature to this - variable when it also exists in the ``MACHINE_FEATURES_BACKFILL`` + variable when it also exists in the :term:`MACHINE_FEATURES_BACKFILL` variable prevents the build system from adding the feature to your - configuration's ``MACHINE_FEATURES``, effectively disabling RTC + configuration's :term:`MACHINE_FEATURES`, effectively disabling RTC support for that particular machine. diff --git a/poky/documentation/ref-manual/images.rst b/poky/documentation/ref-manual/images.rst index b2db1a773..c6a7239c7 100644 --- a/poky/documentation/ref-manual/images.rst +++ b/poky/documentation/ref-manual/images.rst @@ -46,10 +46,6 @@ Following is a list of supported recipes: - ``core-image-base``: A console-only image that fully supports the target device hardware. -- ``core-image-clutter``: An image with support for the Open GL-based - toolkit Clutter, which enables development of rich and animated - graphical user interfaces. - - ``core-image-full-cmdline``: A console-only image with more full-featured Linux system functionality installed. diff --git a/poky/documentation/ref-manual/index.rst b/poky/documentation/ref-manual/index.rst index deb0383cf..5cf10c5c2 100644 --- a/poky/documentation/ref-manual/index.rst +++ b/poky/documentation/ref-manual/index.rst @@ -13,7 +13,6 @@ Yocto Project Reference Manual system-requirements terms release-process - migration structure classes tasks diff --git a/poky/documentation/ref-manual/kickstart.rst b/poky/documentation/ref-manual/kickstart.rst index 8308ffff5..a7443f9ea 100644 --- a/poky/documentation/ref-manual/kickstart.rst +++ b/poky/documentation/ref-manual/kickstart.rst @@ -106,13 +106,15 @@ the ``part`` and ``partition`` commands: - ``--fstype``: Sets the file system type for the partition. Valid values are: - - ``ext4`` + - ``btrfs`` - - ``ext3`` + - ``erofs`` - ``ext2`` - - ``btrfs`` + - ``ext3`` + + - ``ext4`` - ``squashfs`` diff --git a/poky/documentation/ref-manual/migration-1.3.rst b/poky/documentation/ref-manual/migration-1.3.rst deleted file mode 100644 index b90767ff9..000000000 --- a/poky/documentation/ref-manual/migration-1.3.rst +++ /dev/null @@ -1,194 +0,0 @@ -.. SPDX-License-Identifier: CC-BY-SA-2.0-UK - -Moving to the Yocto Project 1.3 Release (danny) -=============================================== - -This section provides migration information for moving to the Yocto -Project 1.3 Release (codename "danny") from the prior release. - -.. _1.3-local-configuration: - -Local Configuration -------------------- - -Differences include changes for -:term:`SSTATE_MIRRORS` and ``bblayers.conf``. - -.. _migration-1.3-sstate-mirrors: - -SSTATE_MIRRORS -~~~~~~~~~~~~~~ - -The shared state cache (sstate-cache), as pointed to by -:term:`SSTATE_DIR`, by default now has two-character -subdirectories to prevent issues arising from too many files in the same -directory. Also, native sstate-cache packages, which are built to run on -the host system, will go into a subdirectory named using the distro ID -string. If you copy the newly structured sstate-cache to a mirror -location (either local or remote) and then point to it in -:term:`SSTATE_MIRRORS`, you need to append "PATH" -to the end of the mirror URL so that the path used by BitBake before the -mirror substitution is appended to the path used to access the mirror. -Here is an example:: - - SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH" - -.. _migration-1.3-bblayers-conf: - -bblayers.conf -~~~~~~~~~~~~~ - -The ``meta-yocto`` layer consists of two parts that correspond to the -Poky reference distribution and the reference hardware Board Support -Packages (BSPs), respectively: ``meta-yocto`` and ``meta-yocto-bsp``. -When running BitBake for the first time after upgrading, your -``conf/bblayers.conf`` file will be updated to handle this change and -you will be asked to re-run or restart for the changes to take effect. - -.. _1.3-recipes: - -Recipes -------- - -Differences include changes for the following: - -.. _migration-1.3-python-function-whitespace: - -Python Function Whitespace -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -All Python functions must now use four spaces for indentation. -Previously, an inconsistent mix of spaces and tabs existed, which made -extending these functions using ``_append`` or ``_prepend`` complicated -given that Python treats whitespace as syntactically significant. If you -are defining or extending any Python functions (e.g. -``populate_packages``, ``do_unpack``, ``do_patch`` and so forth) in -custom recipes or classes, you need to ensure you are using consistent -four-space indentation. - -.. _migration-1.3-proto=-in-src-uri: - -proto= in SRC_URI -~~~~~~~~~~~~~~~~~ - -Any use of ``proto=`` in :term:`SRC_URI` needs to be -changed to ``protocol=``. In particular, this applies to the following -URIs: - -- ``svn://`` - -- ``bzr://`` - -- ``hg://`` - -- ``osc://`` - -Other URIs were already using ``protocol=``. This change improves -consistency. - -.. _migration-1.3-nativesdk: - -nativesdk -~~~~~~~~~ - -The suffix ``nativesdk`` is now implemented as a prefix, which -simplifies a lot of the packaging code for ``nativesdk`` recipes. All -custom ``nativesdk`` recipes, which are relocatable packages that are -native to :term:`SDK_ARCH`, and any references need to -be updated to use ``nativesdk-*`` instead of ``*-nativesdk``. - -.. _migration-1.3-task-recipes: - -Task Recipes -~~~~~~~~~~~~ - -"Task" recipes are now known as "Package groups" and have been renamed -from ``task-*.bb`` to ``packagegroup-*.bb``. Existing references to the -previous ``task-*`` names should work in most cases as there is an -automatic upgrade path for most packages. However, you should update -references in your own recipes and configurations as they could be -removed in future releases. You should also rename any custom ``task-*`` -recipes to ``packagegroup-*``, and change them to inherit -``packagegroup`` instead of ``task``, as well as taking the opportunity -to remove anything now handled by ``packagegroup.bbclass``, such as -providing ``-dev`` and ``-dbg`` packages, setting -:term:`LIC_FILES_CHKSUM`, and so forth. See the -":ref:`packagegroup.bbclass `" section for -further details. - -.. _migration-1.3-image-features: - -IMAGE_FEATURES -~~~~~~~~~~~~~~ - -Image recipes that previously included ``apps-console-core`` in -:term:`IMAGE_FEATURES` should now include ``splash`` -instead to enable the boot-up splash screen. Retaining -``apps-console-core`` will still include the splash screen but generates a -warning. The ``apps-x11-core`` and ``apps-x11-games`` ``IMAGE_FEATURES`` -features have been removed. - -.. _migration-1.3-removed-recipes: - -Removed Recipes -~~~~~~~~~~~~~~~ - -The following recipes have been removed. For most of them, it is -unlikely that you would have any references to them in your own -:term:`Metadata`. However, you should check your metadata -against this list to be sure: - -- ``libx11-trim``: Replaced by ``libx11``, which has a negligible - size difference with modern Xorg. - -- ``xserver-xorg-lite``: Use ``xserver-xorg``, which has a negligible - size difference when DRI and GLX modules are not installed. - -- ``xserver-kdrive``: Effectively unmaintained for many years. - -- ``mesa-xlib``: No longer serves any purpose. - -- ``galago``: Replaced by telepathy. - -- ``gail``: Functionality was integrated into GTK+ 2.13. - -- ``eggdbus``: No longer needed. - -- ``gcc-*-intermediate``: The build has been restructured to avoid - the need for this step. - -- ``libgsmd``: Unmaintained for many years. Functionality now - provided by ``ofono`` instead. - -- *contacts, dates, tasks, eds-tools*: Largely unmaintained PIM - application suite. It has been moved to ``meta-gnome`` in - ``meta-openembedded``. - -In addition to the previously listed changes, the ``meta-demoapps`` -directory has also been removed because the recipes in it were not being -maintained and many had become obsolete or broken. Additionally, these -recipes were not parsed in the default configuration. Many of these -recipes are already provided in an updated and maintained form within -the OpenEmbedded community layers such as ``meta-oe`` and -``meta-gnome``. For the remainder, you can now find them in the -``meta-extras`` repository, which is in the -:yocto_git:`Source Repositories <>` at -:yocto_git:`/meta-extras/`. - -.. _1.3-linux-kernel-naming: - -Linux Kernel Naming -------------------- - -The naming scheme for kernel output binaries has been changed to now -include :term:`PE` as part of the filename:: - - KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}" - -Because the ``PE`` variable is not set by default, these binary files -could result with names that include two dash characters. Here is an -example:: - - bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin - - diff --git a/poky/documentation/ref-manual/migration-1.4.rst b/poky/documentation/ref-manual/migration-1.4.rst deleted file mode 100644 index deb848749..000000000 --- a/poky/documentation/ref-manual/migration-1.4.rst +++ /dev/null @@ -1,235 +0,0 @@ -Moving to the Yocto Project 1.4 Release (dylan) -=============================================== - -This section provides migration information for moving to the Yocto -Project 1.4 Release (codename "dylan") from the prior release. - -.. _migration-1.4-bitbake: - -BitBake -------- - -Differences include the following: - -- *Comment Continuation:* If a comment ends with a line continuation - (\\) character, then the next line must also be a comment. Any - instance where this is not the case, now triggers a warning. You must - either remove the continuation character, or be sure the next line is - a comment. - -- *Package Name Overrides:* The runtime package specific variables - :term:`RDEPENDS`, - :term:`RRECOMMENDS`, - :term:`RSUGGESTS`, - :term:`RPROVIDES`, - :term:`RCONFLICTS`, - :term:`RREPLACES`, :term:`FILES`, - :term:`ALLOW_EMPTY`, and the pre, post, install, - and uninstall script functions ``pkg_preinst``, ``pkg_postinst``, - ``pkg_prerm``, and ``pkg_postrm`` should always have a package name - override. For example, use ``RDEPENDS_${PN}`` for the main package - instead of ``RDEPENDS``. BitBake uses more strict checks when it - parses recipes. - -.. _migration-1.4-build-behavior: - -Build Behavior --------------- - -Differences include the following: - -- *Shared State Code:* The shared state code has been optimized to - avoid running unnecessary tasks. For example, the following no longer - populates the target sysroot since that is not necessary:: - - $ bitbake -c rootfs some-image - - Instead, the system just needs to extract the - output package contents, re-create the packages, and construct the - root filesystem. This change is unlikely to cause any problems unless - you have missing declared dependencies. - -- *Scanning Directory Names:* When scanning for files in - :term:`SRC_URI`, the build system now uses - :term:`FILESOVERRIDES` instead of - :term:`OVERRIDES` for the directory names. In - general, the values previously in ``OVERRIDES`` are now in - ``FILESOVERRIDES`` as well. However, if you relied upon an additional - value you previously added to ``OVERRIDES``, you might now need to - add it to ``FILESOVERRIDES`` unless you are already adding it through - the :term:`MACHINEOVERRIDES` or - :term:`DISTROOVERRIDES` variables, as - appropriate. For more related changes, see the - ":ref:`ref-manual/migration-1.4:variables`" section. - -.. _migration-1.4-proxies-and-fetching-source: - -Proxies and Fetching Source ---------------------------- - -A new ``oe-git-proxy`` script has been added to replace previous methods -of handling proxies and fetching source from Git. See the -``meta-yocto/conf/site.conf.sample`` file for information on how to use -this script. - -.. _migration-1.4-custom-interfaces-file-netbase-change: - -Custom Interfaces File (netbase change) ---------------------------------------- - -If you have created your own custom ``etc/network/interfaces`` file by -creating an append file for the ``netbase`` recipe, you now need to -create an append file for the ``init-ifupdown`` recipe instead, which -you can find in the :term:`Source Directory` at -``meta/recipes-core/init-ifupdown``. For information on how to use -append files, see the -":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" -section in the Yocto Project Development Tasks Manual. - -.. _migration-1.4-remote-debugging: - -Remote Debugging ----------------- - -Support for remote debugging with the Eclipse IDE is now separated into -an image feature (``eclipse-debug``) that corresponds to the -``packagegroup-core-eclipse-debug`` package group. Previously, the -debugging feature was included through the ``tools-debug`` image -feature, which corresponds to the ``packagegroup-core-tools-debug`` -package group. - -.. _migration-1.4-variables: - -Variables ---------- - -The following variables have changed: - -- ``SANITY_TESTED_DISTROS``: This variable now uses a distribution - ID, which is composed of the host distributor ID followed by the - release. Previously, - :term:`SANITY_TESTED_DISTROS` was - composed of the description field. For example, "Ubuntu 12.10" - becomes "Ubuntu-12.10". You do not need to worry about this change if - you are not specifically setting this variable, or if you are - specifically setting it to "". - -- ``SRC_URI``: The ``${``\ :term:`PN`\ ``}``, - ``${``\ :term:`PF`\ ``}``, - ``${``\ :term:`P`\ ``}``, and ``FILE_DIRNAME`` directories - have been dropped from the default value of the - :term:`FILESPATH` variable, which is used as the - search path for finding files referred to in - :term:`SRC_URI`. If you have a recipe that relied upon - these directories, which would be unusual, then you will need to add - the appropriate paths within the recipe or, alternatively, rearrange - the files. The most common locations are still covered by ``${``\ :term:`BP`\ ``}``, - ``${``\ :term:`BPN`\ ``}``, and "files", which all remain in the default value of - :term:`FILESPATH`. - -.. _migration-target-package-management-with-rpm: - -Target Package Management with RPM ----------------------------------- - -If runtime package management is enabled and the RPM backend is -selected, Smart is now installed for package download, dependency -resolution, and upgrades instead of Zypper. For more information on how -to use Smart, run the following command on the target:: - - smart --help - -.. _migration-1.4-recipes-moved: - -Recipes Moved -------------- - -The following recipes were moved from their previous locations because -they are no longer used by anything in the OpenEmbedded-Core: - -- ``clutter-box2d``: Now resides in the ``meta-oe`` layer. - -- ``evolution-data-server``: Now resides in the ``meta-gnome`` layer. - -- ``gthumb``: Now resides in the ``meta-gnome`` layer. - -- ``gtkhtml2``: Now resides in the ``meta-oe`` layer. - -- ``gupnp``: Now resides in the ``meta-multimedia`` layer. - -- ``gypsy``: Now resides in the ``meta-oe`` layer. - -- ``libcanberra``: Now resides in the ``meta-gnome`` layer. - -- ``libgdata``: Now resides in the ``meta-gnome`` layer. - -- ``libmusicbrainz``: Now resides in the ``meta-multimedia`` layer. - -- ``metacity``: Now resides in the ``meta-gnome`` layer. - -- ``polkit``: Now resides in the ``meta-oe`` layer. - -- ``zeroconf``: Now resides in the ``meta-networking`` layer. - -.. _migration-1.4-removals-and-renames: - -Removals and Renames --------------------- - -The following list shows what has been removed or renamed: - -- ``evieext``: Removed because it has been removed from ``xserver`` - since 2008. - -- *Gtk+ DirectFB:* Removed support because upstream Gtk+ no longer - supports it as of version 2.18. - -- ``libxfontcache / xfontcacheproto``: Removed because they were - removed from the Xorg server in 2008. - -- ``libxp / libxprintapputil / libxprintutil / printproto``: Removed - because the XPrint server was removed from Xorg in 2008. - -- ``libxtrap / xtrapproto``: Removed because their functionality was - broken upstream. - -- *linux-yocto 3.0 kernel:* Removed with linux-yocto 3.8 kernel being - added. The linux-yocto 3.2 and linux-yocto 3.4 kernels remain as part - of the release. - -- ``lsbsetup``: Removed with functionality now provided by - ``lsbtest``. - -- ``matchbox-stroke``: Removed because it was never more than a - proof-of-concept. - -- ``matchbox-wm-2 / matchbox-theme-sato-2``: Removed because they are - not maintained. However, ``matchbox-wm`` and ``matchbox-theme-sato`` - are still provided. - -- ``mesa-dri``: Renamed to ``mesa``. - -- ``mesa-xlib``: Removed because it was no longer useful. - -- ``mutter``: Removed because nothing ever uses it and the recipe is - very old. - -- ``orinoco-conf``: Removed because it has become obsolete. - -- ``update-modules``: Removed because it is no longer used. The - kernel module ``postinstall`` and ``postrm`` scripts can now do the - same task without the use of this script. - -- ``web``: Removed because it is not maintained. Superseded by - ``web-webkit``. - -- ``xf86bigfontproto``: Removed because upstream it has been disabled - by default since 2007. Nothing uses ``xf86bigfontproto``. - -- ``xf86rushproto``: Removed because its dependency in ``xserver`` - was spurious and it was removed in 2005. - -- ``zypper / libzypp / sat-solver``: Removed and been functionally - replaced with Smart (``python-smartpm``) when RPM packaging is used - and package management is enabled on the target. - diff --git a/poky/documentation/ref-manual/migration-1.5.rst b/poky/documentation/ref-manual/migration-1.5.rst deleted file mode 100644 index c772e51b5..000000000 --- a/poky/documentation/ref-manual/migration-1.5.rst +++ /dev/null @@ -1,353 +0,0 @@ -Moving to the Yocto Project 1.5 Release (dora) -============================================== - -This section provides migration information for moving to the Yocto -Project 1.5 Release (codename "dora") from the prior release. - -.. _migration-1.5-host-dependency-changes: - -Host Dependency Changes ------------------------ - -The OpenEmbedded build system now has some additional requirements on -the host system: - -- Python 2.7.3+ - -- Tar 1.24+ - -- Git 1.7.8+ - -- Patched version of Make if you are using 3.82. Most distributions - that provide Make 3.82 use the patched version. - -If the Linux distribution you are using on your build host does not -provide packages for these, you can install and use the Buildtools -tarball, which provides an SDK-like environment containing them. - -For more information on this requirement, see the -":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`" -section. - -.. _migration-1.5-atom-pc-bsp: - -``atom-pc`` Board Support Package (BSP) ---------------------------------------- - -The ``atom-pc`` hardware reference BSP has been replaced by a -``genericx86`` BSP. This BSP is not necessarily guaranteed to work on -all x86 hardware, but it will run on a wider range of systems than the -``atom-pc`` did. - -.. note:: - - Additionally, a ``genericx86-64`` BSP has been added for 64-bit Atom - systems. - -.. _migration-1.5-bitbake: - -BitBake -------- - -The following changes have been made that relate to BitBake: - -- BitBake now supports a ``_remove`` operator. The addition of this - operator means you will have to rename any items in recipe space - (functions, variables) whose names currently contain ``_remove_`` or - end with ``_remove`` to avoid unexpected behavior. - -- BitBake's global method pool has been removed. This method is not - particularly useful and led to clashes between recipes containing - functions that had the same name. - -- The "none" server backend has been removed. The "process" server - backend has been serving well as the default for a long time now. - -- The ``bitbake-runtask`` script has been removed. - -- ``${``\ :term:`P`\ ``}`` and - ``${``\ :term:`PF`\ ``}`` are no longer added to - :term:`PROVIDES` by default in ``bitbake.conf``. - These version-specific ``PROVIDES`` items were seldom used. - Attempting to use them could result in two versions being built - simultaneously rather than just one version due to the way BitBake - resolves dependencies. - -.. _migration-1.5-qa-warnings: - -QA Warnings ------------ - -The following changes have been made to the package QA checks: - -- If you have customized :term:`ERROR_QA` or - :term:`WARN_QA` values in your configuration, check - that they contain all of the issues that you wish to be reported. - Previous Yocto Project versions contained a bug that meant that any - item not mentioned in ``ERROR_QA`` or ``WARN_QA`` would be treated as - a warning. Consequently, several important items were not already in - the default value of ``WARN_QA``. All of the possible QA checks are - now documented in the ":ref:`insane.bbclass `" - section. - -- An additional QA check has been added to check if - ``/usr/share/info/dir`` is being installed. Your recipe should delete - this file within :ref:`ref-tasks-install` if "make - install" is installing it. - -- If you are using the ``buildhistory`` class, the check for the package - version going backwards is now controlled using a standard QA check. - Thus, if you have customized your ``ERROR_QA`` or ``WARN_QA`` values - and still wish to have this check performed, you should add - "version-going-backwards" to your value for one or the other - variables depending on how you wish it to be handled. See the - documented QA checks in the - ":ref:`insane.bbclass `" section. - -.. _migration-1.5-directory-layout-changes: - -Directory Layout Changes ------------------------- - -The following directory changes exist: - -- Output SDK installer files are now named to include the image name - and tuning architecture through the :term:`SDK_NAME` - variable. - -- Images and related files are now installed into a directory that is - specific to the machine, instead of a parent directory containing - output files for multiple machines. The - :term:`DEPLOY_DIR_IMAGE` variable continues - to point to the directory containing images for the current - :term:`MACHINE` and should be used anywhere there is a - need to refer to this directory. The ``runqemu`` script now uses this - variable to find images and kernel binaries and will use BitBake to - determine the directory. Alternatively, you can set the - ``DEPLOY_DIR_IMAGE`` variable in the external environment. - -- When buildhistory is enabled, its output is now written under the - :term:`Build Directory` rather than - :term:`TMPDIR`. Doing so makes it easier to delete - ``TMPDIR`` and preserve the build history. Additionally, data for - produced SDKs is now split by :term:`IMAGE_NAME`. - -- The ``pkgdata`` directory produced as part of the packaging process - has been collapsed into a single machine-specific directory. This - directory is located under ``sysroots`` and uses a machine-specific - name (i.e. ``tmp/sysroots/machine/pkgdata``). - -.. _migration-1.5-shortened-git-srcrev-values: - -Shortened Git ``SRCREV`` Values -------------------------------- - -BitBake will now shorten revisions from Git repositories from the normal -40 characters down to 10 characters within :term:`SRCPV` -for improved usability in path and file names. This change should be -safe within contexts where these revisions are used because the chances -of spatially close collisions is very low. Distant collisions are not a -major issue in the way the values are used. - -.. _migration-1.5-image-features: - -``IMAGE_FEATURES`` ------------------- - -The following changes have been made that relate to -:term:`IMAGE_FEATURES`: - -- The value of ``IMAGE_FEATURES`` is now validated to ensure invalid - feature items are not added. Some users mistakenly add package names - to this variable instead of using - :term:`IMAGE_INSTALL` in order to have the - package added to the image, which does not work. This change is - intended to catch those kinds of situations. Valid ``IMAGE_FEATURES`` - are drawn from ``PACKAGE_GROUP`` definitions, - :term:`COMPLEMENTARY_GLOB` and a new - "validitems" varflag on ``IMAGE_FEATURES``. The "validitems" varflag - change allows additional features to be added if they are not - provided using the previous two mechanisms. - -- The previously deprecated "apps-console-core" ``IMAGE_FEATURES`` item - is no longer supported. Add "splash" to ``IMAGE_FEATURES`` if you - wish to have the splash screen enabled, since this is all that - apps-console-core was doing. - -.. _migration-1.5-run: - -``/run`` --------- - -The ``/run`` directory from the Filesystem Hierarchy Standard 3.0 has -been introduced. You can find some of the implications for this change -:oe_git:`here `. -The change also means that recipes that install files to ``/var/run`` -must be changed. You can find a guide on how to make these changes -`here `__. - -.. _migration-1.5-removal-of-package-manager-database-within-image-recipes: - -Removal of Package Manager Database Within Image Recipes --------------------------------------------------------- - -The image ``core-image-minimal`` no longer adds -``remove_packaging_data_files`` to -:term:`ROOTFS_POSTPROCESS_COMMAND`. -This addition is now handled automatically when "package-management" is -not in :term:`IMAGE_FEATURES`. If you have custom -image recipes that make this addition, you should remove the lines, as -they are not needed and might interfere with correct operation of -postinstall scripts. - -.. _migration-1.5-images-now-rebuild-only-on-changes-instead-of-every-time: - -Images Now Rebuild Only on Changes Instead of Every Time --------------------------------------------------------- - -The :ref:`ref-tasks-rootfs` and other related image -construction tasks are no longer marked as "nostamp". Consequently, they -will only be re-executed when their inputs have changed. Previous -versions of the OpenEmbedded build system always rebuilt the image when -requested rather when necessary. - -.. _migration-1.5-task-recipes: - -Task Recipes ------------- - -The previously deprecated ``task.bbclass`` has now been dropped. For -recipes that previously inherited from this class, you should rename -them from ``task-*`` to ``packagegroup-*`` and inherit packagegroup -instead. - -For more information, see the -":ref:`packagegroup.bbclass `" section. - -.. _migration-1.5-busybox: - -BusyBox -------- - -By default, we now split BusyBox into two binaries: one that is suid -root for those components that need it, and another for the rest of the -components. Splitting BusyBox allows for optimization that eliminates -the ``tinylogin`` recipe as recommended by upstream. You can disable -this split by setting -:term:`BUSYBOX_SPLIT_SUID` to "0". - -.. _migration-1.5-automated-image-testing: - -Automated Image Testing ------------------------ - -A new automated image testing framework has been added through the -:ref:`testimage.bbclass ` class. This -framework replaces the older ``imagetest-qemu`` framework. - -You can learn more about performing automated image tests in the -":ref:`dev-manual/common-tasks:performing automated runtime testing`" -section in the Yocto Project Development Tasks Manual. - -.. _migration-1.5-build-history: - -Build History -------------- - -Following are changes to Build History: - -- Installed package sizes: ``installed-package-sizes.txt`` for an image - now records the size of the files installed by each package instead - of the size of each compressed package archive file. - -- The dependency graphs (``depends*.dot``) now use the actual package - names instead of replacing dashes, dots and plus signs with - underscores. - -- The ``buildhistory-diff`` and ``buildhistory-collect-srcrevs`` - utilities have improved command-line handling. Use the ``--help`` - option for each utility for more information on the new syntax. - -For more information on Build History, see the -":ref:`dev-manual/common-tasks:maintaining build output quality`" -section in the Yocto Project Development Tasks Manual. - -.. _migration-1.5-udev: - -``udev`` --------- - -Following are changes to ``udev``: - -- ``udev`` no longer brings in ``udev-extraconf`` automatically through - :term:`RRECOMMENDS`, since this was originally - intended to be optional. If you need the extra rules, then add - ``udev-extraconf`` to your image. - -- ``udev`` no longer brings in ``pciutils-ids`` or ``usbutils-ids`` - through ``RRECOMMENDS``. These are not needed by ``udev`` itself and - removing them saves around 350KB. - -.. _migration-1.5-removed-renamed-recipes: - -Removed and Renamed Recipes ---------------------------- - -- The ``linux-yocto`` 3.2 kernel has been removed. - -- ``libtool-nativesdk`` has been renamed to ``nativesdk-libtool``. - -- ``tinylogin`` has been removed. It has been replaced by a suid - portion of Busybox. See the ":ref:`migration-1.5-busybox`" - section for more information. - -- ``external-python-tarball`` has been renamed to - ``buildtools-tarball``. - -- ``web-webkit`` has been removed. It has been functionally replaced by - ``midori``. - -- ``imake`` has been removed. It is no longer needed by any other - recipe. - -- ``transfig-native`` has been removed. It is no longer needed by any - other recipe. - -- ``anjuta-remote-run`` has been removed. Anjuta IDE integration has - not been officially supported for several releases. - -.. _migration-1.5-other-changes: - -Other Changes -------------- - -Following is a list of short entries describing other changes: - -- ``run-postinsts``: Make this generic. - -- ``base-files``: Remove the unnecessary ``media/``\ xxx directories. - -- ``alsa-state``: Provide an empty ``asound.conf`` by default. - -- ``classes/image``: Ensure - :term:`BAD_RECOMMENDATIONS` supports - pre-renamed package names. - -- ``classes/rootfs_rpm``: Implement ``BAD_RECOMMENDATIONS`` for RPM. - -- ``systemd``: Remove ``systemd_unitdir`` if ``systemd`` is not in - :term:`DISTRO_FEATURES`. - -- ``systemd``: Remove ``init.d`` dir if ``systemd`` unit file is - present and ``sysvinit`` is not a distro feature. - -- ``libpam``: Deny all services for the ``OTHER`` entries. - -- ``image.bbclass``: Move ``runtime_mapping_rename`` to avoid conflict - with ``multilib``. See :yocto_bugs:`YOCTO #4993 ` - in Bugzilla for more information. - -- ``linux-dtb``: Use kernel build system to generate the ``dtb`` files. - -- ``kern-tools``: Switch from guilt to new ``kgit-s2q`` tool. - diff --git a/poky/documentation/ref-manual/migration-1.6.rst b/poky/documentation/ref-manual/migration-1.6.rst deleted file mode 100644 index 5a18d6310..000000000 --- a/poky/documentation/ref-manual/migration-1.6.rst +++ /dev/null @@ -1,414 +0,0 @@ -Moving to the Yocto Project 1.6 Release (daisy) -=============================================== - -This section provides migration information for moving to the Yocto -Project 1.6 Release (codename "daisy") from the prior release. - -.. _migration-1.6-archiver-class: - -``archiver`` Class ------------------- - -The :ref:`archiver ` class has been rewritten -and its configuration has been simplified. For more details on the -source archiver, see the -":ref:`dev-manual/common-tasks:maintaining open source license compliance during your product's lifecycle`" -section in the Yocto Project Development Tasks Manual. - -.. _migration-1.6-packaging-changes: - -Packaging Changes ------------------ - -The following packaging changes have been made: - -- The ``binutils`` recipe no longer produces a ``binutils-symlinks`` - package. ``update-alternatives`` is now used to handle the preferred - ``binutils`` variant on the target instead. - -- The tc (traffic control) utilities have been split out of the main - ``iproute2`` package and put into the ``iproute2-tc`` package. - -- The ``gtk-engines`` schemas have been moved to a dedicated - ``gtk-engines-schemas`` package. - -- The ``armv7a`` with thumb package architecture suffix has changed. - The suffix for these packages with the thumb optimization enabled is - "t2" as it should be. Use of this suffix was not the case in the 1.5 - release. Architecture names will change within package feeds as a - result. - -.. _migration-1.6-bitbake: - -BitBake -------- - -The following changes have been made to :term:`BitBake`. - -.. _migration-1.6-matching-branch-requirement-for-git-fetching: - -Matching Branch Requirement for Git Fetching -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When fetching source from a Git repository using -:term:`SRC_URI`, BitBake will now validate the -:term:`SRCREV` value against the branch. You can specify -the branch using the following form:: - - SRC_URI = "git://server.name/repository;branch=branchname" - -If you do not specify a branch, BitBake looks in the default "master" branch. - -Alternatively, if you need to bypass this check (e.g. if you are -fetching a revision corresponding to a tag that is not on any branch), -you can add ";nobranch=1" to the end of the URL within ``SRC_URI``. - -.. _migration-1.6-bitbake-deps: - -Python Definition substitutions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -BitBake had some previously deprecated Python definitions within its -``bb`` module removed. You should use their sub-module counterparts -instead: - -- ``bb.MalformedUrl``: Use ``bb.fetch.MalformedUrl``. - -- ``bb.encodeurl``: Use ``bb.fetch.encodeurl``. - -- ``bb.decodeurl``: Use ``bb.fetch.decodeurl`` - -- ``bb.mkdirhier``: Use ``bb.utils.mkdirhier``. - -- ``bb.movefile``: Use ``bb.utils.movefile``. - -- ``bb.copyfile``: Use ``bb.utils.copyfile``. - -- ``bb.which``: Use ``bb.utils.which``. - -- ``bb.vercmp_string``: Use ``bb.utils.vercmp_string``. - -- ``bb.vercmp``: Use ``bb.utils.vercmp``. - -.. _migration-1.6-bitbake-fetcher: - -SVK Fetcher -~~~~~~~~~~~ - -The SVK fetcher has been removed from BitBake. - -.. _migration-1.6-bitbake-console-output: - -Console Output Error Redirection -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The BitBake console UI will now output errors to ``stderr`` instead of -``stdout``. Consequently, if you are piping or redirecting the output of -``bitbake`` to somewhere else, and you wish to retain the errors, you -will need to add ``2>&1`` (or something similar) to the end of your -``bitbake`` command line. - -.. _migration-1.6-task-taskname-overrides: - -``task-``\ taskname Overrides -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -``task-``\ taskname overrides have been adjusted so that tasks whose -names contain underscores have the underscores replaced by hyphens for -the override so that they now function properly. For example, the task -override for :ref:`ref-tasks-populate_sdk` is -``task-populate-sdk``. - -.. _migration-1.6-variable-changes: - -Changes to Variables --------------------- - -The following variables have changed. For information on the -OpenEmbedded build system variables, see the ":doc:`/ref-manual/variables`" Chapter. - -.. _migration-1.6-variable-changes-TMPDIR: - -``TMPDIR`` -~~~~~~~~~~ - -:term:`TMPDIR` can no longer be on an NFS mount. NFS does -not offer full POSIX locking and inode consistency and can cause -unexpected issues if used to store ``TMPDIR``. - -The check for this occurs on startup. If ``TMPDIR`` is detected on an -NFS mount, an error occurs. - -.. _migration-1.6-variable-changes-PRINC: - -``PRINC`` -~~~~~~~~~ - -The ``PRINC`` variable has been deprecated and triggers a warning if -detected during a build. For :term:`PR` increments on changes, -use the PR service instead. You can find out more about this service in -the ":ref:`dev-manual/common-tasks:working with a pr service`" -section in the Yocto Project Development Tasks Manual. - -.. _migration-1.6-variable-changes-IMAGE_TYPES: - -``IMAGE_TYPES`` -~~~~~~~~~~~~~~~ - -The "sum.jffs2" option for :term:`IMAGE_TYPES` has -been replaced by the "jffs2.sum" option, which fits the processing -order. - -.. _migration-1.6-variable-changes-COPY_LIC_MANIFEST: - -``COPY_LIC_MANIFEST`` -~~~~~~~~~~~~~~~~~~~~~ - -The :term:`COPY_LIC_MANIFEST` variable must now -be set to "1" rather than any value in order to enable it. - -.. _migration-1.6-variable-changes-COPY_LIC_DIRS: - -``COPY_LIC_DIRS`` -~~~~~~~~~~~~~~~~~ - -The :term:`COPY_LIC_DIRS` variable must now be set -to "1" rather than any value in order to enable it. - -.. _migration-1.6-variable-changes-PACKAGE_GROUP: - -``PACKAGE_GROUP`` -~~~~~~~~~~~~~~~~~ - -The ``PACKAGE_GROUP`` variable has been renamed to -:term:`FEATURE_PACKAGES` to more accurately -reflect its purpose. You can still use ``PACKAGE_GROUP`` but the -OpenEmbedded build system produces a warning message when it encounters -the variable. - -.. _migration-1.6-variable-changes-variable-entry-behavior: - -Preprocess and Post Process Command Variable Behavior -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The following variables now expect a semicolon separated list of -functions to call and not arbitrary shell commands: - - - :term:`ROOTFS_PREPROCESS_COMMAND` - - :term:`ROOTFS_POSTPROCESS_COMMAND` - - :term:`SDK_POSTPROCESS_COMMAND` - - :term:`POPULATE_SDK_POST_TARGET_COMMAND` - - :term:`POPULATE_SDK_POST_HOST_COMMAND` - - :term:`IMAGE_POSTPROCESS_COMMAND` - - :term:`IMAGE_PREPROCESS_COMMAND` - - :term:`ROOTFS_POSTUNINSTALL_COMMAND` - - :term:`ROOTFS_POSTINSTALL_COMMAND` - -For -migration purposes, you can simply wrap shell commands in a shell -function and then call the function. Here is an example:: - - my_postprocess_function() { - echo "hello" > ${IMAGE_ROOTFS}/hello.txt - } - ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; " - -.. _migration-1.6-package-test-ptest: - -Package Test (ptest) --------------------- - -Package Tests (ptest) are built but not installed by default. For -information on using Package Tests, see the -":ref:`dev-manual/common-tasks:testing packages with ptest`" -section in the Yocto Project Development Tasks Manual. For information on the -``ptest`` class, see the ":ref:`ptest.bbclass `" -section. - -.. _migration-1.6-build-changes: - -Build Changes -------------- - -Separate build and source directories have been enabled by default for -selected recipes where it is known to work (a whitelist) and for all -recipes that inherit the :ref:`cmake ` class. In -future releases the :ref:`autotools ` class -will enable a separate build directory by default as well. Recipes -building Autotools-based software that fails to build with a separate -build directory should be changed to inherit from the -:ref:`autotools-brokensep ` class instead of -the ``autotools`` or ``autotools_stage``\ classes. - -.. _migration-1.6-building-qemu-native: - -``qemu-native`` ---------------- - -``qemu-native`` now builds without SDL-based graphical output support by -default. The following additional lines are needed in your -``local.conf`` to enable it:: - - PACKAGECONFIG_pn-qemu-native = "sdl" - ASSUME_PROVIDED += "libsdl-native" - -.. note:: - - The default ``local.conf`` contains these statements. Consequently, if you - are building a headless system and using a default ``local.conf`` - file, you will need comment these two lines out. - -.. _migration-1.6-core-image-basic: - -``core-image-basic`` --------------------- - -``core-image-basic`` has been renamed to ``core-image-full-cmdline``. - -In addition to ``core-image-basic`` being renamed, -``packagegroup-core-basic`` has been renamed to -``packagegroup-core-full-cmdline`` to match. - -.. _migration-1.6-licensing: - -Licensing ---------- - -The top-level ``LICENSE`` file has been changed to better describe the -license of the various components of :term:`OpenEmbedded-Core (OE-Core)`. However, -the licensing itself remains unchanged. - -Normally, this change would not cause any side-effects. However, some -recipes point to this file within -:term:`LIC_FILES_CHKSUM` (as -``${COREBASE}/LICENSE``) and thus the accompanying checksum must be -changed from 3f40d7994397109285ec7b81fdeb3b58 to -4d92cd373abda3937c2bc47fbc49d690. A better alternative is to have -``LIC_FILES_CHKSUM`` point to a file describing the license that is -distributed with the source that the recipe is building, if possible, -rather than pointing to ``${COREBASE}/LICENSE``. - -.. _migration-1.6-cflags-options: - -``CFLAGS`` Options ------------------- - -The "-fpermissive" option has been removed from the default -:term:`CFLAGS` value. You need to take action on -individual recipes that fail when building with this option. You need to -either patch the recipes to fix the issues reported by the compiler, or -you need to add "-fpermissive" to ``CFLAGS`` in the recipes. - -.. _migration-1.6-custom-images: - -Custom Image Output Types -------------------------- - -Custom image output types, as selected using -:term:`IMAGE_FSTYPES`, must declare their -dependencies on other image types (if any) using a new -:term:`IMAGE_TYPEDEP` variable. - -.. _migration-1.6-do-package-write-task: - -Tasks ------ - -The ``do_package_write`` task has been removed. The task is no longer -needed. - -.. _migration-1.6-update-alternatives-provider: - -``update-alternative`` Provider -------------------------------- - -The default ``update-alternatives`` provider has been changed from -``opkg`` to ``opkg-utils``. This change resolves some troublesome -circular dependencies. The runtime package has also been renamed from -``update-alternatives-cworth`` to ``update-alternatives-opkg``. - -.. _migration-1.6-virtclass-overrides: - -``virtclass`` Overrides ------------------------ - -The ``virtclass`` overrides are now deprecated. Use the equivalent class -overrides instead (e.g. ``virtclass-native`` becomes ``class-native``.) - -.. _migration-1.6-removed-renamed-recipes: - -Removed and Renamed Recipes ---------------------------- - -The following recipes have been removed: - -- ``packagegroup-toolset-native`` - This recipe is largely unused. - -- ``linux-yocto-3.8`` - Support for the Linux yocto 3.8 kernel has been - dropped. Support for the 3.10 and 3.14 kernels have been added with - the ``linux-yocto-3.10`` and ``linux-yocto-3.14`` recipes. - -- ``ocf-linux`` - This recipe has been functionally replaced using - ``cryptodev-linux``. - -- ``genext2fs`` - ``genext2fs`` is no longer used by the build system - and is unmaintained upstream. - -- ``js`` - This provided an ancient version of Mozilla's javascript - engine that is no longer needed. - -- ``zaurusd`` - The recipe has been moved to the ``meta-handheld`` - layer. - -- ``eglibc 2.17`` - Replaced by the ``eglibc 2.19`` recipe. - -- ``gcc 4.7.2`` - Replaced by the now stable ``gcc 4.8.2``. - -- ``external-sourcery-toolchain`` - this recipe is now maintained in - the ``meta-sourcery`` layer. - -- ``linux-libc-headers-yocto 3.4+git`` - Now using version 3.10 of the - ``linux-libc-headers`` by default. - -- ``meta-toolchain-gmae`` - This recipe is obsolete. - -- ``packagegroup-core-sdk-gmae`` - This recipe is obsolete. - -- ``packagegroup-core-standalone-gmae-sdk-target`` - This recipe is - obsolete. - -.. _migration-1.6-removed-classes: - -Removed Classes ---------------- - -The following classes have become obsolete and have been removed: - -- ``module_strip`` - -- ``pkg_metainfo`` - -- ``pkg_distribute`` - -- ``image-empty`` - -.. _migration-1.6-reference-bsps: - -Reference Board Support Packages (BSPs) ---------------------------------------- - -The following reference BSPs changes occurred: - -- The BeagleBoard (``beagleboard``) ARM reference hardware has been - replaced by the BeagleBone (``beaglebone``) hardware. - -- The RouterStation Pro (``routerstationpro``) MIPS reference hardware - has been replaced by the EdgeRouter Lite (``edgerouter``) hardware. - -The previous reference BSPs for the ``beagleboard`` and -``routerstationpro`` machines are still available in a new -``meta-yocto-bsp-old`` layer in the -:yocto_git:`Source Repositories <>` at -:yocto_git:`/meta-yocto-bsp-old/`. - - diff --git a/poky/documentation/ref-manual/migration-1.7.rst b/poky/documentation/ref-manual/migration-1.7.rst deleted file mode 100644 index 46bf12658..000000000 --- a/poky/documentation/ref-manual/migration-1.7.rst +++ /dev/null @@ -1,221 +0,0 @@ -Moving to the Yocto Project 1.7 Release (dizzy) -=============================================== - -This section provides migration information for moving to the Yocto -Project 1.7 Release (codename "dizzy") from the prior release. - -.. _migration-1.7-changes-to-setting-qemu-packageconfig-options: - -Changes to Setting QEMU ``PACKAGECONFIG`` Options in ``local.conf`` -------------------------------------------------------------------- - -The QEMU recipe now uses a number of -:term:`PACKAGECONFIG` options to enable various -optional features. The method used to set defaults for these options -means that existing ``local.conf`` files will need to be modified to -append to ``PACKAGECONFIG`` for ``qemu-native`` and ``nativesdk-qemu`` -instead of setting it. In other words, to enable graphical output for -QEMU, you should now have these lines in ``local.conf``:: - - PACKAGECONFIG_append_pn-qemu-native = " sdl" - PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" - -.. _migration-1.7-minimum-git-version: - -Minimum Git version -------------------- - -The minimum :ref:`overview-manual/development-environment:git` -version required on the -build host is now 1.7.8 because the ``--list`` option is now required by -BitBake's Git fetcher. As always, if your host distribution does not -provide a version of Git that meets this requirement, you can use the -``buildtools-tarball`` that does. See the -":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`" -section for more information. - -.. _migration-1.7-autotools-class-changes: - -Autotools Class Changes ------------------------ - -The following :ref:`autotools ` class changes -occurred: - -- *A separate build directory is now used by default:* The - ``autotools`` class has been changed to use a directory for building - (:term:`B`), which is separate from the source directory - (:term:`S`). This is commonly referred to as ``B != S``, or - an out-of-tree build. - - If the software being built is already capable of building in a - directory separate from the source, you do not need to do anything. - However, if the software is not capable of being built in this - manner, you will need to either patch the software so that it can - build separately, or you will need to change the recipe to inherit - the :ref:`autotools-brokensep ` class - instead of the ``autotools`` or ``autotools_stage`` classes. - -- The ``--foreign`` option is no longer passed to ``automake`` when - running ``autoconf``: This option tells ``automake`` that a - particular software package does not follow the GNU standards and - therefore should not be expected to distribute certain files such as - ``ChangeLog``, ``AUTHORS``, and so forth. Because the majority of - upstream software packages already tell ``automake`` to enable - foreign mode themselves, the option is mostly superfluous. However, - some recipes will need patches for this change. You can easily make - the change by patching ``configure.ac`` so that it passes "foreign" - to ``AM_INIT_AUTOMAKE()``. See :oe_git:`this - commit ` - for an example showing how to make the patch. - -.. _migration-1.7-binary-configuration-scripts-disabled: - -Binary Configuration Scripts Disabled -------------------------------------- - -Some of the core recipes that package binary configuration scripts now -disable the scripts due to the scripts previously requiring error-prone -path substitution. Software that links against these libraries using -these scripts should use the much more robust ``pkg-config`` instead. -The list of recipes changed in this version (and their configuration -scripts) is as follows:: - - directfb (directfb-config) - freetype (freetype-config) - gpgme (gpgme-config) - libassuan (libassuan-config) - libcroco (croco-6.0-config) - libgcrypt (libgcrypt-config) - libgpg-error (gpg-error-config) - libksba (ksba-config) - libpcap (pcap-config) - libpcre (pcre-config) - libpng (libpng-config, libpng16-config) - libsdl (sdl-config) - libusb-compat (libusb-config) - libxml2 (xml2-config) - libxslt (xslt-config) - ncurses (ncurses-config) - neon (neon-config) - npth (npth-config) - pth (pth-config) - taglib (taglib-config) - -Additionally, support for ``pkg-config`` has been added to some recipes in the -previous list in the rare cases where the upstream software package does -not already provide it. - -.. _migration-1.7-glibc-replaces-eglibc: - -``eglibc 2.19`` Replaced with ``glibc 2.20`` --------------------------------------------- - -Because ``eglibc`` and ``glibc`` were already fairly close, this -replacement should not require any significant changes to other software -that links to ``eglibc``. However, there were a number of minor changes -in ``glibc 2.20`` upstream that could require patching some software -(e.g. the removal of the ``_BSD_SOURCE`` feature test macro). - -``glibc 2.20`` requires version 2.6.32 or greater of the Linux kernel. -Thus, older kernels will no longer be usable in conjunction with it. - -For full details on the changes in ``glibc 2.20``, see the upstream -release notes -`here `__. - -.. _migration-1.7-kernel-module-autoloading: - -Kernel Module Autoloading -------------------------- - -The :term:`module_autoload_* ` variable is now -deprecated and a new -:term:`KERNEL_MODULE_AUTOLOAD` variable -should be used instead. Also, :term:`module_conf_* ` -must now be used in conjunction with a new -:term:`KERNEL_MODULE_PROBECONF` variable. -The new variables no longer require you to specify the module name as -part of the variable name. This change not only simplifies usage but -also allows the values of these variables to be appropriately -incorporated into task signatures and thus trigger the appropriate tasks -to re-execute when changed. You should replace any references to -``module_autoload_*`` with ``KERNEL_MODULE_AUTOLOAD``, and add any -modules for which ``module_conf_*`` is specified to -``KERNEL_MODULE_PROBECONF``. - -.. _migration-1.7-qa-check-changes: - -QA Check Changes ----------------- - -The following changes have occurred to the QA check process: - -- Additional QA checks ``file-rdeps`` and ``build-deps`` have been - added in order to verify that file dependencies are satisfied (e.g. - package contains a script requiring ``/bin/bash``) and build-time - dependencies are declared, respectively. For more information, please - see the ":doc:`/ref-manual/qa-checks`" chapter. - -- Package QA checks are now performed during a new - :ref:`ref-tasks-package_qa` task rather than being - part of the :ref:`ref-tasks-package` task. This allows - more parallel execution. This change is unlikely to be an issue - except for highly customized recipes that disable packaging tasks - themselves by marking them as ``noexec``. For those packages, you - will need to disable the ``do_package_qa`` task as well. - -- Files being overwritten during the - :ref:`ref-tasks-populate_sysroot` task now - trigger an error instead of a warning. Recipes should not be - overwriting files written to the sysroot by other recipes. If you - have these types of recipes, you need to alter them so that they do - not overwrite these files. - - You might now receive this error after changes in configuration or - metadata resulting in orphaned files being left in the sysroot. If - you do receive this error, the way to resolve the issue is to delete - your :term:`TMPDIR` or to move it out of the way and - then re-start the build. Anything that has been fully built up to - that point and does not need rebuilding will be restored from the - shared state cache and the rest of the build will be able to proceed - as normal. - -.. _migration-1.7-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed: - -- ``x-load``: This recipe has been superseded by U-Boot SPL for all - Cortex-based TI SoCs. For legacy boards, the ``meta-ti`` layer, which - contains a maintained recipe, should be used instead. - -- ``ubootchart``: This recipe is obsolete. A ``bootchart2`` recipe has - been added to functionally replace it. - -- ``linux-yocto 3.4``: Support for the linux-yocto 3.4 kernel has been - dropped. Support for the 3.10 and 3.14 kernels remains, while support - for version 3.17 has been added. - -- ``eglibc`` has been removed in favor of ``glibc``. See the - ":ref:`migration-1.7-glibc-replaces-eglibc`" section for more information. - -.. _migration-1.7-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following miscellaneous change occurred: - -- The build history feature now writes ``build-id.txt`` instead of - ``build-id``. Additionally, ``build-id.txt`` now contains the full - build header as printed by BitBake upon starting the build. You - should manually remove old "build-id" files from your existing build - history repositories to avoid confusion. For information on the build - history feature, see the - ":ref:`dev-manual/common-tasks:maintaining build output quality`" - section in the Yocto Project Development Tasks Manual. - - diff --git a/poky/documentation/ref-manual/migration-1.8.rst b/poky/documentation/ref-manual/migration-1.8.rst deleted file mode 100644 index 68d5dcf85..000000000 --- a/poky/documentation/ref-manual/migration-1.8.rst +++ /dev/null @@ -1,183 +0,0 @@ -Moving to the Yocto Project 1.8 Release (fido) -============================================== - -This section provides migration information for moving to the Yocto -Project 1.8 Release (codename "fido") from the prior release. - -.. _migration-1.8-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed: - -- ``owl-video``: Functionality replaced by ``gst-player``. - -- ``gaku``: Functionality replaced by ``gst-player``. - -- ``gnome-desktop``: This recipe is now available in ``meta-gnome`` and - is no longer needed. - -- ``gsettings-desktop-schemas``: This recipe is now available in - ``meta-gnome`` and is no longer needed. - -- ``python-argparse``: The ``argparse`` module is already provided in - the default Python distribution in a package named - ``python-argparse``. Consequently, the separate ``python-argparse`` - recipe is no longer needed. - -- ``telepathy-python, libtelepathy, telepathy-glib, telepathy-idle, telepathy-mission-control``: - All these recipes have moved to ``meta-oe`` and are consequently no - longer needed by any recipes in OpenEmbedded-Core. - -- ``linux-yocto_3.10`` and ``linux-yocto_3.17``: Support for the - linux-yocto 3.10 and 3.17 kernels has been dropped. Support for the - 3.14 kernel remains, while support for 3.19 kernel has been added. - -- ``poky-feed-config-opkg``: This recipe has become obsolete and is no - longer needed. Use ``distro-feed-config`` from ``meta-oe`` instead. - -- ``libav 0.8.x``: ``libav 9.x`` is now used. - -- ``sed-native``: No longer needed. A working version of ``sed`` is - expected to be provided by the host distribution. - -.. _migration-1.8-bluez: - -BlueZ 4.x / 5.x Selection -------------------------- - -Proper built-in support for selecting BlueZ 5.x in preference to the -default of 4.x now exists. To use BlueZ 5.x, simply add "bluez5" to your -:term:`DISTRO_FEATURES` value. If you had -previously added append files (``*.bbappend``) to make this selection, -you can now remove them. - -Additionally, a ``bluetooth`` class has been added to make selection of -the appropriate bluetooth support within a recipe a little easier. If -you wish to make use of this class in a recipe, add something such as -the following:: - - inherit bluetooth - PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}" - PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4" - PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5" - -.. _migration-1.8-kernel-build-changes: - -Kernel Build Changes --------------------- - -The kernel build process was changed to place the source in a common -shared work area and to place build artifacts separately in the source -code tree. In theory, migration paths have been provided for most common -usages in kernel recipes but this might not work in all cases. In -particular, users need to ensure that ``${S}`` (source files) and -``${B}`` (build artifacts) are used correctly in functions such as -:ref:`ref-tasks-configure` and -:ref:`ref-tasks-install`. For kernel recipes that do not -inherit from ``kernel-yocto`` or include ``linux-yocto.inc``, you might -wish to refer to the ``linux.inc`` file in the ``meta-oe`` layer for the -kinds of changes you need to make. For reference, here is the -:oe_git:`commit ` -where the ``linux.inc`` file in ``meta-oe`` was updated. - -Recipes that rely on the kernel source code and do not inherit the -module classes might need to add explicit dependencies on the -``do_shared_workdir`` kernel task, for example:: - - do_configure[depends] += "virtual/kernel:do_shared_workdir" - -.. _migration-1.8-ssl: - -SSL 3.0 is Now Disabled in OpenSSL ----------------------------------- - -SSL 3.0 is now disabled when building OpenSSL. Disabling SSL 3.0 avoids -any lingering instances of the POODLE vulnerability. If you feel you -must re-enable SSL 3.0, then you can add an append file (``*.bbappend``) -for the ``openssl`` recipe to remove "-no-ssl3" from -:term:`EXTRA_OECONF`. - -.. _migration-1.8-default-sysroot-poisoning: - -Default Sysroot Poisoning -------------------------- - -``gcc's`` default sysroot and include directories are now "poisoned". In -other words, the sysroot and include directories are being redirected to -a non-existent location in order to catch when host directories are -being used due to the correct options not being passed. This poisoning -applies both to the cross-compiler used within the build and to the -cross-compiler produced in the SDK. - -If this change causes something in the build to fail, it almost -certainly means the various compiler flags and commands are not being -passed correctly to the underlying piece of software. In such cases, you -need to take corrective steps. - -.. _migration-1.8-rebuild-improvements: - -Rebuild Improvements --------------------- - -Changes have been made to the :ref:`base `, -:ref:`autotools `, and -:ref:`cmake ` classes to clean out generated files -when the :ref:`ref-tasks-configure` task needs to be -re-executed. - -One of the improvements is to attempt to run "make clean" during the -``do_configure`` task if a ``Makefile`` exists. Some software packages -do not provide a working clean target within their make files. If you -have such recipes, you need to set -:term:`CLEANBROKEN` to "1" within the recipe, for example:: - - CLEANBROKEN = "1" - -.. _migration-1.8-qa-check-and-validation-changes: - -QA Check and Validation Changes -------------------------------- - -The following QA Check and Validation Changes have occurred: - -- Usage of ``PRINC`` previously triggered a warning. It now triggers an - error. You should remove any remaining usage of ``PRINC`` in any - recipe or append file. - -- An additional QA check has been added to detect usage of ``${D}`` in - :term:`FILES` values where :term:`D` values - should not be used at all. The same check ensures that ``$D`` is used - in ``pkg_preinst/pkg_postinst/pkg_prerm/pkg_postrm`` functions - instead of ``${D}``. - -- :term:`S` now needs to be set to a valid value within a - recipe. If ``S`` is not set in the recipe, the directory is not - automatically created. If ``S`` does not point to a directory that - exists at the time the :ref:`ref-tasks-unpack` task - finishes, a warning will be shown. - -- :term:`LICENSE` is now validated for correct - formatting of multiple licenses. If the format is invalid (e.g. - multiple licenses are specified with no operators to specify how the - multiple licenses interact), then a warning will be shown. - -.. _migration-1.8-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following miscellaneous changes have occurred: - -- The ``send-error-report`` script now expects a "-s" option to be - specified before the server address. This assumes a server address is - being specified. - -- The ``oe-pkgdata-util`` script now expects a "-p" option to be - specified before the ``pkgdata`` directory, which is now optional. If - the ``pkgdata`` directory is not specified, the script will run - BitBake to query :term:`PKGDATA_DIR` from the - build environment. - - diff --git a/poky/documentation/ref-manual/migration-2.0.rst b/poky/documentation/ref-manual/migration-2.0.rst deleted file mode 100644 index 8319b0ee3..000000000 --- a/poky/documentation/ref-manual/migration-2.0.rst +++ /dev/null @@ -1,278 +0,0 @@ -Moving to the Yocto Project 2.0 Release (jethro) -================================================ - -This section provides migration information for moving to the Yocto -Project 2.0 Release (codename "jethro") from the prior release. - -.. _migration-2.0-gcc-5: - -GCC 5 ------ - -The default compiler is now GCC 5.2. This change has required fixes for -compilation errors in a number of other recipes. - -One important example is a fix for when the Linux kernel freezes at boot -time on ARM when built with GCC 5. If you are using your own kernel -recipe or source tree and building for ARM, you will likely need to -apply this -`patch `__. -The standard ``linux-yocto`` kernel source tree already has a workaround -for the same issue. - -For further details, see https://gcc.gnu.org/gcc-5/changes.html -and the porting guide at -https://gcc.gnu.org/gcc-5/porting_to.html. - -Alternatively, you can switch back to GCC 4.9 or 4.8 by setting -``GCCVERSION`` in your configuration, as follows:: - - GCCVERSION = "4.9%" - -.. _migration-2.0-Gstreamer-0.10-removed: - -Gstreamer 0.10 Removed ----------------------- - -Gstreamer 0.10 has been removed in favor of Gstreamer 1.x. As part of -the change, recipes for Gstreamer 0.10 and related software are now -located in ``meta-multimedia``. This change results in Qt4 having Phonon -and Gstreamer support in QtWebkit disabled by default. - -.. _migration-2.0-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been moved or removed: - -- ``bluez4``: The recipe is obsolete and has been moved due to - ``bluez5`` becoming fully integrated. The ``bluez4`` recipe now - resides in ``meta-oe``. - -- ``gamin``: The recipe is obsolete and has been removed. - -- ``gnome-icon-theme``: The recipe's functionally has been replaced by - ``adwaita-icon-theme``. - -- Gstreamer 0.10 Recipes: Recipes for Gstreamer 0.10 have been removed - in favor of the recipes for Gstreamer 1.x. - -- ``insserv``: The recipe is obsolete and has been removed. - -- ``libunique``: The recipe is no longer used and has been moved to - ``meta-oe``. - -- ``midori``: The recipe's functionally has been replaced by - ``epiphany``. - -- ``python-gst``: The recipe is obsolete and has been removed since it - only contains bindings for Gstreamer 0.10. - -- ``qt-mobility``: The recipe is obsolete and has been removed since it - requires ``Gstreamer 0.10``, which has been replaced. - -- ``subversion``: All 1.6.x versions of this recipe have been removed. - -- ``webkit-gtk``: The older 1.8.3 version of this recipe has been - removed in favor of ``webkitgtk``. - -.. _migration-2.0-bitbake-datastore-improvements: - -BitBake datastore improvements ------------------------------- - -The method by which BitBake's datastore handles overrides has changed. -Overrides are now applied dynamically and ``bb.data.update_data()`` is -now a no-op. Thus, ``bb.data.update_data()`` is no longer required in -order to apply the correct overrides. In practice, this change is -unlikely to require any changes to Metadata. However, these minor -changes in behavior exist: - -- All potential overrides are now visible in the variable history as - seen when you run the following:: - - $ bitbake -e - -- ``d.delVar('VARNAME')`` and - ``d.setVar('VARNAME', None)`` result in the variable and all - of its overrides being cleared out. Before the change, only the - non-overridden values were cleared. - -.. _migration-2.0-shell-message-function-changes: - -Shell Message Function Changes ------------------------------- - -The shell versions of the BitBake message functions (i.e. ``bbdebug``, -``bbnote``, ``bbwarn``, ``bbplain``, ``bberror``, and ``bbfatal``) are -now connected through to their BitBake equivalents ``bb.debug()``, -``bb.note()``, ``bb.warn()``, ``bb.plain()``, ``bb.error()``, and -``bb.fatal()``, respectively. Thus, those message functions that you -would expect to be printed by the BitBake UI are now actually printed. -In practice, this change means two things: - -- If you now see messages on the console that you did not previously - see as a result of this change, you might need to clean up the calls - to ``bbwarn``, ``bberror``, and so forth. Or, you might want to - simply remove the calls. - -- The ``bbfatal`` message function now suppresses the full error log in - the UI, which means any calls to ``bbfatal`` where you still wish to - see the full error log should be replaced by ``die`` or - ``bbfatal_log``. - -.. _migration-2.0-extra-development-debug-package-cleanup: - -Extra Development/Debug Package Cleanup ---------------------------------------- - -The following recipes have had extra ``dev/dbg`` packages removed: - -- ``acl`` - -- ``apmd`` - -- ``aspell`` - -- ``attr`` - -- ``augeas`` - -- ``bzip2`` - -- ``cogl`` - -- ``curl`` - -- ``elfutils`` - -- ``gcc-target`` - -- ``libgcc`` - -- ``libtool`` - -- ``libxmu`` - -- ``opkg`` - -- ``pciutils`` - -- ``rpm`` - -- ``sysfsutils`` - -- ``tiff`` - -- ``xz`` - -All of the above recipes now conform to the standard packaging scheme -where a single ``-dev``, ``-dbg``, and ``-staticdev`` package exists per -recipe. - -.. _migration-2.0-recipe-maintenance-tracking-data-moved-to-oe-core: - -Recipe Maintenance Tracking Data Moved to OE-Core -------------------------------------------------- - -Maintenance tracking data for recipes that was previously part of -``meta-yocto`` has been moved to :term:`OpenEmbedded-Core (OE-Core)`. The change -includes ``package_regex.inc`` and ``distro_alias.inc``, which are -typically enabled when using the ``distrodata`` class. Additionally, the -contents of ``upstream_tracking.inc`` has now been split out to the -relevant recipes. - -.. _migration-2.0-automatic-stale-sysroot-file-cleanup: - -Automatic Stale Sysroot File Cleanup ------------------------------------- - -Stale files from recipes that no longer exist in the current -configuration are now automatically removed from sysroot as well as -removed from any other place managed by shared state. This automatic -cleanup means that the build system now properly handles situations such -as renaming the build system side of recipes, removal of layers from -``bblayers.conf``, and :term:`DISTRO_FEATURES` -changes. - -Additionally, work directories for old versions of recipes are now -pruned. If you wish to disable pruning old work directories, you can set -the following variable in your configuration:: - - SSTATE_PRUNE_OBSOLETEWORKDIR = "0" - -.. _migration-2.0-linux-yocto-kernel-metadata-repository-now-split-from-source: - -``linux-yocto`` Kernel Metadata Repository Now Split from Source ----------------------------------------------------------------- - -The ``linux-yocto`` tree has up to now been a combined set of kernel -changes and configuration (meta) data carried in a single tree. While -this format is effective at keeping kernel configuration and source -modifications synchronized, it is not always obvious to developers how -to manipulate the Metadata as compared to the source. - -Metadata processing has now been removed from the -:ref:`kernel-yocto ` class and the external -Metadata repository ``yocto-kernel-cache``, which has always been used -to seed the ``linux-yocto`` "meta" branch. This separate ``linux-yocto`` -cache repository is now the primary location for this data. Due to this -change, ``linux-yocto`` is no longer able to process combined trees. -Thus, if you need to have your own combined kernel repository, you must -do the split there as well and update your recipes accordingly. See the -``meta/recipes-kernel/linux/linux-yocto_4.1.bb`` recipe for an example. - -.. _migration-2.0-additional-qa-checks: - -Additional QA checks --------------------- - -The following QA checks have been added: - -- Added a "host-user-contaminated" check for ownership issues for - packaged files outside of ``/home``. The check looks for files that - are incorrectly owned by the user that ran BitBake instead of owned - by a valid user in the target system. - -- Added an "invalid-chars" check for invalid (non-UTF8) characters in - recipe metadata variable values (i.e. - :term:`DESCRIPTION`, - :term:`SUMMARY`, :term:`LICENSE`, and - :term:`SECTION`). Some package managers do not support - these characters. - -- Added an "invalid-packageconfig" check for any options specified in - :term:`PACKAGECONFIG` that do not match any - ``PACKAGECONFIG`` option defined for the recipe. - -.. _migration-2.0-miscellaneous: - -Miscellaneous Changes ---------------------- - -These additional changes exist: - -- ``gtk-update-icon-cache`` has been renamed to ``gtk-icon-utils``. - -- The ``tools-profile`` :term:`IMAGE_FEATURES` - item as well as its corresponding packagegroup and - ``packagegroup-core-tools-profile`` no longer bring in ``oprofile``. - Bringing in ``oprofile`` was originally added to aid compilation on - resource-constrained targets. However, this aid has not been widely - used and is not likely to be used going forward due to the more - powerful target platforms and the existence of better - cross-compilation tools. - -- The :term:`IMAGE_FSTYPES` variable's default - value now specifies ``ext4`` instead of ``ext3``. - -- All support for the ``PRINC`` variable has been removed. - -- The ``packagegroup-core-full-cmdline`` packagegroup no longer brings - in ``lighttpd`` due to the fact that bringing in ``lighttpd`` is not - really in line with the packagegroup's purpose, which is to add full - versions of command-line tools that by default are provided by - ``busybox``. - - diff --git a/poky/documentation/ref-manual/migration-2.1.rst b/poky/documentation/ref-manual/migration-2.1.rst deleted file mode 100644 index 32d193f0f..000000000 --- a/poky/documentation/ref-manual/migration-2.1.rst +++ /dev/null @@ -1,432 +0,0 @@ -Moving to the Yocto Project 2.1 Release (krogoth) -================================================= - -This section provides migration information for moving to the Yocto -Project 2.1 Release (codename "krogoth") from the prior release. - -.. _migration-2.1-variable-expansion-in-python-functions: - -Variable Expansion in Python Functions --------------------------------------- - -Variable expressions, such as ``${VARNAME}`` no longer expand -automatically within Python functions. Suppressing expansion was done to -allow Python functions to construct shell scripts or other code for -situations in which you do not want such expressions expanded. For any -existing code that relies on these expansions, you need to change the -expansions to expand the value of individual variables through -``d.getVar()``. To alternatively expand more complex expressions, use -``d.expand()``. - -.. _migration-2.1-overrides-must-now-be-lower-case: - -Overrides Must Now be Lower-Case --------------------------------- - -The convention for overrides has always been for them to be lower-case -characters. This practice is now a requirement as BitBake's datastore -now assumes lower-case characters in order to give a slight performance -boost during parsing. In practical terms, this requirement means that -anything that ends up in :term:`OVERRIDES` must now -appear in lower-case characters (e.g. values for ``MACHINE``, -``TARGET_ARCH``, ``DISTRO``, and also recipe names if -``_pn-``\ recipename overrides are to be effective). - -.. _migration-2.1-expand-parameter-to-getvar-and-getvarflag-now-mandatory: - -Expand Parameter to ``getVar()`` and ``getVarFlag()`` is Now Mandatory ----------------------------------------------------------------------- - -The expand parameter to ``getVar()`` and ``getVarFlag()`` previously -defaulted to False if not specified. Now, however, no default exists so -one must be specified. You must change any ``getVar()`` calls that do -not specify the final expand parameter to calls that do specify the -parameter. You can run the following ``sed`` command at the base of a -layer to make this change:: - - sed -e 's:\(\.getVar([^,()]*\)):\1, False):g' -i `grep -ril getVar *` - sed -e 's:\(\.getVarFlag([^,()]*,[^,()]*\)):\1, False):g' -i `grep -ril getVarFlag *` - -.. note:: - - The reason for this change is that it prepares the way for changing - the default to True in a future Yocto Project release. This future - change is a much more sensible default than False. However, the - change needs to be made gradually as a sudden change of the default - would potentially cause side-effects that would be difficult to - detect. - -.. _migration-2.1-makefile-environment-changes: - -Makefile Environment Changes ----------------------------- - -:term:`EXTRA_OEMAKE` now defaults to "" instead of -"-e MAKEFLAGS=". Setting ``EXTRA_OEMAKE`` to "-e MAKEFLAGS=" by default -was a historical accident that has required many classes (e.g. -``autotools``, ``module``) and recipes to override this default in order -to work with sensible build systems. When upgrading to the release, you -must edit any recipe that relies upon this old default by either setting -``EXTRA_OEMAKE`` back to "-e MAKEFLAGS=" or by explicitly setting any -required variable value overrides using ``EXTRA_OEMAKE``, which is -typically only needed when a Makefile sets a default value for a -variable that is inappropriate for cross-compilation using the "=" -operator rather than the "?=" operator. - -.. _migration-2.1-libexecdir-reverted-to-prefix-libexec: - -``libexecdir`` Reverted to ``${prefix}/libexec`` ------------------------------------------------- - -The use of ``${libdir}/${BPN}`` as ``libexecdir`` is different as -compared to all other mainstream distributions, which either uses -``${prefix}/libexec`` or ``${libdir}``. The use is also contrary to the -GNU Coding Standards (i.e. -https://www.gnu.org/prep/standards/html_node/Directory-Variables.html) -that suggest ``${prefix}/libexec`` and also notes that any -package-specific nesting should be done by the package itself. Finally, -having ``libexecdir`` change between recipes makes it very difficult for -different recipes to invoke binaries that have been installed into -``libexecdir``. The Filesystem Hierarchy Standard (i.e. -https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html) now -recognizes the use of ``${prefix}/libexec/``, giving distributions the -choice between ``${prefix}/lib`` or ``${prefix}/libexec`` without -breaking FHS. - -.. _migration-2.1-ac-cv-sizeof-off-t-no-longer-cached-in-site-files: - -``ac_cv_sizeof_off_t`` is No Longer Cached in Site Files --------------------------------------------------------- - -For recipes inheriting the :ref:`autotools ` -class, ``ac_cv_sizeof_off_t`` is no longer cached in the site files for -``autoconf``. The reason for this change is because the -``ac_cv_sizeof_off_t`` value is not necessarily static per architecture -as was previously assumed. Rather, the value changes based on whether -large file support is enabled. For most software that uses ``autoconf``, -this change should not be a problem. However, if you have a recipe that -bypasses the standard :ref:`ref-tasks-configure` task -from the ``autotools`` class and the software the recipe is building -uses a very old version of ``autoconf``, the recipe might be incapable -of determining the correct size of ``off_t`` during ``do_configure``. - -The best course of action is to patch the software as necessary to allow -the default implementation from the ``autotools`` class to work such -that ``autoreconf`` succeeds and produces a working configure script, -and to remove the overridden ``do_configure`` task such that the default -implementation does get used. - -.. _migration-2.1-image-generation-split-out-from-filesystem-generation: - -Image Generation is Now Split Out from Filesystem Generation ------------------------------------------------------------- - -Previously, for image recipes the :ref:`ref-tasks-rootfs` -task assembled the filesystem and then from that filesystem generated -images. With this Yocto Project release, image generation is split into -separate :ref:`ref-tasks-image` tasks for clarity both in -operation and in the code. - -For most cases, this change does not present any problems. However, if -you have made customizations that directly modify the ``do_rootfs`` task -or that mention ``do_rootfs``, you might need to update those changes. -In particular, if you had added any tasks after ``do_rootfs``, you -should make edits so that those tasks are after the -:ref:`ref-tasks-image-complete` task rather than -after ``do_rootfs`` so that your added tasks run at the correct -time. - -A minor part of this restructuring is that the post-processing -definitions and functions have been moved from the -:ref:`image ` class to the -:ref:`rootfs-postcommands ` class. Functionally, -however, they remain unchanged. - -.. _migration-2.1-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed in the 2.1 release: - -- ``gcc`` version 4.8: Versions 4.9 and 5.3 remain. - -- ``qt4``: All support for Qt 4.x has been moved out to a separate - ``meta-qt4`` layer because Qt 4 is no longer supported upstream. - -- ``x11vnc``: Moved to the ``meta-oe`` layer. - -- ``linux-yocto-3.14``: No longer supported. - -- ``linux-yocto-3.19``: No longer supported. - -- ``libjpeg``: Replaced by the ``libjpeg-turbo`` recipe. - -- ``pth``: Became obsolete. - -- ``liboil``: Recipe is no longer needed and has been moved to the - ``meta-multimedia`` layer. - -- ``gtk-theme-torturer``: Recipe is no longer needed and has been moved - to the ``meta-gnome`` layer. - -- ``gnome-mime-data``: Recipe is no longer needed and has been moved to - the ``meta-gnome`` layer. - -- ``udev``: Replaced by the ``eudev`` recipe for compatibility when - using ``sysvinit`` with newer kernels. - -- ``python-pygtk``: Recipe became obsolete. - -- ``adt-installer``: Recipe became obsolete. See the - ":ref:`ref-manual/migration-2.1:adt removed`" section for more information. - -.. _migration-2.1-class-changes: - -Class Changes -------------- - -The following classes have changed: - -- ``autotools_stage``: Removed because the - :ref:`autotools ` class now provides its - functionality. Recipes that inherited from ``autotools_stage`` should - now inherit from ``autotools`` instead. - -- ``boot-directdisk``: Merged into the ``image-vm`` class. The - ``boot-directdisk`` class was rarely directly used. Consequently, - this change should not cause any issues. - -- ``bootimg``: Merged into the - :ref:`image-live ` class. The ``bootimg`` - class was rarely directly used. Consequently, this change should not - cause any issues. - -- ``packageinfo``: Removed due to its limited use by the Hob UI, which - has itself been removed. - -.. _migration-2.1-build-system-ui-changes: - -Build System User Interface Changes ------------------------------------ - -The following changes have been made to the build system user interface: - -- *Hob GTK+-based UI*: Removed because it is unmaintained and based on - the outdated GTK+ 2 library. The Toaster web-based UI is much more - capable and is actively maintained. See the - ":ref:`toaster-manual/setup-and-use:using the toaster web interface`" - section in the Toaster User Manual for more information on this - interface. - -- *"puccho" BitBake UI*: Removed because is unmaintained and no longer - useful. - -.. _migration-2.1-adt-removed: - -ADT Removed ------------ - -The Application Development Toolkit (ADT) has been removed because its -functionality almost completely overlapped with the :ref:`standard -SDK ` and the -:ref:`extensible SDK `. For -information on these SDKs and how to build and use them, see the -:doc:`/sdk-manual/index` manual. - -.. note:: - - The Yocto Project Eclipse IDE Plug-in is still supported and is not - affected by this change. - -.. _migration-2.1-poky-reference-distribution-changes: - -Poky Reference Distribution Changes ------------------------------------ - -The following changes have been made for the Poky distribution: - -- The ``meta-yocto`` layer has been renamed to ``meta-poky`` to better - match its purpose, which is to provide the Poky reference - distribution. The ``meta-yocto-bsp`` layer retains its original name - since it provides reference machines for the Yocto Project and it is - otherwise unrelated to Poky. References to ``meta-yocto`` in your - ``conf/bblayers.conf`` should automatically be updated, so you should - not need to change anything unless you are relying on this naming - elsewhere. - -- The :ref:`uninative ` class is now enabled - by default in Poky. This class attempts to isolate the build system - from the host distribution's C library and makes re-use of native - shared state artifacts across different host distributions practical. - With this class enabled, a tarball containing a pre-built C library - is downloaded at the start of the build. - - The ``uninative`` class is enabled through the - ``meta/conf/distro/include/yocto-uninative.inc`` file, which for - those not using the Poky distribution, can include to easily enable - the same functionality. - - Alternatively, if you wish to build your own ``uninative`` tarball, - you can do so by building the ``uninative-tarball`` recipe, making it - available to your build machines (e.g. over HTTP/HTTPS) and setting a - similar configuration as the one set by ``yocto-uninative.inc``. - -- Static library generation, for most cases, is now disabled by default - in the Poky distribution. Disabling this generation saves some build - time as well as the size used for build output artifacts. - - Disabling this library generation is accomplished through a - ``meta/conf/distro/include/no-static-libs.inc``, which for those not - using the Poky distribution can easily include to enable the same - functionality. - - Any recipe that needs to opt-out of having the "--disable-static" - option specified on the configure command line either because it is - not a supported option for the configure script or because static - libraries are needed should set the following variable:: - - DISABLE_STATIC = "" - -- The separate ``poky-tiny`` distribution now uses the musl C library - instead of a heavily pared down ``glibc``. Using musl results in a - smaller distribution and facilitates much greater maintainability - because musl is designed to have a small footprint. - - If you have used ``poky-tiny`` and have customized the ``glibc`` - configuration you will need to redo those customizations with musl - when upgrading to the new release. - -.. _migration-2.1-packaging-changes: - -Packaging Changes ------------------ - -The following changes have been made to packaging: - -- The ``runuser`` and ``mountpoint`` binaries, which were previously in - the main ``util-linux`` package, have been split out into the - ``util-linux-runuser`` and ``util-linux-mountpoint`` packages, - respectively. - -- The ``python-elementtree`` package has been merged into the - ``python-xml`` package. - -.. _migration-2.1-tuning-file-changes: - -Tuning File Changes -------------------- - -The following changes have been made to the tuning files: - -- The "no-thumb-interwork" tuning feature has been dropped from the ARM - tune include files. Because interworking is required for ARM EABI, - attempting to disable it through a tuning feature no longer makes - sense. - - .. note:: - - Support for ARM OABI was deprecated in gcc 4.7. - -- The ``tune-cortexm*.inc`` and ``tune-cortexr4.inc`` files have been - removed because they are poorly tested. Until the OpenEmbedded build - system officially gains support for CPUs without an MMU, these tuning - files would probably be better maintained in a separate layer if - needed. - -.. _migration-2.1-supporting-gobject-introspection: - -Supporting GObject Introspection --------------------------------- - -This release supports generation of GLib Introspective Repository (GIR) -files through GObject introspection, which is the standard mechanism for -accessing GObject-based software from runtime environments. You can -enable, disable, and test the generation of this data. See the -":ref:`dev-manual/common-tasks:enabling gobject introspection support`" -section in the Yocto Project Development Tasks Manual for more -information. - -.. _migration-2.1-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -These additional changes exist: - -- The minimum Git version has been increased to 1.8.3.1. If your host - distribution does not provide a sufficiently recent version, you can - install the buildtools, which will provide it. See the - :ref:`ref-manual/system-requirements:required git, tar, python and gcc versions` - section for more information on the buildtools tarball. - -- The buggy and incomplete support for the RPM version 4 package - manager has been removed. The well-tested and maintained support for - RPM version 5 remains. - -- Previously, the following list of packages were removed if - package-management was not in - :term:`IMAGE_FEATURES`, regardless of any - dependencies:: - - update-rc.d - base-passwd - shadow - update-alternatives - run-postinsts - - With the Yocto Project 2.1 release, these packages are - only removed if "read-only-rootfs" is in ``IMAGE_FEATURES``, since - they might still be needed for a read-write image even in the absence - of a package manager (e.g. if users need to be added, modified, or - removed at runtime). - -- The - :ref:`devtool modify ` - command now defaults to extracting the source since that is most - commonly expected. The "-x" or "--extract" options are now no-ops. If - you wish to provide your own existing source tree, you will now need - to specify either the "-n" or "--no-extract" options when running - ``devtool modify``. - -- If the formfactor for a machine is either not supplied or does not - specify whether a keyboard is attached, then the default is to assume - a keyboard is attached rather than assume no keyboard. This change - primarily affects the Sato UI. - -- The ``.debug`` directory packaging is now automatic. If your recipe - builds software that installs binaries into directories other than - the standard ones, you no longer need to take care of setting - ``FILES_${PN}-dbg`` to pick up the resulting ``.debug`` directories - as these directories are automatically found and added. - -- Inaccurate disk and CPU percentage data has been dropped from - ``buildstats`` output. This data has been replaced with - ``getrusage()`` data and corrected IO statistics. You will probably - need to update any custom code that reads the ``buildstats`` data. - -- The ``meta/conf/distro/include/package_regex.inc`` is now deprecated. - The contents of this file have been moved to individual recipes. - - .. note:: - - Because this file will likely be removed in a future Yocto Project - release, it is suggested that you remove any references to the - file that might be in your configuration. - -- The ``v86d/uvesafb`` has been removed from the ``genericx86`` and - ``genericx86-64`` reference machines, which are provided by the - ``meta-yocto-bsp`` layer. Most modern x86 boards do not rely on this - file and it only adds kernel error messages during startup. If you do - still need to support ``uvesafb``, you can simply add ``v86d`` to - your image. - -- Build sysroot paths are now removed from debug symbol files. Removing - these paths means that remote GDB using an unstripped build system - sysroot will no longer work (although this was never documented to - work). The supported method to accomplish something similar is to set - ``IMAGE_GEN_DEBUGFS`` to "1", which will generate a companion debug - image containing unstripped binaries and associated debug sources - alongside the image. - - diff --git a/poky/documentation/ref-manual/migration-2.2.rst b/poky/documentation/ref-manual/migration-2.2.rst deleted file mode 100644 index a60ce8d52..000000000 --- a/poky/documentation/ref-manual/migration-2.2.rst +++ /dev/null @@ -1,446 +0,0 @@ -Moving to the Yocto Project 2.2 Release (morty) -=============================================== - -This section provides migration information for moving to the Yocto -Project 2.2 Release (codename "morty") from the prior release. - -.. _migration-2.2-minimum-kernel-version: - -Minimum Kernel Version ----------------------- - -The minimum kernel version for the target system and for SDK is now -3.2.0, due to the upgrade to ``glibc 2.24``. Specifically, for -AArch64-based targets the version is 3.14. For Nios II-based targets, -the minimum kernel version is 3.19. - -.. note:: - - For x86 and x86_64, you can reset :term:`OLDEST_KERNEL` - to anything down to 2.6.32 if desired. - -.. _migration-2.2-staging-directories-in-sysroot-simplified: - -Staging Directories in Sysroot Has Been Simplified --------------------------------------------------- - -The way directories are staged in sysroot has been simplified and -introduces the new :term:`SYSROOT_DIRS`, -:term:`SYSROOT_DIRS_NATIVE`, and -:term:`SYSROOT_DIRS_BLACKLIST`. See the -:oe_lists:`v2 patch series on the OE-Core Mailing List -` -for additional information. - -.. _migration-2.2-removal-of-old-images-from-tmp-deploy-now-enabled: - -Removal of Old Images and Other Files in ``tmp/deploy`` Now Enabled -------------------------------------------------------------------- - -Removal of old images and other files in ``tmp/deploy/`` is now enabled -by default due to a new staging method used for those files. As a result -of this change, the ``RM_OLD_IMAGE`` variable is now redundant. - -.. _migration-2.2-python-changes: - -Python Changes --------------- - -The following changes for Python occurred: - -.. _migration-2.2-bitbake-now-requires-python-3.4: - -BitBake Now Requires Python 3.4+ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -BitBake requires Python 3.4 or greater. - -.. _migration-2.2-utf-8-locale-required-on-build-host: - -UTF-8 Locale Required on Build Host -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A UTF-8 locale is required on the build host due to Python 3. Since -C.UTF-8 is not a standard, the default is en_US.UTF-8. - -.. _migration-2.2-metadata-now-must-use-python-3-syntax: - -Metadata Must Now Use Python 3 Syntax -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The metadata is now required to use Python 3 syntax. For help preparing -metadata, see any of the many Python 3 porting guides available. -Alternatively, you can reference the conversion commits for Bitbake and -you can use :term:`OpenEmbedded-Core (OE-Core)` as a guide for changes. Following are -particular areas of interest: - - - subprocess command-line pipes needing locale decoding - - - the syntax for octal values changed - - - the ``iter*()`` functions changed name - - - iterators now return views, not lists - - - changed names for Python modules - -.. _migration-2.2-target-python-recipes-switched-to-python-3: - -Target Python Recipes Switched to Python 3 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Most target Python recipes have now been switched to Python 3. -Unfortunately, systems using RPM as a package manager and providing -online package-manager support through SMART still require Python 2. - -.. note:: - - Python 2 and recipes that use it can still be built for the target as - with previous versions. - -.. _migration-2.2-buildtools-tarball-includes-python-3: - -``buildtools-tarball`` Includes Python 3 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -``buildtools-tarball`` now includes Python 3. - -.. _migration-2.2-uclibc-replaced-by-musl: - -uClibc Replaced by musl ------------------------ - -uClibc has been removed in favor of musl. Musl has matured, is better -maintained, and is compatible with a wider range of applications as -compared to uClibc. - -.. _migration-2.2-B-no-longer-default-working-directory-for-tasks: - -``${B}`` No Longer Default Working Directory for Tasks ------------------------------------------------------- - -``${``\ :term:`B`\ ``}`` is no longer the default working -directory for tasks. Consequently, any custom tasks you define now need -to either have the -``[``\ :ref:`dirs `\ ``]`` flag -set, or the task needs to change into the appropriate working directory -manually (e.g using ``cd`` for a shell task). - -.. note:: - - The preferred method is to use the - [dirs] - flag. - -.. _migration-2.2-runqemu-ported-to-python: - -``runqemu`` Ported to Python ----------------------------- - -``runqemu`` has been ported to Python and has changed behavior in some -cases. Previous usage patterns continue to be supported. - -The new ``runqemu`` is a Python script. Machine knowledge is no longer -hardcoded into ``runqemu``. You can choose to use the ``qemuboot`` -configuration file to define the BSP's own arguments and to make it -bootable with ``runqemu``. If you use a configuration file, use the -following form:: - - image-name-machine.qemuboot.conf - -The configuration file -enables fine-grained tuning of options passed to QEMU without the -``runqemu`` script hard-coding any knowledge about different machines. -Using a configuration file is particularly convenient when trying to use -QEMU with machines other than the ``qemu*`` machines in -:term:`OpenEmbedded-Core (OE-Core)`. The ``qemuboot.conf`` file is generated by the -``qemuboot`` class when the root filesystem is being build (i.e. build -rootfs). QEMU boot arguments can be set in BSP's configuration file and -the ``qemuboot`` class will save them to ``qemuboot.conf``. - -If you want to use ``runqemu`` without a configuration file, use the -following command form:: - - $ runqemu machine rootfs kernel [options] - -Supported machines are as follows: - - - qemuarm - - qemuarm64 - - qemux86 - - qemux86-64 - - qemuppc - - qemumips - - qemumips64 - - qemumipsel - - qemumips64el - -Consider the -following example, which uses the ``qemux86-64`` machine, provides a -root filesystem, provides an image, and uses the ``nographic`` option:: - - $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4 tmp/deploy/images/qemux86-64/bzImage nographic - -Following is a list of variables that can be set in configuration files -such as ``bsp.conf`` to enable the BSP to be booted by ``runqemu``: - -.. note:: - - "QB" means "QEMU Boot". - -:: - - QB_SYSTEM_NAME: QEMU name (e.g. "qemu-system-i386") - QB_OPT_APPEND: Options to append to QEMU (e.g. "-show-cursor") - QB_DEFAULT_KERNEL: Default kernel to boot (e.g. "bzImage") - QB_DEFAULT_FSTYPE: Default FSTYPE to boot (e.g. "ext4") - QB_MEM: Memory (e.g. "-m 512") - QB_MACHINE: QEMU machine (e.g. "-machine virt") - QB_CPU: QEMU cpu (e.g. "-cpu qemu32") - QB_CPU_KVM: Similar to QB_CPU except used for kvm support (e.g. "-cpu kvm64") - QB_KERNEL_CMDLINE_APPEND: Options to append to the kernel's -append - option (e.g. "console=ttyS0 console=tty") - QB_DTB: QEMU dtb name - QB_AUDIO_DRV: QEMU audio driver (e.g. "alsa", set it when support audio) - QB_AUDIO_OPT: QEMU audio option (e.g. "-soundhw ac97,es1370"), which is used - when QB_AUDIO_DRV is set. - QB_KERNEL_ROOT: Kernel's root (e.g. /dev/vda) - QB_TAP_OPT: Network option for 'tap' mode (e.g. - "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -device virtio-net-device,netdev=net0"). - runqemu will replace "@TAP@" with the one that is used, such as tap0, tap1 ... - QB_SLIRP_OPT: Network option for SLIRP mode (e.g. "-netdev user,id=net0 -device virtio-net-device,netdev=net0") - QB_ROOTFS_OPT: Used as rootfs (e.g. - "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"). - runqemu will replace "@ROOTFS@" with the one which is used, such as - core-image-minimal-qemuarm64.ext4. - QB_SERIAL_OPT: Serial port (e.g. "-serial mon:stdio") - QB_TCPSERIAL_OPT: tcp serial port option (e.g. - " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon" - runqemu will replace "@PORT@" with the port number which is used. - -To use ``runqemu``, set :term:`IMAGE_CLASSES` as -follows and run ``runqemu``: - -.. note:: - - For command-line syntax, use ``runqemu help``. - -:: - - IMAGE_CLASSES += "qemuboot" - -.. _migration-2.2-default-linker-hash-style-changed: - -Default Linker Hash Style Changed ---------------------------------- - -The default linker hash style for ``gcc-cross`` is now "sysv" in order -to catch recipes that are building software without using the -OpenEmbedded :term:`LDFLAGS`. This change could result in -seeing some "No GNU_HASH in the elf binary" QA issues when building such -recipes. You need to fix these recipes so that they use the expected -``LDFLAGS``. Depending on how the software is built, the build system -used by the software (e.g. a Makefile) might need to be patched. -However, sometimes making this fix is as simple as adding the following -to the recipe:: - - TARGET_CC_ARCH += "${LDFLAGS}" - -.. _migration-2.2-kernel-image-base-name-no-longer-uses-kernel-imagetype: - -``KERNEL_IMAGE_BASE_NAME`` no Longer Uses ``KERNEL_IMAGETYPE`` --------------------------------------------------------------- - -The ``KERNEL_IMAGE_BASE_NAME`` variable no longer uses the -:term:`KERNEL_IMAGETYPE` variable to create the -image's base name. Because the OpenEmbedded build system can now build -multiple kernel image types, this part of the kernel image base name as -been removed leaving only the following:: - - KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" - -If you have recipes or -classes that use ``KERNEL_IMAGE_BASE_NAME`` directly, you might need to -update the references to ensure they continue to work. - -.. _migration-2.2-bitbake-changes: - -BitBake Changes ---------------- - -The following changes took place for BitBake: - -- The "goggle" UI and standalone image-writer tool have been removed as - they both require GTK+ 2.0 and were not being maintained. - -- The Perforce fetcher now supports :term:`SRCREV` for - specifying the source revision to use, be it - ``${``\ :term:`AUTOREV`\ ``}``, changelist number, - p4date, or label, in preference to separate - :term:`SRC_URI` parameters to specify these. This - change is more in-line with how the other fetchers work for source - control systems. Recipes that fetch from Perforce will need to be - updated to use ``SRCREV`` in place of specifying the source revision - within ``SRC_URI``. - -- Some of BitBake's internal code structures for accessing the recipe - cache needed to be changed to support the new multi-configuration - functionality. These changes will affect external tools that use - BitBake's tinfoil module. For information on these changes, see the - changes made to the scripts supplied with OpenEmbedded-Core: - :yocto_git:`1 ` - and - :yocto_git:`2 `. - -- The task management code has been rewritten to avoid using ID - indirection in order to improve performance. This change is unlikely - to cause any problems for most users. However, the setscene - verification function as pointed to by - ``BB_SETSCENE_VERIFY_FUNCTION`` needed to change signature. - Consequently, a new variable named ``BB_SETSCENE_VERIFY_FUNCTION2`` - has been added allowing multiple versions of BitBake to work with - suitably written metadata, which includes OpenEmbedded-Core and Poky. - Anyone with custom BitBake task scheduler code might also need to - update the code to handle the new structure. - -.. _migration-2.2-swabber-has-been-removed: - -Swabber has Been Removed ------------------------- - -Swabber, a tool that was intended to detect host contamination in the -build process, has been removed, as it has been unmaintained and unused -for some time and was never particularly effective. The OpenEmbedded -build system has since incorporated a number of mechanisms including -enhanced QA checks that mean that there is less of a need for such a -tool. - -.. _migration-2.2-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed: - -- ``augeas``: No longer needed and has been moved to ``meta-oe``. - -- ``directfb``: Unmaintained and has been moved to ``meta-oe``. - -- ``gcc``: Removed 4.9 version. Versions 5.4 and 6.2 are still present. - -- ``gnome-doc-utils``: No longer needed. - -- ``gtk-doc-stub``: Replaced by ``gtk-doc``. - -- ``gtk-engines``: No longer needed and has been moved to - ``meta-gnome``. - -- ``gtk-sato-engine``: Became obsolete. - -- ``libglade``: No longer needed and has been moved to ``meta-oe``. - -- ``libmad``: Unmaintained and functionally replaced by ``libmpg123``. - ``libmad`` has been moved to ``meta-oe``. - -- ``libowl``: Became obsolete. - -- ``libxsettings-client``: No longer needed. - -- ``oh-puzzles``: Functionally replaced by ``puzzles``. - -- ``oprofileui``: Became obsolete. OProfile has been largely supplanted - by perf. - -- ``packagegroup-core-directfb.bb``: Removed. - -- ``core-image-directfb.bb``: Removed. - -- ``pointercal``: No longer needed and has been moved to ``meta-oe``. - -- ``python-imaging``: No longer needed and moved to ``meta-python`` - -- ``python-pyrex``: No longer needed and moved to ``meta-python``. - -- ``sato-icon-theme``: Became obsolete. - -- ``swabber-native``: Swabber has been removed. See the :ref:`entry on - Swabber `. - -- ``tslib``: No longer needed and has been moved to ``meta-oe``. - -- ``uclibc``: Removed in favor of musl. - -- ``xtscal``: No longer needed and moved to ``meta-oe`` - -.. _migration-2.2-removed-classes: - -Removed Classes ---------------- - -The following classes have been removed: - -- ``distutils-native-base``: No longer needed. - -- ``distutils3-native-base``: No longer needed. - -- ``sdl``: Only set :term:`DEPENDS` and - :term:`SECTION`, which are better set within the - recipe instead. - -- ``sip``: Mostly unused. - -- ``swabber``: See the :ref:`entry on - Swabber `. - -.. _migration-2.2-minor-packaging-changes: - -Minor Packaging Changes ------------------------ - -The following minor packaging changes have occurred: - -- ``grub``: Split ``grub-editenv`` into its own package. - -- ``systemd``: Split container and vm related units into a new package, - systemd-container. - -- ``util-linux``: Moved ``prlimit`` to a separate - ``util-linux-prlimit`` package. - -.. _migration-2.2-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following miscellaneous changes have occurred: - -- ``package_regex.inc``: Removed because the definitions - ``package_regex.inc`` previously contained have been moved to their - respective recipes. - -- Both ``devtool add`` and ``recipetool create`` now use a fixed - :term:`SRCREV` by default when fetching from a Git - repository. You can override this in either case to use - ``${``\ :term:`AUTOREV`\ ``}`` instead by using the - ``-a`` or ``--autorev`` command-line option - -- ``distcc``: GTK+ UI is now disabled by default. - -- ``packagegroup-core-tools-testapps``: Removed Piglit. - -- ``image.bbclass``: Renamed COMPRESS(ION) to CONVERSION. This change - means that ``COMPRESSIONTYPES``, ``COMPRESS_DEPENDS`` and - ``COMPRESS_CMD`` are deprecated in favor of ``CONVERSIONTYPES``, - ``CONVERSION_DEPENDS`` and ``CONVERSION_CMD``. The ``COMPRESS*`` - variable names will still work in the 2.2 release but metadata that - does not need to be backwards-compatible should be changed to use the - new names as the ``COMPRESS*`` ones will be removed in a future - release. - -- ``gtk-doc``: A full version of ``gtk-doc`` is now made available. - However, some old software might not be capable of using the current - version of ``gtk-doc`` to build documentation. You need to change - recipes that build such software so that they explicitly disable - building documentation with ``gtk-doc``. - - diff --git a/poky/documentation/ref-manual/migration-2.3.rst b/poky/documentation/ref-manual/migration-2.3.rst deleted file mode 100644 index dfbda612a..000000000 --- a/poky/documentation/ref-manual/migration-2.3.rst +++ /dev/null @@ -1,517 +0,0 @@ -Moving to the Yocto Project 2.3 Release (pyro) -============================================== - -This section provides migration information for moving to the Yocto -Project 2.3 Release (codename "pyro") from the prior release. - -.. _migration-2.3-recipe-specific-sysroots: - -Recipe-specific Sysroots ------------------------- - -The OpenEmbedded build system now uses one sysroot per recipe to resolve -long-standing issues with configuration script auto-detection of -undeclared dependencies. Consequently, you might find that some of your -previously written custom recipes are missing declared dependencies, -particularly those dependencies that are incidentally built earlier in a -typical build process and thus are already likely to be present in the -shared sysroot in previous releases. - -Consider the following: - -- *Declare Build-Time Dependencies:* Because of this new feature, you - must explicitly declare all build-time dependencies for your recipe. - If you do not declare these dependencies, they are not populated into - the sysroot for the recipe. - -- *Specify Pre-Installation and Post-Installation Native Tool - Dependencies:* You must specifically specify any special native tool - dependencies of ``pkg_preinst`` and ``pkg_postinst`` scripts by using - the :term:`PACKAGE_WRITE_DEPS` variable. - Specifying these dependencies ensures that these tools are available - if these scripts need to be run on the build host during the - :ref:`ref-tasks-rootfs` task. - - As an example, see the ``dbus`` recipe. You will see that this recipe - has a ``pkg_postinst`` that calls ``systemctl`` if "systemd" is in - :term:`DISTRO_FEATURES`. In the example, - ``systemd-systemctl-native`` is added to ``PACKAGE_WRITE_DEPS``, - which is also conditional on "systemd" being in ``DISTRO_FEATURES``. - -- Examine Recipes that Use ``SSTATEPOSTINSTFUNCS``: You need to - examine any recipe that uses ``SSTATEPOSTINSTFUNCS`` and determine - steps to take. - - Functions added to ``SSTATEPOSTINSTFUNCS`` are still called as they - were in previous Yocto Project releases. However, since a separate - sysroot is now being populated for every recipe and if existing - functions being called through ``SSTATEPOSTINSTFUNCS`` are doing - relocation, then you will need to change these to use a - post-installation script that is installed by a function added to - :term:`SYSROOT_PREPROCESS_FUNCS`. - - For an example, see the ``pixbufcache`` class in ``meta/classes/`` in - the :ref:`overview-manual/development-environment:yocto project source repositories`. - - .. note:: - - The - SSTATEPOSTINSTFUNCS - variable itself is now deprecated in favor of the - do_populate_sysroot[postfuncs] - task. Consequently, if you do still have any function or functions - that need to be called after the sysroot component is created for - a recipe, then you would be well advised to take steps to use a - post installation script as described previously. Taking these - steps prepares your code for when - SSTATEPOSTINSTFUNCS - is removed in a future Yocto Project release. - -- *Specify the Sysroot when Using Certain External Scripts:* Because - the shared sysroot is now gone, the scripts - ``oe-find-native-sysroot`` and ``oe-run-native`` have been changed - such that you need to specify which recipe's - :term:`STAGING_DIR_NATIVE` is used. - -.. note:: - - You can find more information on how recipe-specific sysroots work in - the ":ref:`ref-classes-staging`" section. - -.. _migration-2.3-path-variable: - -``PATH`` Variable ------------------ - -Within the environment used to run build tasks, the environment variable -``PATH`` is now sanitized such that the normal native binary paths -(``/bin``, ``/sbin``, ``/usr/bin`` and so forth) are removed and a -directory containing symbolic links linking only to the binaries from -the host mentioned in the :term:`HOSTTOOLS` and -:term:`HOSTTOOLS_NONFATAL` variables is added -to ``PATH``. - -Consequently, any native binaries provided by the host that you need to -call needs to be in one of these two variables at the configuration -level. - -Alternatively, you can add a native recipe (i.e. ``-native``) that -provides the binary to the recipe's :term:`DEPENDS` -value. - -.. note:: - - PATH - is not sanitized in the same way within ``devshell``. - If it were, you would have difficulty running host tools for - development and debugging within the shell. - -.. _migration-2.3-scripts: - -Changes to Scripts ------------------- - -The following changes to scripts took place: - -- ``oe-find-native-sysroot``: The usage for the - ``oe-find-native-sysroot`` script has changed to the following:: - - $ . oe-find-native-sysroot recipe - - You must now supply a recipe for recipe - as part of the command. Prior to the Yocto Project 2.3 release, it - was not necessary to provide the script with the command. - -- ``oe-run-native``: The usage for the ``oe-run-native`` script has - changed to the following:: - - $ oe-run-native native_recipe tool - - You must - supply the name of the native recipe and the tool you want to run as - part of the command. Prior to the Yocto Project 2.3 release, it - was not necessary to provide the native recipe with the command. - -- ``cleanup-workdir``: The ``cleanup-workdir`` script has been - removed because the script was found to be deleting files it should - not have, which lead to broken build trees. Rather than trying to - delete portions of :term:`TMPDIR` and getting it wrong, - it is recommended that you delete ``TMPDIR`` and have it restored - from shared state (sstate) on subsequent builds. - -- ``wipe-sysroot``: The ``wipe-sysroot`` script has been removed as - it is no longer needed with recipe-specific sysroots. - -.. _migration-2.3-functions: - -Changes to Functions --------------------- - -The previously deprecated ``bb.data.getVar()``, ``bb.data.setVar()``, -and related functions have been removed in favor of ``d.getVar()``, -``d.setVar()``, and so forth. - -You need to fix any references to these old functions. - -.. _migration-2.3-bitbake-changes: - -BitBake Changes ---------------- - -The following changes took place for BitBake: - -- *BitBake's Graphical Dependency Explorer UI Replaced:* BitBake's - graphical dependency explorer UI ``depexp`` was replaced by - ``taskexp`` ("Task Explorer"), which provides a graphical way of - exploring the ``task-depends.dot`` file. The data presented by Task - Explorer is much more accurate than the data that was presented by - ``depexp``. Being able to visualize the data is an often requested - feature as standard ``*.dot`` file viewers cannot usual cope with the - size of the ``task-depends.dot`` file. - -- *BitBake "-g" Output Changes:* The ``package-depends.dot`` and - ``pn-depends.dot`` files as previously generated using the - ``bitbake -g`` command have been removed. A ``recipe-depends.dot`` - file is now generated as a collapsed version of ``task-depends.dot`` - instead. - - The reason for this change is because ``package-depends.dot`` and - ``pn-depends.dot`` largely date back to a time before task-based - execution and do not take into account task-level dependencies - between recipes, which could be misleading. - -- *Mirror Variable Splitting Changes:* Mirror variables including - :term:`MIRRORS`, :term:`PREMIRRORS`, - and :term:`SSTATE_MIRRORS` can now separate - values entirely with spaces. Consequently, you no longer need "\\n". - BitBake looks for pairs of values, which simplifies usage. There - should be no change required to existing mirror variable values - themselves. - -- *The Subversion (SVN) Fetcher Uses an "ssh" Parameter and Not an - "rsh" Parameter:* The SVN fetcher now takes an "ssh" parameter - instead of an "rsh" parameter. This new optional parameter is used - when the "protocol" parameter is set to "svn+ssh". You can only use - the new parameter to specify the ``ssh`` program used by SVN. The SVN - fetcher passes the new parameter through the ``SVN_SSH`` environment - variable during the :ref:`ref-tasks-fetch` task. - - See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching:subversion (svn) fetcher (\`\`svn://\`\`)`" - section in the BitBake - User Manual for additional information. - -- ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2`` - Removed: Because the mechanism they were part of is no longer - necessary with recipe-specific sysroots, the - ``BB_SETSCENE_VERIFY_FUNCTION`` and ``BB_SETSCENE_VERIFY_FUNCTION2`` - variables have been removed. - -.. _migration-2.3-absolute-symlinks: - -Absolute Symbolic Links ------------------------ - -Absolute symbolic links (symlinks) within staged files are no longer -permitted and now trigger an error. Any explicit creation of symlinks -can use the ``lnr`` script, which is a replacement for ``ln -r``. - -If the build scripts in the software that the recipe is building are -creating a number of absolute symlinks that need to be corrected, you -can inherit ``relative_symlinks`` within the recipe to turn those -absolute symlinks into relative symlinks. - -.. _migration-2.3-gplv2-and-gplv3-moves: - -GPLv2 Versions of GPLv3 Recipes Moved -------------------------------------- - -Older GPLv2 versions of GPLv3 recipes have moved to a separate -``meta-gplv2`` layer. - -If you use :term:`INCOMPATIBLE_LICENSE` to -exclude GPLv3 or set :term:`PREFERRED_VERSION` -to substitute a GPLv2 version of a GPLv3 recipe, then you must add the -``meta-gplv2`` layer to your configuration. - -.. note:: - - You can ``find meta-gplv2`` layer in the OpenEmbedded layer index at - :oe_layer:`/meta-gplv2`. - -These relocated GPLv2 recipes do not receive the same level of -maintenance as other core recipes. The recipes do not get security fixes -and upstream no longer maintains them. In fact, the upstream community -is actively hostile towards people that use the old versions of the -recipes. Moving these recipes into a separate layer both makes the -different needs of the recipes clearer and clearly identifies the number -of these recipes. - -.. note:: - - The long-term solution might be to move to BSD-licensed replacements - of the GPLv3 components for those that need to exclude GPLv3-licensed - components from the target system. This solution will be investigated - for future Yocto Project releases. - -.. _migration-2.3-package-management-changes: - -Package Management Changes --------------------------- - -The following package management changes took place: - -- Smart package manager is replaced by DNF package manager. Smart has - become unmaintained upstream, is not ported to Python 3.x. - Consequently, Smart needed to be replaced. DNF is the only feasible - candidate. - - The change in functionality is that the on-target runtime package - management from remote package feeds is now done with a different - tool that has a different set of command-line options. If you have - scripts that call the tool directly, or use its API, they need to be - fixed. - - For more information, see the `DNF - Documentation `__. - -- Rpm 5.x is replaced with Rpm 4.x. This is done for two major reasons: - - - DNF is API-incompatible with Rpm 5.x and porting it and - maintaining the port is non-trivial. - - - Rpm 5.x itself has limited maintenance upstream, and the Yocto - Project is one of the very few remaining users. - -- Berkeley DB 6.x is removed and Berkeley DB 5.x becomes the default: - - - Version 6.x of Berkeley DB has largely been rejected by the open - source community due to its AGPLv3 license. As a result, most - mainstream open source projects that require DB are still - developed and tested with DB 5.x. - - - In OE-core, the only thing that was requiring DB 6.x was Rpm 5.x. - Thus, no reason exists to continue carrying DB 6.x in OE-core. - -- ``createrepo`` is replaced with ``createrepo_c``. - - ``createrepo_c`` is the current incarnation of the tool that - generates remote repository metadata. It is written in C as compared - to ``createrepo``, which is written in Python. ``createrepo_c`` is - faster and is maintained. - -- Architecture-independent RPM packages are "noarch" instead of "all". - - This change was made because too many places in DNF/RPM4 stack - already make that assumption. Only the filenames and the architecture - tag has changed. Nothing else has changed in OE-core system, - particularly in the :ref:`allarch.bbclass ` - class. - -- Signing of remote package feeds using ``PACKAGE_FEED_SIGN`` is not - currently supported. This issue will be fully addressed in a future - Yocto Project release. See :yocto_bugs:`defect 11209 ` - for more information on a solution to package feed signing with RPM - in the Yocto Project 2.3 release. - -- OPKG now uses the libsolv backend for resolving package dependencies - by default. This is vastly superior to OPKG's internal ad-hoc solver - that was previously used. This change does have a small impact on - disk (around 500 KB) and memory footprint. - - .. note:: - - For further details on this change, see the - :yocto_git:`commit message `. - -.. _migration-2.3-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed: - -- ``linux-yocto 4.8``: Version 4.8 has been removed. Versions 4.1 - (LTSI), 4.4 (LTS), 4.9 (LTS/LTSI) and 4.10 are now present. - -- ``python-smartpm``: Functionally replaced by ``dnf``. - -- ``createrepo``: Replaced by the ``createrepo-c`` recipe. - -- ``rpmresolve``: No longer needed with the move to RPM 4 as RPM - itself is used instead. - -- ``gstreamer``: Removed the GStreamer Git version recipes as they - have been stale. ``1.10.``\ x recipes are still present. - -- ``alsa-conf-base``: Merged into ``alsa-conf`` since ``libasound`` - depended on both. Essentially, no way existed to install only one of - these. - -- ``tremor``: Moved to ``meta-multimedia``. Fixed-integer Vorbis - decoding is not needed by current hardware. Thus, GStreamer's ivorbis - plugin has been disabled by default eliminating the need for the - ``tremor`` recipe in :term:`OpenEmbedded-Core (OE-Core)`. - -- ``gummiboot``: Replaced by ``systemd-boot``. - -.. _migration-2.3-wic-changes: - -Wic Changes ------------ - -The following changes have been made to Wic: - -.. note:: - - For more information on Wic, see the - ":ref:`dev-manual/common-tasks:creating partitioned images using wic`" - section in the Yocto Project Development Tasks Manual. - -- *Default Output Directory Changed:* Wic's default output directory is - now the current directory by default instead of the unusual - ``/var/tmp/wic``. - - The "-o" and "--outdir" options remain unchanged and are used to - specify your preferred output directory if you do not want to use the - default directory. - -- *fsimage Plug-in Removed:* The Wic fsimage plugin has been removed as - it duplicates functionality of the rawcopy plugin. - -.. _migration-2.3-qa-changes: - -QA Changes ----------- - -The following QA checks have changed: - -- ``unsafe-references-in-binaries``: The - ``unsafe-references-in-binaries`` QA check, which was disabled by - default, has now been removed. This check was intended to detect - binaries in ``/bin`` that link to libraries in ``/usr/lib`` and have - the case where the user has ``/usr`` on a separate filesystem to - ``/``. - - The removed QA check was buggy. Additionally, ``/usr`` residing on a - separate partition from ``/`` is now a rare configuration. - Consequently, ``unsafe-references-in-binaries`` was removed. - -- ``file-rdeps``: The ``file-rdeps`` QA check is now an error by - default instead of a warning. Because it is an error instead of a - warning, you need to address missing runtime dependencies. - - For additional information, see the - :ref:`insane ` class and the - ":ref:`ref-manual/qa-checks:errors and warnings`" section. - -.. _migration-2.3-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following miscellaneous changes have occurred: - -- In this release, a number of recipes have been changed to ignore the - ``largefile`` :term:`DISTRO_FEATURES` item, - enabling large file support unconditionally. This feature has always - been enabled by default. Disabling the feature has not been widely - tested. - - .. note:: - - Future releases of the Yocto Project will remove entirely the - ability to disable the - largefile - feature, which would make it unconditionally enabled everywhere. - -- If the :term:`DISTRO_VERSION` value contains - the value of the :term:`DATE` variable, which is the - default between Poky releases, the ``DATE`` value is explicitly - excluded from ``/etc/issue`` and ``/etc/issue.net``, which is - displayed at the login prompt, in order to avoid conflicts with - Multilib enabled. Regardless, the ``DATE`` value is inaccurate if the - ``base-files`` recipe is restored from shared state (sstate) rather - than rebuilt. - - If you need the build date recorded in ``/etc/issue*`` or anywhere - else in your image, a better method is to define a post-processing - function to do it and have the function called from - :term:`ROOTFS_POSTPROCESS_COMMAND`. - Doing so ensures the value is always up-to-date with the created - image. - -- Dropbear's ``init`` script now disables DSA host keys by default. - This change is in line with the systemd service file, which supports - RSA keys only, and with recent versions of OpenSSH, which deprecates - DSA host keys. - -- The :ref:`buildhistory ` class now - correctly uses tabs as separators between all columns in - ``installed-package-sizes.txt`` in order to aid import into other - tools. - -- The ``USE_LDCONFIG`` variable has been replaced with the "ldconfig" - ``DISTRO_FEATURES`` feature. Distributions that previously set:: - - USE_LDCONFIG = "0" - - should now instead use the following:: - - DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig" - -- The default value of - :term:`COPYLEFT_LICENSE_INCLUDE` now - includes all versions of AGPL licenses in addition to GPL and LGPL. - - .. note:: - - The default list is not intended to be guaranteed as a complete - safe list. You should seek legal advice based on what you are - distributing if you are unsure. - -- Kernel module packages are now suffixed with the kernel version in - order to allow module packages from multiple kernel versions to - co-exist on a target system. If you wish to return to the previous - naming scheme that does not include the version suffix, use the - following:: - - KERNEL_MODULE_PACKAGE_SUFFIX = "" - -- Removal of ``libtool`` ``*.la`` files is now enabled by default. The - ``*.la`` files are not actually needed on Linux and relocating them - is an unnecessary burden. - - If you need to preserve these ``.la`` files (e.g. in a custom - distribution), you must change - :term:`INHERIT_DISTRO` such that - "remove-libtool" is not included in the value. - -- Extensible SDKs built for GCC 5+ now refuse to install on a - distribution where the host GCC version is 4.8 or 4.9. This change - resulted from the fact that the installation is known to fail due to - the way the ``uninative`` shared state (sstate) package is built. See - the :ref:`uninative ` class for additional - information. - -- All native and nativesdk recipes now use a separate - ``DISTRO_FEATURES`` value instead of sharing the value used by - recipes for the target, in order to avoid unnecessary rebuilds. - - The ``DISTRO_FEATURES`` for ``native`` recipes is - :term:`DISTRO_FEATURES_NATIVE` added to - an intersection of ``DISTRO_FEATURES`` and - :term:`DISTRO_FEATURES_FILTER_NATIVE`. - - For nativesdk recipes, the corresponding variables are - :term:`DISTRO_FEATURES_NATIVESDK` - and - :term:`DISTRO_FEATURES_FILTER_NATIVESDK`. - -- The ``FILESDIR`` variable, which was previously deprecated and rarely - used, has now been removed. You should change any recipes that set - ``FILESDIR`` to set :term:`FILESPATH` instead. - -- The ``MULTIMACH_HOST_SYS`` variable has been removed as it is no - longer needed with recipe-specific sysroots. - - diff --git a/poky/documentation/ref-manual/migration-2.4.rst b/poky/documentation/ref-manual/migration-2.4.rst deleted file mode 100644 index 2ba17e0ed..000000000 --- a/poky/documentation/ref-manual/migration-2.4.rst +++ /dev/null @@ -1,327 +0,0 @@ -Moving to the Yocto Project 2.4 Release (rocko) -=============================================== - -This section provides migration information for moving to the Yocto -Project 2.4 Release (codename "rocko") from the prior release. - -.. _migration-2.4-memory-resident-mode: - -Memory Resident Mode --------------------- - -A persistent mode is now available in BitBake's default operation, -replacing its previous "memory resident mode" (i.e. -``oe-init-build-env-memres``). Now you only need to set -:term:`BB_SERVER_TIMEOUT` to a timeout (in -seconds) and BitBake's server stays resident for that amount of time -between invocations. The ``oe-init-build-env-memres`` script has been -removed since a separate environment setup script is no longer needed. - -.. _migration-2.4-packaging-changes: - -Packaging Changes ------------------ - -This section provides information about packaging changes that have -occurred: - -- ``python3`` Changes: - - - The main "python3" package now brings in all of the standard - Python 3 distribution rather than a subset. This behavior matches - what is expected based on traditional Linux distributions. If you - wish to install a subset of Python 3, specify ``python-core`` plus - one or more of the individual packages that are still produced. - - - ``python3``: The ``bz2.py``, ``lzma.py``, and - ``_compression.py`` scripts have been moved from the - ``python3-misc`` package to the ``python3-compression`` package. - -- ``binutils``: The ``libbfd`` library is now packaged in a separate - "libbfd" package. This packaging saves space when certain tools (e.g. - ``perf``) are installed. In such cases, the tools only need - ``libbfd`` rather than all the packages in ``binutils``. - -- ``util-linux`` Changes: - - - The ``su`` program is now packaged in a separate "util-linux-su" - package, which is only built when "pam" is listed in the - :term:`DISTRO_FEATURES` variable. - ``util-linux`` should not be installed unless it is needed because - ``su`` is normally provided through the shadow file format. The - main ``util-linux`` package has runtime dependencies (i.e. - :term:`RDEPENDS`) on the ``util-linux-su`` package - when "pam" is in ``DISTRO_FEATURES``. - - - The ``switch_root`` program is now packaged in a separate - "util-linux-switch-root" package for small initramfs images that - do not need the whole ``util-linux`` package or the busybox - binary, which are both much larger than ``switch_root``. The main - ``util-linux`` package has a recommended runtime dependency (i.e. - :term:`RRECOMMENDS`) on the - ``util-linux-switch-root`` package. - - - The ``ionice`` program is now packaged in a separate - "util-linux-ionice" package. The main ``util-linux`` package has a - recommended runtime dependency (i.e. ``RRECOMMENDS``) on the - ``util-linux-ionice`` package. - -- ``initscripts``: The ``sushell`` program is now packaged in a - separate "initscripts-sushell" package. This packaging change allows - systems to pull ``sushell`` in when ``selinux`` is enabled. The - change also eliminates needing to pull in the entire ``initscripts`` - package. The main ``initscripts`` package has a runtime dependency - (i.e. ``RDEPENDS``) on the ``sushell`` package when "selinux" is in - ``DISTRO_FEATURES``. - -- ``glib-2.0``: The ``glib-2.0`` package now has a recommended - runtime dependency (i.e. ``RRECOMMENDS``) on the ``shared-mime-info`` - package, since large portions of GIO are not useful without the MIME - database. You can remove the dependency by using the - :term:`BAD_RECOMMENDATIONS` variable if - ``shared-mime-info`` is too large and is not required. - -- *Go Standard Runtime:* The Go standard runtime has been split out - from the main ``go`` recipe into a separate ``go-runtime`` recipe. - -.. _migration-2.4-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed: - -- ``acpitests``: This recipe is not maintained. - -- ``autogen-native``: No longer required by Grub, oe-core, or - meta-oe. - -- ``bdwgc``: Nothing in OpenEmbedded-Core requires this recipe. It - has moved to meta-oe. - -- ``byacc``: This recipe was only needed by rpm 5.x and has moved to - meta-oe. - -- ``gcc (5.4)``: The 5.4 series dropped the recipe in favor of 6.3 / - 7.2. - -- ``gnome-common``: Deprecated upstream and no longer needed. - -- ``go-bootstrap-native``: Go 1.9 does its own bootstrapping so this - recipe has been removed. - -- ``guile``: This recipe was only needed by ``autogen-native`` and - ``remake``. The recipe is no longer needed by either of these - programs. - -- ``libclass-isa-perl``: This recipe was previously needed for LSB 4, - no longer needed. - -- ``libdumpvalue-perl``: This recipe was previously needed for LSB 4, - no longer needed. - -- ``libenv-perl``: This recipe was previously needed for LSB 4, no - longer needed. - -- ``libfile-checktree-perl``: This recipe was previously needed for - LSB 4, no longer needed. - -- ``libi18n-collate-perl``: This recipe was previously needed for LSB - 4, no longer needed. - -- ``libiconv``: This recipe was only needed for ``uclibc``, which was - removed in the previous release. ``glibc`` and ``musl`` have their - own implementations. ``meta-mingw`` still needs ``libiconv``, so it - has been moved to ``meta-mingw``. - -- ``libpng12``: This recipe was previously needed for LSB. The - current ``libpng`` is 1.6.x. - -- ``libpod-plainer-perl``: This recipe was previously needed for LSB - 4, no longer needed. - -- ``linux-yocto (4.1)``: This recipe was removed in favor of 4.4, - 4.9, 4.10 and 4.12. - -- ``mailx``: This recipe was previously only needed for LSB - compatibility, and upstream is defunct. - -- ``mesa (git version only)``: The git version recipe was stale with - respect to the release version. - -- ``ofono (git version only)``: The git version recipe was stale with - respect to the release version. - -- ``portmap``: This recipe is obsolete and is superseded by - ``rpcbind``. - -- ``python3-pygpgme``: This recipe is old and unmaintained. It was - previously required by ``dnf``, which has switched to official - ``gpgme`` Python bindings. - -- ``python-async``: This recipe has been removed in favor of the - Python 3 version. - -- ``python-gitdb``: This recipe has been removed in favor of the - Python 3 version. - -- ``python-git``: This recipe was removed in favor of the Python 3 - version. - -- ``python-mako``: This recipe was removed in favor of the Python 3 - version. - -- ``python-pexpect``: This recipe was removed in favor of the Python - 3 version. - -- ``python-ptyprocess``: This recipe was removed in favor of Python - the 3 version. - -- ``python-pycurl``: Nothing is using this recipe in - OpenEmbedded-Core (i.e. ``meta-oe``). - -- ``python-six``: This recipe was removed in favor of the Python 3 - version. - -- ``python-smmap``: This recipe was removed in favor of the Python 3 - version. - -- ``remake``: Using ``remake`` as the provider of ``virtual/make`` is - broken. Consequently, this recipe is not needed in OpenEmbedded-Core. - -.. _migration-2.4-kernel-device-tree-move: - -Kernel Device Tree Move ------------------------ - -Kernel Device Tree support is now easier to enable in a kernel recipe. -The Device Tree code has moved to a -:ref:`kernel-devicetree ` class. -Functionality is automatically enabled for any recipe that inherits the -:ref:`kernel ` class and sets the -:term:`KERNEL_DEVICETREE` variable. The -previous mechanism for doing this, -``meta/recipes-kernel/linux/linux-dtb.inc``, is still available to avoid -breakage, but triggers a deprecation warning. Future releases of the -Yocto Project will remove ``meta/recipes-kernel/linux/linux-dtb.inc``. -It is advisable to remove any ``require`` statements that request -``meta/recipes-kernel/linux/linux-dtb.inc`` from any custom kernel -recipes you might have. This will avoid breakage in post 2.4 releases. - -.. _migration-2.4-package-qa-changes: - -Package QA Changes ------------------- - -The following package QA changes took place: - -- The "unsafe-references-in-scripts" QA check has been removed. - -- If you refer to ``${COREBASE}/LICENSE`` within - :term:`LIC_FILES_CHKSUM` you receive a - warning because this file is a description of the license for - OE-Core. Use ``${COMMON_LICENSE_DIR}/MIT`` if your recipe is - MIT-licensed and you cannot use the preferred method of referring to - a file within the source tree. - -.. _migration-2.4-readme-changes: - -``README`` File Changes ------------------------ - -The following are changes to ``README`` files: - -- The main Poky ``README`` file has been moved to the ``meta-poky`` - layer and has been renamed ``README.poky``. A symlink has been - created so that references to the old location work. - -- The ``README.hardware`` file has been moved to ``meta-yocto-bsp``. A - symlink has been created so that references to the old location work. - -- A ``README.qemu`` file has been created with coverage of the - ``qemu*`` machines. - -.. _migration-2.4-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following are additional changes: - -- The ``ROOTFS_PKGMANAGE_BOOTSTRAP`` variable and any references to it - have been removed. You should remove this variable from any custom - recipes. - -- The ``meta-yocto`` directory has been removed. - - .. note:: - - In the Yocto Project 2.1 release - meta-yocto - was renamed to - meta-poky - and the - meta-yocto - subdirectory remained to avoid breaking existing configurations. - -- The ``maintainers.inc`` file, which tracks maintainers by listing a - primary person responsible for each recipe in OE-Core, has been moved - from ``meta-poky`` to OE-Core (i.e. from - ``meta-poky/conf/distro/include`` to ``meta/conf/distro/include``). - -- The :ref:`buildhistory ` class now makes - a single commit per build rather than one commit per subdirectory in - the repository. This behavior assumes the commits are enabled with - :term:`BUILDHISTORY_COMMIT` = "1", which - is typical. Previously, the ``buildhistory`` class made one commit - per subdirectory in the repository in order to make it easier to see - the changes for a particular subdirectory. To view a particular - change, specify that subdirectory as the last parameter on the - ``git show`` or ``git diff`` commands. - -- The ``x86-base.inc`` file, which is included by all x86-based machine - configurations, now sets :term:`IMAGE_FSTYPES` - using ``?=`` to "live" rather than appending with ``+=``. This change - makes the default easier to override. - -- BitBake fires multiple "BuildStarted" events when multiconfig is - enabled (one per configuration). For more information, see the - ":ref:`Events `" section in the BitBake User - Manual. - -- By default, the ``security_flags.inc`` file sets a - :term:`GCCPIE` variable with an option to enable - Position Independent Executables (PIE) within ``gcc``. Enabling PIE - in the GNU C Compiler (GCC), makes Return Oriented Programming (ROP) - attacks much more difficult to execute. - -- OE-Core now provides a ``bitbake-layers`` plugin that implements a - "create-layer" subcommand. The implementation of this subcommand has - resulted in the ``yocto-layer`` script being deprecated and will - likely be removed in the next Yocto Project release. - -- The ``vmdk``, ``vdi``, and ``qcow2`` image file types are now used in - conjunction with the "wic" image type through ``CONVERSION_CMD``. - Consequently, the equivalent image types are now ``wic.vmdk``, - ``wic.vdi``, and ``wic.qcow2``, respectively. - -- ``do_image_[depends]`` has replaced ``IMAGE_DEPENDS_``. - If you have your own classes that implement custom image types, then - you need to update them. - -- OpenSSL 1.1 has been introduced. However, the default is still 1.0.x - through the :term:`PREFERRED_VERSION` - variable. This preference is set is due to the remaining - compatibility issues with other software. The - :term:`PROVIDES` variable in the openssl 1.0 recipe - now includes "openssl10" as a marker that can be used in - :term:`DEPENDS` within recipes that build software - that still depend on OpenSSL 1.0. - -- To ensure consistent behavior, BitBake's "-r" and "-R" options (i.e. - prefile and postfile), which are used to read or post-read additional - configuration files from the command line, now only affect the - current BitBake command. Before these BitBake changes, these options - would "stick" for future executions. - - diff --git a/poky/documentation/ref-manual/migration-2.5.rst b/poky/documentation/ref-manual/migration-2.5.rst deleted file mode 100644 index 86a0da9c4..000000000 --- a/poky/documentation/ref-manual/migration-2.5.rst +++ /dev/null @@ -1,308 +0,0 @@ -Moving to the Yocto Project 2.5 Release (sumo) -============================================== - -This section provides migration information for moving to the Yocto -Project 2.5 Release (codename "sumo") from the prior release. - -.. _migration-2.5-packaging-changes: - -Packaging Changes ------------------ - -This section provides information about packaging changes that have -occurred: - -- ``bind-libs``: The libraries packaged by the bind recipe are in a - separate ``bind-libs`` package. - -- ``libfm-gtk``: The ``libfm`` GTK+ bindings are split into a - separate ``libfm-gtk`` package. - -- ``flex-libfl``: The flex recipe splits out libfl into a separate - ``flex-libfl`` package to avoid too many dependencies being pulled in - where only the library is needed. - -- ``grub-efi``: The ``grub-efi`` configuration is split into a - separate ``grub-bootconf`` recipe. However, the dependency - relationship from ``grub-efi`` is through a virtual/grub-bootconf - provider making it possible to have your own recipe provide the - dependency. Alternatively, you can use a BitBake append file to bring - the configuration back into the ``grub-efi`` recipe. - -- *armv7a Legacy Package Feed Support:* Legacy support is removed for - transitioning from ``armv7a`` to ``armv7a-vfp-neon`` in package - feeds, which was previously enabled by setting - ``PKGARCHCOMPAT_ARMV7A``. This transition occurred in 2011 and active - package feeds should by now be updated to the new naming. - -.. _migration-2.5-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed: - -- ``gcc``: The version 6.4 recipes are replaced by 7.x. - -- ``gst-player``: Renamed to ``gst-examples`` as per upstream. - -- ``hostap-utils``: This software package is obsolete. - -- ``latencytop``: This recipe is no longer maintained upstream. The - last release was in 2009. - -- ``libpfm4``: The only file that requires this recipe is - ``oprofile``, which has been removed. - -- ``linux-yocto``: The version 4.4, 4.9, and 4.10 recipes have been - removed. Versions 4.12, 4.14, and 4.15 remain. - -- ``man``: This recipe has been replaced by modern ``man-db`` - -- ``mkelfimage``: This tool has been removed in the upstream coreboot - project, and is no longer needed with the removal of the ELF image - type. - -- ``nativesdk-postinst-intercept``: This recipe is not maintained. - -- ``neon``: This software package is no longer maintained upstream - and is no longer needed by anything in OpenEmbedded-Core. - -- ``oprofile``: The functionality of this recipe is replaced by - ``perf`` and keeping compatibility on an ongoing basis with ``musl`` - is difficult. - -- ``pax``: This software package is obsolete. - -- ``stat``: This software package is not maintained upstream. - ``coreutils`` provides a modern stat binary. - -- ``zisofs-tools-native``: This recipe is no longer needed because - the compressed ISO image feature has been removed. - -.. _migration-2.5-scripts-and-tools-changes: - -Scripts and Tools Changes -------------------------- - -The following are changes to scripts and tools: - -- ``yocto-bsp``, ``yocto-kernel``, and ``yocto-layer``: The - ``yocto-bsp``, ``yocto-kernel``, and ``yocto-layer`` scripts - previously shipped with poky but not in OpenEmbedded-Core have been - removed. These scripts are not maintained and are outdated. In many - cases, they are also limited in scope. The - ``bitbake-layers create-layer`` command is a direct replacement for - ``yocto-layer``. See the documentation to create a BSP or kernel - recipe in the ":ref:`bsp-guide/bsp:bsp kernel recipe example`" section. - -- ``devtool finish``: ``devtool finish`` now exits with an error if - there are uncommitted changes or a rebase/am in progress in the - recipe's source repository. If this error occurs, there might be - uncommitted changes that will not be included in updates to the - patches applied by the recipe. A -f/--force option is provided for - situations that the uncommitted changes are inconsequential and you - want to proceed regardless. - -- ``scripts/oe-setup-rpmrepo`` script: The functionality of - ``scripts/oe-setup-rpmrepo`` is replaced by - ``bitbake package-index``. - -- ``scripts/test-dependencies.sh`` script: The script is largely made - obsolete by the recipe-specific sysroots functionality introduced in - the previous release. - -.. _migration-2.5-bitbake-changes: - -BitBake Changes ---------------- - -The following are BitBake changes: - -- The ``--runall`` option has changed. There are two different - behaviors people might want: - - - *Behavior A:* For a given target (or set of targets) look through - the task graph and run task X only if it is present and will be - built. - - - *Behavior B:* For a given target (or set of targets) look through - the task graph and run task X if any recipe in the taskgraph has - such a target, even if it is not in the original task graph. - - The ``--runall`` option now performs "Behavior B". Previously - ``--runall`` behaved like "Behavior A". A ``--runonly`` option has - been added to retain the ability to perform "Behavior A". - -- Several explicit "run this task for all recipes in the dependency - tree" tasks have been removed (e.g. ``fetchall``, ``checkuriall``, - and the ``*all`` tasks provided by the ``distrodata`` and - ``archiver`` classes). There is a BitBake option to complete this for - any arbitrary task. For example:: - - bitbake -c fetchall - - should now be replaced with:: - - bitbake --runall=fetch - -.. _migration-2.5-python-and-python3-changes: - -Python and Python 3 Changes ---------------------------- - -The following are auto-packaging changes to Python and Python 3: - -The script-managed ``python-*-manifest.inc`` files that were previously -used to generate Python and Python 3 packages have been replaced with a -JSON-based file that is easier to read and maintain. A new task is -available for maintainers of the Python recipes to update the JSON file -when upgrading to new Python versions. You can now edit the file -directly instead of having to edit a script and run it to update the -file. - -One particular change to note is that the Python recipes no longer have -build-time provides for their packages. This assumes ``python-foo`` is -one of the packages provided by the Python recipe. You can no longer run -``bitbake python-foo`` or have a -:term:`DEPENDS` on ``python-foo``, -but doing either of the following causes the package to work as -expected:: - - IMAGE_INSTALL_append = " python-foo" - -or :: - - RDEPENDS_${PN} = "python-foo" - -The earlier build-time provides behavior was a quirk of the -way the Python manifest file was created. For more information on this -change please see :yocto_git:`this commit -`. - -.. _migration-2.5-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following are additional changes: - -- The ``kernel`` class supports building packages for multiple kernels. - If your kernel recipe or ``.bbappend`` file mentions packaging at - all, you should replace references to the kernel in package names - with ``${KERNEL_PACKAGE_NAME}``. For example, if you disable - automatic installation of the kernel image using - ``RDEPENDS_kernel-base = ""`` you can avoid warnings using - ``RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""`` instead. - -- The ``buildhistory`` class commits changes to the repository by - default so you no longer need to set ``BUILDHISTORY_COMMIT = "1"``. - If you want to disable commits you need to set - ``BUILDHISTORY_COMMIT = "0"`` in your configuration. - -- The ``beaglebone`` reference machine has been renamed to - ``beaglebone-yocto``. The ``beaglebone-yocto`` BSP is a reference - implementation using only mainline components available in - OpenEmbedded-Core and ``meta-yocto-bsp``, whereas Texas Instruments - maintains a full-featured BSP in the ``meta-ti`` layer. This rename - avoids the previous name clash that existed between the two BSPs. - -- The ``update-alternatives`` class no longer works with SysV ``init`` - scripts because this usage has been problematic. Also, the - ``sysklogd`` recipe no longer uses ``update-alternatives`` because it - is incompatible with other implementations. - -- By default, the :ref:`cmake ` class uses - ``ninja`` instead of ``make`` for building. This improves build - performance. If a recipe is broken with ``ninja``, then the recipe - can set ``OECMAKE_GENERATOR = "Unix Makefiles"`` to change back to - ``make``. - -- The previously deprecated ``base_*`` functions have been removed in - favor of their replacements in ``meta/lib/oe`` and - ``bitbake/lib/bb``. These are typically used from recipes and - classes. Any references to the old functions must be updated. The - following table shows the removed functions and their replacements: - - +------------------------------+----------------------------------------------------------+ - | *Removed* | *Replacement* | - +==============================+==========================================================+ - | base_path_join() | oe.path.join() | - +------------------------------+----------------------------------------------------------+ - | base_path_relative() | oe.path.relative() | - +------------------------------+----------------------------------------------------------+ - | base_path_out() | oe.path.format_display() | - +------------------------------+----------------------------------------------------------+ - | base_read_file() | oe.utils.read_file() | - +------------------------------+----------------------------------------------------------+ - | base_ifelse() | oe.utils.ifelse() | - +------------------------------+----------------------------------------------------------+ - | base_conditional() | oe.utils.conditional() | - +------------------------------+----------------------------------------------------------+ - | base_less_or_equal() | oe.utils.less_or_equal() | - +------------------------------+----------------------------------------------------------+ - | base_version_less_or_equal() | oe.utils.version_less_or_equal() | - +------------------------------+----------------------------------------------------------+ - | base_contains() | bb.utils.contains() | - +------------------------------+----------------------------------------------------------+ - | base_both_contain() | oe.utils.both_contain() | - +------------------------------+----------------------------------------------------------+ - | base_prune_suffix() | oe.utils.prune_suffix() | - +------------------------------+----------------------------------------------------------+ - | oe_filter() | oe.utils.str_filter() | - +------------------------------+----------------------------------------------------------+ - | oe_filter_out() | oe.utils.str_filter_out() (or use the \_remove operator) | - +------------------------------+----------------------------------------------------------+ - -- Using ``exit 1`` to explicitly defer a postinstall script until first - boot is now deprecated since it is not an obvious mechanism and can - mask actual errors. If you want to explicitly defer a postinstall to - first boot on the target rather than at ``rootfs`` creation time, use - ``pkg_postinst_ontarget()`` or call - ``postinst_intercept delay_to_first_boot`` from ``pkg_postinst()``. - Any failure of a ``pkg_postinst()`` script (including ``exit 1``) - will trigger a warning during ``do_rootfs``. - - For more information, see the - ":ref:`dev-manual/common-tasks:post-installation scripts`" - section in the Yocto Project Development Tasks Manual. - -- The ``elf`` image type has been removed. This image type was removed - because the ``mkelfimage`` tool that was required to create it is no - longer provided by coreboot upstream and required updating every time - ``binutils`` updated. - -- Support for .iso image compression (previously enabled through - ``COMPRESSISO = "1"``) has been removed. The userspace tools - (``zisofs-tools``) are unmaintained and ``squashfs`` provides better - performance and compression. In order to build a live image with - squashfs+lz4 compression enabled you should now set - ``LIVE_ROOTFS_TYPE = "squashfs-lz4"`` and ensure that ``live`` is in - ``IMAGE_FSTYPES``. - -- Recipes with an unconditional dependency on ``libpam`` are only - buildable with ``pam`` in ``DISTRO_FEATURES``. If the dependency is - truly optional then it is recommended that the dependency be - conditional upon ``pam`` being in ``DISTRO_FEATURES``. - -- For EFI-based machines, the bootloader (``grub-efi`` by default) is - installed into the image at /boot. Wic can be used to split the - bootloader into separate boot and rootfs partitions if necessary. - -- Patches whose context does not match exactly (i.e. where patch - reports "fuzz" when applying) will generate a warning. For an example - of this see :yocto_git:`this commit - `. - -- Layers are expected to set ``LAYERSERIES_COMPAT_layername`` to match - the version(s) of OpenEmbedded-Core they are compatible with. This is - specified as codenames using spaces to separate multiple values (e.g. - "rocko sumo"). If a layer does not set - ``LAYERSERIES_COMPAT_layername``, a warning will is shown. If a layer - sets a value that does not include the current version ("sumo" for - the 2.5 release), then an error will be produced. - -- The ``TZ`` environment variable is set to "UTC" within the build - environment in order to fix reproducibility problems in some recipes. - - diff --git a/poky/documentation/ref-manual/migration-2.6.rst b/poky/documentation/ref-manual/migration-2.6.rst deleted file mode 100644 index d1c6c0c5f..000000000 --- a/poky/documentation/ref-manual/migration-2.6.rst +++ /dev/null @@ -1,452 +0,0 @@ -Moving to the Yocto Project 2.6 Release (thud) -============================================== - -This section provides migration information for moving to the Yocto -Project 2.6 Release (codename "thud") from the prior release. - -.. _migration-2.6-gcc-changes: - -GCC 8.2 is Now Used by Default ------------------------------- - -The GNU Compiler Collection version 8.2 is now used by default for -compilation. For more information on what has changed in the GCC 8.x -release, see https://gcc.gnu.org/gcc-8/changes.html. - -If you still need to compile with version 7.x, GCC 7.3 is also provided. -You can select this version by setting the and can be selected by -setting the :term:`GCCVERSION` variable to "7.%" in -your configuration. - -.. _migration-2.6-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed: - -- *beecrypt*: No longer needed since moving to RPM 4. -- *bigreqsproto*: Replaced by ``xorgproto``. -- *calibrateproto*: Removed in favor of ``xinput``. -- *compositeproto*: Replaced by ``xorgproto``. -- *damageproto*: Replaced by ``xorgproto``. -- *dmxproto*: Replaced by ``xorgproto``. -- *dri2proto*: Replaced by ``xorgproto``. -- *dri3proto*: Replaced by ``xorgproto``. -- *eee-acpi-scripts*: Became obsolete. -- *fixesproto*: Replaced by ``xorgproto``. -- *fontsproto*: Replaced by ``xorgproto``. -- *fstests*: Became obsolete. -- *gccmakedep*: No longer used. -- *glproto*: Replaced by ``xorgproto``. -- *gnome-desktop3*: No longer needed. This recipe has moved to ``meta-oe``. -- *icon-naming-utils*: No longer used since the Sato theme was removed in 2016. -- *inputproto*: Replaced by ``xorgproto``. -- *kbproto*: Replaced by ``xorgproto``. -- *libusb-compat*: Became obsolete. -- *libuser*: Became obsolete. -- *libnfsidmap*: No longer an external requirement since ``nfs-utils`` 2.2.1. ``libnfsidmap`` is now integrated. -- *libxcalibrate*: No longer needed with ``xinput`` -- *mktemp*: Became obsolete. The ``mktemp`` command is provided by both ``busybox`` and ``coreutils``. -- *ossp-uuid*: Is not being maintained and has mostly been replaced by ``uuid.h`` in ``util-linux``. -- *pax-utils*: No longer needed. Previous QA tests that did use this recipe are now done at build time. -- *pcmciautils*: Became obsolete. -- *pixz*: No longer needed. ``xz`` now supports multi-threaded compression. -- *presentproto*: Replaced by ``xorgproto``. -- *randrproto*: Replaced by ``xorgproto``. -- *recordproto*: Replaced by ``xorgproto``. -- *renderproto*: Replaced by ``xorgproto``. -- *resourceproto*: Replaced by ``xorgproto``. -- *scrnsaverproto*: Replaced by ``xorgproto``. -- *trace-cmd*: Became obsolete. ``perf`` replaced this recipe's functionally. -- *videoproto*: Replaced by ``xorgproto``. -- *wireless-tools*: Became obsolete. Superseded by ``iw``. -- *xcmiscproto*: Replaced by ``xorgproto``. -- *xextproto*: Replaced by ``xorgproto``. -- *xf86dgaproto*: Replaced by ``xorgproto``. -- *xf86driproto*: Replaced by ``xorgproto``. -- *xf86miscproto*: Replaced by ``xorgproto``. -- *xf86-video-omapfb*: Became obsolete. Use kernel modesetting driver instead. -- *xf86-video-omap*: Became obsolete. Use kernel modesetting driver instead. -- *xf86vidmodeproto*: Replaced by ``xorgproto``. -- *xineramaproto*: Replaced by ``xorgproto``. -- *xproto*: Replaced by ``xorgproto``. -- *yasm*: No longer needed since previous usages are now satisfied by ``nasm``. - -.. _migration-2.6-packaging-changes: - -Packaging Changes ------------------ - -The following packaging changes have been made: - -- *cmake*: ``cmake.m4`` and ``toolchain`` files have been moved to - the main package. - -- *iptables*: The ``iptables`` modules have been split into - separate packages. - -- *alsa-lib*: ``libasound`` is now in the main ``alsa-lib`` package - instead of ``libasound``. - -- *glibc*: ``libnss-db`` is now in its own package along with a - ``/var/db/makedbs.sh`` script to update databases. - -- *python and python3*: The main package has been removed from - the recipe. You must install specific packages or ``python-modules`` - / ``python3-modules`` for everything. - -- *systemtap*: Moved ``systemtap-exporter`` into its own package. - -.. _migration-2.6-xorg-protocol-dependencies: - -XOrg Protocol dependencies --------------------------- - -The ``*proto`` upstream repositories have been combined into one -"xorgproto" repository. Thus, the corresponding recipes have also been -combined into a single ``xorgproto`` recipe. Any recipes that depend -upon the older ``*proto`` recipes need to be changed to depend on the -newer ``xorgproto`` recipe instead. - -For names of recipes removed because of this repository change, see the -:ref:`ref-manual/migration-2.6:removed recipes` section. - -.. _migration-2.6-distutils-distutils3-fetching-dependencies: - -``distutils`` and ``distutils3`` Now Prevent Fetching Dependencies During the ``do_configure`` Task ---------------------------------------------------------------------------------------------------- - -Previously, it was possible for Python recipes that inherited the -``distutils`` and -:ref:`distutils3 ` classes to fetch code -during the :ref:`ref-tasks-configure` task to satisfy -dependencies mentioned in ``setup.py`` if those dependencies were not -provided in the sysroot (i.e. recipes providing the dependencies were -missing from :term:`DEPENDS`). - -.. note:: - - This change affects classes beyond just the two mentioned (i.e. - ``distutils`` and ``distutils3``). Any recipe that inherits ``distutils*`` - classes are affected. For example, the ``setuptools`` and ``setuptools3`` - recipes are affected since they inherit the ``distutils*`` classes. - -Fetching these types of dependencies that are not provided in the -sysroot negatively affects the ability to reproduce builds. This type of -fetching is now explicitly disabled. Consequently, any missing -dependencies in Python recipes that use these classes now result in an -error during the ``do_configure`` task. - -.. _migration-2.6-linux-yocto-configuration-audit-issues-now-correctly-reported: - -``linux-yocto`` Configuration Audit Issues Now Correctly Reported ------------------------------------------------------------------ - -Due to a bug, the kernel configuration audit functionality was not -writing out any resulting warnings during the build. This issue is now -corrected. You might notice these warnings now if you have a custom -kernel configuration with a ``linux-yocto`` style kernel recipe. - -.. _migration-2.6-image-kernel-artifact-naming-changes: - -Image/Kernel Artifact Naming Changes ------------------------------------- - -The following changes have been made: - -- Name variables (e.g. :term:`IMAGE_NAME`) use a new - ``IMAGE_VERSION_SUFFIX`` variable instead of - :term:`DATETIME`. Using ``IMAGE_VERSION_SUFFIX`` - allows easier and more direct changes. - - The ``IMAGE_VERSION_SUFFIX`` variable is set in the ``bitbake.conf`` - configuration file as follows:: - - IMAGE_VERSION_SUFFIX = "-${DATETIME}" - -- Several variables have changed names for consistency:: - - Old Variable Name New Variable Name - ======================================================== - KERNEL_IMAGE_BASE_NAME KERNEL_IMAGE_NAME - KERNEL_IMAGE_SYMLINK_NAME KERNEL_IMAGE_LINK_NAME - MODULE_TARBALL_BASE_NAME MODULE_TARBALL_NAME - MODULE_TARBALL_SYMLINK_NAME MODULE_TARBALL_LINK_NAME - INITRAMFS_BASE_NAME INITRAMFS_NAME - -- The ``MODULE_IMAGE_BASE_NAME`` variable has been removed. The module - tarball name is now controlled directly with the - :term:`MODULE_TARBALL_NAME` variable. - -- The :term:`KERNEL_DTB_NAME` and - :term:`KERNEL_DTB_LINK_NAME` variables - have been introduced to control kernel Device Tree Binary (DTB) - artifact names instead of mangling ``KERNEL_IMAGE_*`` variables. - -- The :term:`KERNEL_FIT_NAME` and - :term:`KERNEL_FIT_LINK_NAME` variables - have been introduced to specify the name of flattened image tree - (FIT) kernel images similar to other deployed artifacts. - -- The :term:`MODULE_TARBALL_NAME` and - :term:`MODULE_TARBALL_LINK_NAME` - variable values no longer include the "module-" prefix or ".tgz" - suffix. These parts are now hardcoded so that the values are - consistent with other artifact naming variables. - -- Added the :term:`INITRAMFS_LINK_NAME` - variable so that the symlink can be controlled similarly to other - artifact types. - -- :term:`INITRAMFS_NAME` now uses - "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" instead - of "${PV}-${PR}-${MACHINE}-${DATETIME}", which makes it consistent - with other variables. - -.. _migration-2.6-serial-console-deprecated: - -``SERIAL_CONSOLE`` Deprecated ------------------------------ - -The :term:`SERIAL_CONSOLE` variable has been -functionally replaced by the -:term:`SERIAL_CONSOLES` variable for some time. -With the Yocto Project 2.6 release, ``SERIAL_CONSOLE`` has been -officially deprecated. - -``SERIAL_CONSOLE`` will continue to work as before for the 2.6 release. -However, for the sake of future compatibility, it is recommended that -you replace all instances of ``SERIAL_CONSOLE`` with -``SERIAL_CONSOLES``. - -.. note:: - - The only difference in usage is that ``SERIAL_CONSOLES`` - expects entries to be separated using semicolons as compared to - ``SERIAL_CONSOLE``, which expects spaces. - -.. _migration-2.6-poky-sets-unknown-configure-option-to-qa-error: - -Configure Script Reports Unknown Options as Errors --------------------------------------------------- - -If the configure script reports an unknown option, this now triggers a -QA error instead of a warning. Any recipes that previously got away with -specifying such unknown options now need to be fixed. - -.. _migration-2.6-override-changes: - -Override Changes ----------------- - -The following changes have occurred: - -- The ``virtclass-native`` and ``virtclass-nativesdk`` Overrides Have - Been Removed: The ``virtclass-native`` and ``virtclass-nativesdk`` - overrides have been deprecated since 2012 in favor of - ``class-native`` and ``class-nativesdk``, respectively. Both - ``virtclass-native`` and ``virtclass-nativesdk`` are now dropped. - - .. note:: - - The ``virtclass-multilib-`` overrides for multilib are still valid. - -- The ``forcevariable`` Override Now Has a Higher Priority Than - ``libc`` Overrides: The ``forcevariable`` override is documented to - be the highest priority override. However, due to a long-standing - quirk of how :term:`OVERRIDES` is set, the ``libc`` - overrides (e.g. ``libc-glibc``, ``libc-musl``, and so forth) - erroneously had a higher priority. This issue is now corrected. - - It is likely this change will not cause any problems. However, it is - possible with some unusual configurations that you might see a change - in behavior if you were relying on the previous behavior. Be sure to - check how you use ``forcevariable`` and ``libc-*`` overrides in your - custom layers and configuration files to ensure they make sense. - -- The ``build-${BUILD_OS}`` Override Has Been Removed: The - ``build-${BUILD_OS}``, which is typically ``build-linux``, override - has been removed because building on a host operating system other - than a recent version of Linux is neither supported nor recommended. - Dropping the override avoids giving the impression that other host - operating systems might be supported. - -- The "_remove" operator now preserves whitespace. Consequently, when - specifying list items to remove, be aware that leading and trailing - whitespace resulting from the removal is retained. - - See the ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`" - section in the BitBake User Manual for a detailed example. - -.. _migration-2.6-systemd-configuration-now-split-out-to-system-conf: - -``systemd`` Configuration is Now Split Into ``systemd-conf`` ------------------------------------------------------------- - -The configuration for the ``systemd`` recipe has been moved into a -``system-conf`` recipe. Moving this configuration to a separate recipe -avoids the ``systemd`` recipe from becoming machine-specific for cases -where machine-specific configurations need to be applied (e.g. for -``qemu*`` machines). - -Currently, the new recipe packages the following files:: - - ${sysconfdir}/machine-id - ${sysconfdir}/systemd/coredump.conf - ${sysconfdir}/systemd/journald.conf - ${sysconfdir}/systemd/logind.conf - ${sysconfdir}/systemd/system.conf - ${sysconfdir}/systemd/user.conf - -If you previously used bbappend files to append the ``systemd`` recipe to -change any of the listed files, you must do so for the ``systemd-conf`` -recipe instead. - -.. _migration-2.6-automatic-testing-changes: - -Automatic Testing Changes -------------------------- - -This section provides information about automatic testing changes: - -- ``TEST_IMAGE`` Variable Removed: Prior to this release, you set the - ``TEST_IMAGE`` variable to "1" to enable automatic testing for - successfully built images. The ``TEST_IMAGE`` variable no longer - exists and has been replaced by the - :term:`TESTIMAGE_AUTO` variable. - -- Inheriting the ``testimage`` and ``testsdk`` Classes: Best - practices now dictate that you use the - :term:`IMAGE_CLASSES` variable rather than the - :term:`INHERIT` variable when you inherit the - :ref:`testimage ` and - :ref:`testsdk ` classes used for automatic - testing. - -.. _migration-2.6-openssl-changes: - -OpenSSL Changes ---------------- - -`OpenSSL `__ has been upgraded from 1.0 to -1.1. By default, this upgrade could cause problems for recipes that have -both versions in their dependency chains. The problem is that both -versions cannot be installed together at build time. - -.. note:: - - It is possible to have both versions of the library at runtime. - -.. _migration-2.6-bitbake-changes: - -BitBake Changes ---------------- - -The server logfile ``bitbake-cookerdaemon.log`` is now always placed in -the :term:`Build Directory` instead of the current -directory. - -.. _migration-2.6-security-changes: - -Security Changes ----------------- - -The Poky distribution now uses security compiler flags by default. -Inclusion of these flags could cause new failures due to stricter -checking for various potential security issues in code. - -.. _migration-2.6-post-installation-changes: - -Post Installation Changes -------------------------- - -You must explicitly mark post installs to defer to the target. If you -want to explicitly defer a postinstall to first boot on the target -rather than at rootfs creation time, use ``pkg_postinst_ontarget()`` or -call ``postinst_intercept delay_to_first_boot`` from ``pkg_postinst()``. -Any failure of a ``pkg_postinst()`` script (including exit 1) triggers -an error during the :ref:`ref-tasks-rootfs` task. - -For more information on post-installation behavior, see the -":ref:`dev-manual/common-tasks:post-installation scripts`" -section in the Yocto Project Development Tasks Manual. - -.. _migration-2.6-python-3-profile-guided-optimizations: - -Python 3 Profile-Guided Optimization ------------------------------------- - -The ``python3`` recipe now enables profile-guided optimization. Using -this optimization requires a little extra build time in exchange for -improved performance on the target at runtime. Additionally, the -optimization is only enabled if the current -:term:`MACHINE` has support for user-mode emulation in -QEMU (i.e. "qemu-usermode" is in -:term:`MACHINE_FEATURES`, which it is by -default). - -If you wish to disable Python profile-guided optimization regardless of -the value of ``MACHINE_FEATURES``, then ensure that -:term:`PACKAGECONFIG` for the ``python3`` recipe -does not contain "pgo". You could accomplish the latter using the -following at the configuration level:: - - PACKAGECONFIG_remove_pn-python3 = "pgo" - -Alternatively, you can set ``PACKAGECONFIG`` using an append file -for the ``python3`` recipe. - -.. _migration-2.6-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following miscellaneous changes occurred: - -- Default to using the Thumb-2 instruction set for armv7a and above. If - you have any custom recipes that build software that needs to be - built with the ARM instruction set, change the recipe to set the - instruction set as follows:: - - ARM_INSTRUCTION_SET = "arm" - -- ``run-postinsts`` no longer uses ``/etc/*-postinsts`` for - ``dpkg/opkg`` in favor of built-in postinst support. RPM behavior - remains unchanged. - -- The ``NOISO`` and ``NOHDD`` variables are no longer used. You now - control building ``*.iso`` and ``*.hddimg`` image types directly by - using the :term:`IMAGE_FSTYPES` variable. - -- The ``scripts/contrib/mkefidisk.sh`` has been removed in favor of - Wic. - -- ``kernel-modules`` has been removed from - :term:`RRECOMMENDS` for ``qemumips`` and - ``qemumips64`` machines. Removal also impacts the ``x86-base.inc`` - file. - - .. note:: - - ``genericx86`` and ``genericx86-64`` retain ``kernel-modules`` as part of - the ``RRECOMMENDS`` variable setting. - -- The ``LGPLv2_WHITELIST_GPL-3.0`` variable has been removed. If you - are setting this variable in your configuration, set or append it to - the ``WHITELIST_GPL-3.0`` variable instead. - -- ``${ASNEEDED}`` is now included in the - :term:`TARGET_LDFLAGS` variable directly. The - remaining definitions from ``meta/conf/distro/include/as-needed.inc`` - have been moved to corresponding recipes. - -- Support for DSA host keys has been dropped from the OpenSSH recipes. - If you are still using DSA keys, you must switch over to a more - secure algorithm as recommended by OpenSSH upstream. - -- The ``dhcp`` recipe now uses the ``dhcpd6.conf`` configuration file - in ``dhcpd6.service`` for IPv6 DHCP rather than re-using - ``dhcpd.conf``, which is now reserved for IPv4. - - diff --git a/poky/documentation/ref-manual/migration-2.7.rst b/poky/documentation/ref-manual/migration-2.7.rst deleted file mode 100644 index 1be4d5d5b..000000000 --- a/poky/documentation/ref-manual/migration-2.7.rst +++ /dev/null @@ -1,180 +0,0 @@ -Moving to the Yocto Project 2.7 Release (warrior) -================================================= - -This section provides migration information for moving to the Yocto -Project 2.7 Release (codename "warrior") from the prior release. - -.. _migration-2.7-bitbake-changes: - -BitBake Changes ---------------- - -The following changes have been made to BitBake: - -- BitBake now checks anonymous Python functions and pure Python - functions (e.g. ``def funcname:``) in the metadata for tab - indentation. If found, BitBake produces a warning. - -- Bitbake now checks - :term:`BBFILE_COLLECTIONS` for duplicate - entries and triggers an error if any are found. - -.. _migration-2.7-eclipse-support-dropped: - -Eclipse Support Removed ------------------------ - -Support for the Eclipse IDE has been removed. Support continues for -those releases prior to 2.7 that did include support. The 2.7 release -does not include the Eclipse Yocto plugin. - -.. _migration-2.7-qemu-native-splits-system-and-user-mode-parts: - -``qemu-native`` Splits the System and User-Mode Parts ------------------------------------------------------ - -The system and user-mode parts of ``qemu-native`` are now split. -``qemu-native`` provides the user-mode components and -``qemu-system-native`` provides the system components. If you have -recipes that depend on QEMU's system emulation functionality at build -time, they should now depend upon ``qemu-system-native`` instead of -``qemu-native``. - -.. _migration-2.7-upstream-tracking.inc-removed: - -The ``upstream-tracking.inc`` File Has Been Removed ---------------------------------------------------- - -The previously deprecated ``upstream-tracking.inc`` file is now removed. -Any ``UPSTREAM_TRACKING*`` variables are now set in the corresponding -recipes instead. - -Remove any references you have to the ``upstream-tracking.inc`` file in -your configuration. - -.. _migration-2.7-distro-features-libc-removed: - -The ``DISTRO_FEATURES_LIBC`` Variable Has Been Removed ------------------------------------------------------- - -The ``DISTRO_FEATURES_LIBC`` variable is no longer used. The ability to -configure glibc using kconfig has been removed for quite some time -making the ``libc-*`` features set no longer effective. - -Remove any references you have to ``DISTRO_FEATURES_LIBC`` in your own -layers. - -.. _migration-2.7-license-values: - -License Value Corrections -------------------------- - -The following corrections have been made to the -:term:`LICENSE` values set by recipes: - -- *socat*: Corrected ``LICENSE`` to be "GPLv2" rather than "GPLv2+". -- *libgfortran*: Set license to "GPL-3.0-with-GCC-exception". -- *elfutils*: Removed "Elfutils-Exception" and set to "GPLv2" for shared libraries - -.. _migration-2.7-packaging-changes: - -Packaging Changes ------------------ - -This section provides information about packaging changes. - -- ``bind``: The ``nsupdate`` binary has been moved to the - ``bind-utils`` package. - -- Debug split: The default debug split has been changed to create - separate source packages (i.e. package_name\ ``-dbg`` and - package_name\ ``-src``). If you are currently using ``dbg-pkgs`` in - :term:`IMAGE_FEATURES` to bring in debug - symbols and you still need the sources, you must now also add - ``src-pkgs`` to ``IMAGE_FEATURES``. Source packages remain in the - target portion of the SDK by default, unless you have set your own - value for :term:`SDKIMAGE_FEATURES` that - does not include ``src-pkgs``. - -- Mount all using ``util-linux``: ``/etc/default/mountall`` has moved - into the -mount sub-package. - -- Splitting binaries using ``util-linux``: ``util-linux`` now splits - each binary into its own package for fine-grained control. The main - ``util-linux`` package pulls in the individual binary packages using - the :term:`RRECOMMENDS` and - :term:`RDEPENDS` variables. As a result, existing - images should not see any changes assuming - :term:`NO_RECOMMENDATIONS` is not set. - -- ``netbase/base-files``: ``/etc/hosts`` has moved from ``netbase`` to - ``base-files``. - -- ``tzdata``: The main package has been converted to an empty meta - package that pulls in all ``tzdata`` packages by default. - -- ``lrzsz``: This package has been removed from - ``packagegroup-self-hosted`` and - ``packagegroup-core-tools-testapps``. The X/Y/ZModem support is less - likely to be needed on modern systems. If you are relying on these - packagegroups to include the ``lrzsz`` package in your image, you now - need to explicitly add the package. - -.. _migration-2.7-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed: - -- *gcc*: Drop version 7.3 recipes. Version 8.3 now remains. -- *linux-yocto*: Drop versions 4.14 and 4.18 recipes. Versions 4.19 and 5.0 remain. -- *go*: Drop version 1.9 recipes. Versions 1.11 and 1.12 remain. -- *xvideo-tests*: Became obsolete. -- *libart-lgpl*: Became obsolete. -- *gtk-icon-utils-native*: These tools are now provided by gtk+3-native -- *gcc-cross-initial*: No longer needed. gcc-cross/gcc-crosssdk is now used instead. -- *gcc-crosssdk-initial*: No longer needed. gcc-cross/gcc-crosssdk is now used instead. -- *glibc-initial*: Removed because the benefits of having it for site_config are currently outweighed by the cost of building the recipe. - -.. _migration-2.7-removed-classes: - -Removed Classes ---------------- - -The following classes have been removed: - -- *distutils-tools*: This class was never used. -- *bugzilla.bbclass*: Became obsolete. -- *distrodata*: This functionally has been replaced by a more modern tinfoil-based implementation. - -.. _migration-2.7-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following miscellaneous changes occurred: - -- The ``distro`` subdirectory of the Poky repository has been removed - from the top-level ``scripts`` directory. - -- Perl now builds for the target using - `perl-cross `_ for better - maintainability and improved build performance. This change should - not present any problems unless you have heavily customized your Perl - recipe. - -- ``arm-tunes``: Removed the "-march" option if mcpu is already added. - -- ``update-alternatives``: Convert file renames to - :term:`PACKAGE_PREPROCESS_FUNCS` - -- ``base/pixbufcache``: Obsolete ``sstatecompletions`` code has been - removed. - -- :ref:`native ` class: - :term:`RDEPENDS` handling has been enabled. - -- ``inetutils``: This recipe has rsh disabled. - - diff --git a/poky/documentation/ref-manual/migration-3.0.rst b/poky/documentation/ref-manual/migration-3.0.rst deleted file mode 100644 index f3d20e2ed..000000000 --- a/poky/documentation/ref-manual/migration-3.0.rst +++ /dev/null @@ -1,320 +0,0 @@ -Moving to the Yocto Project 3.0 Release (zeus) -============================================== - -This section provides migration information for moving to the Yocto -Project 3.0 Release (codename "zeus") from the prior release. - -.. _migration-3.0-init-system-selection: - -Init System Selection ---------------------- - -Changing the init system manager previously required setting a number of -different variables. You can now change the manager by setting the -``INIT_MANAGER`` variable and the corresponding include files (i.e. -``conf/distro/include/init-manager-*.conf``). Include files are provided -for four values: "none", "sysvinit", "systemd", and "mdev-busybox". The -default value, "none", for ``INIT_MANAGER`` should allow your current -settings to continue working. However, it is advisable to explicitly set -``INIT_MANAGER``. - -.. _migration-3.0-lsb-support-removed: - -LSB Support Removed -------------------- - -Linux Standard Base (LSB) as a standard is not current, and is not well -suited for embedded applications. Support can be continued in a separate -layer if needed. However, presently LSB support has been removed from -the core. - -As a result of this change, the ``poky-lsb`` derivative distribution -configuration that was also used for testing alternative configurations -has been replaced with a ``poky-altcfg`` distribution that has LSB parts -removed. - -.. _migration-3.0-removed-recipes: - -Removed Recipes ---------------- - -The following recipes have been removed. - -- ``core-image-lsb-dev``: Part of removed LSB support. - -- ``core-image-lsb``: Part of removed LSB support. - -- ``core-image-lsb-sdk``: Part of removed LSB support. - -- ``cve-check-tool``: Functionally replaced by the ``cve-update-db`` - recipe and ``cve-check`` class. - -- ``eglinfo``: No longer maintained. ``eglinfo`` from ``mesa-demos`` is - an adequate and maintained alternative. - -- ``gcc-8.3``: Version 8.3 removed. Replaced by 9.2. - -- ``gnome-themes-standard``: Only needed by gtk+ 2.x, which has been - removed. - -- ``gtk+``: GTK+ 2 is obsolete and has been replaced by gtk+3. - -- ``irda-utils``: Has become obsolete. IrDA support has been removed - from the Linux kernel in version 4.17 and later. - -- ``libnewt-python``: ``libnewt`` Python support merged into main - ``libnewt`` recipe. - -- ``libsdl``: Replaced by newer ``libsdl2``. - -- ``libx11-diet``: Became obsolete. - -- ``libxx86dga``: Removed obsolete client library. - -- ``libxx86misc``: Removed. Library is redundant. - -- ``linux-yocto``: Version 5.0 removed, which is now redundant (5.2 / - 4.19 present). - -- ``lsbinitscripts``: Part of removed LSB support. - -- ``lsb``: Part of removed LSB support. - -- ``lsbtest``: Part of removed LSB support. - -- ``openssl10``: Replaced by newer ``openssl`` version 1.1. - -- ``packagegroup-core-lsb``: Part of removed LSB support. - -- ``python-nose``: Removed the Python 2.x version of the recipe. - -- ``python-numpy``: Removed the Python 2.x version of the recipe. - -- ``python-scons``: Removed the Python 2.x version of the recipe. - -- ``source-highlight``: No longer needed. - -- ``stress``: Replaced by ``stress-ng``. - -- ``vulkan``: Split into ``vulkan-loader``, ``vulkan-headers``, and - ``vulkan-tools``. - -- ``weston-conf``: Functionality moved to ``weston-init``. - -.. _migration-3.0-packaging-changes: - -Packaging Changes ------------------ - -The following packaging changes have occurred. - -- The `Epiphany `__ browser - has been dropped from ``packagegroup-self-hosted`` as it has not been - needed inside ``build-appliance-image`` for quite some time and was - causing resource problems. - -- ``libcap-ng`` Python support has been moved to a separate - ``libcap-ng-python`` recipe to streamline the build process when the - Python bindings are not needed. - -- ``libdrm`` now packages the file ``amdgpu.ids`` into a separate - ``libdrm-amdgpu`` package. - -- ``python3``: The ``runpy`` module is now in the ``python3-core`` - package as it is required to support the common "python3 -m" command - usage. - -- ``distcc`` now provides separate ``distcc-client`` and - ``distcc-server`` packages as typically one or the other are needed, - rather than both. - -- ``python*-setuptools`` recipes now separately package the - ``pkg_resources`` module in a ``python-pkg-resources`` / - ``python3-pkg-resources`` package as the module is useful independent - of the rest of the setuptools package. The main ``python-setuptools`` - / ``python3-setuptools`` package depends on this new package so you - should only need to update dependencies unless you want to take - advantage of the increased granularity. - -.. _migration-3.0-cve-checking: - -CVE Checking ------------- - -``cve-check-tool`` has been functionally replaced by a new -``cve-update-db`` recipe and functionality built into the ``cve-check`` -class. The result uses NVD JSON data feeds rather than the deprecated -XML feeds that ``cve-check-tool`` was using, supports CVSSv3 scoring, -and makes other improvements. - -Additionally, the ``CVE_CHECK_CVE_WHITELIST`` variable has been replaced -by ``CVE_CHECK_WHITELIST``. - -.. _migration-3.0-bitbake-changes: - -Bitbake Changes ---------------- - -The following BitBake changes have occurred. - -- ``addtask`` statements now properly validate dependent tasks. - Previously, an invalid task was silently ignored. With this change, - the invalid task generates a warning. - -- Other invalid ``addtask`` and ``deltask`` usages now trigger these - warnings: "multiple target tasks arguments with addtask / deltask", - and "multiple before/after clauses". - -- The "multiconfig" prefix is now shortened to "mc". "multiconfig" will - continue to work, however it may be removed in a future release. - -- The ``bitbake -g`` command no longer generates a - ``recipe-depends.dot`` file as the contents (i.e. a reprocessed - version of ``task-depends.dot``) were confusing. - -- The ``bb.build.FuncFailed`` exception, previously raised by - ``bb.build.exec_func()`` when certain other exceptions have occurred, - has been removed. The real underlying exceptions will be raised - instead. If you have calls to ``bb.build.exec_func()`` in custom - classes or ``tinfoil-using`` scripts, any references to - ``bb.build.FuncFailed`` should be cleaned up. - -- Additionally, the ``bb.build.exec_func()`` no longer accepts the - "pythonexception" parameter. The function now always raises - exceptions. Remove this argument in any calls to - ``bb.build.exec_func()`` in custom classes or scripts. - -- The - :term:`bitbake:BB_SETSCENE_VERIFY_FUNCTION2` - is no longer used. In the unlikely event that you have any references - to it, they should be removed. - -- The ``RunQueueExecuteScenequeue`` and ``RunQueueExecuteTasks`` events - have been removed since setscene tasks are now executed as part of - the normal runqueue. Any event handling code in custom classes or - scripts that handles these two events need to be updated. - -- The arguments passed to functions used with - :term:`bitbake:BB_HASHCHECK_FUNCTION` - have changed. If you are using your own custom hash check function, - see :yocto_git:`/poky/commit/?id=40a5e193c4ba45c928fccd899415ea56b5417725` - for details. - -- Task specifications in ``BB_TASKDEPDATA`` and class implementations - used in signature generator classes now use ":" everywhere - rather than the "." delimiter that was being used in some places. - This change makes it consistent with all areas in the code. Custom - signature generator classes and code that reads ``BB_TASKDEPDATA`` - need to be updated to use ':' as a separator rather than '.'. - -.. _migration-3.0-sanity-checks: - -Sanity Checks -------------- - -The following sanity check changes occurred. - -- :term:`SRC_URI` is now checked for usage of two - problematic items: - - - "${PN}" prefix/suffix use - Warnings always appear if ${PN} is - used. You must fix the issue regardless of whether multiconfig or - anything else that would cause prefixing/suffixing to happen. - - - Github archive tarballs - these are not guaranteed to be stable. - Consequently, it is likely that the tarballs will be refreshed and - thus the SRC_URI checksums will fail to apply. It is recommended - that you fetch either an official release tarball or a specific - revision from the actual Git repository instead. - - Either one of these items now trigger a warning by default. If you - wish to disable this check, remove ``src-uri-bad`` from - :term:`WARN_QA`. - -- The ``file-rdeps`` runtime dependency check no longer expands - :term:`RDEPENDS` recursively as there is no mechanism - to ensure they can be fully computed, and thus races sometimes result - in errors either showing up or not. Thus, you might now see errors - for missing runtime dependencies that were previously satisfied - recursively. Here is an example: package A contains a shell script - starting with ``#!/bin/bash`` but has no dependency on bash. However, - package A depends on package B, which does depend on bash. You need - to add the missing dependency or dependencies to resolve the warning. - -- Setting ``DEPENDS_${PN}`` anywhere (i.e. typically in a recipe) now - triggers an error. The error is triggered because - :term:`DEPENDS` is not a package-specific variable - unlike RDEPENDS. You should set ``DEPENDS`` instead. - -- systemd currently does not work well with the musl C library because - only upstream officially supports linking the library with glibc. - Thus, a warning is shown when building systemd in conjunction with - musl. - -.. _migration-3.0-miscellaneous-changes: - -Miscellaneous Changes ---------------------- - -The following miscellaneous changes have occurred. - -- The ``gnome`` class has been removed because it now does very little. - You should update recipes that previously inherited this class to do - the following: inherit gnomebase gtk-icon-cache gconf mime - -- The ``meta/recipes-kernel/linux/linux-dtb.inc`` file has been - removed. This file was previously deprecated in favor of setting - :term:`KERNEL_DEVICETREE` in any kernel - recipe and only produced a warning. Remove any ``include`` or - ``require`` statements pointing to this file. - -- :term:`TARGET_CFLAGS`, - :term:`TARGET_CPPFLAGS`, - :term:`TARGET_CXXFLAGS`, and - :term:`TARGET_LDFLAGS` are no longer exported - to the external environment. This change did not require any changes - to core recipes, which is a good indicator that no changes will be - required. However, if for some reason the software being built by one - of your recipes is expecting these variables to be set, then building - the recipe will fail. In such cases, you must either export the - variable or variables in the recipe or change the scripts so that - exporting is not necessary. - -- You must change the host distro identifier used in - :term:`NATIVELSBSTRING` to use all lowercase - characters even if it does not contain a version number. This change - is necessary only if you are not using ``uninative`` and - :term:`SANITY_TESTED_DISTROS`. - -- In the ``base-files`` recipe, writing the hostname into - ``/etc/hosts`` and ``/etc/hostname`` is now done within the main - :ref:`ref-tasks-install` function rather than in the - ``do_install_basefilesissue`` function. The reason for the change is - because ``do_install_basefilesissue`` is more easily overridden - without having to duplicate the hostname functionality. If you have - done the latter (e.g. in a ``base-files`` bbappend), then you should - remove it from your customized ``do_install_basefilesissue`` - function. - -- The ``wic --expand`` command now uses commas to separate "key:value" - pairs rather than hyphens. - - .. note:: - - The wic command-line help is not updated. - - You must update any scripts or commands where you use - ``wic --expand`` with multiple "key:value" pairs. - -- UEFI image variable settings have been moved from various places to a - central ``conf/image-uefi.conf``. This change should not influence - any existing configuration as the ``meta/conf/image-uefi.conf`` in - the core metadata sets defaults that can be overridden in the same - manner as before. - -- ``conf/distro/include/world-broken.inc`` has been removed. For cases - where certain recipes need to be disabled when using the musl C - library, these recipes now have ``COMPATIBLE_HOST_libc-musl`` set - with a comment that explains why. - - diff --git a/poky/documentation/ref-manual/migration-3.1.rst b/poky/documentation/ref-manual/migration-3.1.rst deleted file mode 100644 index 7822285a8..000000000 --- a/poky/documentation/ref-manual/migration-3.1.rst +++ /dev/null @@ -1,275 +0,0 @@ -Moving to the Yocto Project 3.1 Release (dunfell) -================================================= - -This section provides migration information for moving to the Yocto -Project 3.1 Release (codename "dunfell") from the prior release. - -.. _migration-3.1-minimum-system-requirements: - -Minimum system requirements ---------------------------- - -The following versions / requirements of build host components have been -updated: - -- gcc 5.0 - -- python 3.5 - -- tar 1.28 - -- ``rpcgen`` is now required on the host (part of the ``libc-dev-bin`` - package on Ubuntu, Debian and related distributions, and the - ``glibc`` package on RPM-based distributions). - -Additionally, the ``makeinfo`` and ``pod2man`` tools are *no longer* -required on the host. - -.. _migration-3.1-mpc8315e-rdb-removed: - -mpc8315e-rdb machine removed ----------------------------- - -The MPC8315E-RDB machine is old/obsolete and unobtainable, thus given -the maintenance burden the ``mpc8315e-rdb`` machine configuration that -supported it has been removed in this release. The removal does leave a -gap in official PowerPC reference hardware support; this may change in -future if a suitable machine with accompanying support resources is -found. - -.. _migration-3.1-python-2-removed: - -Python 2 removed ----------------- - -Due to the expiration of upstream support in January 2020, support for -Python 2 has now been removed; it is recommended that you use Python 3 -instead. If absolutely needed there is a meta-python2 community layer -containing Python 2, related classes and various Python 2-based modules, -however it should not be considered as supported. - -.. _migration-3.1-reproducible-builds: - -Reproducible builds now enabled by default ------------------------------------------- - -In order to avoid unnecessary differences in output files (aiding binary -reproducibility), the Poky distribution configuration -(``DISTRO = "poky"``) now inherits the ``reproducible_build`` class by -default. - -.. _migration-3.1-ptest-feature-impact: - -Impact of ptest feature is now more significant ------------------------------------------------ - -The Poky distribution configuration (``DISTRO = "poky"``) enables ptests -by default to enable runtime testing of various components. In this -release, a dependency needed to be added that has resulted in a -significant increase in the number of components that will be built just -when building a simple image such as core-image-minimal. If you do not -need runtime tests enabled for core components, then it is recommended -that you remove "ptest" from -:term:`DISTRO_FEATURES` to save a significant -amount of build time e.g. by adding the following in your configuration:: - - DISTRO_FEATURES_remove = "ptest" - -.. _migration-3.1-removed-recipes: - -Removed recipes ---------------- - -The following recipes have been removed: - -- ``chkconfig``: obsolete - -- ``console-tools``: obsolete - -- ``enchant``: replaced by ``enchant2`` - -- ``foomatic-filters``: obsolete - -- ``libidn``: no longer needed, moved to meta-oe - -- ``libmodulemd``: replaced by ``libmodulemd-v1`` - -- ``linux-yocto``: drop 4.19, 5.2 version recipes (5.4 now provided) - -- ``nspr``: no longer needed, moved to meta-oe - -- ``nss``: no longer needed, moved to meta-oe - -- ``python``: Python 2 removed (Python 3 preferred) - -- ``python-setuptools``: Python 2 version removed (python3-setuptools - preferred) - -- ``sysprof``: no longer needed, moved to meta-oe - -- ``texi2html``: obsolete - -- ``u-boot-fw-utils``: functionally replaced by ``libubootenv`` - -.. _migration-3.1-features-check: - -features_check class replaces distro_features_check ---------------------------------------------------- - -The ``distro_features_check`` class has had its functionality expanded, -now supporting ``ANY_OF_MACHINE_FEATURES``, -``REQUIRED_MACHINE_FEATURES``, ``CONFLICT_MACHINE_FEATURES``, -``ANY_OF_COMBINED_FEATURES``, ``REQUIRED_COMBINED_FEATURES``, -``CONFLICT_COMBINED_FEATURES``. As a result the class has now been -renamed to ``features_check``; the ``distro_features_check`` class still -exists but generates a warning and redirects to the new class. In -preparation for a future removal of the old class it is recommended that -you update recipes currently inheriting ``distro_features_check`` to -inherit ``features_check`` instead. - -.. _migration-3.1-removed-classes: - -Removed classes ---------------- - -The following classes have been removed: - -- ``distutils-base``: moved to meta-python2 - -- ``distutils``: moved to meta-python2 - -- ``libc-common``: merged into the glibc recipe as nothing else used - it. - -- ``python-dir``: moved to meta-python2 - -- ``pythonnative``: moved to meta-python2 - -- ``setuptools``: moved to meta-python2 - -- ``tinderclient``: dropped as it was obsolete. - -.. _migration-3.1-src-uri-checksums: - -SRC_URI checksum behaviour --------------------------- - -Previously, recipes by tradition included both SHA256 and MD5 checksums -for remotely fetched files in :term:`SRC_URI`, even -though only one is actually mandated. However, the MD5 checksum does not -add much given its inherent weakness; thus when a checksum fails only -the SHA256 sum will now be printed. The md5sum will still be verified if -it is specified. - -.. _migration-3.1-npm: - -npm fetcher changes -------------------- - -The npm fetcher has been completely reworked in this release. The npm -fetcher now only fetches the package source itself and no longer the -dependencies; there is now also an npmsw fetcher which explicitly -fetches the shrinkwrap file and the dependencies. This removes the -slightly awkward ``NPM_LOCKDOWN`` and ``NPM_SHRINKWRAP`` variables which -pointed to local files; the lockdown file is no longer needed at all. -Additionally, the package name in ``npm://`` entries in -:term:`SRC_URI` is now specified using a ``package`` -parameter instead of the earlier ``name`` which overlapped with the -generic ``name`` parameter. All recipes using the npm fetcher will need -to be changed as a result. - -An example of the new scheme:: - - SRC_URI = "npm://registry.npmjs.org;package=array-flatten;version=1.1.1 \ - npmsw://${THISDIR}/npm-shrinkwrap.json" - -Another example where the sources are fetched from git rather than an npm repository:: - - SRC_URI = "git://github.com/foo/bar.git;protocol=https \ - npmsw://${THISDIR}/npm-shrinkwrap.json" - -devtool and recipetool have also been updated to match with the npm -fetcher changes. Other than producing working and more complete recipes -for npm sources, there is also a minor change to the command line for -devtool: the ``--fetch-dev`` option has been renamed to ``--npm-dev`` as -it is npm-specific. - -.. _migration-3.1-packaging-changes: - -Packaging changes ------------------ - -- ``intltool`` has been removed from ``packagegroup-core-sdk`` as it is - rarely needed to build modern software - gettext can do most of the - things it used to be needed for. ``intltool`` has also been removed - from ``packagegroup-core-self-hosted`` as it is not needed to for - standard builds. - -- git: ``git-am``, ``git-difftool``, ``git-submodule``, and - ``git-request-pull`` are no longer perl-based, so are now installed - with the main ``git`` package instead of within ``git-perltools``. - -- The ``ldconfig`` binary built as part of glibc has now been moved to - its own ``ldconfig`` package (note no ``glibc-`` prefix). This - package is in the :term:`RRECOMMENDS` of the main - ``glibc`` package if ``ldconfig`` is present in - :term:`DISTRO_FEATURES`. - -- ``libevent`` now splits each shared library into its own package (as - Debian does). Since these are shared libraries and will be pulled in - through the normal shared library dependency handling, there should - be no impact to existing configurations other than less unnecessary - libraries being installed in some cases. - -- linux-firmware now has a new package for ``bcm4366c`` and includes - available NVRAM config files into the ``bcm43340``, ``bcm43362``, - ``bcm43430`` and ``bcm4356-pcie`` packages. - -- ``harfbuzz`` now splits the new ``libharfbuzz-subset.so`` library - into its own package to reduce the main package size in cases where - ``libharfbuzz-subset.so`` is not needed. - -.. _migration-3.1-package-qa-warnings: - -Additional warnings -------------------- - -Warnings will now be shown at ``do_package_qa`` time in the following -circumstances: - -- A recipe installs ``.desktop`` files containing ``MimeType`` keys but - does not inherit the new ``mime-xdg`` class - -- A recipe installs ``.xml`` files into ``${datadir}/mime/packages`` - but does not inherit the ``mime`` class - -.. _migration-3.1-x86-live-wic: - -``wic`` image type now used instead of ``live`` by default for x86 ------------------------------------------------------------------- - -``conf/machine/include/x86-base.inc`` (inherited by most x86 machine -configurations) now specifies ``wic`` instead of ``live`` by default in -:term:`IMAGE_FSTYPES`. The ``live`` image type will -likely be removed in a future release so it is recommended that you use -``wic`` instead. - -.. _migration-3.1-misc: - -Miscellaneous changes ---------------------- - -- The undocumented ``SRC_DISTRIBUTE_LICENSES`` variable has now been - removed in favour of a new ``AVAILABLE_LICENSES`` variable which is - dynamically set based upon license files found in - ``${COMMON_LICENSE_DIR}`` and ``${LICENSE_PATH}``. - -- The tune definition for big-endian microblaze machines is now - ``microblaze`` instead of ``microblazeeb``. - -- ``newlib`` no longer has built-in syscalls. ``libgloss`` should then - provide the syscalls, ``crt0.o`` and other functions that are no - longer part of ``newlib`` itself. If you are using - ``TCLIBC = "newlib"`` this now means that you must link applications - with both ``newlib`` and ``libgloss``, whereas before ``newlib`` - would run in many configurations by itself. diff --git a/poky/documentation/ref-manual/migration-3.2.rst b/poky/documentation/ref-manual/migration-3.2.rst deleted file mode 100644 index 956a56f62..000000000 --- a/poky/documentation/ref-manual/migration-3.2.rst +++ /dev/null @@ -1,313 +0,0 @@ -Moving to the Yocto Project 3.2 Release (gatesgarth) -==================================================== - -This section provides migration information for moving to the Yocto -Project 3.2 Release (codename "gatesgarth") from the prior release. - -.. _migration-3.2-minimum-system-requirements: - -Minimum system requirements ---------------------------- - -``gcc`` version 6.0 is now required at minimum on the build host. For older -host distributions where this is not available, you can use the -``buildtools-extended-tarball`` (easily installable using -``scripts/install-buildtools``). - - -.. _migration-3.2-removed-recipes: - -Removed recipes ---------------- - -The following recipes have been removed: - -- ``bjam-native``: replaced by ``boost-build-native`` -- ``avahi-ui``: folded into the main ``avahi`` recipe - the GTK UI can be disabled using :term:`PACKAGECONFIG` for ``avahi``. -- ``build-compare``: no longer needed with the removal of the ``packagefeed-stability`` class -- ``dhcp``: obsolete, functionally replaced by ``dhcpcd`` and ``kea`` -- ``libmodulemd-v1``: replaced by ``libmodulemd`` -- ``packagegroup-core-device-devel``: obsolete - - -.. _migration-3.2-removed-classes: - -Removed classes ---------------- - -The following classes (.bbclass files) have been removed: - -- ``spdx``: obsolete - the Yocto Project is a strong supporter of SPDX, but this class was old code using a dated approach and had the potential to be misleading. The ``meta-sdpxscanner`` layer is a much more modern and active approach to handling this and is recommended as a replacement. - -- ``packagefeed-stability``: this class had become obsolete with the advent of hash equivalence and reproducible builds. - - -pseudo path filtering and mismatch behaviour --------------------------------------------- - -pseudo now operates on a filtered subset of files. This is a significant change -to the way pseudo operates within OpenEmbedded - by default, pseudo monitors and -logs (adds to its database) any file created or modified whilst in a ``fakeroot`` -environment. However, there are large numbers of files that we simply don't care -about the permissions of whilst in that ``fakeroot`` context, for example ${:term:`S`}, ${:term:`B`}, ${:term:`T`}, -${:term:`SSTATE_DIR`}, the central sstate control directories, and others. - -As of this release, new functionality in pseudo is enabled to ignore these -directory trees (controlled using a new :term:`PSEUDO_IGNORE_PATHS` variable) -resulting in a cleaner database with less chance of "stray" mismatches if files -are modified outside pseudo context. It also should reduce some overhead from -pseudo as the interprocess round trip to the server is avoided. - -There is a possible complication where some existing recipe may break, for -example, a recipe was found to be writing to ``${B}/install`` for -``make install`` in ``do_install`` and since ``${B}`` is listed as not to be tracked, -there were errors trying to ``chown root`` for files in this location. Another -example was the ``tcl`` recipe where the source directory ``S`` is set to a -subdirectory of the source tree but files were written out to the directory -structure above that subdirectory. For these types of cases in your own recipes, -extend ``PSEUDO_IGNORE_PATHS`` to cover additional paths that pseudo should not -be monitoring. - -In addition, pseudo's behaviour on mismatches has now been changed - rather -than doing what turns out to be a rather dangerous "fixup" if it sees a file -with a different path but the same inode as another file it has previously seen, -pseudo will throw an ``abort()`` and direct you to a :yocto_wiki:`wiki page ` -that explains how to deal with this. - - -.. _migration-3.2-multilib-mlprefix: - -``MLPREFIX`` now required for multilib when runtime dependencies conditionally added ------------------------------------------------------------------------------------- - -In order to solve some previously intractable problems with runtime -dependencies and multilib, a change was made that now requires the :term:`MLPREFIX` -value to be explicitly prepended to package names being added as -dependencies (e.g. in :term:`RDEPENDS` and :term:`RRECOMMENDS` values) -where the dependency is conditionally added. - -If you have anonymous python or in-line python conditionally adding -dependencies in your custom recipes, and you intend for those recipes to -work with multilib, then you will need to ensure that ``${MLPREFIX}`` -is prefixed on the package names in the dependencies, for example -(from the ``glibc`` recipe):: - - RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}" - -This also applies when conditionally adding packages to :term:`PACKAGES` where -those packages have dependencies, for example (from the ``alsa-plugins`` recipe):: - - PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" - ... - RDEPENDS_${PN}-pulseaudio-conf += "\ - ${MLPREFIX}libasound-module-conf-pulse \ - ${MLPREFIX}libasound-module-ctl-pulse \ - ${MLPREFIX}libasound-module-pcm-pulse \ - " - - -.. _migration-3.2-packagegroup-core-device-devel: - -packagegroup-core-device-devel no longer included in images built for qemu* machines ------------------------------------------------------------------------------------- - -``packagegroup-core-device-devel`` was previously added automatically to -images built for ``qemu*`` machines, however the purpose of the group and what -it should contain is no longer clear, and in general, adding userspace -development items to images is best done at the image/class level; thus this -packagegroup was removed. - -This packagegroup previously pulled in the following: - -- ``distcc-config`` -- ``nfs-export-root`` -- ``bash`` -- ``binutils-symlinks`` - -If you still need any of these in your image built for a ``qemu*`` machine -then you will add them explicitly to :term:`IMAGE_INSTALL` or another -appropriate place in the dependency chain for your image (if you have not -already done so). - - -.. _migration-3.2-dhcp: - -DHCP server/client replaced ---------------------------- - -The ``dhcp`` software package has become unmaintained and thus has been -functionally replaced by ``dhcpcd`` (client) and ``kea`` (server). You will -need to replace references to the recipe/package names as appropriate - most -commonly, at the package level ``dhcp-client`` should be replaced by -``dhcpcd`` and ``dhcp-server`` should be replaced by ``kea``. If you have any -custom configuration files for these they will need to be adapted - refer to -the upstream documentation for ``dhcpcd`` and ``kea`` for further details. - - -.. _migration-3.2-packaging-changes: - -Packaging changes ------------------ - -- ``python3``: the ``urllib`` python package has now moved into the core package, as it is used more commonly than just netclient (e.g. email, xml, mimetypes, pydoc). In addition, the ``pathlib`` module is now also part of the core package. - -- ``iptables``: ``iptables-apply`` and ``ip6tables-apply`` have been split out to their own package to avoid a bash dependency in the main ``iptables`` package - - -.. _migration-3.2-package-qa-checks: - -Package QA check changes ------------------------- - -Previously, the following package QA checks triggered warnings, however they can -be indicators of genuine underlying problems and are therefore now treated as -errors: - -- :ref:`already-stripped ` -- :ref:`compile-host-path ` -- :ref:`installed-vs-shipped ` -- :ref:`ldflags ` -- :ref:`pn-overrides ` -- :ref:`rpaths ` -- :ref:`staticdev ` -- :ref:`unknown-configure-option ` -- :ref:`useless-rpaths ` - -In addition, the following new checks were added and default to triggering an error: - -- :ref:`shebang-size `: Check for shebang (#!) lines longer than 128 characters, which can give an error at runtime depending on the operating system. - -- :ref:`unhandled-features-check `: Check if any of the variables supported by the :ref:`features_check ` class is set while not inheriting the class itself. - -- :ref:`missing-update-alternatives `: Check if the recipe sets the :term:`ALTERNATIVE` variable for any of its packages, and does not inherit the :ref:`update-alternatives ` class. - -- A trailing slash or duplicated slashes in the value of :term:`S` or :term:`B` will now trigger a warning so that they can be removed and path comparisons can be more reliable - remove any instances of these in your recipes if the warning is displayed. - - -.. _migration-3.2-src-uri-file-globbing: - -Globbing no longer supported in ``file://`` entries in ``SRC_URI`` ------------------------------------------------------------------- - -Globbing (``*`` and ``?`` wildcards) in ``file://`` URLs within :term:`SRC_URI` -did not properly support file checksums, thus changes to the source files -would not always change the do_fetch task checksum, and consequently would -not ensure that the changed files would be incorporated in subsequent builds. - -Unfortunately it is not practical to make globbing work generically here, so -the decision was taken to remove support for globs in ``file://`` URLs. -If you have any usage of these in your recipes, then you will now need to -either add each of the files that you expect to match explicitly, or -alternatively if you still need files to be pulled in dynamically, put the -files into a subdirectory and reference that instead. - - -.. _migration-3.2-deploydir-clean: - -deploy class now cleans ``DEPLOYDIR`` before ``do_deploy`` ----------------------------------------------------------- - -``do_deploy`` as implemented in the :ref:`deploy ` class now cleans up ${:term:`DEPLOYDIR`} before running, just as ``do_install`` cleans up ${:term:`D`} before running. This reduces the risk of ``DEPLOYDIR`` being accidentally contaminated by files from previous runs, possibly even with different config, in case of incremental builds. - -Most recipes and classes that inherit the ``deploy`` class or interact with ``do_deploy`` are unlikely to be affected by this unless they add ``prefuncs`` to ``do_deploy`` *which also* put files into ``${DEPLOYDIR}`` - these should be refactored to use ``do_deploy_prepend`` instead. - - -.. _migration-3.2-nativesdk-sdk-provides-dummy: - -Custom SDK / SDK-style recipes need to include ``nativesdk-sdk-provides-dummy`` -------------------------------------------------------------------------------- - -All ``nativesdk`` packages require ``/bin/sh`` due to their postinstall scriptlets, thus this package has to be dummy-provided within the SDK and ``nativesdk-sdk-provides-dummy`` now does this. If you have a custom SDK recipe (or your own SDK-style recipe similar to e.g. ``buildtools-tarball``), you will need to ensure ``nativesdk-sdk-provides-dummy`` or an equivalent is included in :term:`TOOLCHAIN_HOST_TASK`. - - -``ld.so.conf`` now moved back to main ``glibc`` package -------------------------------------------------------- - -There are cases where one doesn't want ``ldconfig`` on target (e.g. for -read-only root filesystems, it's rather pointless), yet one still -needs ``/etc/ld.so.conf`` to be present at image build time: - -When some recipe installs libraries to a non-standard location, and -therefore installs in a file in ``/etc/ld.so.conf.d/foo.conf``, we -need ``/etc/ld.so.conf`` containing:: - - include /etc/ld.so.conf.d/*.conf - -in order to get those other locations picked up. - -Thus ``/etc/ld.so.conf`` is now in the main ``glibc`` package so that -there's always an ``ld.so.conf`` present when the build-time ``ldconfig`` -runs towards the end of image construction. - -The ``ld.so.conf`` and ``ld.so.conf.d/*.conf`` files do not take up -significant space (at least not compared to the ~700kB ``ldconfig`` binary), and they -might be needed in case ``ldconfig`` is installable, so they are left -in place after the image is built. Technically it would be possible to -remove them if desired, though it would not be trivial if you still -wanted the build-time ldconfig to function (:term:`ROOTFS_POSTPROCESS_COMMAND` -will not work as ``ldconfig`` is run after the functions referred to -by that variable). - - -.. _migration-3.2-virgl: - -Host DRI drivers now used for GL support within ``runqemu`` ------------------------------------------------------------ - -``runqemu`` now uses the mesa-native libraries everywhere virgl is used -(i.e. when ``gl``, ``gl-es`` or ``egl-headless`` options are specified), -but instructs them to load DRI drivers from the host. Unfortunately this -may not work well with proprietary graphics drivers such as those from -Nvidia; if you are using such drivers then you may need to switch to an -alternative (such as Nouveau in the case of Nvidia hardware) or avoid -using the GL options. - - -.. _migration-3.2-initramfs-suffix: - -initramfs images now use a blank suffix ---------------------------------------- - -The reference initramfs images (``core-image-minimal-initramfs``, -``core-image-tiny-initramfs`` and ``core-image-testmaster-initramfs``) now -set an empty string for :term:`IMAGE_NAME_SUFFIX`, which otherwise defaults -to ``".rootfs"``. These images aren't root filesystems and thus the rootfs -label didn't make sense. If you are looking for the output files generated -by these image recipes directly then you will need to adapt to the new -naming without the ``.rootfs`` part. - - -.. _migration-3.2-image-artifact-names: - -Image artifact name variables now centralised in image-artifact-names class ---------------------------------------------------------------------------- - -The defaults for the following image artifact name variables have been moved -from bitbake.conf to a new ``image-artifact-names`` class: - -- :term:`IMAGE_BASENAME` -- :term:`IMAGE_LINK_NAME` -- :term:`IMAGE_NAME` -- :term:`IMAGE_NAME_SUFFIX` -- :term:`IMAGE_VERSION_SUFFIX` - -Image-related classes now inherit this class, and typically these variables -are only referenced within image recipes so those will be unaffected by this -change. However if you have references to these variables in either a recipe -that is not an image or a class that is enabled globally, then those will -now need to be changed to ``inherit image-artifact-names``. - - -.. _migration-3.2-misc: - -Miscellaneous changes ---------------------- - -- Support for the long-deprecated ``PACKAGE_GROUP`` variable has now been removed - replace any remaining instances with :term:`FEATURE_PACKAGES`. -- The ``FILESPATHPKG`` variable, having been previously deprecated, has now been removed. Replace any remaining references with appropriate use of :term:`FILESEXTRAPATHS`. -- Erroneous use of ``inherit +=`` (instead of ``INHERIT +=``) in a configuration file now triggers an error instead of silently being ignored. -- ptest support has been removed from the ``kbd`` recipe, as upstream has moved to autotest which is difficult to work with in a cross-compilation environment. -- ``oe.utils.is_machine_specific()`` and ``oe.utils.machine_paths()`` have been removed as their utility was questionable. In the unlikely event that you have references to these in your own code, then the code will need to be reworked. -- The ``i2ctransfer`` module is now disabled by default when building ``busybox`` in order to be consistent with disabling the other i2c tools there. If you do wish the i2ctransfer module to be built in BusyBox then add ``CONFIG_I2CTRANSFER=y`` to your custom BusyBox configuration. -- In the ``Upstream-Status`` header convention for patches, ``Accepted`` has been replaced with ``Backport`` as these almost always mean the same thing i.e. the patch is already upstream and may need to be removed in a future recipe upgrade. If you are adding these headers to your own patches then use ``Backport`` to indicate that the patch has been sent upstream. -- The ``tune-supersparc.inc`` tune file has been removed as it does not appear to be widely used and no longer works. diff --git a/poky/documentation/ref-manual/migration-3.3.rst b/poky/documentation/ref-manual/migration-3.3.rst deleted file mode 100644 index 4fb51a39d..000000000 --- a/poky/documentation/ref-manual/migration-3.3.rst +++ /dev/null @@ -1,168 +0,0 @@ -Moving to the Yocto Project 3.3 Release (hardknott) -=================================================== - -This section provides migration information for moving to the Yocto -Project 3.3 Release (codename "hardknott") from the prior release. - - -.. _migration-3.3-minimum-system-requirements: - -Minimum system requirements ---------------------------- - -You will now need at least Python 3.6 installed on your build host. Most recent -distributions provide this, but should you be building on a distribution that -does not have it, you can use the ``buildtools-tarball`` (easily installable -using ``scripts/install-buildtools``) - see -:ref:`ref-manual/system-requirements:required git, tar, python and gcc versions` -for details. - - -.. _migration-3.3-removed-recipes: - -Removed recipes ---------------- - -The following recipes have been removed: - -- ``go-dep``: obsolete with the advent of go modules -- ``gst-validate``: replaced by ``gst-devtools`` -- ``linux-yocto``: removed 5.8 version recipes (5.4 / 5.10 still provided) -- ``vulkan-demos``: replaced by ``vulkan-samples`` - - -.. _migration-3.3-common-license-only-versions: - -Single version common license file naming ------------------------------------------ - -Some license files in ``meta/files/common-licenses`` have been renamed to match -current SPDX naming conventions: - -- AGPL-3.0 -> AGPL-3.0-only -- GPL-1.0 -> GPL-1.0-only -- GPL-2.0 -> GPL-2.0-only -- GPL-3.0 -> GPL-3.0-only -- LGPL-2.0 -> LGPL-2.0-only -- LGPL-2.1 -> LGPL-2.1-only -- LGPL-3.0 -> LGPL-3.0-only - -Additionally, corresponding "-or-later" suffixed files have been added e.g. -``GPL-2.0-or-later``. - -It is not required that you change :term:`LICENSE` values as there are mappings -from the original names in place; however, in rare cases where you have a recipe -which sets :term:`LIC_FILES_CHKSUM` to point to file(s) in -``meta/files/common-licenses`` (which in any case is not recommended) you will -need to update those. - - -.. _migration-3.3-python3targetconfig: - -New ``python3targetconfig`` class ---------------------------------- - -A new :ref:`python3targetconfig ` class has been -created for situations where you would previously have inherited the -``python3native`` class but need access to target configuration data (such as -correct installation directories). Recipes where this situation applies should -be changed to inherit ``python3targetconfig`` instead of ``python3native``. This -also adds a dependency on target ``python3``, so it should only be used where -appropriate in order to avoid unnecessarily lengthening builds. - -Some example recipes where this change has been made: ``gpgme``, ``libcap-ng``, -``python3-pycairo``. - - -.. _migration-3.3-distutils-path: - -``setup.py`` path for python modules ------------------------------------- - -In a Python module, sometimes ``setup.py`` can be buried deep in the -source tree. Previously this was handled in recipes by setting :term:`S` to -point to the subdirectory within the source where ``setup.py`` is located. -However with the recent :ref:`pseudo ` -changes, some Python modules make changes to files beneath ``${S}``, for -example:: - - S = "${WORKDIR}/git/python/pythonmodule" - -then in ``setup.py`` it works with source code in a relative fashion, such -as ``../../src``. This causes pseudo to abort as it isn't able to track -the paths properly. This release introduces a new :term:`DISTUTILS_SETUP_PATH` -variable so that recipes can specify it explicitly, for example:: - - S = "${WORKDIR}/git" - DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule" - -Recipes that inherit from :ref:`distutils3 ` (or -:ref:`setuptools3 ` which itself inherits -:ref:`distutils3 `) that also set :term:`S` to -point to a Python module within a subdirectory in the aforementioned -manner should be changed to set :term:`DISTUTILS_SETUP_PATH` instead. - - -.. _migration-3.3-bitbake: - -BitBake changes ---------------- - -- BitBake is now configured to use a default ``umask`` of ``022`` for all tasks - (specified via a new :term:`BB_DEFAULT_UMASK` variable). If needed, ``umask`` can - still be set on a per-task basis via the ``umask`` varflag on the task - function, but that is unlikely to be necessary in most cases. - -- If a version specified in :term:`PREFERRED_VERSION` is not available this - will now trigger a warning instead of just a note, making such issues more - visible. - - -.. _migration-3.3-packaging: - -Packaging changes ------------------ - -The following packaging changes have been made; in all cases the main package -still depends upon the split out packages so you should not need to do anything -unless you want to take advantage of the improved granularity: - -- ``dbus``: ``-common`` and ``-tools`` split out -- ``iproute2``: split ``ip`` binary to its own package -- ``net-tools``: split ``mii-tool`` into its own package -- ``procps``: split ``ps`` and ``sysctl`` into their own packages -- ``rpm``: split build and extra functionality into separate packages -- ``sudo``: split ``sudo`` binary into ``sudo-sudo`` and libs into ``sudo-lib`` -- ``systemtap``: examples, python scripts and runtime material split out -- ``util-linux``: ``libuuid`` has been split out to its own - ``util-linux-libuuid`` recipe (and corresponding packages) to avoid circular - dependencies if ``libgcrypt`` support is enabled in ``util-linux``. - (``util-linux`` depends upon ``util-linux-libuuid``.) - - -.. _migration-3.3-misc: - -Miscellaneous changes ---------------------- - -- The default poky :term:`DISTRO_VERSION` value now uses the core metadata's - git hash (i.e. :term:`METADATA_REVISION`) rather than the date (i.e. - :term:`DATE`) to reduce one small source of non-reproducibility. You can - of course specify your own :term:`DISTRO_VERSION` value as desired - (particularly if you create your own custom distro configuration). -- ``adwaita-icon-theme`` version 3.34.3 has been added back, and is selected - as the default via :term:`PREFERRED_VERSION` in - ``meta/conf/distro/include/default-versions.inc`` due to newer versions - not working well with ``librsvg`` 2.40. ``librsvg`` is not practically - upgradeable at the moment as it has been ported to Rust, and Rust is not - (yet) in OE-Core, but this will change in a future release. -- ``ffmpeg`` is now configured to disable GPL-licensed portions by default - to make it harder to accidentally violate the GPL. To explicitly enable GPL - licensed portions, add ``gpl`` to :term:`PACKAGECONFIG` for ``ffmpeg`` - using a bbappend (or use ``PACKAGECONFIG_append_pn-ffmpeg = " gpl"`` in - your configuration.) -- ``connman`` is now set to conflict with ``systemd-networkd`` as they - overlap functionally and may interfere with each other at runtime. -- Canonical SPDX license names are now used in image license manifests in - order to avoid aliases of the same license from showing up together (e.g. - ``GPLv2`` and ``GPL-2.0``) diff --git a/poky/documentation/ref-manual/migration-general.rst b/poky/documentation/ref-manual/migration-general.rst deleted file mode 100644 index 182482ec4..000000000 --- a/poky/documentation/ref-manual/migration-general.rst +++ /dev/null @@ -1,54 +0,0 @@ -General Migration Considerations -================================ - -Some considerations are not tied to a specific Yocto Project release. -This section presents information you should consider when migrating to -any new Yocto Project release. - -- *Dealing with Customized Recipes*: - - Issues could arise if you take - older recipes that contain customizations and simply copy them - forward expecting them to work after you migrate to new Yocto Project - metadata. For example, suppose you have a recipe in your layer that - is a customized version of a core recipe copied from the earlier - release, rather than through the use of an append file. When you - migrate to a newer version of Yocto Project, the metadata (e.g. - perhaps an include file used by the recipe) could have changed in a - way that would break the build. Say, for example, a function is - removed from an include file and the customized recipe tries to call - that function. - - You could "forward-port" all your customizations in your recipe so - that everything works for the new release. However, this is not the - optimal solution as you would have to repeat this process with each - new release if changes occur that give rise to problems. - - The better solution (where practical) is to use append files - (``*.bbappend``) to capture any customizations you want to make to a - recipe. Doing so, isolates your changes from the main recipe making - them much more manageable. However, sometimes it is not practical to - use an append file. A good example of this is when introducing a - newer or older version of a recipe in another layer. - -- *Updating Append Files*: - - Since append files generally only contain - your customizations, they often do not need to be adjusted for new - releases. However, if the ``.bbappend`` file is specific to a - particular version of the recipe (i.e. its name does not use the % - wildcard) and the version of the recipe to which it is appending has - changed, then you will at a minimum need to rename the append file to - match the name of the recipe file. A mismatch between an append file - and its corresponding recipe file (``.bb``) will trigger an error - during parsing. - - Depending on the type of customization the append file applies, other - incompatibilities might occur when you upgrade. For example, if your - append file applies a patch and the recipe to which it is appending - is updated to a newer version, the patch might no longer apply. If - this is the case and assuming the patch is still needed, you must - modify the patch file so that it does apply. - - - diff --git a/poky/documentation/ref-manual/migration.rst b/poky/documentation/ref-manual/migration.rst deleted file mode 100644 index a01d4ee14..000000000 --- a/poky/documentation/ref-manual/migration.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. SPDX-License-Identifier: CC-BY-SA-2.0-UK - -****************************************** -Migrating to a Newer Yocto Project Release -****************************************** - -This chapter provides information you can use to migrate work to a newer -Yocto Project release. You can find the same information in the release -notes for a given release. - -.. toctree:: - - migration-general - migration-1.3 - migration-1.4 - migration-1.5 - migration-1.6 - migration-1.7 - migration-1.8 - migration-2.0 - migration-2.1 - migration-2.2 - migration-2.3 - migration-2.4 - migration-2.5 - migration-2.6 - migration-2.7 - migration-3.0 - migration-3.1 - migration-3.2 - migration-3.3 - diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst index 2e98713a2..a105acc2c 100644 --- a/poky/documentation/ref-manual/qa-checks.rst +++ b/poky/documentation/ref-manual/qa-checks.rst @@ -88,7 +88,7 @@ Errors and Warnings A file-level dependency has been identified from the specified package on the specified files, but there is no explicit corresponding entry in :term:`RDEPENDS`. If - particular files are required at runtime then ``RDEPENDS`` should be + particular files are required at runtime then :term:`RDEPENDS` should be declared in the recipe to ensure the packages providing them are built. @@ -104,7 +104,7 @@ Errors and Warnings :term:`RDEPENDS` value being added at the packaging stage rather than up front, which is usually automatic based on the contents of the package. In most cases, you should change the recipe - to add an explicit ``RDEPENDS`` for the dependency. + to add an explicit :term:`RDEPENDS` for the dependency.   .. _qa-check-dev-so: @@ -152,7 +152,7 @@ Errors and Warnings not explicitly add the ``.debug`` directory to the ``-dbg`` package. If this is the case, add the ``.debug`` directory explicitly to ``FILES_${PN}-dbg``. See :term:`FILES` for additional - information on ``FILES``. + information on :term:`FILES`.   .. _qa-check-arch: @@ -235,9 +235,9 @@ Errors and Warnings This indicates that binaries produced when building the recipe have not been linked with the :term:`LDFLAGS` options - provided by the build system. Check to be sure that the ``LDFLAGS`` + provided by the build system. Check to be sure that the :term:`LDFLAGS` variable is being passed to the linker command. A common workaround - for this situation is to pass in ``LDFLAGS`` using + for this situation is to pass in :term:`LDFLAGS` using :term:`TARGET_CC_ARCH` within the recipe as follows:: @@ -403,7 +403,7 @@ Errors and Warnings If your recipe name does not match this, or you add packages to :term:`PACKAGES` that do not conform to the convention, then you will receive this error. Rename your recipe. Or, - if you have added a non-conforming package name to ``PACKAGES``, + if you have added a non-conforming package name to :term:`PACKAGES`, change the package name appropriately.   @@ -431,13 +431,13 @@ Errors and Warnings The specified recipe has a name (:term:`PN`) value that appears in :term:`OVERRIDES`. If a recipe is named - such that its ``PN`` value matches something already in ``OVERRIDES`` - (e.g. ``PN`` happens to be the same as :term:`MACHINE` + such that its :term:`PN` value matches something already in :term:`OVERRIDES` + (e.g. :term:`PN` happens to be the same as :term:`MACHINE` or :term:`DISTRO`), it can have unexpected consequences. For example, assignments such as ``FILES_${PN} = "xyz"`` effectively turn into ``FILES = "xyz"``. - Rename your recipe (or if ``PN`` is being set explicitly, change the - ``PN`` value) so that the conflict does not occur. See + Rename your recipe (or if :term:`PN` is being set explicitly, change the + :term:`PN` value) so that the conflict does not occur. See :term:`FILES` for additional information.   @@ -464,7 +464,7 @@ Errors and Warnings This check looks for instances of setting ``DEPENDS_${PN}`` which is erroneous (:term:`DEPENDS` is a recipe-wide variable and thus it is not correct to specify it for a particular package, nor will such - an assignment actually work.) Set ``DEPENDS`` instead. + an assignment actually work.) Set :term:`DEPENDS` instead. .. _qa-check-already-stripped: @@ -499,7 +499,7 @@ Errors and Warnings Package names must appear only once in the :term:`PACKAGES` variable. You might receive this - error if you are attempting to add a package to ``PACKAGES`` that is + error if you are attempting to add a package to :term:`PACKAGES` that is already in the variable's value.   @@ -523,7 +523,7 @@ Errors and Warnings in an image later on in the build process. You need to do one of the following: - - Add the files to ``FILES`` for the package you want them to appear + - Add the files to :term:`FILES` for the package you want them to appear in (e.g. ``FILES_${``\ :term:`PN`\ ``}`` for the main package). diff --git a/poky/documentation/ref-manual/release-process.rst b/poky/documentation/ref-manual/release-process.rst index 935a2e39b..ab143f7df 100644 --- a/poky/documentation/ref-manual/release-process.rst +++ b/poky/documentation/ref-manual/release-process.rst @@ -62,8 +62,10 @@ codename are likely to be compatible and thus work together. Releases are given a nominal release version as well but the codename is used in repositories for this reason. You can find information on Yocto -Project releases and codenames at -:yocto_wiki:`/Releases`. +Project releases and codenames at :yocto_wiki:`/Releases`. + +Our :doc:`/migration-guides/index` detail how to migrate from one release of +the Yocto Project to the next. Stable Release Process ====================== @@ -164,9 +166,8 @@ repository. .. note:: - You can find all these branches in the Yocto Project - Source Repositories - . + You can find all these branches in the + :ref:`overview-manual/development-environment:yocto project source repositories`. Testing within these public branches ensures in a publicly visible way that all of the main supposed architectures and recipes in OE-Core diff --git a/poky/documentation/ref-manual/structure.rst b/poky/documentation/ref-manual/structure.rst index 36c9efc1e..5f00edb06 100644 --- a/poky/documentation/ref-manual/structure.rst +++ b/poky/documentation/ref-manual/structure.rst @@ -251,9 +251,9 @@ variables are hard-coded for various reasons but such variables are relatively rare. At a minimum, you would normally edit this file to select the target -``MACHINE``, which package types you wish to use +:term:`MACHINE`, which package types you wish to use (:term:`PACKAGE_CLASSES`), and the location from -which you want to access downloaded files (``DL_DIR``). +which you want to access downloaded files (:term:`DL_DIR`). If ``local.conf`` is not present when you start the build, the OpenEmbedded build system creates it from ``local.conf.sample`` when you @@ -336,7 +336,7 @@ the build. This directory contains downloaded upstream source tarballs. You can reuse the directory for multiple builds or move the directory to another location. You can control the location of this directory through the -``DL_DIR`` variable. +:term:`DL_DIR` variable. .. _structure-build-sstate-cache: @@ -346,7 +346,7 @@ location. You can control the location of this directory through the This directory contains the shared state cache. You can reuse the directory for multiple builds or move the directory to another location. You can control the location of this directory through the -``SSTATE_DIR`` variable. +:term:`SSTATE_DIR` variable. .. _structure-build-tmp: @@ -548,7 +548,7 @@ section in the Yocto Project Overview and Concepts Manual. ------------------ This directory contains general logs that are not otherwise placed using -the package's ``WORKDIR``. Examples of logs are the output from the +the package's :term:`WORKDIR`. Examples of logs are the output from the ``do_check_pkg`` or ``do_distro_check`` tasks. Running a build does not necessarily mean this directory is created. @@ -569,7 +569,7 @@ It is worth considering the structure of a typical work directory. As an example, consider ``linux-yocto-kernel-3.0`` on the machine ``qemux86`` built within the Yocto Project. For this package, a work directory of ``tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+<.....>``, referred -to as the ``WORKDIR``, is created. Within this directory, the source is +to as the :term:`WORKDIR`, is created. Within this directory, the source is unpacked to ``linux-qemux86-standard-build`` and then patched by Quilt. (See the ":ref:`dev-manual/common-tasks:using quilt in your workflow`" section in the Yocto Project Development Tasks Manual for more information.) Within @@ -577,7 +577,7 @@ the ``linux-qemux86-standard-build`` directory, standard Quilt directories ``linux-3.0/patches`` and ``linux-3.0/.pc`` are created, and standard Quilt commands can be used. -There are other directories generated within ``WORKDIR``. The most +There are other directories generated within :term:`WORKDIR`. The most important directory is ``WORKDIR/temp/``, which has log files for each task (``log.do_*.pid``) and contains the scripts BitBake runs for each task (``run.do_*.pid``). The ``WORKDIR/image/`` directory is where "make @@ -709,7 +709,7 @@ support for a new machine to the Yocto Project, look in this directory. The contents of this directory controls any distribution-specific configurations. For the Yocto Project, the ``defaultsetup.conf`` is the -main file here. This directory includes the versions and the ``SRCDATE`` +main file here. This directory includes the versions and the :term:`SRCDATE` definitions for applications that are configured here. An example of an alternative configuration might be ``poky-bleeding.conf``. Although this file mainly inherits its configuration from Poky. diff --git a/poky/documentation/ref-manual/tasks.rst b/poky/documentation/ref-manual/tasks.rst index 5bceb79b8..970b08394 100644 --- a/poky/documentation/ref-manual/tasks.rst +++ b/poky/documentation/ref-manual/tasks.rst @@ -57,7 +57,7 @@ the current working directory set to ``${``\ :term:`B`\ ``}``. The default behavior of this task is to run ``oe_runmake clean`` if a makefile (``Makefile``, ``makefile``, or ``GNUmakefile``) is found and :term:`CLEANBROKEN` is not set to "1". If no such -file is found or the ``CLEANBROKEN`` variable is set to "1", the +file is found or the :term:`CLEANBROKEN` variable is set to "1", the ``do_configure`` task does nothing. .. _ref-tasks-configure_ptest_base: @@ -308,17 +308,17 @@ This recipe has two patch files located here:: poky/meta/recipes-connectivity/bluez5/bluez5 -In the ``bluez5`` recipe, the ``SRC_URI`` statements point to the source +In the ``bluez5`` recipe, the :term:`SRC_URI` statements point to the source and patch files needed to build the package. .. note:: - In the case for the ``bluez5_5.48.bb`` recipe, the ``SRC_URI`` statements + In the case for the ``bluez5_5.48.bb`` recipe, the :term:`SRC_URI` statements are from an include file ``bluez5.inc``. As mentioned earlier, the build system treats files whose file types are ``.patch`` and ``.diff`` as patch files. However, you can use the -"apply=yes" parameter with the ``SRC_URI`` statement to indicate any +"apply=yes" parameter with the :term:`SRC_URI` statement to indicate any file as a patch file:: SRC_URI = " \ @@ -329,7 +329,7 @@ file as a patch file:: Conversely, if you have a directory full of patch files and you want to exclude some so that the ``do_patch`` task does not apply them during the patch phase, you can use the "apply=no" parameter with the -``SRC_URI`` statement:: +:term:`SRC_URI` statement:: SRC_URI = " \ git://path_to_repo/some_package \ @@ -430,7 +430,7 @@ variable also plays a role in where unpacked source files ultimately reside. For more information on how source files are unpacked, see the ":ref:`overview-manual/concepts:source fetching`" section in the Yocto Project Overview and Concepts Manual and also see -the ``WORKDIR`` and ``S`` variable descriptions. +the :term:`WORKDIR` and :term:`S` variable descriptions. Manually Called Tasks ===================== diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst index 0af9af648..54469e507 100644 --- a/poky/documentation/ref-manual/terms.rst +++ b/poky/documentation/ref-manual/terms.rst @@ -97,11 +97,11 @@ universal, the list includes them just in case: .. note:: By default, the Build Directory contains :term:`TMPDIR`, which is a - temporary directory the build system uses for its work. ``TMPDIR`` cannot + temporary directory the build system uses for its work. :term:`TMPDIR` cannot be under NFS. Thus, by default, the Build Directory cannot be under NFS. However, if you need the Build Directory to be under NFS, you can - set this up by setting ``TMPDIR`` in your ``local.conf`` file to use a local - drive. Doing so effectively separates ``TMPDIR`` from :term:`TOPDIR`, which is the + set this up by setting :term:`TMPDIR` in your ``local.conf`` file to use a local + drive. Doing so effectively separates :term:`TMPDIR` from :term:`TOPDIR`, which is the Build Directory. :term:`Build Host` diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst index df6413b68..71c2e11d9 100644 --- a/poky/documentation/ref-manual/variables.rst +++ b/poky/documentation/ref-manual/variables.rst @@ -63,7 +63,7 @@ system and gives an overview of their function and contents. Used by the alternatives system to map duplicated commands to actual locations. For example, if the ``bracket`` command provided by the ``busybox`` package is duplicated through another package, you must - use the ``ALTERNATIVE_LINK_NAME`` variable to specify the actual + use the :term:`ALTERNATIVE_LINK_NAME` variable to specify the actual location:: ALTERNATIVE_LINK_NAME[bracket] = "/usr/bin/[" @@ -73,7 +73,7 @@ system and gives an overview of their function and contents. .. note:: - If ``ALTERNATIVE_LINK_NAME`` is not defined, it defaults to ``${bindir}/name``. + If :term:`ALTERNATIVE_LINK_NAME` is not defined, it defaults to ``${bindir}/name``. For more information on the alternatives system, see the ":ref:`update-alternatives.bbclass `" @@ -109,11 +109,11 @@ system and gives an overview of their function and contents. .. note:: - If ``ALTERNATIVE_TARGET`` is not defined, it inherits the value + If :term:`ALTERNATIVE_TARGET` is not defined, it inherits the value from the :term:`ALTERNATIVE_LINK_NAME` variable. - If ``ALTERNATIVE_LINK_NAME`` and ``ALTERNATIVE_TARGET`` are the - same, the target for ``ALTERNATIVE_TARGET`` has "``.{BPN}``" + If :term:`ALTERNATIVE_LINK_NAME` and :term:`ALTERNATIVE_TARGET` are the + same, the target for :term:`ALTERNATIVE_TARGET` has "``.{BPN}``" appended to it. Finally, if the file referenced has not been renamed, the @@ -131,8 +131,8 @@ system and gives an overview of their function and contents. class, this variable identifies a list of distribution features where at least one must be enabled in the current configuration in order for the OpenEmbedded build system to build the recipe. In other words, - if none of the features listed in ``ANY_OF_DISTRO_FEATURES`` - appear in ``DISTRO_FEATURES`` within the current configuration, then + if none of the features listed in :term:`ANY_OF_DISTRO_FEATURES` + appear in :term:`DISTRO_FEATURES` within the current configuration, then the recipe will be skipped, and if the build system attempts to build the recipe then an error will be triggered. @@ -174,7 +174,7 @@ system and gives an overview of their function and contents. attempt to build. Instead, BitBake assumes these recipes have already been built. - In OpenEmbedded-Core, ``ASSUME_PROVIDED`` mostly specifies native + In OpenEmbedded-Core, :term:`ASSUME_PROVIDED` mostly specifies native tools that should not be built. An example is ``git-native``, which when specified, allows for the Git binary from the host to be used rather than building ``git-native``. @@ -200,7 +200,7 @@ system and gives an overview of their function and contents. :term:`AUTO_LIBNAME_PKGS` When the :ref:`debian ` class is inherited, - which is the default behavior, ``AUTO_LIBNAME_PKGS`` specifies which + which is the default behavior, :term:`AUTO_LIBNAME_PKGS` specifies which packages should be checked for libraries and renamed according to Debian library package naming. @@ -213,7 +213,7 @@ system and gives an overview of their function and contents. :ref:`syslinux ` class checks this variable. :term:`AUTOREV` - When ``SRCREV`` is set to the value of this variable, it specifies to + When :term:`SRCREV` is set to the value of this variable, it specifies to use the latest source revision in the repository. Here is an example:: SRCREV = "${AUTOREV}" @@ -224,7 +224,7 @@ system and gives an overview of their function and contents. have a kernel recipe that inherits the :ref:`kernel ` class and you use the previous statement. In this example, ``${SRCPV}`` does not automatically get - into ``PV``. Consequently, you need to change ``PV`` in your recipe + into :term:`PV`. Consequently, you need to change :term:`PV` in your recipe so that it does contain ``${SRCPV}``. For more information see the @@ -238,8 +238,8 @@ system and gives an overview of their function and contents. .. note:: - It is assumed that all changes to ``COMMON_LICENSE_DIR`` and - ``LICENSE_PATH`` have been done before ``AVAILABLE_LICENSES`` + It is assumed that all changes to :term:`COMMON_LICENSE_DIR` and + :term:`LICENSE_PATH` have been done before :term:`AVAILABLE_LICENSES` is defined (in :ref:`ref-classes-license`). :term:`AVAILTUNES` @@ -279,7 +279,7 @@ system and gives an overview of their function and contents. S = "${WORKDIR}/${BP}" - You can separate the (``S``) directory and the directory pointed to + You can separate the (:term:`S`) directory and the directory pointed to by the ``B`` variable. Most Autotools-based recipes support separating these directories. The build system defaults to using separate directories for ``gcc`` and some kernel recipes. @@ -289,7 +289,7 @@ system and gives an overview of their function and contents. packages are packages installed only through the :term:`RRECOMMENDS` variable. You can prevent any of these "recommended" packages from being installed by listing them - with the ``BAD_RECOMMENDATIONS`` variable:: + with the :term:`BAD_RECOMMENDATIONS` variable:: BAD_RECOMMENDATIONS = "package_name package_name package_name ..." @@ -314,12 +314,12 @@ system and gives an overview of their function and contents. :term:`BASE_LIB` The library directory name for the CPU or Application Binary - Interface (ABI) tune. The ``BASE_LIB`` applies only in the Multilib + Interface (ABI) tune. The :term:`BASE_LIB` applies only in the Multilib context. See the ":ref:`dev-manual/common-tasks:combining multiple versions of library files into one image`" section in the Yocto Project Development Tasks Manual for information on Multilib. - The ``BASE_LIB`` variable is defined in the machine include files in + The :term:`BASE_LIB` variable is defined in the machine include files in the :term:`Source Directory`. If Multilib is not being used, the value defaults to "lib". @@ -332,7 +332,7 @@ system and gives an overview of their function and contents. to use to obtain the required source code. Following are considerations surrounding this variable: - - This host list is only used if ``BB_NO_NETWORK`` is either not set + - This host list is only used if :term:`BB_NO_NETWORK` is either not set or set to "0". - There is limited support for wildcard matching against the beginning of @@ -357,14 +357,14 @@ system and gives an overview of their function and contents. - Attempts to access networks not in the host list cause a failure. - Using ``BB_ALLOWED_NETWORKS`` in conjunction with + Using :term:`BB_ALLOWED_NETWORKS` in conjunction with :term:`PREMIRRORS` is very useful. Adding the host - you want to use to ``PREMIRRORS`` results in the source code being + you want to use to :term:`PREMIRRORS` results in the source code being fetched from an allowed location and avoids raising an error when a host that is not allowed is in a :term:`SRC_URI` statement. This is because the fetcher does not attempt to use the - host listed in ``SRC_URI`` after a successful fetch from the - ``PREMIRRORS`` occurs. + host listed in :term:`SRC_URI` after a successful fetch from the + :term:`PREMIRRORS` occurs. :term:`BB_DANGLINGAPPENDS_WARNONLY` Defines how BitBake handles situations where an append file @@ -389,7 +389,7 @@ system and gives an overview of their function and contents. you to control the build based on these parameters. Disk space monitoring is disabled by default. To enable monitoring, - add the ``BB_DISKMON_DIRS`` variable to your ``conf/local.conf`` file + add the :term:`BB_DISKMON_DIRS` variable to your ``conf/local.conf`` file found in the :term:`Build Directory`. Use the following form: @@ -444,7 +444,7 @@ system and gives an overview of their function and contents. variable, the build system also issue a warning when the disk space in the ``${SSTATE_DIR}`` directory drops below 1 Gbyte or the number of free inodes drops below 100 Kbytes. Subsequent warnings are issued - during intervals as defined by the ``BB_DISKMON_WARNINTERVAL`` + during intervals as defined by the :term:`BB_DISKMON_WARNINTERVAL` variable. The second example stops the build after all currently executing @@ -461,14 +461,14 @@ system and gives an overview of their function and contents. intervals, define the variable in your ``conf/local.conf`` file in the :term:`Build Directory`. - If you are going to use the ``BB_DISKMON_WARNINTERVAL`` variable, you + If you are going to use the :term:`BB_DISKMON_WARNINTERVAL` variable, you must also use the :term:`BB_DISKMON_DIRS` variable and define its action as "WARN". During the build, subsequent warnings are issued each time disk space or number of free inodes further reduces by the respective interval. - If you do not provide a ``BB_DISKMON_WARNINTERVAL`` variable and you - do use ``BB_DISKMON_DIRS`` with the "WARN" action, the disk + If you do not provide a :term:`BB_DISKMON_WARNINTERVAL` variable and you + do use :term:`BB_DISKMON_DIRS` with the "WARN" action, the disk monitoring interval defaults to the following:: BB_DISKMON_WARNINTERVAL = "50M,5K" @@ -521,7 +521,7 @@ system and gives an overview of their function and contents. ``local.conf`` file in the :term:`Build Directory`. Once you have the tarballs containing your source files, you can - clean up your ``DL_DIR`` directory by deleting any Git or other + clean up your :term:`DL_DIR` directory by deleting any Git or other source control work directories. :term:`BB_NUMBER_THREADS` @@ -529,13 +529,13 @@ system and gives an overview of their function and contents. time. The OpenEmbedded build system automatically configures this variable to be equal to the number of cores on the build system. For example, a system with a dual core processor that also uses - hyper-threading causes the ``BB_NUMBER_THREADS`` variable to default + hyper-threading causes the :term:`BB_NUMBER_THREADS` variable to default to "4". For single socket systems (i.e. one CPU), you should not have to override this variable to gain optimal parallelism during builds. However, if you have very large systems that employ multiple physical - CPUs, you might want to make sure the ``BB_NUMBER_THREADS`` variable + CPUs, you might want to make sure the :term:`BB_NUMBER_THREADS` variable is not set higher than "20". For more information on speeding up builds, see the @@ -544,7 +544,7 @@ system and gives an overview of their function and contents. :term:`BB_SERVER_TIMEOUT` Specifies the time (in seconds) after which to unload the BitBake - server due to inactivity. Set ``BB_SERVER_TIMEOUT`` to determine how + server due to inactivity. Set :term:`BB_SERVER_TIMEOUT` to determine how long the BitBake server stays resident between invocations. For example, the following statement in your ``local.conf`` file @@ -562,7 +562,7 @@ system and gives an overview of their function and contents. system; "crosses" such as ``gcc-cross``, which is a compiler built to run on the build machine but produces binaries that run on the target :term:`MACHINE`; "nativesdk", which targets the SDK - machine instead of ``MACHINE``; and "mulitlibs" in the form + machine instead of :term:`MACHINE`; and "mulitlibs" in the form "``multilib:``\ multilib_name". To build a different variant of the recipe with a minimal amount of @@ -573,13 +573,13 @@ system and gives an overview of their function and contents. .. note:: - Internally, the ``BBCLASSEXTEND`` mechanism generates recipe + Internally, the :term:`BBCLASSEXTEND` mechanism generates recipe variants by rewriting variable values and applying overrides such as ``_class-native``. For example, to generate a native version of a recipe, a :term:`DEPENDS` on "foo" is rewritten to a ``DEPENDS`` on "foo-native". - Even when using ``BBCLASSEXTEND``, the recipe is only parsed once. + Even when using :term:`BBCLASSEXTEND`, the recipe is only parsed once. Parsing once adds some limitations. For example, it is not possible to include a different file depending on the variant, since ``include`` statements are processed when the recipe is @@ -605,14 +605,14 @@ system and gives an overview of their function and contents. - effectively letting you control the precedence for the multiple layers. The precedence established through this variable stands regardless of a recipe's version (:term:`PV` variable). For - example, a layer that has a recipe with a higher ``PV`` value but for - which the ``BBFILE_PRIORITY`` is set to have a lower precedence still + example, a layer that has a recipe with a higher :term:`PV` value but for + which the :term:`BBFILE_PRIORITY` is set to have a lower precedence still has a lower precedence. - A larger value for the ``BBFILE_PRIORITY`` variable results in a + A larger value for the :term:`BBFILE_PRIORITY` variable results in a higher precedence. For example, the value 6 has a higher precedence - than the value 5. If not specified, the ``BBFILE_PRIORITY`` variable - is set based on layer dependencies (see the ``LAYERDEPENDS`` variable + than the value 5. If not specified, the :term:`BBFILE_PRIORITY` variable + is set based on layer dependencies (see the :term:`LAYERDEPENDS` variable for more information. The default priority, if unspecified for a layer with no dependencies, is the lowest defined priority + 1 (or 1 if no priorities are defined). @@ -635,12 +635,12 @@ system and gives an overview of their function and contents. Activates content when identified layers are present. You identify the layers by the collections that the layers define. - Use the ``BBFILES_DYNAMIC`` variable to avoid ``.bbappend`` files + Use the :term:`BBFILES_DYNAMIC` variable to avoid ``.bbappend`` files whose corresponding ``.bb`` file is in a layer that attempts to modify other layers through ``.bbappend`` but does not want to introduce a hard dependency on those other layers. - Use the following form for ``BBFILES_DYNAMIC``: + Use the following form for :term:`BBFILES_DYNAMIC`: collection_name:filename_pattern The following example identifies two collection names and two filename patterns:: @@ -664,7 +664,7 @@ system and gives an overview of their function and contents. :term:`BBINCLUDELOGS_LINES` If :term:`BBINCLUDELOGS` is set, specifies the maximum number of lines from the task log file to print when - reporting a failed task. If you do not set ``BBINCLUDELOGS_LINES``, + reporting a failed task. If you do not set :term:`BBINCLUDELOGS_LINES`, the entire log is printed. :term:`BBLAYERS` @@ -685,7 +685,7 @@ system and gives an overview of their function and contents. :term:`BBMASK` Prevents BitBake from processing recipes and recipe append files. - You can use the ``BBMASK`` variable to "hide" these ``.bb`` and + You can use the :term:`BBMASK` variable to "hide" these ``.bb`` and ``.bbappend`` files. BitBake ignores any recipe or recipe append files that match any of the expressions. It is as if BitBake does not see them at all. Consequently, matching files are not parsed or @@ -732,7 +732,7 @@ system and gives an overview of their function and contents. ``conf/multiconfig`` directory (e.g. build_directory\ ``/conf/multiconfig/configA.conf``). - For information on how to use ``BBMULTICONFIG`` in an environment + For information on how to use :term:`BBMULTICONFIG` in an environment that supports building targets with multiple configurations, see the ":ref:`dev-manual/common-tasks:building images for multiple targets using multiple configurations`" section in the Yocto Project Development Tasks Manual. @@ -744,7 +744,7 @@ system and gives an overview of their function and contents. .. note:: If you run BitBake from a directory outside of the - :term:`Build Directory`, you must be sure to set ``BBPATH`` + :term:`Build Directory`, you must be sure to set :term:`BBPATH` to point to the Build Directory. Set the variable as you would any environment variable and then run BitBake:: @@ -754,7 +754,7 @@ system and gives an overview of their function and contents. :term:`BBSERVER` - If defined in the BitBake environment, ``BBSERVER`` points to the + If defined in the BitBake environment, :term:`BBSERVER` points to the BitBake remote server. Use the following format to export the variable to the BitBake @@ -762,9 +762,9 @@ system and gives an overview of their function and contents. export BBSERVER=localhost:$port - By default, ``BBSERVER`` also appears in + By default, :term:`BBSERVER` also appears in :term:`bitbake:BB_HASHBASE_WHITELIST`. - Consequently, ``BBSERVER`` is excluded from checksum and dependency + Consequently, :term:`BBSERVER` is excluded from checksum and dependency data. :term:`BINCONFIG` @@ -791,7 +791,7 @@ system and gives an overview of their function and contents. .. note:: - The ``BINCONFIG_GLOB`` variable uses + The :term:`BINCONFIG_GLOB` variable uses `shell globbing `__, which is recognition and expansion of wildcards during pattern matching. Shell globbing is very similar to @@ -806,7 +806,7 @@ system and gives an overview of their function and contents. :term:`BP` The base recipe name and version but without any special recipe name - suffix (i.e. ``-native``, ``lib64-``, and so forth). ``BP`` is + suffix (i.e. ``-native``, ``lib64-``, and so forth). :term:`BP` is comprised of the following:: ${BPN}-${PV} @@ -828,23 +828,23 @@ system and gives an overview of their function and contents. :term:`BUILD_ARCH` Specifies the architecture of the build host (e.g. ``i686``). The - OpenEmbedded build system sets the value of ``BUILD_ARCH`` from the + OpenEmbedded build system sets the value of :term:`BUILD_ARCH` from the machine name reported by the ``uname`` command. :term:`BUILD_AS_ARCH` Specifies the architecture-specific assembler flags for the build - host. By default, the value of ``BUILD_AS_ARCH`` is empty. + host. By default, the value of :term:`BUILD_AS_ARCH` is empty. :term:`BUILD_CC_ARCH` Specifies the architecture-specific C compiler flags for the build - host. By default, the value of ``BUILD_CC_ARCH`` is empty. + host. By default, the value of :term:`BUILD_CC_ARCH` is empty. :term:`BUILD_CCLD` Specifies the linker command to be used for the build host when the C - compiler is being used as the linker. By default, ``BUILD_CCLD`` + compiler is being used as the linker. By default, :term:`BUILD_CCLD` points to GCC and passes as arguments the value of :term:`BUILD_CC_ARCH`, assuming - ``BUILD_CC_ARCH`` is set. + :term:`BUILD_CC_ARCH` is set. :term:`BUILD_CFLAGS` Specifies the flags to pass to the C compiler when building for the @@ -866,19 +866,19 @@ system and gives an overview of their function and contents. :term:`BUILD_FC` Specifies the Fortran compiler command for the build host. By - default, ``BUILD_FC`` points to Gfortran and passes as arguments the + default, :term:`BUILD_FC` points to Gfortran and passes as arguments the value of :term:`BUILD_CC_ARCH`, assuming - ``BUILD_CC_ARCH`` is set. + :term:`BUILD_CC_ARCH` is set. :term:`BUILD_LD` Specifies the linker command for the build host. By default, - ``BUILD_LD`` points to the GNU linker (ld) and passes as arguments + :term:`BUILD_LD` points to the GNU linker (ld) and passes as arguments the value of :term:`BUILD_LD_ARCH`, assuming - ``BUILD_LD_ARCH`` is set. + :term:`BUILD_LD_ARCH` is set. :term:`BUILD_LD_ARCH` Specifies architecture-specific linker flags for the build host. By - default, the value of ``BUILD_LD_ARCH`` is empty. + default, the value of :term:`BUILD_LD_ARCH` is empty. :term:`BUILD_LDFLAGS` Specifies the flags to pass to the linker when building for the build @@ -903,13 +903,13 @@ system and gives an overview of their function and contents. :term:`BUILD_PREFIX` The toolchain binary prefix used for native recipes. The OpenEmbedded - build system uses the ``BUILD_PREFIX`` value to set the + build system uses the :term:`BUILD_PREFIX` value to set the :term:`TARGET_PREFIX` when building for ``native`` recipes. :term:`BUILD_STRIP` Specifies the command to be used to strip debugging symbols from - binaries produced for the build host. By default, ``BUILD_STRIP`` + binaries produced for the build host. By default, :term:`BUILD_STRIP` points to ``${``\ :term:`BUILD_PREFIX`\ ``}strip``. @@ -922,7 +922,7 @@ system and gives an overview of their function and contents. on :term:`BUILD_ARCH`, :term:`BUILD_VENDOR`, and :term:`BUILD_OS`. You do not need to set the - ``BUILD_SYS`` variable yourself. + :term:`BUILD_SYS` variable yourself. :term:`BUILD_VENDOR` Specifies the vendor name to use when building for the build host. @@ -933,7 +933,7 @@ system and gives an overview of their function and contents. You can define this directory indirectly through the :ref:`structure-core-script` script by passing in a Build Directory path when you run the script. If you run the script and do - not provide a Build Directory path, the ``BUILDDIR`` defaults to + not provide a Build Directory path, the :term:`BUILDDIR` defaults to ``build`` in the current directory. :term:`BUILDHISTORY_COMMIT` @@ -954,12 +954,12 @@ system and gives an overview of their function and contents. :term:`BUILDHISTORY_COMMIT_AUTHOR` When inheriting the :ref:`buildhistory ` class, this variable specifies the author to use for each Git commit. - In order for the ``BUILDHISTORY_COMMIT_AUTHOR`` variable to work, the + In order for the :term:`BUILDHISTORY_COMMIT_AUTHOR` variable to work, the :term:`BUILDHISTORY_COMMIT` variable must be set to "1". Git requires that the value you provide for the - ``BUILDHISTORY_COMMIT_AUTHOR`` variable takes the form of "name + :term:`BUILDHISTORY_COMMIT_AUTHOR` variable takes the form of "name email@host". Providing an email address or host that is not valid does not produce an error. @@ -1025,7 +1025,7 @@ system and gives an overview of their function and contents. When inheriting the :ref:`buildhistory ` class, this variable optionally specifies a remote repository to which build history pushes Git changes. In order for - ``BUILDHISTORY_PUSH_REPO`` to work, + :term:`BUILDHISTORY_PUSH_REPO` to work, :term:`BUILDHISTORY_COMMIT` must be set to "1". @@ -1066,7 +1066,7 @@ system and gives an overview of their function and contents. Points to the location of the directory that holds build statistics when you use and enable the :ref:`buildstats ` class. The - ``BUILDSTATS_BASE`` directory defaults to + :term:`BUILDSTATS_BASE` directory defaults to ``${``\ :term:`TMPDIR`\ ``}/buildstats/``. :term:`BUSYBOX_SPLIT_SUID` @@ -1075,7 +1075,7 @@ system and gives an overview of their function and contents. ``setuid root``, and one for the remaining features (i.e. those that do not require ``setuid root``). - The ``BUSYBOX_SPLIT_SUID`` variable defaults to "1", which results in + The :term:`BUSYBOX_SPLIT_SUID` variable defaults to "1", which results in splitting the output executable file. Set the variable to "0" to get a single output executable file. @@ -1092,7 +1092,7 @@ system and gives an overview of their function and contents. exported to an environment variable and thus made visible to the software being built during the compilation step. - Default initialization for ``CFLAGS`` varies depending on what is + Default initialization for :term:`CFLAGS` varies depending on what is being built: - :term:`TARGET_CFLAGS` when building for the @@ -1131,12 +1131,12 @@ system and gives an overview of their function and contents. FOO_class-native = "native" FOO = "other" - The underlying mechanism behind ``CLASSOVERRIDE`` is simply + The underlying mechanism behind :term:`CLASSOVERRIDE` is simply that it is included in the default value of :term:`OVERRIDES`. :term:`CLEANBROKEN` - If set to "1" within a recipe, ``CLEANBROKEN`` specifies that the + If set to "1" within a recipe, :term:`CLEANBROKEN` specifies that the ``make clean`` command does not work for the software being built. Consequently, the OpenEmbedded build system will not try to run ``make clean`` during the :ref:`ref-tasks-configure` @@ -1185,7 +1185,7 @@ system and gives an overview of their function and contents. .. note:: - The ``COMPLEMENTARY_GLOB`` variable uses Unix filename pattern matching + The :term:`COMPLEMENTARY_GLOB` variable uses Unix filename pattern matching (`fnmatch `__), which is similar to the Unix style pathname pattern expansion (`glob `__). @@ -1193,7 +1193,7 @@ system and gives an overview of their function and contents. The resulting list of complementary packages is associated with an item that can be added to :term:`IMAGE_FEATURES`. An example usage of - this is the "dev-pkgs" item that when added to ``IMAGE_FEATURES`` + this is the "dev-pkgs" item that when added to :term:`IMAGE_FEATURES` will install -dev packages (containing headers and other development files) for every package in the image. @@ -1215,7 +1215,7 @@ system and gives an overview of their function and contents. :term:`CONF_VERSION` Tracks the version of the local configuration file (i.e. - ``local.conf``). The value for ``CONF_VERSION`` increments each time + ``local.conf``). The value for :term:`CONF_VERSION` increments each time ``build/conf/`` compatibility changes. :term:`CONFFILES` @@ -1225,28 +1225,28 @@ system and gives an overview of their function and contents. files you have changed after the original installation and that you now want to remain unchanged are overwritten. In other words, editable files might exist in the package that you do not want reset - as part of the package update process. You can use the ``CONFFILES`` + as part of the package update process. You can use the :term:`CONFFILES` variable to list the files in the package that you wish to prevent the PMS from overwriting during this update process. - To use the ``CONFFILES`` variable, provide a package name override + To use the :term:`CONFFILES` variable, provide a package name override that identifies the resulting package. Then, provide a space-separated list of files. Here is an example:: CONFFILES_${PN} += "${sysconfdir}/file1 \ ${sysconfdir}/file2 ${sysconfdir}/file3" - There is a relationship between the ``CONFFILES`` and ``FILES`` - variables. The files listed within ``CONFFILES`` must be a subset of - the files listed within ``FILES``. Because the configuration files - you provide with ``CONFFILES`` are simply being identified so that + There is a relationship between the :term:`CONFFILES` and :term:`FILES` + variables. The files listed within :term:`CONFFILES` must be a subset of + the files listed within :term:`FILES`. Because the configuration files + you provide with :term:`CONFFILES` are simply being identified so that the PMS will not overwrite them, it makes sense that the files must - already be included as part of the package through the ``FILES`` + already be included as part of the package through the :term:`FILES` variable. .. note:: - When specifying paths as part of the ``CONFFILES`` variable, it is + When specifying paths as part of the :term:`CONFFILES` variable, it is good practice to use appropriate path variables. For example, ``${sysconfdir}`` rather than ``/etc`` or ``${bindir}`` rather than ``/usr/bin``. You can find a list of these variables at @@ -1259,7 +1259,7 @@ system and gives an overview of their function and contents. variable as an environment variable. By default, the variable is set to null (""). - The ``CONFIG_INITRAMFS_SOURCE`` can be either a single cpio archive + The :term:`CONFIG_INITRAMFS_SOURCE` can be either a single cpio archive with a ``.cpio`` suffix or a space-separated list of directories and files for building the initramfs image. A cpio archive should contain a filesystem archive to be used as an initramfs image. Directories @@ -1287,8 +1287,8 @@ system and gives an overview of their function and contents. :ref:`features_check ` class, this variable identifies distribution features that would be in conflict should the recipe be built. In other words, if the - ``CONFLICT_DISTRO_FEATURES`` variable lists a feature that also - appears in ``DISTRO_FEATURES`` within the current configuration, then + :term:`CONFLICT_DISTRO_FEATURES` variable lists a feature that also + appears in :term:`DISTRO_FEATURES` within the current configuration, then the recipe will be skipped, and if the build system attempts to build the recipe then an error will be triggered. @@ -1297,16 +1297,16 @@ system and gives an overview of their function and contents. archived by the :ref:`archiver ` class. In other words, if a license in a recipe's :term:`LICENSE` value is in the value of - ``COPYLEFT_LICENSE_EXCLUDE``, then its source is not archived by the + :term:`COPYLEFT_LICENSE_EXCLUDE`, then its source is not archived by the class. .. note:: - The ``COPYLEFT_LICENSE_EXCLUDE`` variable takes precedence over the + The :term:`COPYLEFT_LICENSE_EXCLUDE` variable takes precedence over the :term:`COPYLEFT_LICENSE_INCLUDE` variable. The default value, which is "CLOSED Proprietary", for - ``COPYLEFT_LICENSE_EXCLUDE`` is set by the + :term:`COPYLEFT_LICENSE_EXCLUDE` is set by the :ref:`copyleft_filter ` class, which is inherited by the ``archiver`` class. @@ -1314,7 +1314,7 @@ system and gives an overview of their function and contents. A space-separated list of licenses to include in the source archived by the :ref:`archiver ` class. In other words, if a license in a recipe's :term:`LICENSE` - value is in the value of ``COPYLEFT_LICENSE_INCLUDE``, then its + value is in the value of :term:`COPYLEFT_LICENSE_INCLUDE`, then its source is archived by the class. The default value is set by the @@ -1325,28 +1325,28 @@ system and gives an overview of their function and contents. :term:`COPYLEFT_PN_EXCLUDE` A list of recipes to exclude in the source archived by the :ref:`archiver ` class. The - ``COPYLEFT_PN_EXCLUDE`` variable overrides the license inclusion and + :term:`COPYLEFT_PN_EXCLUDE` variable overrides the license inclusion and exclusion caused through the :term:`COPYLEFT_LICENSE_INCLUDE` and :term:`COPYLEFT_LICENSE_EXCLUDE` variables, respectively. The default value, which is "" indicating to not explicitly exclude - any recipes by name, for ``COPYLEFT_PN_EXCLUDE`` is set by the + any recipes by name, for :term:`COPYLEFT_PN_EXCLUDE` is set by the :ref:`copyleft_filter ` class, which is inherited by the ``archiver`` class. :term:`COPYLEFT_PN_INCLUDE` A list of recipes to include in the source archived by the :ref:`archiver ` class. The - ``COPYLEFT_PN_INCLUDE`` variable overrides the license inclusion and + :term:`COPYLEFT_PN_INCLUDE` variable overrides the license inclusion and exclusion caused through the :term:`COPYLEFT_LICENSE_INCLUDE` and :term:`COPYLEFT_LICENSE_EXCLUDE` variables, respectively. The default value, which is "" indicating to not explicitly include - any recipes by name, for ``COPYLEFT_PN_INCLUDE`` is set by the + any recipes by name, for :term:`COPYLEFT_PN_INCLUDE` is set by the :ref:`copyleft_filter ` class, which is inherited by the ``archiver`` class. @@ -1356,7 +1356,7 @@ system and gives an overview of their function and contents. Recipe types are ``target``, ``native``, ``nativesdk``, ``cross``, ``crosssdk``, and ``cross-canadian``. - The default value, which is "target*", for ``COPYLEFT_RECIPE_TYPES`` + The default value, which is "target*", for :term:`COPYLEFT_RECIPE_TYPES` is set by the :ref:`copyleft_filter ` class, which is inherited by the ``archiver`` class. @@ -1370,7 +1370,7 @@ system and gives an overview of their function and contents. .. note:: - The ``COPY_LIC_DIRS`` does not offer a path for adding licenses for + The :term:`COPY_LIC_DIRS` does not offer a path for adding licenses for newly installed packages to an image, which might be most suitable for read-only filesystems that cannot be upgraded. See the :term:`LICENSE_CREATE_PACKAGE` variable for additional information. @@ -1386,7 +1386,7 @@ system and gives an overview of their function and contents. .. note:: - The ``COPY_LIC_MANIFEST`` does not offer a path for adding licenses for + The :term:`COPY_LIC_MANIFEST` does not offer a path for adding licenses for newly installed packages to an image, which might be most suitable for read-only filesystems that cannot be upgraded. See the :term:`LICENSE_CREATE_PACKAGE` variable for additional information. @@ -1406,24 +1406,24 @@ system and gives an overview of their function and contents. Specifies the parent directory of the OpenEmbedded-Core Metadata layer (i.e. ``meta``). - It is an important distinction that ``COREBASE`` points to the parent + It is an important distinction that :term:`COREBASE` points to the parent of this layer and not the layer itself. Consider an example where you have cloned the Poky Git repository and retained the ``poky`` name - for your local copy of the repository. In this case, ``COREBASE`` + for your local copy of the repository. In this case, :term:`COREBASE` points to the ``poky`` folder because it is the parent directory of the ``poky/meta`` layer. :term:`COREBASE_FILES` Lists files from the :term:`COREBASE` directory that should be copied other than the layers listed in the - ``bblayers.conf`` file. The ``COREBASE_FILES`` variable allows + ``bblayers.conf`` file. The :term:`COREBASE_FILES` variable allows to copy metadata from the OpenEmbedded build system into the extensible SDK. - Explicitly listing files in ``COREBASE`` is needed because it + Explicitly listing files in :term:`COREBASE` is needed because it typically contains build directories and other files that should not normally be copied into the extensible SDK. Consequently, the value - of ``COREBASE_FILES`` is used in order to only copy the files that + of :term:`COREBASE_FILES` is used in order to only copy the files that are actually needed. :term:`CPP` @@ -1435,7 +1435,7 @@ system and gives an overview of their function and contents. variable and thus made visible to the software being built during the compilation step. - Default initialization for ``CPPFLAGS`` varies depending on what is + Default initialization for :term:`CPPFLAGS` varies depending on what is being built: - :term:`TARGET_CPPFLAGS` when building for @@ -1449,12 +1449,12 @@ system and gives an overview of their function and contents. :term:`CROSS_COMPILE` The toolchain binary prefix for the target tools. The - ``CROSS_COMPILE`` variable is the same as the + :term:`CROSS_COMPILE` variable is the same as the :term:`TARGET_PREFIX` variable. .. note:: - The OpenEmbedded build system sets the ``CROSS_COMPILE`` + The OpenEmbedded build system sets the :term:`CROSS_COMPILE` variable only in certain contexts (e.g. when building for kernel and kernel module recipes). @@ -1470,7 +1470,7 @@ system and gives an overview of their function and contents. exported to an environment variable and thus made visible to the software being built during the compilation step. - Default initialization for ``CXXFLAGS`` varies depending on what is + Default initialization for :term:`CXXFLAGS` varies depending on what is being built: - :term:`TARGET_CXXFLAGS` when building for @@ -1505,7 +1505,7 @@ system and gives an overview of their function and contents. :term:`DEBIAN_NOAUTONAME` When the :ref:`debian ` class is inherited, - which is the default behavior, ``DEBIAN_NOAUTONAME`` specifies a + which is the default behavior, :term:`DEBIAN_NOAUTONAME` specifies a particular package should not be renamed according to Debian library package naming. You must use the package name as an override when you set this variable. Here is an example from the ``fontconfig`` recipe:: @@ -1514,7 +1514,7 @@ system and gives an overview of their function and contents. :term:`DEBIANNAME` When the :ref:`debian ` class is inherited, - which is the default behavior, ``DEBIANNAME`` allows you to override + which is the default behavior, :term:`DEBIANNAME` allows you to override the library name for an individual package. Overriding the library name in these cases is rare. You must use the package name as an override when you set this variable. Here is an example from the @@ -1542,14 +1542,14 @@ system and gives an overview of their function and contents. .. note:: - The bias provided by ``DEFAULT_PREFERENCE`` is weak and is overridden + The bias provided by :term:`DEFAULT_PREFERENCE` is weak and is overridden by :term:`BBFILE_PRIORITY` if that variable is different between two layers that contain different versions of the same recipe. :term:`DEFAULTTUNE` The default CPU and Application Binary Interface (ABI) tunings (i.e. the "tune") used by the OpenEmbedded build system. The - ``DEFAULTTUNE`` helps define + :term:`DEFAULTTUNE` helps define :term:`TUNE_FEATURES`. The default tune is either implicitly or explicitly set by the @@ -1574,17 +1574,17 @@ system and gives an overview of their function and contents. :ref:`ref-tasks-configure` task for ``foo`` runs. This mechanism is implemented by having ``do_configure`` depend on the :ref:`ref-tasks-populate_sysroot` task of - each recipe listed in ``DEPENDS``, through a + each recipe listed in :term:`DEPENDS`, through a ``[``\ :ref:`deptask `\ ``]`` declaration in the :ref:`base ` class. .. note:: - It seldom is necessary to reference, for example, ``STAGING_DIR_HOST`` + It seldom is necessary to reference, for example, :term:`STAGING_DIR_HOST` explicitly. The standard classes and build-related variables are configured to automatically use the appropriate staging sysroots. - As another example, ``DEPENDS`` can also be used to add utilities + As another example, :term:`DEPENDS` can also be used to add utilities that run on the build machine during the build. For example, a recipe that makes use of a code generator built by the recipe ``codegen`` might have the following:: @@ -1597,15 +1597,15 @@ system and gives an overview of their function and contents. .. note:: - - ``DEPENDS`` is a list of recipe names. Or, to be more precise, + - :term:`DEPENDS` is a list of recipe names. Or, to be more precise, it is a list of :term:`PROVIDES` names, which usually match recipe names. Putting a package name such as - "foo-dev" in ``DEPENDS`` does not make sense. Use "foo" + "foo-dev" in :term:`DEPENDS` does not make sense. Use "foo" instead, as this will put files from all the packages that make up ``foo``, which includes those from ``foo-dev``, into the sysroot. - - One recipe having another recipe in ``DEPENDS`` does not by + - One recipe having another recipe in :term:`DEPENDS` does not by itself add any runtime dependencies between the packages produced by the two recipes. However, as explained in the ":ref:`overview-manual/concepts:automatically added runtime dependencies`" @@ -1613,12 +1613,12 @@ system and gives an overview of their function and contents. runtime dependencies will often be added automatically, meaning ``DEPENDS`` alone is sufficient for most recipes. - - Counterintuitively, ``DEPENDS`` is often necessary even for + - Counterintuitively, :term:`DEPENDS` is often necessary even for recipes that install precompiled components. For example, if ``libfoo`` is a precompiled library that links against ``libbar``, then linking against ``libfoo`` requires both ``libfoo`` and ``libbar`` to be available in the sysroot. - Without a ``DEPENDS`` from the recipe that installs ``libfoo`` + Without a :term:`DEPENDS` from the recipe that installs ``libfoo`` to the recipe that installs ``libbar``, other recipes might fail to link against ``libfoo``. @@ -1658,7 +1658,7 @@ system and gives an overview of their function and contents. DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb" The :ref:`package_deb ` class uses the - ``DEPLOY_DIR_DEB`` variable to make sure the + :term:`DEPLOY_DIR_DEB` variable to make sure the :ref:`ref-tasks-package_write_deb` task writes Debian packages into the appropriate folder. For more information on how packaging works, see the @@ -1673,6 +1673,13 @@ system and gives an overview of their function and contents. resides within the :term:`Build Directory` as ``${DEPLOY_DIR}/images/${MACHINE}/``. + It must not be used directly in recipes when deploying files. Instead, + it's only useful when a recipe needs to "read" a file already deployed + by a dependency. So, it should be filled with the contents of + :term:`DEPLOYDIR` by the :ref:`deploy ` class or + with the contents of :term:`IMGDEPLOYDIR` by the :ref:`image + ` class. + For more information on the structure of the Build Directory, see ":ref:`ref-manual/structure:the build directory - \`\`build/\`\``" section. For more detail on the contents of the ``deploy`` directory, see the @@ -1693,7 +1700,7 @@ system and gives an overview of their function and contents. DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk" The :ref:`package_ipk ` class uses the - ``DEPLOY_DIR_IPK`` variable to make sure the + :term:`DEPLOY_DIR_IPK` variable to make sure the :ref:`ref-tasks-package_write_ipk` task writes IPK packages into the appropriate folder. For more information on how packaging works, see the @@ -1713,7 +1720,7 @@ system and gives an overview of their function and contents. DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm" The :ref:`package_rpm ` class uses the - ``DEPLOY_DIR_RPM`` variable to make sure the + :term:`DEPLOY_DIR_RPM` variable to make sure the :ref:`ref-tasks-package_write_rpm` task writes RPM packages into the appropriate folder. For more information on how packaging works, see the @@ -1733,7 +1740,7 @@ system and gives an overview of their function and contents. DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar" The :ref:`package_tar ` class uses the - ``DEPLOY_DIR_TAR`` variable to make sure the + :term:`DEPLOY_DIR_TAR` variable to make sure the :ref:`ref-tasks-package_write_tar` task writes TAR packages into the appropriate folder. For more information on how packaging works, see the @@ -1742,19 +1749,19 @@ system and gives an overview of their function and contents. :term:`DEPLOYDIR` When inheriting the :ref:`deploy ` class, the - ``DEPLOYDIR`` points to a temporary work area for deployed files that + :term:`DEPLOYDIR` points to a temporary work area for deployed files that is set in the ``deploy`` class as follows:: DEPLOYDIR = "${WORKDIR}/deploy-${PN}" Recipes inheriting the ``deploy`` class should copy files to be - deployed into ``DEPLOYDIR``, and the class will take care of copying + deployed into :term:`DEPLOYDIR`, and the class will take care of copying them into :term:`DEPLOY_DIR_IMAGE` afterwards. :term:`DESCRIPTION` The package description used by package managers. If not set, - ``DESCRIPTION`` takes the value of the :term:`SUMMARY` + :term:`DESCRIPTION` takes the value of the :term:`SUMMARY` variable. :term:`DISTRO` @@ -1762,26 +1769,26 @@ system and gives an overview of their function and contents. of the distribution, see the :term:`DISTRO_NAME` variable. - The ``DISTRO`` variable corresponds to a distribution configuration + The :term:`DISTRO` variable corresponds to a distribution configuration file whose root name is the same as the variable's argument and whose filename extension is ``.conf``. For example, the distribution configuration file for the Poky distribution is named ``poky.conf`` and resides in the ``meta-poky/conf/distro`` directory of the :term:`Source Directory`. - Within that ``poky.conf`` file, the ``DISTRO`` variable is set as + Within that ``poky.conf`` file, the :term:`DISTRO` variable is set as follows:: DISTRO = "poky" Distribution configuration files are located in a ``conf/distro`` directory within the :term:`Metadata` that contains the - distribution configuration. The value for ``DISTRO`` must not contain + distribution configuration. The value for :term:`DISTRO` must not contain spaces, and is typically all lower-case. .. note:: - If the ``DISTRO`` variable is blank, a set of default configurations + If the :term:`DISTRO` variable is blank, a set of default configurations are used, which are specified within ``meta/conf/distro/defaultsetup.conf`` also in the Source Directory. @@ -1808,11 +1815,11 @@ system and gives an overview of their function and contents. configuration file. In most cases, the presence or absence of a feature in - ``DISTRO_FEATURES`` is translated to the appropriate option supplied + :term:`DISTRO_FEATURES` is translated to the appropriate option supplied to the configure script during the :ref:`ref-tasks-configure` task for recipes that optionally support the feature. For example, specifying "x11" in - ``DISTRO_FEATURES``, causes every piece of software built for the + :term:`DISTRO_FEATURES`, causes every piece of software built for the target that can optionally support X11 to have its X11 support enabled. @@ -1821,8 +1828,8 @@ system and gives an overview of their function and contents. provide with this variable, see the ":ref:`ref-features-distro`" section. :term:`DISTRO_FEATURES_BACKFILL` - Features to be added to ``DISTRO_FEATURES`` if not also present in - ``DISTRO_FEATURES_BACKFILL_CONSIDERED``. + Features to be added to :term:`DISTRO_FEATURES` if not also present in + :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED`. This variable is set in the ``meta/conf/bitbake.conf`` file. It is not intended to be user-configurable. It is best to just reference @@ -1831,8 +1838,8 @@ system and gives an overview of their function and contents. for more information. :term:`DISTRO_FEATURES_BACKFILL_CONSIDERED` - Features from ``DISTRO_FEATURES_BACKFILL`` that should not be - backfilled (i.e. added to ``DISTRO_FEATURES``) during the build. See + Features from :term:`DISTRO_FEATURES_BACKFILL` that should not be + backfilled (i.e. added to :term:`DISTRO_FEATURES`) during the build. See the ":ref:`ref-features-backfill`" section for more information. :term:`DISTRO_FEATURES_DEFAULT` @@ -1844,14 +1851,14 @@ system and gives an overview of their function and contents. able to reuse the default :term:`DISTRO_FEATURES` options without the need to write out the full set. Here is an example that uses - ``DISTRO_FEATURES_DEFAULT`` from a custom distro configuration file:: + :term:`DISTRO_FEATURES_DEFAULT` from a custom distro configuration file:: DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} myfeature" :term:`DISTRO_FEATURES_FILTER_NATIVE` Specifies a list of features that if present in the target :term:`DISTRO_FEATURES` value should be - included in ``DISTRO_FEATURES`` when building native recipes. This + included in :term:`DISTRO_FEATURES` when building native recipes. This variable is used in addition to the features filtered using the :term:`DISTRO_FEATURES_NATIVE` variable. @@ -1859,7 +1866,7 @@ system and gives an overview of their function and contents. :term:`DISTRO_FEATURES_FILTER_NATIVESDK` Specifies a list of features that if present in the target :term:`DISTRO_FEATURES` value should be - included in ``DISTRO_FEATURES`` when building nativesdk recipes. This + included in :term:`DISTRO_FEATURES` when building nativesdk recipes. This variable is used in addition to the features filtered using the :term:`DISTRO_FEATURES_NATIVESDK` variable. @@ -1884,14 +1891,14 @@ system and gives an overview of their function and contents. The long name of the distribution. For information on the short name of the distribution, see the :term:`DISTRO` variable. - The ``DISTRO_NAME`` variable corresponds to a distribution + The :term:`DISTRO_NAME` variable corresponds to a distribution configuration file whose root name is the same as the variable's argument and whose filename extension is ``.conf``. For example, the distribution configuration file for the Poky distribution is named ``poky.conf`` and resides in the ``meta-poky/conf/distro`` directory of the :term:`Source Directory`. - Within that ``poky.conf`` file, the ``DISTRO_NAME`` variable is set + Within that ``poky.conf`` file, the :term:`DISTRO_NAME` variable is set as follows:: DISTRO_NAME = "Poky (Yocto Project Reference Distro)" @@ -1902,7 +1909,7 @@ system and gives an overview of their function and contents. .. note:: - If the ``DISTRO_NAME`` variable is blank, a set of default + If the :term:`DISTRO_NAME` variable is blank, a set of default configurations are used, which are specified within ``meta/conf/distro/defaultsetup.conf`` also in the Source Directory. @@ -1914,10 +1921,10 @@ system and gives an overview of their function and contents. distribution. By default, this list includes the value of :term:`DISTRO`. - You can extend ``DISTROOVERRIDES`` to add extra overrides that should + You can extend :term:`DISTROOVERRIDES` to add extra overrides that should apply to the distribution. - The underlying mechanism behind ``DISTROOVERRIDES`` is simply that it + The underlying mechanism behind :term:`DISTROOVERRIDES` is simply that it is included in the default value of :term:`OVERRIDES`. @@ -1936,13 +1943,13 @@ system and gives an overview of their function and contents. :term:`DL_DIR` The central download directory used by the build process to store - downloads. By default, ``DL_DIR`` gets files suitable for mirroring + downloads. By default, :term:`DL_DIR` gets files suitable for mirroring for everything except Git repositories. If you want tarballs of Git repositories, use the :term:`BB_GENERATE_MIRROR_TARBALLS` variable. - You can set this directory by defining the ``DL_DIR`` variable in the + You can set this directory by defining the :term:`DL_DIR` variable in the ``conf/local.conf`` file. This directory is self-maintaining and you should not have to touch it. By default, the directory is ``downloads`` in the :term:`Build Directory`. @@ -1956,7 +1963,7 @@ system and gives an overview of their function and contents. During a first build, the system downloads many different source code tarballs from various upstream projects. Downloading can take a while, particularly if your network connection is slow. Tarballs are - all stored in the directory defined by ``DL_DIR`` and the build + all stored in the directory defined by :term:`DL_DIR` and the build system looks there first to find source tarballs. .. note:: @@ -1985,7 +1992,7 @@ system and gives an overview of their function and contents. :term:`EFI_PROVIDER` When building bootable images (i.e. where ``hddimg``, ``iso``, or ``wic.vmdk`` is in :term:`IMAGE_FSTYPES`), the - ``EFI_PROVIDER`` variable specifies the EFI bootloader to use. The + :term:`EFI_PROVIDER` variable specifies the EFI bootloader to use. The default is "grub-efi", but "systemd-boot" can be used instead. See the :ref:`systemd-boot ` and @@ -2006,7 +2013,7 @@ system and gives an overview of their function and contents. database. By default, the value of this variable is ``${``\ :term:`LOG_DIR`\ ``}/error-report``. - You can set ``ERR_REPORT_DIR`` to the path you want the error + You can set :term:`ERR_REPORT_DIR` to the path you want the error reporting tool to store the debug files as follows in your ``local.conf`` file:: @@ -2031,11 +2038,11 @@ system and gives an overview of their function and contents. libraries resolver might implicitly define some dependencies between packages. - The ``EXCLUDE_FROM_SHLIBS`` variable is similar to the + The :term:`EXCLUDE_FROM_SHLIBS` variable is similar to the :term:`PRIVATE_LIBS` variable, which excludes a package's particular libraries only and not the whole package. - Use the ``EXCLUDE_FROM_SHLIBS`` variable by setting it to "1" for a + Use the :term:`EXCLUDE_FROM_SHLIBS` variable by setting it to "1" for a particular package:: EXCLUDE_FROM_SHLIBS = "1" @@ -2051,18 +2058,18 @@ system and gives an overview of their function and contents. .. note:: - Recipes added to ``EXCLUDE_FROM_WORLD`` may still be built during a + Recipes added to :term:`EXCLUDE_FROM_WORLD` may still be built during a world build in order to satisfy dependencies of other recipes. Adding - a recipe to ``EXCLUDE_FROM_WORLD`` only ensures that the recipe is not + a recipe to :term:`EXCLUDE_FROM_WORLD` only ensures that the recipe is not explicitly added to the list of build targets in a world build. :term:`EXTENDPE` Used with file and pathnames to create a prefix for a recipe's - version based on the recipe's :term:`PE` value. If ``PE`` - is set and greater than zero for a recipe, ``EXTENDPE`` becomes that - value (e.g if ``PE`` is equal to "1" then ``EXTENDPE`` becomes "1"). - If a recipe's ``PE`` is not set (the default) or is equal to zero, - ``EXTENDPE`` becomes "". + version based on the recipe's :term:`PE` value. If :term:`PE` + is set and greater than zero for a recipe, :term:`EXTENDPE` becomes that + value (e.g if :term:`PE` is equal to "1" then :term:`EXTENDPE` becomes "1"). + If a recipe's :term:`PE` is not set (the default) or is equal to zero, + :term:`EXTENDPE` becomes "". See the :term:`STAMP` variable for an example. @@ -2078,11 +2085,11 @@ system and gives an overview of their function and contents. manager to upgrade these types of packages in lock-step. :term:`EXTERNAL_KERNEL_TOOLS` - When set, the ``EXTERNAL_KERNEL_TOOLS`` variable indicates that these + When set, the :term:`EXTERNAL_KERNEL_TOOLS` variable indicates that these tools are not in the source tree. When kernel tools are available in the tree, they are preferred over - any externally installed tools. Setting the ``EXTERNAL_KERNEL_TOOLS`` + any externally installed tools. Setting the :term:`EXTERNAL_KERNEL_TOOLS` variable tells the OpenEmbedded build system to prefer the installed external tools. See the :ref:`kernel-yocto ` class in @@ -2117,7 +2124,7 @@ system and gives an overview of their function and contents. :term:`EXTRA_AUTORECONF` For recipes inheriting the :ref:`autotools ` - class, you can use ``EXTRA_AUTORECONF`` to specify extra options to + class, you can use :term:`EXTRA_AUTORECONF` to specify extra options to pass to the ``autoreconf`` command that is executed during the :ref:`ref-tasks-configure` task. @@ -2179,7 +2186,7 @@ system and gives an overview of their function and contents. installing into the root filesystem. Sometimes a recipe is required to build the final image but is not - needed in the root filesystem. You can use the ``EXTRA_IMAGEDEPENDS`` + needed in the root filesystem. You can use the :term:`EXTRA_IMAGEDEPENDS` variable to list these recipes and thus specify the dependencies. A typical example is a required bootloader in a machine configuration. @@ -2210,12 +2217,12 @@ system and gives an overview of their function and contents. :term:`EXTRA_OEMAKE` Additional GNU ``make`` options. - Because the ``EXTRA_OEMAKE`` defaults to "", you need to set the + Because the :term:`EXTRA_OEMAKE` defaults to "", you need to set the variable to specify any required GNU options. :term:`PARALLEL_MAKE` and :term:`PARALLEL_MAKEINST` also make use of - ``EXTRA_OEMAKE`` to pass the required flags. + :term:`EXTRA_OEMAKE` to pass the required flags. :term:`EXTRA_OESCONS` When inheriting the :ref:`scons ` class, this @@ -2231,7 +2238,7 @@ system and gives an overview of their function and contents. group configurations to a specific recipe. The set list of commands you can configure using the - ``EXTRA_USERS_PARAMS`` is shown in the ``extrausers`` class. These + :term:`EXTRA_USERS_PARAMS` is shown in the ``extrausers`` class. These commands map to the normal Unix commands of the same names:: # EXTRA_USERS_PARAMS = "\ @@ -2257,19 +2264,19 @@ system and gives an overview of their function and contents. :term:`FEATURE_PACKAGES` Defines one or more packages to include in an image when a specific item is included in :term:`IMAGE_FEATURES`. - When setting the value, ``FEATURE_PACKAGES`` should have the name of + When setting the value, :term:`FEATURE_PACKAGES` should have the name of the feature item as an override. Here is an example:: FEATURE_PACKAGES_widget = "package1 package2" - In this example, if "widget" were added to ``IMAGE_FEATURES``, + In this example, if "widget" were added to :term:`IMAGE_FEATURES`, package1 and package2 would be included in the image. .. note:: - Packages installed by features defined through ``FEATURE_PACKAGES`` + Packages installed by features defined through :term:`FEATURE_PACKAGES` are often package groups. While similarly named, you should not - confuse the ``FEATURE_PACKAGES`` variable with package groups, which + confuse the :term:`FEATURE_PACKAGES` variable with package groups, which are discussed elsewhere in the documentation. :term:`FEED_DEPLOYDIR_BASE_URI` @@ -2294,7 +2301,7 @@ system and gives an overview of their function and contents. :term:`PACKAGES` variable lists the packages generated by a recipe. - To use the ``FILES`` variable, provide a package name override that + To use the :term:`FILES` variable, provide a package name override that identifies the resulting package. Then, provide a space-separated list of files or paths that identify the files you want included as part of the resulting package. Here is an example:: @@ -2309,7 +2316,7 @@ system and gives an overview of their function and contents. syntax. For details on the syntax, see the documentation by following the previous link. - - When specifying paths as part of the ``FILES`` variable, it is + - When specifying paths as part of the :term:`FILES` variable, it is good practice to use appropriate path variables. For example, use ``${sysconfdir}`` rather than ``/etc``, or ``${bindir}`` rather than ``/usr/bin``. You can find a list of these @@ -2318,7 +2325,7 @@ system and gives an overview of their function and contents. find the default values of the various ``FILES_*`` variables in this file. - If some of the files you provide with the ``FILES`` variable are + If some of the files you provide with the :term:`FILES` variable are editable and you know they should not be overwritten during the package update process by the Package Management System (PMS), you can identify these files so that the PMS will not overwrite them. See @@ -2328,7 +2335,7 @@ system and gives an overview of their function and contents. :term:`FILES_SOLIBSDEV` Defines the file specification to match :term:`SOLIBSDEV`. In other words, - ``FILES_SOLIBSDEV`` defines the full path name of the development + :term:`FILES_SOLIBSDEV` defines the full path name of the development symbolic link (symlink) for shared libraries on the target platform. The following statement from the ``bitbake.conf`` shows how it is @@ -2341,11 +2348,11 @@ system and gives an overview of their function and contents. looking for files and patches as it processes recipes and append files. The default directories BitBake uses when it processes recipes are initially defined by the :term:`FILESPATH` - variable. You can extend ``FILESPATH`` variable by using - ``FILESEXTRAPATHS``. + variable. You can extend :term:`FILESPATH` variable by using + :term:`FILESEXTRAPATHS`. Best practices dictate that you accomplish this by using - ``FILESEXTRAPATHS`` from within a ``.bbappend`` file and that you + :term:`FILESEXTRAPATHS` from within a ``.bbappend`` file and that you prepend paths as follows:: FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" @@ -2356,7 +2363,7 @@ system and gives an overview of their function and contents. .. note:: - When extending ``FILESEXTRAPATHS``, be sure to use the immediate + When extending :term:`FILESEXTRAPATHS`, be sure to use the immediate expansion (``:=``) operator. Immediate expansion makes sure that BitBake evaluates :term:`THISDIR` at the time the directive is encountered rather than at some later time when @@ -2373,7 +2380,7 @@ system and gives an overview of their function and contents. FILESEXTRAPATHS_prepend := "${THISDIR}/files:" In this example, the build system extends the - ``FILESPATH`` variable to include a directory named ``files`` that is + :term:`FILESPATH` variable to include a directory named ``files`` that is in the same directory as the corresponding append file. This next example specifically adds three paths:: @@ -2396,7 +2403,7 @@ system and gives an overview of their function and contents. .. note:: For a layer that supports a single BSP, the override could just be - the value of ``MACHINE``. + the value of :term:`MACHINE`. By prepending paths in ``.bbappend`` files, you allow multiple append files that reside in different layers but are used for the same @@ -2405,7 +2412,7 @@ system and gives an overview of their function and contents. :term:`FILESOVERRIDES` A subset of :term:`OVERRIDES` used by the OpenEmbedded build system for creating - :term:`FILESPATH`. The ``FILESOVERRIDES`` variable + :term:`FILESPATH`. The :term:`FILESOVERRIDES` variable uses overrides to automatically extend the :term:`FILESPATH` variable. For an example of how that works, see the :term:`FILESPATH` variable @@ -2414,13 +2421,13 @@ system and gives an overview of their function and contents. ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:conditional syntax (overrides)`" section of the BitBake User Manual. - By default, the ``FILESOVERRIDES`` variable is defined as:: + By default, the :term:`FILESOVERRIDES` variable is defined as:: FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}" .. note:: - Do not hand-edit the ``FILESOVERRIDES`` variable. The values match up + Do not hand-edit the :term:`FILESOVERRIDES` variable. The values match up with expected overrides and are used in an expected manner by the build system. @@ -2429,11 +2436,11 @@ system and gives an overview of their function and contents. when searching for patches and files. During the build process, BitBake searches each directory in - ``FILESPATH`` in the specified order when looking for files and + :term:`FILESPATH` in the specified order when looking for files and patches specified by each ``file://`` URI in a recipe's :term:`SRC_URI` statements. - The default value for the ``FILESPATH`` variable is defined in the + The default value for the :term:`FILESPATH` variable is defined in the ``base.bbclass`` class found in ``meta/classes`` in the :term:`Source Directory`:: @@ -2441,22 +2448,22 @@ system and gives an overview of their function and contents. "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}" The - ``FILESPATH`` variable is automatically extended using the overrides + :term:`FILESPATH` variable is automatically extended using the overrides from the :term:`FILESOVERRIDES` variable. .. note:: - - Do not hand-edit the ``FILESPATH`` variable. If you want the + - Do not hand-edit the :term:`FILESPATH` variable. If you want the build system to look in directories other than the defaults, - extend the ``FILESPATH`` variable by using the + extend the :term:`FILESPATH` variable by using the :term:`FILESEXTRAPATHS` variable. - - Be aware that the default ``FILESPATH`` directories do not map + - Be aware that the default :term:`FILESPATH` directories do not map to directories in custom layers where append files (``.bbappend``) are used. If you want the build system to find patches or files that reside with your append files, you need - to extend the ``FILESPATH`` variable by using the - ``FILESEXTRAPATHS`` variable. + to extend the :term:`FILESPATH` variable by using the + :term:`FILESEXTRAPATHS` variable. You can take advantage of this searching behavior in useful ways. For example, consider a case where there is the following directory structure @@ -2466,10 +2473,10 @@ system and gives an overview of their function and contents. files/MACHINEA/defconfig files/MACHINEB/defconfig - Also in the example, the ``SRC_URI`` statement contains + Also in the example, the :term:`SRC_URI` statement contains "file://defconfig". Given this scenario, you can set :term:`MACHINE` to "MACHINEA" and cause the build - system to use files from ``files/MACHINEA``. Set ``MACHINE`` to + system to use files from ``files/MACHINEA``. Set :term:`MACHINE` to "MACHINEB" and the build system uses files from ``files/MACHINEB``. Finally, for any machine other than "MACHINEA" and "MACHINEB", the build system uses files from ``files/defconfig``. @@ -2494,7 +2501,7 @@ system and gives an overview of their function and contents. permissions setting table, you should place it in your layer or the distro's layer. - You define the ``FILESYSTEM_PERMS_TABLES`` variable in the + You define the :term:`FILESYSTEM_PERMS_TABLES` variable in the ``conf/local.conf`` file, which is found in the :term:`Build Directory`, to point to your custom ``fs-perms.txt``. You can specify more than a single file permissions @@ -2513,7 +2520,7 @@ system and gives an overview of their function and contents. :term:`FIT_GENERATE_KEYS` Decides whether to generate the keys for signing fitImage if they - don't already exist. The keys are created in ``UBOOT_SIGN_KEYDIR``. + don't already exist. The keys are created in :term:`UBOOT_SIGN_KEYDIR`. The default value is 0. :term:`FIT_HASH_ALG` @@ -2594,7 +2601,7 @@ system and gives an overview of their function and contents. :term:`GCCVERSION` Specifies the default version of the GNU C Compiler (GCC) used for - compilation. By default, ``GCCVERSION`` is set to "8.x" in the + compilation. By default, :term:`GCCVERSION` is set to "8.x" in the ``meta/conf/distro/include/tcmode-default.inc`` include file:: GCCVERSION ?= "8.%" @@ -2618,7 +2625,7 @@ system and gives an overview of their function and contents. If you specifically remove the locale ``en_US.UTF-8``, you must set :term:`IMAGE_LINGUAS` appropriately. - You can set ``GLIBC_GENERATE_LOCALES`` in your ``local.conf`` file. + You can set :term:`GLIBC_GENERATE_LOCALES` in your ``local.conf`` file. By default, all locales are generated. :: @@ -2660,7 +2667,7 @@ system and gives an overview of their function and contents. configuration. Use a semi-colon character (``;``) to separate multiple options. - The ``GRUB_OPTS`` variable is optional. See the + The :term:`GRUB_OPTS` variable is optional. See the :ref:`grub-efi ` class for more information on how this variable is used. @@ -2668,7 +2675,7 @@ system and gives an overview of their function and contents. Specifies the timeout before executing the default ``LABEL`` in the GNU GRand Unified Bootloader (GRUB). - The ``GRUB_TIMEOUT`` variable is optional. See the + The :term:`GRUB_TIMEOUT` variable is optional. See the :ref:`grub-efi ` class for more information on how this variable is used. @@ -2702,7 +2709,7 @@ system and gives an overview of their function and contents. Specifies architecture-specific compiler flags that are passed to the C compiler. - Default initialization for ``HOST_CC_ARCH`` varies depending on what + Default initialization for :term:`HOST_CC_ARCH` varies depending on what is being built: - :term:`TARGET_CC_ARCH` when building for the @@ -2722,7 +2729,7 @@ system and gives an overview of their function and contents. "linux-musleabi" values possible. :term:`HOST_PREFIX` - Specifies the prefix for the cross-compile toolchain. ``HOST_PREFIX`` + Specifies the prefix for the cross-compile toolchain. :term:`HOST_PREFIX` is normally the same as :term:`TARGET_PREFIX`. :term:`HOST_SYS` @@ -2751,7 +2758,7 @@ system and gives an overview of their function and contents. A space-separated list (filter) of tools on the build host that should be allowed to be called from within build tasks. Using this filter helps reduce the possibility of host contamination. If a tool - specified in the value of ``HOSTTOOLS`` is not found on the build + specified in the value of :term:`HOSTTOOLS` is not found on the build host, the OpenEmbedded build system produces an error and the build is not started. @@ -2764,11 +2771,11 @@ system and gives an overview of their function and contents. filter helps reduce the possibility of host contamination. Unlike :term:`HOSTTOOLS`, the OpenEmbedded build system does not produce an error if a tool specified in the value of - ``HOSTTOOLS_NONFATAL`` is not found on the build host. Thus, you can - use ``HOSTTOOLS_NONFATAL`` to filter optional host tools. + :term:`HOSTTOOLS_NONFATAL` is not found on the build host. Thus, you can + use :term:`HOSTTOOLS_NONFATAL` to filter optional host tools. :term:`HOST_VENDOR` - Specifies the name of the vendor. ``HOST_VENDOR`` is normally the + Specifies the name of the vendor. :term:`HOST_VENDOR` is normally the same as :term:`TARGET_VENDOR`. :term:`ICECC_DISABLED` @@ -2813,12 +2820,12 @@ system and gives an overview of their function and contents. network lag, available memory, and existing machine loads can all affect build time. Consequently, unlike the :term:`PARALLEL_MAKE` variable, there is no - rule-of-thumb for setting ``ICECC_PARALLEL_MAKE`` to achieve optimal + rule-of-thumb for setting :term:`ICECC_PARALLEL_MAKE` to achieve optimal performance. - If you do not set ``ICECC_PARALLEL_MAKE``, the build system does not + If you do not set :term:`ICECC_PARALLEL_MAKE`, the build system does not use it (i.e. the system does not detect and assign the number of - cores as is done with ``PARALLEL_MAKE``). + cores as is done with :term:`PARALLEL_MAKE`). :term:`ICECC_PATH` The location of the ``icecc`` binary. You can set this variable in @@ -2931,7 +2938,7 @@ system and gives an overview of their function and contents. this variable to specify the list of classes that register the different types of images the OpenEmbedded build system creates. - The default value for ``IMAGE_CLASSES`` is ``image_types``. You can + The default value for :term:`IMAGE_CLASSES` is ``image_types``. You can set this variable in your ``local.conf`` or in a distribution configuration file. @@ -2945,8 +2952,8 @@ system and gives an overview of their function and contents. ``btrfs``, and so forth). When setting this variable, you should use an override for the associated type. Here is an example:: - IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} \ - --faketime --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ + IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \ + --output=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.jffs2 \ ${EXTRA_IMAGECMD}" You typically do not need to set this variable unless you are adding @@ -2958,7 +2965,7 @@ system and gives an overview of their function and contents. Specifies one or more files that contain custom device tables that are passed to the ``makedevs`` command as part of creating an image. These files list basic device nodes that should be created under - ``/dev`` within the image. If ``IMAGE_DEVICE_TABLES`` is not set, + ``/dev`` within the image. If :term:`IMAGE_DEVICE_TABLES` is not set, ``files/device_table-minimal.txt`` is used, which is located by :term:`BBPATH`. For details on how you should write device table files, see ``meta/files/device_table-minimal.txt`` as an @@ -2986,7 +2993,7 @@ system and gives an overview of their function and contents. :term:`IMAGE_FSTYPES` Specifies the formats the OpenEmbedded build system uses during the build when creating the root filesystem. For example, setting - ``IMAGE_FSTYPES`` as follows causes the build system to create root + :term:`IMAGE_FSTYPES` as follows causes the build system to create root filesystems using two formats: ``.ext3`` and ``.tar.bz2``:: IMAGE_FSTYPES = "ext3 tar.bz2" @@ -2997,25 +3004,25 @@ system and gives an overview of their function and contents. .. note:: - If an image recipe uses the "inherit image" line and you are - setting ``IMAGE_FSTYPES`` inside the recipe, you must set + setting :term:`IMAGE_FSTYPES` inside the recipe, you must set ``IMAGE_FSTYPES`` prior to using the "inherit image" line. - Due to the way the OpenEmbedded build system processes this variable, you cannot update its contents by using ``_append`` or ``_prepend``. You must use the ``+=`` operator to add one or - more options to the ``IMAGE_FSTYPES`` variable. + more options to the :term:`IMAGE_FSTYPES` variable. :term:`IMAGE_INSTALL` Used by recipes to specify the packages to install into an image through the :ref:`image ` class. Use the - ``IMAGE_INSTALL`` variable with care to avoid ordering issues. + :term:`IMAGE_INSTALL` variable with care to avoid ordering issues. - Image recipes set ``IMAGE_INSTALL`` to specify the packages to + Image recipes set :term:`IMAGE_INSTALL` to specify the packages to install into an image through ``image.bbclass``. Additionally, there are "helper" classes such as the :ref:`core-image ` class which can - take lists used with ``IMAGE_FEATURES`` and turn them into - auto-generated entries in ``IMAGE_INSTALL`` in addition to its + take lists used with :term:`IMAGE_FEATURES` and turn them into + auto-generated entries in :term:`IMAGE_INSTALL` in addition to its default contents. When you use this variable, it is best to use it as follows:: @@ -3030,24 +3037,24 @@ system and gives an overview of their function and contents. - When working with a :ref:`core-image-minimal-initramfs ` - image, do not use the ``IMAGE_INSTALL`` variable to specify + image, do not use the :term:`IMAGE_INSTALL` variable to specify packages for installation. Instead, use the :term:`PACKAGE_INSTALL` variable, which allows the initial RAM filesystem (initramfs) recipe to use a - fixed set of packages and not be affected by ``IMAGE_INSTALL``. + fixed set of packages and not be affected by :term:`IMAGE_INSTALL`. For information on creating an initramfs, see the ":ref:`dev-manual/common-tasks:building an initial ram filesystem (initramfs) image`" section in the Yocto Project Development Tasks Manual. - - Using ``IMAGE_INSTALL`` with the + - Using :term:`IMAGE_INSTALL` with the :ref:`+= ` BitBake operator within the ``/conf/local.conf`` file or from within an image recipe is not recommended. Use of this operator in these ways can cause ordering issues. Since - ``core-image.bbclass`` sets ``IMAGE_INSTALL`` to a default + ``core-image.bbclass`` sets :term:`IMAGE_INSTALL` to a default value using the :ref:`?= ` - operator, using a ``+=`` operation against ``IMAGE_INSTALL`` + operator, using a ``+=`` operation against :term:`IMAGE_INSTALL` results in unexpected behavior when used within ``conf/local.conf``. Furthermore, the same operation from within an image recipe may or may not succeed depending on the @@ -3058,7 +3065,7 @@ system and gives an overview of their function and contents. Specifies the list of locales to install into the image during the root filesystem construction process. The OpenEmbedded build system automatically splits locale files, which are used for localization, - into separate packages. Setting the ``IMAGE_LINGUAS`` variable + into separate packages. Setting the :term:`IMAGE_LINGUAS` variable ensures that any locale packages that correspond to packages already selected for installation into the image are also installed. Here is an example:: @@ -3092,13 +3099,13 @@ system and gives an overview of their function and contents. packagename packagearch version - The :ref:`image ` class defines the manifest + The :ref:`rootfs-postcommands ` class defines the manifest file as follows:: - IMAGE_MANIFEST ="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.manifest" + IMAGE_MANIFEST ="${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.manifest" The location is - derived using the :term:`DEPLOY_DIR_IMAGE` + derived using the :term:`IMGDEPLOYDIR` and :term:`IMAGE_NAME` variables. You can find information on how the image is created in the ":ref:`overview-manual/concepts:image generation`" section in the Yocto Project Overview and Concepts Manual. @@ -3122,7 +3129,7 @@ system and gives an overview of their function and contents. Defines a multiplier that the build system applies to the initial image size for cases when the multiplier times the returned disk usage value for the image is greater than the sum of - ``IMAGE_ROOTFS_SIZE`` and ``IMAGE_ROOTFS_EXTRA_SPACE``. The result of + :term:`IMAGE_ROOTFS_SIZE` and :term:`IMAGE_ROOTFS_EXTRA_SPACE`. The result of the multiplier applied to the initial image size creates free disk space in the image as overhead. By default, the build process uses a multiplier of 1.3 for this variable. This default value results in @@ -3131,7 +3138,7 @@ system and gives an overview of their function and contents. post install scripts and the package management system uses disk space inside this overhead area. Consequently, the multiplier does not produce an image with all the theoretical free disk space. See - ``IMAGE_ROOTFS_SIZE`` for information on how the build system + :term:`IMAGE_ROOTFS_SIZE` for information on how the build system determines the overall image size. The default 30% free disk space typically gives the image enough room @@ -3143,7 +3150,7 @@ system and gives an overview of their function and contents. IMAGE_OVERHEAD_FACTOR = "1.5" Alternatively, you can ensure a specific amount of free disk space is - added to the image by using the ``IMAGE_ROOTFS_EXTRA_SPACE`` + added to the image by using the :term:`IMAGE_ROOTFS_EXTRA_SPACE` variable. :term:`IMAGE_PKGTYPE` @@ -3160,10 +3167,10 @@ system and gives an overview of their function and contents. recommended that you do not use it. The :ref:`populate_sdk_* ` and - :ref:`image ` classes use the ``IMAGE_PKGTYPE`` + :ref:`image ` classes use the :term:`IMAGE_PKGTYPE` for packaging up images and SDKs. - You should not set the ``IMAGE_PKGTYPE`` manually. Rather, the + You should not set the :term:`IMAGE_PKGTYPE` manually. Rather, the variable is set indirectly through the appropriate :ref:`package_* ` class using the :term:`PACKAGE_CLASSES` variable. The @@ -3218,7 +3225,7 @@ system and gives an overview of their function and contents. Defines additional free disk space created in the image in Kbytes. By default, this variable is set to "0". This free disk space is added to the image after the build system determines the image size as - described in ``IMAGE_ROOTFS_SIZE``. + described in :term:`IMAGE_ROOTFS_SIZE`. This variable is particularly useful when you want to ensure that a specific amount of free disk space is available on a device after an @@ -3279,6 +3286,9 @@ system and gives an overview of their function and contents. - cpio.lzma - cpio.xz - cramfs + - erofs + - erofs-lz4 + - erofs-lz4hc - ext2 - ext2.bz2 - ext2.gz @@ -3321,6 +3331,18 @@ system and gives an overview of their function and contents. desired, and this suffix would then be used consistently across the build artifacts. + :term:`IMGDEPLOYDIR` + When inheriting the :ref:`image ` class directly or + through the :ref:`core-image ` class, the + ``IMGDEPLOYDIR`` points to a temporary work area for deployed files + that is set in the ``image`` class as follows:: + + IMGDEPLOYDIR = "${WORKDIR}/deploy-${PN}-image-complete" + + Recipes inheriting the ``image`` class should copy files to be + deployed into ``IMGDEPLOYDIR``, and the class will take care of + copying them into :term:`DEPLOY_DIR_IMAGE` afterwards. + :term:`INC_PR` Helps define the recipe revision for recipes that share a common ``include`` file. You can think of this variable as part of the @@ -3336,16 +3358,16 @@ system and gives an overview of their function and contents. common functionality are upgraded to a new revision. A more efficient way of dealing with this situation is to set the - ``INC_PR`` variable inside the ``include`` files that the recipes - share and then expand the ``INC_PR`` variable within the recipes to + :term:`INC_PR` variable inside the ``include`` files that the recipes + share and then expand the :term:`INC_PR` variable within the recipes to help define the recipe revision. The following provides an example that shows how to use the - ``INC_PR`` variable given a common ``include`` file that defines the + :term:`INC_PR` variable given a common ``include`` file that defines the variable. Once the variable is defined in the ``include`` file, you - can use the variable to set the ``PR`` values in each recipe. You - will notice that when you set a recipe's ``PR`` you can provide more - granular revisioning by appending values to the ``INC_PR`` variable:: + can use the variable to set the :term:`PR` values in each recipe. You + will notice that when you set a recipe's :term:`PR` you can provide more + granular revisioning by appending values to the :term:`INC_PR` variable:: recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2" recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1" @@ -3356,7 +3378,7 @@ system and gives an overview of their function and contents. first line of the example establishes the baseline revision to be used for all recipes that use the ``include`` file. The remaining lines in the example are from individual recipes and show how the - ``PR`` value is set. + :term:`PR` value is set. :term:`INCOMPATIBLE_LICENSE` Specifies a space-separated list of license names (as they would @@ -3382,12 +3404,12 @@ system and gives an overview of their function and contents. It is possible to define a list of licenses that are allowed to be used instead of the licenses that are excluded. To do this, define a variable ``COMPATIBLE_LICENSES`` with the names of the licenses - that are allowed. Then define ``INCOMPATIBLE_LICENSE`` as:: + that are allowed. Then define :term:`INCOMPATIBLE_LICENSE` as:: INCOMPATIBLE_LICENSE = "${@' '.join(sorted(set(d.getVar('AVAILABLE_LICENSES').split()) - set(d.getVar('COMPATIBLE_LICENSES').split())))}" - This will result in ``INCOMPATIBLE_LICENSE`` containing the names of + This will result in :term:`INCOMPATIBLE_LICENSE` containing the names of all licenses from :term:`AVAILABLE_LICENSES` except the ones specified in ``COMPATIBLE_LICENSES``, thus only allowing the latter licenses to be used. @@ -3396,9 +3418,9 @@ system and gives an overview of their function and contents. Causes the named class or classes to be inherited globally. Anonymous functions in the class or classes are not executed for the base configuration and in each individual recipe. The OpenEmbedded build - system ignores changes to ``INHERIT`` in individual recipes. + system ignores changes to :term:`INHERIT` in individual recipes. - For more information on ``INHERIT``, see the + For more information on :term:`INHERIT`, see the :ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:\`\`inherit\`\` configuration directive`" section in the Bitbake User Manual. @@ -3430,7 +3452,7 @@ system and gives an overview of their function and contents. variable. To prevent the build system from splitting out debug information - during packaging, set the ``INHIBIT_PACKAGE_DEBUG_SPLIT`` variable as + during packaging, set the :term:`INHIBIT_PACKAGE_DEBUG_SPLIT` variable as follows:: INHIBIT_PACKAGE_DEBUG_SPLIT = "1" @@ -3442,7 +3464,7 @@ system and gives an overview of their function and contents. By default, the OpenEmbedded build system strips binaries and puts the debugging symbols into ``${``\ :term:`PN`\ ``}-dbg``. - Consequently, you should not set ``INHIBIT_PACKAGE_STRIP`` when you + Consequently, you should not set :term:`INHIBIT_PACKAGE_STRIP` when you plan to debug in general. :term:`INHIBIT_SYSROOT_STRIP` @@ -3451,7 +3473,7 @@ system and gives an overview of their function and contents. By default, the OpenEmbedded build system strips binaries in the resulting sysroot. When you specifically set the - ``INHIBIT_SYSROOT_STRIP`` variable to "1" in your recipe, you inhibit + :term:`INHIBIT_SYSROOT_STRIP` variable to "1" in your recipe, you inhibit this stripping. If you want to use this variable, include the @@ -3461,7 +3483,7 @@ system and gives an overview of their function and contents. .. note:: - Use of the ``INHIBIT_SYSROOT_STRIP`` variable occurs in rare and + Use of the :term:`INHIBIT_SYSROOT_STRIP` variable occurs in rare and special circumstances. For example, suppose you are building bare-metal firmware by using an external GCC toolchain. Furthermore, even if the toolchain's binaries are strippable, there are other files @@ -3483,7 +3505,7 @@ system and gives an overview of their function and contents. :term:`INITRAMFS_IMAGE` Specifies the :term:`PROVIDES` name of an image recipe that is used to build an initial RAM filesystem (initramfs) - image. In other words, the ``INITRAMFS_IMAGE`` variable causes an + image. In other words, the :term:`INITRAMFS_IMAGE` variable causes an additional recipe to be built as a dependency to whatever root filesystem recipe you might be using (e.g. ``core-image-sato``). The initramfs image recipe you provide should set @@ -3499,16 +3521,16 @@ system and gives an overview of their function and contents. See the ``meta/recipes-core/images/core-image-minimal-initramfs.bb`` recipe in the :term:`Source Directory` for an example initramfs recipe. To select this sample recipe as - the one built to provide the initramfs image, set ``INITRAMFS_IMAGE`` + the one built to provide the initramfs image, set :term:`INITRAMFS_IMAGE` to "core-image-minimal-initramfs". You can also find more information by referencing the ``meta-poky/conf/local.conf.sample.extended`` configuration file in the Source Directory, the :ref:`image ` class, and the :ref:`kernel ` class to see how to use - the ``INITRAMFS_IMAGE`` variable. + the :term:`INITRAMFS_IMAGE` variable. - If ``INITRAMFS_IMAGE`` is empty, which is the default, then no + If :term:`INITRAMFS_IMAGE` is empty, which is the default, then no initramfs image is built. For more information, you can also see the @@ -3543,7 +3565,7 @@ system and gives an overview of their function and contents. Setting the variable to "1" in a configuration file causes the OpenEmbedded build system to generate a kernel image with the - initramfs specified in ``INITRAMFS_IMAGE`` bundled within:: + initramfs specified in :term:`INITRAMFS_IMAGE` bundled within:: INITRAMFS_IMAGE_BUNDLE = "1" @@ -3555,7 +3577,7 @@ system and gives an overview of their function and contents. .. note:: - You must set the ``INITRAMFS_IMAGE_BUNDLE`` variable in a + You must set the :term:`INITRAMFS_IMAGE_BUNDLE` variable in a configuration file. You cannot set the variable in a recipe file. See the @@ -3596,13 +3618,13 @@ system and gives an overview of their function and contents. Indicates list of filesystem images to concatenate and use as an initial RAM disk (``initrd``). - The ``INITRD`` variable is an optional variable used with the + The :term:`INITRD` variable is an optional variable used with the :ref:`image-live ` class. :term:`INITRD_IMAGE` When building a "live" bootable image (i.e. when :term:`IMAGE_FSTYPES` contains "live"), - ``INITRD_IMAGE`` specifies the image recipe that should be built to + :term:`INITRD_IMAGE` specifies the image recipe that should be built to provide the initial RAM disk image. The default value is "core-image-minimal-initramfs". @@ -3636,7 +3658,7 @@ system and gives an overview of their function and contents. The variable's default value is "defaults", which is set in the :ref:`update-rc.d ` class. - The value in ``INITSCRIPT_PARAMS`` is passed through to the + The value in :term:`INITSCRIPT_PARAMS` is passed through to the ``update-rc.d`` command. For more information on valid parameters, please see the ``update-rc.d`` manual page at https://manpages.debian.org/buster/init-system-helpers/update-rc.d.8.en.html @@ -3655,7 +3677,7 @@ system and gives an overview of their function and contents. :term:`INSTALL_TIMEZONE_FILE` By default, the ``tzdata`` recipe packages an ``/etc/timezone`` file. - Set the ``INSTALL_TIMEZONE_FILE`` variable to "0" at the + Set the :term:`INSTALL_TIMEZONE_FILE` variable to "0" at the configuration level to disable this behavior. :term:`IPK_FEED_URIS` @@ -3687,7 +3709,7 @@ system and gives an overview of their function and contents. Values for this variable are set in the kernel's recipe file and the kernel's append file. For example, if you are using the ``linux-yocto_4.12`` kernel, the kernel recipe file is the - ``meta/recipes-kernel/linux/linux-yocto_4.12.bb`` file. ``KBRANCH`` + ``meta/recipes-kernel/linux/linux-yocto_4.12.bb`` file. :term:`KBRANCH` is set as follows in that kernel recipe file:: KBRANCH ?= "standard/base" @@ -3707,7 +3729,7 @@ system and gives an overview of their function and contents. KBRANCH_edgerouter = "standard/edgerouter" KBRANCH_beaglebone = "standard/beaglebone" - The ``KBRANCH`` statements + The :term:`KBRANCH` statements identify the kernel branch to use when building for each supported BSP. @@ -3721,7 +3743,7 @@ system and gives an overview of their function and contents. would place patch files and configuration fragment files (i.e. "out-of-tree"). However, if you want to use a ``defconfig`` file that is part of the kernel tree (i.e. "in-tree"), you can use the - ``KBUILD_DEFCONFIG`` variable and append the + :term:`KBUILD_DEFCONFIG` variable and append the :term:`KMACHINE` variable to point to the ``defconfig`` file. @@ -3730,7 +3752,7 @@ system and gives an overview of their function and contents. KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file - Here is an example from a "raspberrypi2" ``KMACHINE`` build that uses + Here is an example from a "raspberrypi2" :term:`KMACHINE` build that uses a ``defconfig`` file named "bcm2709_defconfig":: KBUILD_DEFCONFIG_raspberrypi2 = "bcm2709_defconfig" @@ -3740,7 +3762,7 @@ system and gives an overview of their function and contents. KBUILD_DEFCONFIG_pn-linux-yocto ?= defconfig_file For more - information on how to use the ``KBUILD_DEFCONFIG`` variable, see the + information on how to use the :term:`KBUILD_DEFCONFIG` variable, see the ":ref:`kernel-dev/common:using an "in-tree" \`\`defconfig\`\` file`" section in the Yocto Project Linux Kernel Development Manual. @@ -3757,27 +3779,27 @@ system and gives an overview of their function and contents. options not explicitly specified will be disabled in the kernel config. - In case ``KCONFIG_MODE`` is not set the behaviour will depend on where + In case :term:`KCONFIG_MODE` is not set the behaviour will depend on where the ``defconfig`` file is coming from. An "in-tree" ``defconfig`` file will be handled in ``alldefconfig`` mode, a ``defconfig`` file placed in ``${WORKDIR}`` through a meta-layer will be handled in ``allnoconfig`` mode. An "in-tree" ``defconfig`` file can be selected via the - :term:`KBUILD_DEFCONFIG` variable. ``KCONFIG_MODE`` does not need to + :term:`KBUILD_DEFCONFIG` variable. :term:`KCONFIG_MODE` does not need to be explicitly set. A ``defconfig`` file compatible with ``allnoconfig`` mode can be generated by copying the ``.config`` file from a working Linux kernel build, renaming it to ``defconfig`` and placing it into the Linux - kernel ``${WORKDIR}`` through your meta-layer. ``KCONFIG_MODE`` does + kernel ``${WORKDIR}`` through your meta-layer. :term:`KCONFIG_MODE` does not need to be explicitly set. A ``defconfig`` file compatible with ``alldefconfig`` mode can be generated using the :ref:`ref-tasks-savedefconfig` task and placed into the Linux kernel ``${WORKDIR}`` through your - meta-layer. Explicitely set ``KCONFIG_MODE``:: + meta-layer. Explicitely set :term:`KCONFIG_MODE`:: KCONFIG_MODE = "alldefconfig" @@ -3789,10 +3811,10 @@ system and gives an overview of their function and contents. :term:`KERNEL_ARTIFACT_NAME` Specifies the name of all of the build artifacts. You can change the - name of the artifacts by changing the ``KERNEL_ARTIFACT_NAME`` + name of the artifacts by changing the :term:`KERNEL_ARTIFACT_NAME` variable. - The value of ``KERNEL_ARTIFACT_NAME``, which is set in the + The value of :term:`KERNEL_ARTIFACT_NAME`, which is set in the ``meta/classes/kernel-artifact-names.bbclass`` file, has the following default value:: @@ -3869,13 +3891,13 @@ system and gives an overview of their function and contents. system, the default Board Support Packages (BSPs) :term:`Metadata` is provided through the :term:`KMACHINE` and :term:`KBRANCH` - variables. You can use the ``KERNEL_FEATURES`` variable from within + variables. You can use the :term:`KERNEL_FEATURES` variable from within the kernel recipe or kernel append file to further add metadata for all BSPs or specific BSPs. The metadata you add through this variable includes config fragments and features descriptions, which usually includes patches as well as - config fragments. You typically override the ``KERNEL_FEATURES`` + config fragments. You typically override the :term:`KERNEL_FEATURES` variable for a specific machine. In this way, you can provide validated, but optional, sets of kernel configurations and features. @@ -3935,12 +3957,12 @@ system and gives an overview of their function and contents. :term:`KERNEL_IMAGE_MAXSIZE` Specifies the maximum size of the kernel image file in kilobytes. If - ``KERNEL_IMAGE_MAXSIZE`` is set, the size of the kernel image file is + :term:`KERNEL_IMAGE_MAXSIZE` is set, the size of the kernel image file is checked against the set value during the :ref:`ref-tasks-sizecheck` task. The task fails if the kernel image file is larger than the setting. - ``KERNEL_IMAGE_MAXSIZE`` is useful for target devices that have a + :term:`KERNEL_IMAGE_MAXSIZE` is useful for target devices that have a limited amount of space in which the kernel image must be stored. By default, this variable is not set, which means the size of the @@ -3965,7 +3987,7 @@ system and gives an overview of their function and contents. build. If you want to build an alternate kernel image type in addition to that - specified by ``KERNEL_IMAGETYPE``, use the :term:`KERNEL_ALT_IMAGETYPE` + specified by :term:`KERNEL_IMAGETYPE`, use the :term:`KERNEL_ALT_IMAGETYPE` variable. :term:`KERNEL_MODULE_AUTOLOAD` @@ -3976,7 +3998,7 @@ system and gives an overview of their function and contents. This variable replaces the deprecated :term:`module_autoload` variable. - You can use the ``KERNEL_MODULE_AUTOLOAD`` variable anywhere that it + You can use the :term:`KERNEL_MODULE_AUTOLOAD` variable anywhere that it can be recognized by the kernel recipe or by an out-of-tree kernel module recipe (e.g. a machine configuration file, a distribution configuration file, an append file for the recipe, or the recipe @@ -3986,7 +4008,7 @@ system and gives an overview of their function and contents. KERNEL_MODULE_AUTOLOAD += "module_name1 module_name2 module_name3" - Including ``KERNEL_MODULE_AUTOLOAD`` causes the OpenEmbedded build + Including :term:`KERNEL_MODULE_AUTOLOAD` causes the OpenEmbedded build system to populate the ``/etc/modules-load.d/modname.conf`` file with the list of modules to be auto-loaded on boot. The modules appear one-per-line in the file. Here is an example of the most common use @@ -4015,7 +4037,7 @@ system and gives an overview of their function and contents. To help maximize compatibility with out-of-tree drivers used to build modules, the OpenEmbedded build system also recognizes and uses the :term:`KERNEL_SRC` variable, which is identical to - the ``KERNEL_PATH`` variable. Both variables are common variables + the :term:`KERNEL_PATH` variable. Both variables are common variables used by external Makefiles to point to the kernel source directory. :term:`KERNEL_SRC` @@ -4029,7 +4051,7 @@ system and gives an overview of their function and contents. To help maximize compatibility with out-of-tree drivers used to build modules, the OpenEmbedded build system also recognizes and uses the :term:`KERNEL_PATH` variable, which is identical - to the ``KERNEL_SRC`` variable. Both variables are common variables + to the :term:`KERNEL_SRC` variable. Both variables are common variables used by external Makefiles to point to the kernel source directory. :term:`KERNEL_VERSION` @@ -4042,9 +4064,9 @@ system and gives an overview of their function and contents. :term:`KERNELDEPMODDEPEND` Specifies whether the data referenced through :term:`PKGDATA_DIR` is needed or not. - ``KERNELDEPMODDEPEND`` does not control whether or not that data + :term:`KERNELDEPMODDEPEND` does not control whether or not that data exists, but simply whether or not it is used. If you do not need to - use the data, set the ``KERNELDEPMODDEPEND`` variable in your + use the data, set the :term:`KERNELDEPMODDEPEND` variable in your ``initramfs`` recipe. Setting the variable there when the data is not needed avoids a potential dependency loop. @@ -4063,7 +4085,7 @@ system and gives an overview of their function and contents. OpenEmbedded build system understands as ``core2-32-intel-common`` goes by a different name in the Linux Yocto kernel. The kernel understands that machine as ``intel-core2-32``. For cases like these, - the ``KMACHINE`` variable maps the kernel machine name to the + the :term:`KMACHINE` variable maps the kernel machine name to the OpenEmbedded build system machine name. These mappings between different names occur in the Yocto Linux @@ -4078,7 +4100,7 @@ system and gives an overview of their function and contents. KBRANCH_core2-32-intel-common = "standard/base" KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" - The ``KMACHINE`` statement says + The :term:`KMACHINE` statement says that the kernel understands the machine name as "intel-core2-32". However, the OpenEmbedded build system understands the machine as "core2-32-intel-common". @@ -4091,7 +4113,7 @@ system and gives an overview of their function and contents. Yocto Project Linux Kernel Development Manual for more information on kernel types. - You define the ``KTYPE`` variable in the + You define the :term:`KTYPE` variable in the :ref:`kernel-dev/advanced:bsp descriptions`. The value you use must match the value used for the :term:`LINUX_KERNEL_TYPE` value used by the @@ -4144,7 +4166,7 @@ system and gives an overview of their function and contents. :term:`LAYERSERIES_COMPAT` Lists the versions of the :term:`OpenEmbedded-Core (OE-Core)` for which - a layer is compatible. Using the ``LAYERSERIES_COMPAT`` variable + a layer is compatible. Using the :term:`LAYERSERIES_COMPAT` variable allows the layer maintainer to indicate which combinations of the layer and OE-Core can be expected to work. The variable gives the system a way to detect when a layer has not been tested with new @@ -4161,7 +4183,7 @@ system and gives an overview of their function and contents. .. note:: - Setting ``LAYERSERIES_COMPAT`` is required by the Yocto Project + Setting :term:`LAYERSERIES_COMPAT` is required by the Yocto Project Compatible version 2 standard. The OpenEmbedded build system produces a warning if the variable is not set for any given layer. @@ -4185,7 +4207,7 @@ system and gives an overview of their function and contents. to an environment variable and thus made visible to the software being built during the compilation step. - Default initialization for ``LDFLAGS`` varies depending on what is + Default initialization for :term:`LDFLAGS` varies depending on what is being built: - :term:`TARGET_LDFLAGS` when building for the @@ -4260,7 +4282,7 @@ system and gives an overview of their function and contents. LICENSE_${PN}-doc = "GFDL-1.2" :term:`LICENSE_CREATE_PACKAGE` - Setting ``LICENSE_CREATE_PACKAGE`` to "1" causes the OpenEmbedded + Setting :term:`LICENSE_CREATE_PACKAGE` to "1" causes the OpenEmbedded build system to create an extra package (i.e. ``${``\ :term:`PN`\ ``}-lic``) for each recipe and to add those packages to the @@ -4305,9 +4327,9 @@ system and gives an overview of their function and contents. :term:`LICENSE_PATH` Path to additional licenses used during the build. By default, the - OpenEmbedded build system uses ``COMMON_LICENSE_DIR`` to define the + OpenEmbedded build system uses :term:`COMMON_LICENSE_DIR` to define the directory that holds common license text used during the build. The - ``LICENSE_PATH`` variable allows you to extend that location to other + :term:`LICENSE_PATH` variable allows you to extend that location to other areas that have additional licenses:: LICENSE_PATH += "path-to-additional-common-licenses" @@ -4320,9 +4342,9 @@ system and gives an overview of their function and contents. Yocto Project Linux Kernel Development Manual for more information on kernel types. - If you do not specify a ``LINUX_KERNEL_TYPE``, it defaults to + If you do not specify a :term:`LINUX_KERNEL_TYPE`, it defaults to "standard". Together with :term:`KMACHINE`, the - ``LINUX_KERNEL_TYPE`` variable defines the search arguments used by + :term:`LINUX_KERNEL_TYPE` variable defines the search arguments used by the kernel tools to find the appropriate description within the kernel :term:`Metadata` with which to build out the sources and configuration. @@ -4336,7 +4358,7 @@ system and gives an overview of their function and contents. LINUX_VERSION ?= "3.4.24" - The ``LINUX_VERSION`` variable is used to define :term:`PV` + The :term:`LINUX_VERSION` variable is used to define :term:`PV` for the recipe:: PV = "${LINUX_VERSION}+git${SRCPV}" @@ -4366,8 +4388,8 @@ system and gives an overview of their function and contents. :term:`MACHINE` Specifies the target device for which the image is built. You define - ``MACHINE`` in the ``local.conf`` file found in the - :term:`Build Directory`. By default, ``MACHINE`` is set to + :term:`MACHINE` in the ``local.conf`` file found in the + :term:`Build Directory`. By default, :term:`MACHINE` is set to "qemux86", which is an x86-based architecture machine to be emulated using QEMU:: @@ -4375,7 +4397,7 @@ system and gives an overview of their function and contents. The variable corresponds to a machine configuration file of the same name, through which machine-specific configurations are set. Thus, - when ``MACHINE`` is set to "qemux86", the corresponding + when :term:`MACHINE` is set to "qemux86", the corresponding ``qemux86.conf`` machine configuration file can be found in the :term:`Source Directory` in ``meta/conf/machine``. @@ -4401,13 +4423,13 @@ system and gives an overview of their function and contents. .. note:: Adding additional Board Support Package (BSP) layers to your - configuration adds new possible settings for ``MACHINE``. + configuration adds new possible settings for :term:`MACHINE`. :term:`MACHINE_ARCH` Specifies the name of the machine-specific architecture. This variable is set automatically from :term:`MACHINE` or :term:`TUNE_PKGARCH`. You should not hand-edit - the ``MACHINE_ARCH`` variable. + the :term:`MACHINE_ARCH` variable. :term:`MACHINE_ESSENTIAL_EXTRA_RDEPENDS` A list of required machine-specific packages to install as part of @@ -4419,7 +4441,7 @@ system and gives an overview of their function and contents. image. This variable is similar to the - ``MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS`` variable with the exception + :term:`MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS` variable with the exception that the image being built has a build dependency on the variable's list of packages. In other words, the image will not build if a file in this list is not found. @@ -4440,7 +4462,7 @@ system and gives an overview of their function and contents. on ``packagegroup-core-boot``, including the ``core-image-minimal`` image. - This variable is similar to the ``MACHINE_ESSENTIAL_EXTRA_RDEPENDS`` + This variable is similar to the :term:`MACHINE_ESSENTIAL_EXTRA_RDEPENDS` variable with the exception that the image being built does not have a build dependency on the variable's list of packages. In other words, the image will still build if a package in this list is not @@ -4482,7 +4504,7 @@ system and gives an overview of their function and contents. which does not include the ``core-image-minimal`` or ``core-image-full-cmdline`` images. - The variable is similar to the ``MACHINE_EXTRA_RRECOMMENDS`` variable + The variable is similar to the :term:`MACHINE_EXTRA_RRECOMMENDS` variable with the exception that the image being built has a build dependency on the variable's list of packages. In other words, the image will not build if a file in this list is not found. @@ -4507,7 +4529,7 @@ system and gives an overview of their function and contents. which does not include the ``core-image-minimal`` or ``core-image-full-cmdline`` images. - This variable is similar to the ``MACHINE_EXTRA_RDEPENDS`` variable + This variable is similar to the :term:`MACHINE_EXTRA_RDEPENDS` variable with the exception that the image being built does not have a build dependency on the variable's list of packages. In other words, the image will build if a file in this list is not found. @@ -4536,8 +4558,8 @@ system and gives an overview of their function and contents. shipped, see the ":ref:`ref-features-machine`" section. :term:`MACHINE_FEATURES_BACKFILL` - Features to be added to ``MACHINE_FEATURES`` if not also present in - ``MACHINE_FEATURES_BACKFILL_CONSIDERED``. + Features to be added to :term:`MACHINE_FEATURES` if not also present in + :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED`. This variable is set in the ``meta/conf/bitbake.conf`` file. It is not intended to be user-configurable. It is best to just reference @@ -4546,8 +4568,8 @@ system and gives an overview of their function and contents. section for more information. :term:`MACHINE_FEATURES_BACKFILL_CONSIDERED` - Features from ``MACHINE_FEATURES_BACKFILL`` that should not be - backfilled (i.e. added to ``MACHINE_FEATURES``) during the build. See + Features from :term:`MACHINE_FEATURES_BACKFILL` that should not be + backfilled (i.e. added to :term:`MACHINE_FEATURES`) during the build. See the ":ref:`ref-features-backfill`" section for more information. :term:`MACHINEOVERRIDES` @@ -4555,11 +4577,11 @@ system and gives an overview of their function and contents. machine. By default, this list includes the value of :term:`MACHINE`. - You can extend ``MACHINEOVERRIDES`` to add extra overrides that + You can extend :term:`MACHINEOVERRIDES` to add extra overrides that should apply to a machine. For example, all machines emulated in QEMU (e.g. ``qemuarm``, ``qemux86``, and so forth) include a file named ``meta/conf/machine/include/qemu.inc`` that prepends the following - override to ``MACHINEOVERRIDES``:: + override to :term:`MACHINEOVERRIDES`:: MACHINEOVERRIDES =. "qemuall:" @@ -4573,7 +4595,7 @@ system and gives an overview of their function and contents. " The underlying mechanism behind - ``MACHINEOVERRIDES`` is simply that it is included in the default + :term:`MACHINEOVERRIDES` is simply that it is included in the default value of :term:`OVERRIDES`. :term:`MAINTAINER` @@ -4593,10 +4615,10 @@ system and gives an overview of their function and contents. first tries the local download directory. If that location fails, the build system tries locations defined by :term:`PREMIRRORS`, the upstream source, and then - locations specified by ``MIRRORS`` in that order. + locations specified by :term:`MIRRORS` in that order. Assuming your distribution (:term:`DISTRO`) is "poky", - the default value for ``MIRRORS`` is defined in the + the default value for :term:`MIRRORS` is defined in the ``conf/distro/poky.conf`` file in the ``meta-poky`` Git repository. :term:`MLPREFIX` @@ -4604,16 +4626,16 @@ system and gives an overview of their function and contents. special version of a recipe or package (i.e. a Multilib version). The variable is used in places where the prefix needs to be added to or removed from a the name (e.g. the :term:`BPN` variable). - ``MLPREFIX`` gets set when a prefix has been added to ``PN``. + :term:`MLPREFIX` gets set when a prefix has been added to :term:`PN`. .. note:: - The "ML" in ``MLPREFIX`` stands for "MultiLib". This representation is + The "ML" in :term:`MLPREFIX` stands for "MultiLib". This representation is historical and comes from a time when ``nativesdk`` was a suffix rather than a prefix on the recipe name. When ``nativesdk`` was turned - into a prefix, it made sense to set ``MLPREFIX`` for it as well. + into a prefix, it made sense to set :term:`MLPREFIX` for it as well. - To help understand when ``MLPREFIX`` might be needed, consider when + To help understand when :term:`MLPREFIX` might be needed, consider when :term:`BBCLASSEXTEND` is used to provide a ``nativesdk`` version of a recipe in addition to the target version. If that recipe declares build-time dependencies on tasks in other @@ -4629,10 +4651,10 @@ system and gives an overview of their function and contents. do_foo[depends] += "${MLPREFIX}recipe:do_foo" - module_autoload - This variable has been replaced by the ``KERNEL_MODULE_AUTOLOAD`` + :term:`module_autoload` + This variable has been replaced by the :term:`KERNEL_MODULE_AUTOLOAD` variable. You should replace all occurrences of ``module_autoload`` - with additions to ``KERNEL_MODULE_AUTOLOAD``, for example:: + with additions to :term:`KERNEL_MODULE_AUTOLOAD`, for example:: module_autoload_rfcomm = "rfcomm" @@ -4642,7 +4664,7 @@ system and gives an overview of their function and contents. See the :term:`KERNEL_MODULE_AUTOLOAD` variable for more information. - module_conf + :term:`module_conf` Specifies `modprobe.d `_ syntax lines for inclusion in the ``/etc/modprobe.d/modname.conf`` file. @@ -4716,7 +4738,7 @@ system and gives an overview of their function and contents. Some classes (e.g. :ref:`cross-canadian `) modify the - ``MULTIMACH_TARGET_SYS`` value. + :term:`MULTIMACH_TARGET_SYS` value. See the :term:`STAMP` variable for an example. See the :term:`STAGING_DIR_TARGET` variable for more information. @@ -4745,10 +4767,10 @@ system and gives an overview of their function and contents. licenses that are not in any way common. Also, new licenses are added occasionally to avoid introducing a lot of common license files, which are only applicable to a specific package. - ``NO_GENERIC_LICENSE`` is used to allow copying a license that does + :term:`NO_GENERIC_LICENSE` is used to allow copying a license that does not exist in common licenses. - The following example shows how to add ``NO_GENERIC_LICENSE`` to a + The following example shows how to add :term:`NO_GENERIC_LICENSE` to a recipe:: NO_GENERIC_LICENSE[license_name] = "license_file_in_fetched_source" @@ -4763,7 +4785,7 @@ system and gives an overview of their function and contents. Prevents installation of all "recommended-only" packages. Recommended-only packages are packages installed only through the :term:`RRECOMMENDS` variable). Setting the - ``NO_RECOMMENDATIONS`` variable to "1" turns this feature on:: + :term:`NO_RECOMMENDATIONS` variable to "1" turns this feature on:: NO_RECOMMENDATIONS = "1" @@ -4795,7 +4817,7 @@ system and gives an overview of their function and contents. :term:`NOAUTOPACKAGEDEBUG` Disables auto package from splitting ``.debug`` files. If a recipe requires ``FILES_${PN}-dbg`` to be set manually, the - ``NOAUTOPACKAGEDEBUG`` can be defined allowing you to define the + :term:`NOAUTOPACKAGEDEBUG` can be defined allowing you to define the content of the debug package. For example:: NOAUTOPACKAGEDEBUG = "1" @@ -4803,6 +4825,13 @@ system and gives an overview of their function and contents. FILES_${PN}-dbg = "/usr/src/debug/" FILES_${QT_BASE_NAME}-demos-doc = "${docdir}/${QT_DIR_NAME}/qch/qt.qch" + :term:`NON_MULTILIB_RECIPES` + A list of recipes that should not be built for multilib. OE-Core's + ``multilib.conf`` file defines a reasonable starting point for this + list with:: + + NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf u-boot" + :term:`OBJCOPY` The minimal command and arguments to run ``objcopy``. @@ -4838,7 +4867,7 @@ system and gives an overview of their function and contents. value is "oe-init-build-env". If you use a custom script to set up your build environment, set the - ``OE_INIT_ENV_SCRIPT`` variable to its name. + :term:`OE_INIT_ENV_SCRIPT` variable to its name. :term:`OE_TERMINAL` Controls how the OpenEmbedded build system spawns interactive @@ -4861,7 +4890,7 @@ system and gives an overview of their function and contents. The directory from which the top-level build environment setup script is sourced. The Yocto Project provides a top-level build environment setup script: :ref:`structure-core-script`. When you run this - script, the ``OEROOT`` variable resolves to the directory that + script, the :term:`OEROOT` variable resolves to the directory that contains the script. For additional information on how this variable is used, see the @@ -4881,12 +4910,12 @@ system and gives an overview of their function and contents. A colon-separated list of overrides that currently apply. Overrides are a BitBake mechanism that allows variables to be selectively overridden at the end of parsing. The set of overrides in - ``OVERRIDES`` represents the "state" during building, which includes + :term:`OVERRIDES` represents the "state" during building, which includes the current recipe being built, the machine for which it is being built, and so forth. As an example, if the string "an-override" appears as an element in - the colon-separated list in ``OVERRIDES``, then the following + the colon-separated list in :term:`OVERRIDES`, then the following assignment will override ``FOO`` with the value "overridden" at the end of parsing:: @@ -4897,7 +4926,7 @@ system and gives an overview of their function and contents. section in the BitBake User Manual for more information on the overrides mechanism. - The default value of ``OVERRIDES`` includes the values of the + The default value of :term:`OVERRIDES` includes the values of the :term:`CLASSOVERRIDE`, :term:`MACHINEOVERRIDES`, and :term:`DISTROOVERRIDES` variables. Another @@ -4909,13 +4938,13 @@ system and gives an overview of their function and contents. .. note:: - An easy way to see what overrides apply is to search for ``OVERRIDES`` + An easy way to see what overrides apply is to search for :term:`OVERRIDES` in the output of the ``bitbake -e`` command. See the ":ref:`dev-manual/common-tasks:viewing variable values`" section in the Yocto Project Development Tasks Manual for more information. :term:`P` - The recipe name and version. ``P`` is comprised of the following:: + The recipe name and version. :term:`P` is comprised of the following:: ${PN}-${PV} @@ -4950,7 +4979,7 @@ system and gives an overview of their function and contents. However, if your recipe's output packages are built specific to the target machine rather than generally for the architecture of the - machine, you should set ``PACKAGE_ARCH`` to the value of + machine, you should set :term:`PACKAGE_ARCH` to the value of :term:`MACHINE_ARCH` in the recipe as follows:: PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -4959,11 +4988,11 @@ system and gives an overview of their function and contents. Specifies a list of architectures compatible with the target machine. This variable is set automatically and should not normally be hand-edited. Entries are separated using spaces and listed in order - of priority. The default value for ``PACKAGE_ARCHS`` is "all any + of priority. The default value for :term:`PACKAGE_ARCHS` is "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}". :term:`PACKAGE_BEFORE_PN` - Enables easily adding packages to ``PACKAGES`` before ``${PN}`` so + Enables easily adding packages to :term:`PACKAGES` before ``${PN}`` so that those added packages can pick up files that would normally be included in the default package. @@ -5003,7 +5032,7 @@ system and gives an overview of their function and contents. creating ``*-dbg`` packages to be used with the GNU Project Debugger (GDB). - With the ``PACKAGE_DEBUG_SPLIT_STYLE`` variable, you can control + With the :term:`PACKAGE_DEBUG_SPLIT_STYLE` variable, you can control where debug information, which can include or exclude source files, is stored: @@ -5040,7 +5069,7 @@ system and gives an overview of their function and contents. are using :term:`IMAGE_FEATURES` to install ``dev-pkgs``, you might not want to install all packages from a particular multilib. If you find yourself in this situation, you can - use the ``PACKAGE_EXCLUDE_COMPLEMENTARY`` variable to specify regular + use the :term:`PACKAGE_EXCLUDE_COMPLEMENTARY` variable to specify regular expressions to match the packages you want to exclude. :term:`PACKAGE_EXCLUDE` @@ -5078,7 +5107,7 @@ system and gives an overview of their function and contents. :term:`PACKAGE_FEED_ARCHS` Optionally specifies the package architectures used as part of the package feed URIs during the build. When used, the - ``PACKAGE_FEED_ARCHS`` variable is appended to the final package feed + :term:`PACKAGE_FEED_ARCHS` variable is appended to the final package feed URI, which is constructed using the :term:`PACKAGE_FEED_URIS` and :term:`PACKAGE_FEED_BASE_PATHS` @@ -5086,15 +5115,15 @@ system and gives an overview of their function and contents. .. note:: - You can use the ``PACKAGE_FEED_ARCHS`` + You can use the :term:`PACKAGE_FEED_ARCHS` variable to whitelist specific package architectures. If you do not need to whitelist specific architectures, which is a common case, you can omit this variable. Omitting the variable results in all available architectures for the current machine being included into remote package feeds. - Consider the following example where the ``PACKAGE_FEED_URIS``, - ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are + Consider the following example where the :term:`PACKAGE_FEED_URIS`, + :term:`PACKAGE_FEED_BASE_PATHS`, and :term:`PACKAGE_FEED_ARCHS` variables are defined in your ``local.conf`` file:: PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ @@ -5117,13 +5146,13 @@ system and gives an overview of their function and contents. :term:`PACKAGE_FEED_BASE_PATHS` Specifies the base path used when constructing package feed URIs. The - ``PACKAGE_FEED_BASE_PATHS`` variable makes up the middle portion of a + :term:`PACKAGE_FEED_BASE_PATHS` variable makes up the middle portion of a package feed URI used by the OpenEmbedded build system. The base path lies between the :term:`PACKAGE_FEED_URIS` and :term:`PACKAGE_FEED_ARCHS` variables. - Consider the following example where the ``PACKAGE_FEED_URIS``, - ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are + Consider the following example where the :term:`PACKAGE_FEED_URIS`, + :term:`PACKAGE_FEED_BASE_PATHS`, and :term:`PACKAGE_FEED_ARCHS` variables are defined in your ``local.conf`` file:: PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ @@ -5147,12 +5176,12 @@ system and gives an overview of their function and contents. :term:`PACKAGE_FEED_URIS` Specifies the front portion of the package feed URI used by the OpenEmbedded build system. Each final package feed URI is comprised - of ``PACKAGE_FEED_URIS``, + of :term:`PACKAGE_FEED_URIS`, :term:`PACKAGE_FEED_BASE_PATHS`, and :term:`PACKAGE_FEED_ARCHS` variables. - Consider the following example where the ``PACKAGE_FEED_URIS``, - ``PACKAGE_FEED_BASE_PATHS``, and ``PACKAGE_FEED_ARCHS`` variables are + Consider the following example where the :term:`PACKAGE_FEED_URIS`, + :term:`PACKAGE_FEED_BASE_PATHS`, and :term:`PACKAGE_FEED_ARCHS` variables are defined in your ``local.conf`` file:: PACKAGE_FEED_URIS = "https://example.com/packagerepos/release \ @@ -5178,7 +5207,7 @@ system and gives an overview of their function and contents. installation into the image. Because the package manager controls actual installation of all - packages, the list of packages passed using ``PACKAGE_INSTALL`` is + packages, the list of packages passed using :term:`PACKAGE_INSTALL` is not the final list of packages that are actually installed. This variable is internal to the image construction code. Consequently, in general, you should use the @@ -5186,7 +5215,7 @@ system and gives an overview of their function and contents. packages for installation. The exception to this is when working with the :ref:`core-image-minimal-initramfs ` image. When working with an initial RAM filesystem (initramfs) image, - use the ``PACKAGE_INSTALL`` variable. For information on creating an + use the :term:`PACKAGE_INSTALL` variable. For information on creating an initramfs, see the ":ref:`dev-manual/common-tasks:building an initial ram filesystem (initramfs) image`" section in the Yocto Project Development Tasks Manual. @@ -5207,7 +5236,7 @@ system and gives an overview of their function and contents. post-installation or pre-installation script can execute at rootfs creation time rather than on the target but depends on a native tool in order to execute, you need to list the tools in - ``PACKAGE_WRITE_DEPS``. + :term:`PACKAGE_WRITE_DEPS`. For information on running post-installation scripts, see the ":ref:`dev-manual/common-tasks:post-installation scripts`" @@ -5215,7 +5244,7 @@ system and gives an overview of their function and contents. :term:`PACKAGECONFIG` This variable provides a means of enabling or disabling features of a - recipe on a per-recipe basis. ``PACKAGECONFIG`` blocks are defined in + recipe on a per-recipe basis. :term:`PACKAGECONFIG` blocks are defined in recipes when you specify features and then arguments that define feature behaviors. Here is the basic block structure (broken over multiple lines for readability):: @@ -5243,8 +5272,8 @@ system and gives an overview of their function and contents. :term:`PACKAGECONFIG_CONFARGS`) if the feature is enabled. - 2. Extra arguments that should be added to ``EXTRA_OECONF`` or - ``PACKAGECONFIG_CONFARGS`` if the feature is disabled. + 2. Extra arguments that should be added to :term:`EXTRA_OECONF` or + :term:`PACKAGECONFIG_CONFARGS` if the feature is disabled. 3. Additional build dependencies (:term:`DEPENDS`) that should be added if the feature is enabled. @@ -5256,10 +5285,10 @@ system and gives an overview of their function and contents. (:term:`RRECOMMENDS`) that should be added if the feature is enabled. - 6. Any conflicting (that is, mutually exclusive) ``PACKAGECONFIG`` + 6. Any conflicting (that is, mutually exclusive) :term:`PACKAGECONFIG` settings for this feature. - Consider the following ``PACKAGECONFIG`` block taken from the + Consider the following :term:`PACKAGECONFIG` block taken from the ``librsvg`` recipe. In this example the feature is ``gtk``, which has three arguments that determine the feature's behavior. :: @@ -5269,21 +5298,21 @@ system and gives an overview of their function and contents. The ``--with-gtk3`` and ``gtk+3`` arguments apply only if the feature is enabled. In this case, ``--with-gtk3`` is added to the configure - script argument list and ``gtk+3`` is added to ``DEPENDS``. On the + script argument list and ``gtk+3`` is added to :term:`DEPENDS`. On the other hand, if the feature is disabled say through a ``.bbappend`` file in another layer, then the second argument ``--without-gtk3`` is added to the configure script instead. - The basic ``PACKAGECONFIG`` structure previously described holds true + The basic :term:`PACKAGECONFIG` structure previously described holds true regardless of whether you are creating a block or changing a block. When creating a block, use the structure inside your recipe. - If you want to change an existing ``PACKAGECONFIG`` block, you can do + If you want to change an existing :term:`PACKAGECONFIG` block, you can do so one of two ways: - *Append file:* Create an append file named recipename\ ``.bbappend`` in your layer and override the value of - ``PACKAGECONFIG``. You can either completely override the + :term:`PACKAGECONFIG`. You can either completely override the variable:: PACKAGECONFIG = "f4 f5" @@ -5308,16 +5337,16 @@ system and gives an overview of their function and contents. :term:`PACKAGECONFIG` setting. Classes such as :ref:`autotools ` and - :ref:`cmake ` use ``PACKAGECONFIG_CONFARGS`` to - pass ``PACKAGECONFIG`` options to ``configure`` and ``cmake``, - respectively. If you are using ``PACKAGECONFIG`` but not a class that + :ref:`cmake ` use :term:`PACKAGECONFIG_CONFARGS` to + pass :term:`PACKAGECONFIG` options to ``configure`` and ``cmake``, + respectively. If you are using :term:`PACKAGECONFIG` but not a class that handles the ``do_configure`` task, then you need to use - ``PACKAGECONFIG_CONFARGS`` appropriately. + :term:`PACKAGECONFIG_CONFARGS` appropriately. :term:`PACKAGEGROUP_DISABLE_COMPLEMENTARY` For recipes inheriting the :ref:`packagegroup ` class, setting - ``PACKAGEGROUP_DISABLE_COMPLEMENTARY`` to "1" specifies that the + :term:`PACKAGEGROUP_DISABLE_COMPLEMENTARY` to "1" specifies that the normal complementary packages (i.e. ``-dev``, ``-dbg``, and so forth) should not be automatically created by the ``packagegroup`` recipe, which is the default behavior. @@ -5329,10 +5358,10 @@ system and gives an overview of their function and contents. ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN} During packaging, the :ref:`ref-tasks-package` task - goes through ``PACKAGES`` and uses the :term:`FILES` + goes through :term:`PACKAGES` and uses the :term:`FILES` variable corresponding to each package to assign files to the - package. If a file matches the ``FILES`` variable for more than one - package in ``PACKAGES``, it will be assigned to the earliest + package. If a file matches the :term:`FILES` variable for more than one + package in :term:`PACKAGES`, it will be assigned to the earliest (leftmost) package. Packages in the variable's list that are empty (i.e. where none of @@ -5344,10 +5373,10 @@ system and gives an overview of their function and contents. :term:`PACKAGES_DYNAMIC` A promise that your recipe satisfies runtime dependencies for optional modules that are found in other recipes. - ``PACKAGES_DYNAMIC`` does not actually satisfy the dependencies, it + :term:`PACKAGES_DYNAMIC` does not actually satisfy the dependencies, it only states that they should be satisfied. For example, if a hard, runtime dependency (:term:`RDEPENDS`) of another - package is satisfied at build time through the ``PACKAGES_DYNAMIC`` + package is satisfied at build time through the :term:`PACKAGES_DYNAMIC` variable, but a package with the module name is never actually produced, then the other package will be broken. Thus, if you attempt to include that package in an image, you will get a dependency @@ -5357,9 +5386,9 @@ system and gives an overview of their function and contents. Typically, if there is a chance that such a situation can occur and the package that is not created is valid without the dependency being satisfied, then you should use :term:`RRECOMMENDS` - (a soft runtime dependency) instead of ``RDEPENDS``. + (a soft runtime dependency) instead of :term:`RDEPENDS`. - For an example of how to use the ``PACKAGES_DYNAMIC`` variable when + For an example of how to use the :term:`PACKAGES_DYNAMIC` variable when you are splitting packages, see the ":ref:`dev-manual/common-tasks:handling optional module packaging`" section in the Yocto Project Development Tasks Manual. @@ -5383,7 +5412,7 @@ system and gives an overview of their function and contents. .. note:: - In order for ``PARALLEL_MAKE`` to be effective, ``make`` must be + In order for :term:`PARALLEL_MAKE` to be effective, ``make`` must be called with ``${``\ :term:`EXTRA_OEMAKE`\ ``}``. An easy way to ensure this is to use the ``oe_runmake`` function. @@ -5394,7 +5423,7 @@ system and gives an overview of their function and contents. If the software being built experiences dependency issues during the ``do_compile`` task that result in race conditions, you can clear - the ``PARALLEL_MAKE`` variable within the recipe as a workaround. For + the :term:`PARALLEL_MAKE` variable within the recipe as a workaround. For information on addressing race conditions, see the ":ref:`dev-manual/common-tasks:debugging parallel make races`" section in the Yocto Project Development Tasks Manual. @@ -5402,7 +5431,7 @@ system and gives an overview of their function and contents. For single socket systems (i.e. one CPU), you should not have to override this variable to gain optimal parallelism during builds. However, if you have very large systems that employ multiple physical - CPUs, you might want to make sure the ``PARALLEL_MAKE`` variable is + CPUs, you might want to make sure the :term:`PARALLEL_MAKE` variable is not set higher than "-j 20". For more information on speeding up builds, see the @@ -5417,14 +5446,14 @@ system and gives an overview of their function and contents. .. note:: - In order for ``PARALLEL_MAKEINST`` to be effective, ``make`` must + In order for :term:`PARALLEL_MAKEINST` to be effective, ``make`` must be called with ``${``\ :term:`EXTRA_OEMAKE`\ ``}``. An easy way to ensure this is to use the ``oe_runmake`` function. If the software being built experiences dependency issues during the ``do_install`` task that result in race conditions, you can - clear the ``PARALLEL_MAKEINST`` variable within the recipe as a + clear the :term:`PARALLEL_MAKEINST` variable within the recipe as a workaround. For information on addressing race conditions, see the ":ref:`dev-manual/common-tasks:debugging parallel make races`" section in the Yocto Project Development Tasks Manual. @@ -5461,7 +5490,7 @@ system and gives an overview of their function and contents. variable is used to make upgrades possible when the versioning scheme changes in some backwards incompatible way. - ``PE`` is the default value of the :term:`PKGE` variable. + :term:`PE` is the default value of the :term:`PKGE` variable. :term:`PF` Specifies the recipe or package name and includes all version and @@ -5483,7 +5512,7 @@ system and gives an overview of their function and contents. .. note:: - When using the ``PKG`` variable, you must use a package name override. + When using the :term:`PKG` variable, you must use a package name override. For example, when the :ref:`debian ` class renames the output package, it does so by setting @@ -5534,45 +5563,45 @@ system and gives an overview of their function and contents. :term:`PKGDESTWORK` Points to a temporary work area where the :ref:`ref-tasks-package` task saves package metadata. - The ``PKGDESTWORK`` location defaults to the following:: + The :term:`PKGDESTWORK` location defaults to the following:: ${WORKDIR}/pkgdata Do not change this default. The :ref:`ref-tasks-packagedata` task copies the - package metadata from ``PKGDESTWORK`` to + package metadata from :term:`PKGDESTWORK` to :term:`PKGDATA_DIR` to make it available globally. :term:`PKGE` - The epoch of the package(s) built by the recipe. By default, ``PKGE`` + The epoch of the package(s) built by the recipe. By default, :term:`PKGE` is set to :term:`PE`. :term:`PKGR` The revision of the package(s) built by the recipe. By default, - ``PKGR`` is set to :term:`PR`. + :term:`PKGR` is set to :term:`PR`. :term:`PKGV` The version of the package(s) built by the recipe. By default, - ``PKGV`` is set to :term:`PV`. + :term:`PKGV` is set to :term:`PV`. :term:`PN` This variable can have two separate functions depending on the context: a recipe name or a resulting package name. - ``PN`` refers to a recipe name in the context of a file used by the + :term:`PN` refers to a recipe name in the context of a file used by the OpenEmbedded build system as input to create a package. The name is normally extracted from the recipe file name. For example, if the - recipe is named ``expat_2.0.1.bb``, then the default value of ``PN`` + recipe is named ``expat_2.0.1.bb``, then the default value of :term:`PN` will be "expat". The variable refers to a package name in the context of a file created or produced by the OpenEmbedded build system. - If applicable, the ``PN`` variable also contains any special suffix + If applicable, the :term:`PN` variable also contains any special suffix or prefix. For example, using ``bash`` to build packages for the native machine, ``PN`` is ``bash-native``. Using ``bash`` to build - packages for the target and for Multilib, ``PN`` would be ``bash`` + packages for the target and for Multilib, :term:`PN` would be ``bash`` and ``lib64-bash``, respectively. :term:`PNBLACKLIST` @@ -5581,7 +5610,7 @@ system and gives an overview of their function and contents. :ref:`blacklist ` class, which is inherited globally. - To prevent a recipe from being built, use the ``PNBLACKLIST`` + To prevent a recipe from being built, use the :term:`PNBLACKLIST` variable in your ``local.conf`` file. Here is an example that prevents ``myrecipe`` from being built:: @@ -5615,30 +5644,30 @@ system and gives an overview of their function and contents. The revision of the recipe. The default value for this variable is "r0". Subsequent revisions of the recipe conventionally have the values "r1", "r2", and so forth. When :term:`PV` increases, - ``PR`` is conventionally reset to "r0". + :term:`PR` is conventionally reset to "r0". .. note:: - The OpenEmbedded build system does not need the aid of ``PR`` + The OpenEmbedded build system does not need the aid of :term:`PR` to know when to rebuild a recipe. The build system uses the task :ref:`input checksums ` along with the :ref:`stamp ` and :ref:`overview-manual/concepts:shared state cache` mechanisms. - The ``PR`` variable primarily becomes significant when a package + The :term:`PR` variable primarily becomes significant when a package manager dynamically installs packages on an already built image. In - this case, ``PR``, which is the default value of + this case, :term:`PR`, which is the default value of :term:`PKGR`, helps the package manager distinguish which package is the most recent one in cases where many packages have the - same ``PV`` (i.e. ``PKGV``). A component having many packages with - the same ``PV`` usually means that the packages all install the same - upstream version, but with later (``PR``) version packages including + same :term:`PV` (i.e. :term:`PKGV`). A component having many packages with + the same :term:`PV` usually means that the packages all install the same + upstream version, but with later (:term:`PR`) version packages including packaging fixes. .. note:: - ``PR`` does not need to be increased for changes that do not change the + :term:`PR` does not need to be increased for changes that do not change the package contents or metadata. Because manually managing ``PR`` can be cumbersome and error-prone, @@ -5657,7 +5686,7 @@ system and gives an overview of their function and contents. PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" In the previous example, multiple recipes are providing "virtual/kernel". - The ``PREFERRED_PROVIDER`` variable is set with the name (``PN``) of + The :term:`PREFERRED_PROVIDER` variable is set with the name (:term:`PN`) of the recipe you prefer to provide "virtual/kernel". Following are more examples:: @@ -5671,9 +5700,9 @@ system and gives an overview of their function and contents. .. note:: - If you use a ``virtual/\*`` item with ``PREFERRED_PROVIDER``, then any + If you use a ``virtual/\*`` item with :term:`PREFERRED_PROVIDER`, then any recipe that :term:`PROVIDES` that item but is not selected (defined) - by ``PREFERRED_PROVIDER`` is prevented from building, which is usually + by :term:`PREFERRED_PROVIDER` is prevented from building, which is usually desirable since this mechanism is designed to select between mutually exclusive alternative providers. @@ -5684,7 +5713,7 @@ system and gives an overview of their function and contents. the first example below), and you should specify the :term:`PV` accordingly (`3.4.0` in the example). - The ``PREFERRED_VERSION`` variable supports limited wildcard use + The :term:`PREFERRED_VERSION` variable supports limited wildcard use through the "``%``" character. You can use the character to match any number of characters, which can be useful when specifying versions that contain long revision numbers that potentially change. Here are @@ -5716,7 +5745,7 @@ system and gives an overview of their function and contents. PREFERRED_VERSION_foo = "git" - Sometimes the ``PREFERRED_VERSION`` variable can be set by + Sometimes the :term:`PREFERRED_VERSION` variable can be set by configuration files in a way that is hard to change. You can use :term:`OVERRIDES` to set a machine-specific override. Here is an example:: @@ -5732,7 +5761,7 @@ system and gives an overview of their function and contents. .. note:: The ``\_forcevariable`` override is not handled specially. This override - only works because the default value of ``OVERRIDES`` includes "forcevariable". + only works because the default value of :term:`OVERRIDES` includes "forcevariable". If a recipe with the specified version is not available, a warning message will be shown. See :term:`REQUIRED_VERSION` if you want this @@ -5742,12 +5771,12 @@ system and gives an overview of their function and contents. Specifies additional paths from which the OpenEmbedded build system gets source code. When the build system searches for source code, it first tries the local download directory. If that location fails, the - build system tries locations defined by ``PREMIRRORS``, the upstream + build system tries locations defined by :term:`PREMIRRORS`, the upstream source, and then locations specified by :term:`MIRRORS` in that order. Assuming your distribution (:term:`DISTRO`) is "poky", - the default value for ``PREMIRRORS`` is defined in the + the default value for :term:`PREMIRRORS` is defined in the ``conf/distro/poky.conf`` file in the ``meta-poky`` Git repository. Typically, you could add a specific server for the build system to @@ -5770,12 +5799,12 @@ system and gives an overview of their function and contents. :term:`PRIORITY` Indicates the importance of a package. - ``PRIORITY`` is considered to be part of the distribution policy + :term:`PRIORITY` is considered to be part of the distribution policy because the importance of any given recipe depends on the purpose for - which the distribution is being produced. Thus, ``PRIORITY`` is not + which the distribution is being produced. Thus, :term:`PRIORITY` is not normally set within recipes. - You can set ``PRIORITY`` to "required", "standard", "extra", and + You can set :term:`PRIORITY` to "required", "standard", "extra", and "optional", which is the default. :term:`PRIVATE_LIBS` @@ -5805,19 +5834,19 @@ system and gives an overview of their function and contents. :term:`PROVIDES` A list of aliases by which a particular recipe can be known. By - default, a recipe's own ``PN`` is implicitly already in its - ``PROVIDES`` list and therefore does not need to mention that it - provides itself. If a recipe uses ``PROVIDES``, the additional + default, a recipe's own :term:`PN` is implicitly already in its + :term:`PROVIDES` list and therefore does not need to mention that it + provides itself. If a recipe uses :term:`PROVIDES`, the additional aliases are synonyms for the recipe and can be useful for satisfying dependencies of other recipes during the build as specified by - ``DEPENDS``. + :term:`DEPENDS`. - Consider the following example ``PROVIDES`` statement from the recipe + Consider the following example :term:`PROVIDES` statement from the recipe file ``eudev_3.2.9.bb``:: PROVIDES += "udev" - The ``PROVIDES`` statement + The :term:`PROVIDES` statement results in the "eudev" recipe also being available as simply "udev". .. note:: @@ -5827,12 +5856,12 @@ system and gives an overview of their function and contents. strictly necessary it is recommended to avoid confusion. In addition to providing recipes under alternate names, the - ``PROVIDES`` mechanism is also used to implement virtual targets. A + :term:`PROVIDES` mechanism is also used to implement virtual targets. A virtual target is a name that corresponds to some particular functionality (e.g. a Linux kernel). Recipes that provide the - functionality in question list the virtual target in ``PROVIDES``. + functionality in question list the virtual target in :term:`PROVIDES`. Recipes that depend on the functionality in question can include the - virtual target in ``DEPENDS`` to leave the choice of provider open. + virtual target in :term:`DEPENDS` to leave the choice of provider open. Conventionally, virtual targets have names on the form "virtual/function" (e.g. "virtual/kernel"). The slash is simply part @@ -5860,14 +5889,14 @@ system and gives an overview of their function and contents. The ``conf/local.conf.sample.extended`` configuration file in the :term:`Source Directory` shows how the - ``PRSERV_HOST`` variable is set:: + :term:`PRSERV_HOST` variable is set:: PRSERV_HOST = "localhost:0" You must set the variable if you want to automatically start a local :ref:`PR service `. You can - set ``PRSERV_HOST`` to other values to use a remote PR service. + set :term:`PRSERV_HOST` to other values to use a remote PR service. :term:`PSEUDO_IGNORE_PATHS` @@ -5889,12 +5918,12 @@ system and gives an overview of their function and contents. :term:`PV` The version of the recipe. The version is normally extracted from the recipe filename. For example, if the recipe is named - ``expat_2.0.1.bb``, then the default value of ``PV`` will be "2.0.1". - ``PV`` is generally not overridden within a recipe unless it is + ``expat_2.0.1.bb``, then the default value of :term:`PV` will be "2.0.1". + :term:`PV` is generally not overridden within a recipe unless it is building an unstable (i.e. development) version from a source code repository (e.g. Git or Subversion). - ``PV`` is the default value of the :term:`PKGV` variable. + :term:`PV` is the default value of the :term:`PKGV` variable. :term:`PYTHON_ABI` When used by recipes that inherit the @@ -5916,7 +5945,7 @@ system and gives an overview of their function and contents. When used by recipes that inherit the `distutils3 `, :ref:`setuptools3 ` classes, specifies the - major Python version being built. For Python 3.x, ``PYTHON_PN`` would + major Python version being built. For Python 3.x, :term:`PYTHON_PN` would be "python3". You do not have to set this variable as the OpenEmbedded build system automatically sets it for you. @@ -5926,7 +5955,7 @@ system and gives an overview of their function and contents. DEPENDS += "${PYTHON_PN}-native" In the previous example, - the version of the dependency is ``PYTHON_PN``. + the version of the dependency is :term:`PYTHON_PN`. :term:`RANLIB` The minimal command and arguments to run ``ranlib``. @@ -5944,7 +5973,7 @@ system and gives an overview of their function and contents. specifying versioned dependencies. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions with the - ``RCONFLICTS`` variable:: + :term:`RCONFLICTS` variable:: RCONFLICTS_${PN} = "package (operator version)" @@ -5972,12 +6001,12 @@ system and gives an overview of their function and contents. The most common types of package runtime dependencies are automatically detected and added. Therefore, - most recipes do not need to set ``RDEPENDS``. For more information, + most recipes do not need to set :term:`RDEPENDS`. For more information, see the ":ref:`overview-manual/concepts:automatically added runtime dependencies`" section in the Yocto Project Overview and Concepts Manual. - The practical effect of the above ``RDEPENDS`` assignment is that + The practical effect of the above :term:`RDEPENDS` assignment is that ``bar`` and ``baz`` will be declared as dependencies inside the package ``foo`` when it is written out by one of the :ref:`do_package_write_\* ` tasks. @@ -5988,26 +6017,26 @@ system and gives an overview of their function and contents. also install the packages on which it depends. To ensure that the packages ``bar`` and ``baz`` get built, the - previous ``RDEPENDS`` assignment also causes a task dependency to be + previous :term:`RDEPENDS` assignment also causes a task dependency to be added. This dependency is from the recipe's :ref:`ref-tasks-build` (not to be confused with :ref:`ref-tasks-compile`) task to the ``do_package_write_*`` task of the recipes that build ``bar`` and ``baz``. - The names of the packages you list within ``RDEPENDS`` must be the + The names of the packages you list within :term:`RDEPENDS` must be the names of other packages - they cannot be recipe names. Although package names and recipe names usually match, the important point - here is that you are providing package names within the ``RDEPENDS`` + here is that you are providing package names within the :term:`RDEPENDS` variable. For an example of the default list of packages created from a recipe, see the :term:`PACKAGES` variable. - Because the ``RDEPENDS`` variable applies to packages being built, + Because the :term:`RDEPENDS` variable applies to packages being built, you should always use the variable in a form with an attached package name (remember that a single recipe can build multiple packages). For example, suppose you are building a development package that depends on the ``perl`` package. In this case, you would use the following - ``RDEPENDS`` statement:: + :term:`RDEPENDS` statement:: RDEPENDS_${PN}-dev += "perl" @@ -6024,19 +6053,19 @@ system and gives an overview of their function and contents. ``${PN}`` when modifying ``RDEPENDS_${PN}-dev``. Use the "+=" operator rather than the "=" operator. - The package names you use with ``RDEPENDS`` must appear as they would - in the ``PACKAGES`` variable. The :term:`PKG` variable + The package names you use with :term:`RDEPENDS` must appear as they would + in the :term:`PACKAGES` variable. The :term:`PKG` variable allows a different name to be used for the final package (e.g. the :ref:`debian ` class uses this to rename packages), but this final package name cannot be used with - ``RDEPENDS``, which makes sense as ``RDEPENDS`` is meant to be + :term:`RDEPENDS`, which makes sense as :term:`RDEPENDS` is meant to be independent of the package format used. BitBake, which the OpenEmbedded build system uses, supports specifying versioned dependencies. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions with the - ``RDEPENDS`` variable:: + :term:`RDEPENDS` variable:: RDEPENDS_${PN} = "package (operator version)" @@ -6052,7 +6081,7 @@ system and gives an overview of their function and contents. .. note:: - You can use ``EXTENDPKGV`` to provide a full package version + You can use :term:`EXTENDPKGV` to provide a full package version specification. For example, the following sets up a dependency on version 1.2 or @@ -6073,8 +6102,8 @@ system and gives an overview of their function and contents. class, this variable identifies distribution features that must exist in the current configuration in order for the OpenEmbedded build system to build the recipe. In other words, if the - ``REQUIRED_DISTRO_FEATURES`` variable lists a feature that does not - appear in ``DISTRO_FEATURES`` within the current configuration, then + :term:`REQUIRED_DISTRO_FEATURES` variable lists a feature that does not + appear in :term:`DISTRO_FEATURES` within the current configuration, then the recipe will be skipped, and if the build system attempts to build the recipe then an error will be triggered. @@ -6122,7 +6151,7 @@ system and gives an overview of their function and contents. :term:`ROOTFS` Indicates a filesystem image to include as the root filesystem. - The ``ROOTFS`` variable is an optional variable used with the + The :term:`ROOTFS` variable is an optional variable used with the :ref:`image-live ` class. :term:`ROOTFS_POSTINSTALL_COMMAND` @@ -6183,11 +6212,11 @@ system and gives an overview of their function and contents. A list of package name aliases that a package also provides. These aliases are useful for satisfying runtime dependencies of other packages both during the build and on the target (as specified by - ``RDEPENDS``). + :term:`RDEPENDS`). .. note:: - A package's own name is implicitly already in its ``RPROVIDES`` list. + A package's own name is implicitly already in its :term:`RPROVIDES` list. As with all package-controlling variables, you must always use the variable in conjunction with a package name override. Here is an @@ -6200,16 +6229,16 @@ system and gives an overview of their function and contents. built. The package being built does not depend on this list of packages in order to successfully build, but rather uses them for extended usability. To specify runtime dependencies for packages, see - the ``RDEPENDS`` variable. + the :term:`RDEPENDS` variable. - The package manager will automatically install the ``RRECOMMENDS`` + The package manager will automatically install the :term:`RRECOMMENDS` list of packages when installing the built package. However, you can prevent listed packages from being installed by using the :term:`BAD_RECOMMENDATIONS`, :term:`NO_RECOMMENDATIONS`, and :term:`PACKAGE_EXCLUDE` variables. - Packages specified in ``RRECOMMENDS`` need not actually be produced. + Packages specified in :term:`RRECOMMENDS` need not actually be produced. However, there must be a recipe providing each package, either through the :term:`PACKAGES` or :term:`PACKAGES_DYNAMIC` variables or the @@ -6217,7 +6246,7 @@ system and gives an overview of their function and contents. during the build. If such a recipe does exist and the package is not produced, the build continues without error. - Because the ``RRECOMMENDS`` variable applies to packages being built, + Because the :term:`RRECOMMENDS` variable applies to packages being built, you should always attach an override to the variable to specify the particular package whose usability is being extended. For example, suppose you are building a development package that is extended to @@ -6228,14 +6257,14 @@ system and gives an overview of their function and contents. In the example, the package name (``${PN}-dev``) must appear as it would in - the ``PACKAGES`` namespace before any renaming of the output package + the :term:`PACKAGES` namespace before any renaming of the output package by classes such as ``debian.bbclass``. BitBake, which the OpenEmbedded build system uses, supports specifying versioned recommends. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions with the - ``RRECOMMENDS`` variable:: + :term:`RRECOMMENDS` variable:: RRECOMMENDS_${PN} = "package (operator version)" @@ -6257,7 +6286,7 @@ system and gives an overview of their function and contents. this variable to determine which package should be installed to replace other package(s) during an upgrade. In order to also have the other package(s) removed at the same time, you must add the name of - the other package to the ``RCONFLICTS`` variable. + the other package to the :term:`RCONFLICTS` variable. As with all package-controlling variables, you must use this variable in conjunction with a package name override. Here is an example:: @@ -6268,7 +6297,7 @@ system and gives an overview of their function and contents. specifying versioned replacements. Although the syntax varies depending on the packaging format, BitBake hides these differences from you. Here is the general syntax to specify versions with the - ``RREPLACES`` variable:: + :term:`RREPLACES` variable:: RREPLACES_${PN} = "package (operator version)" @@ -6304,7 +6333,7 @@ system and gives an overview of their function and contents. version. If the source tarball extracts the code to a directory named anything other than ``${BPN}-${PV}``, or if the source code is fetched from an SCM such as Git or Subversion, then you must set - ``S`` in the recipe so that the OpenEmbedded build system knows where + :term:`S` in the recipe so that the OpenEmbedded build system knows where to find the unpacked source. As an example, assume a :term:`Source Directory` @@ -6319,7 +6348,7 @@ system and gives an overview of their function and contents. This next example assumes a Git repository. By default, Git repositories are cloned to ``${WORKDIR}/git`` during :ref:`ref-tasks-fetch`. Since this path is different - from the default value of ``S``, you must set it specifically so the + from the default value of :term:`S`, you must set it specifically so the source can be located:: SRC_URI = "git://path/to/repo.git" @@ -6336,7 +6365,7 @@ system and gives an overview of their function and contents. been tested against. Identifiers consist of the host distributor ID followed by the release, as reported by the ``lsb_release`` tool or as read from ``/etc/lsb-release``. Separate the list items with - explicit newline characters (``\n``). If ``SANITY_TESTED_DISTROS`` is + explicit newline characters (``\n``). If :term:`SANITY_TESTED_DISTROS` is not empty and the current value of :term:`NATIVELSBSTRING` does not appear in the list, then the build system reports a warning that indicates the @@ -6347,7 +6376,7 @@ system and gives an overview of their function and contents. set this variable. Instead, use :term:`SDKMACHINE`. :term:`SDK_CUSTOM_TEMPLATECONF` - When building the extensible SDK, if ``SDK_CUSTOM_TEMPLATECONF`` is set to + When building the extensible SDK, if :term:`SDK_CUSTOM_TEMPLATECONF` is set to "1" and a ``conf/templateconf.conf`` file exists in the build directory (:term:`TOPDIR`) then this will be copied into the SDK. @@ -6355,7 +6384,7 @@ system and gives an overview of their function and contents. The directory set up and used by the :ref:`populate_sdk_base ` class to which the SDK is deployed. The ``populate_sdk_base`` class defines - ``SDK_DEPLOY`` as follows:: + :term:`SDK_DEPLOY` as follows:: SDK_DEPLOY = "${TMPDIR}/deploy/sdk" @@ -6369,8 +6398,8 @@ system and gives an overview of their function and contents. .. note:: - The ``SDK_DIR`` directory is a temporary directory as it is part of - ``WORKDIR``. The final output directory is :term:`SDK_DEPLOY`. + The :term:`SDK_DIR` directory is a temporary directory as it is part of + :term:`WORKDIR`. The final output directory is :term:`SDK_DEPLOY`. :term:`SDK_EXT_TYPE` Controls whether or not shared state artifacts are copied into the @@ -6409,7 +6438,7 @@ system and gives an overview of their function and contents. .. note:: - Enabling the ``SDK_INCLUDE_PKGDATA`` + Enabling the :term:`SDK_INCLUDE_PKGDATA` variable significantly increases build time because all of world needs to be built. Enabling the variable also slightly increases the size of the extensible SDK. @@ -6423,9 +6452,9 @@ system and gives an overview of their function and contents. IDE or from other tools and you do not want to perform additional steps to install the toolchain. - The ``SDK_INCLUDE_TOOLCHAIN`` variable defaults to "0" if - ``SDK_EXT_TYPE`` is set to "minimal", and defaults to "1" if - ``SDK_EXT_TYPE`` is set to "full". + The :term:`SDK_INCLUDE_TOOLCHAIN` variable defaults to "0" if + :term:`SDK_EXT_TYPE` is set to "minimal", and defaults to "1" if + :term:`SDK_EXT_TYPE` is set to "full". :term:`SDK_INHERIT_BLACKLIST` A list of classes to remove from the :term:`INHERIT` @@ -6451,7 +6480,7 @@ system and gives an overview of their function and contents. build system is running and thus would be potentially problematic within the extensible SDK. - By default, ``SDK_LOCAL_CONF_BLACKLIST`` is set in the + By default, :term:`SDK_LOCAL_CONF_BLACKLIST` is set in the :ref:`populate-sdk-ext ` class and excludes the following variables: @@ -6513,7 +6542,7 @@ system and gives an overview of their function and contents. .. note:: - The ``SDK_OUTPUT`` directory is a temporary directory as it is part of + The :term:`SDK_OUTPUT` directory is a temporary directory as it is part of :term:`WORKDIR` by way of :term:`SDK_DIR`. The final output directory is :term:`SDK_DEPLOY`. @@ -6521,7 +6550,7 @@ system and gives an overview of their function and contents. Specifies a list of architectures compatible with the SDK machine. This variable is set automatically and should not normally be hand-edited. Entries are separated using spaces and listed in order - of priority. The default value for ``SDK_PACKAGE_ARCHS`` is "all any + of priority. The default value for :term:`SDK_PACKAGE_ARCHS` is "all any noarch ${SDK_ARCH}-${SDKPKGSUFFIX}". :term:`SDK_POSTPROCESS_COMMAND` @@ -6536,7 +6565,7 @@ system and gives an overview of their function and contents. :term:`SDK_PREFIX` The toolchain binary prefix used for ``nativesdk`` recipes. The - OpenEmbedded build system uses the ``SDK_PREFIX`` value to set the + OpenEmbedded build system uses the :term:`SDK_PREFIX` value to set the :term:`TARGET_PREFIX` when building ``nativesdk`` recipes. The default value is "${SDK_SYS}-". @@ -6550,9 +6579,9 @@ system and gives an overview of their function and contents. - do_deploy Despite the default value of "" for the - ``SDK_RECRDEP_TASKS`` variable, the above four tasks are always added + :term:`SDK_RECRDEP_TASKS` variable, the above four tasks are always added to the SDK. To specify tasks beyond these four, you need to use the - ``SDK_RECRDEP_TASKS`` variable (e.g. you are defining additional + :term:`SDK_RECRDEP_TASKS` variable (e.g. you are defining additional tasks that are needed in order to build :term:`SDK_TARGETS`). @@ -6563,7 +6592,7 @@ system and gives an overview of their function and contents. The OpenEmbedded build system automatically sets this variable based on :term:`SDK_ARCH`, :term:`SDK_VENDOR`, and - :term:`SDK_OS`. You do not need to set the ``SDK_SYS`` + :term:`SDK_OS`. You do not need to set the :term:`SDK_SYS` variable yourself. :term:`SDK_TARGET_MANIFEST` @@ -6587,7 +6616,7 @@ system and gives an overview of their function and contents. standard or extensible SDK installation. The default value is "${PN}" (i.e. the image from which the SDK is built). - The ``SDK_TARGETS`` variable is an internal variable and typically + The :term:`SDK_TARGETS` variable is an internal variable and typically would not be changed. :term:`SDK_TITLE` @@ -6600,7 +6629,7 @@ system and gives an overview of their function and contents. SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK" For the default distribution "poky", - ``SDK_TITLE`` is set to "Poky (Yocto Project Reference Distro)". + :term:`SDK_TITLE` is set to "Poky (Yocto Project Reference Distro)". For information on how to change this default title, see the ":ref:`sdk-manual/appendix-customizing:changing the extensible sdk installer title`" @@ -6618,7 +6647,7 @@ system and gives an overview of their function and contents. :term:`SDK_VERSION` Specifies the version of the SDK. The Poky distribution configuration file (``/meta-poky/conf/distro/poky.conf``) sets the default - ``SDK_VERSION`` as follows:: + :term:`SDK_VERSION` as follows:: SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}" @@ -6636,7 +6665,7 @@ system and gives an overview of their function and contents. SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk" For the - default distribution "poky", the ``SDKEXTPATH`` is set to "poky_sdk". + default distribution "poky", the :term:`SDKEXTPATH` is set to "poky_sdk". For information on how to change this default directory, see the ":ref:`sdk-manual/appendix-customizing:changing the default sdk installation directory`" @@ -6644,7 +6673,7 @@ system and gives an overview of their function and contents. Extensible Software Development Kit (eSDK) manual. :term:`SDKIMAGE_FEATURES` - Equivalent to ``IMAGE_FEATURES``. However, this variable applies to + Equivalent to :term:`IMAGE_FEATURES`. However, this variable applies to the SDK generated from an image using the following command:: $ bitbake -c populate_sdk imagename @@ -6652,7 +6681,7 @@ system and gives an overview of their function and contents. :term:`SDKMACHINE` The machine for which the SDK is built. In other words, the SDK is built such that it runs on the target you specify with the - ``SDKMACHINE`` value. The value points to a corresponding ``.conf`` + :term:`SDKMACHINE` value. The value points to a corresponding ``.conf`` file under ``conf/machine-sdk/``. You can use "i686" and "x86_64" as possible values for this variable. @@ -6664,7 +6693,7 @@ system and gives an overview of their function and contents. .. note:: - You cannot set the ``SDKMACHINE`` + You cannot set the :term:`SDKMACHINE` variable in your distribution configuration file. If you do, the configuration will not take affect. @@ -6689,7 +6718,7 @@ system and gives an overview of their function and contents. building for the target. The flags are passed through the default value of the :term:`TARGET_CFLAGS` variable. - The ``SELECTED_OPTIMIZATION`` variable takes the value of + The :term:`SELECTED_OPTIMIZATION` variable takes the value of :term:`FULL_OPTIMIZATION` unless :term:`DEBUG_BUILD` = "1", in which case the value of :term:`DEBUG_OPTIMIZATION` is used. @@ -6703,7 +6732,7 @@ system and gives an overview of their function and contents. .. note:: - The ``SERIAL_CONSOLE`` variable is deprecated. Please use the + The :term:`SERIAL_CONSOLE` variable is deprecated. Please use the :term:`SERIAL_CONSOLES` variable. :term:`SERIAL_CONSOLES` @@ -6821,7 +6850,7 @@ system and gives an overview of their function and contents. :term:`SOURCE_MIRROR_FETCH` When you are fetching files to create a mirror of sources (i.e. - creating a source mirror), setting ``SOURCE_MIRROR_FETCH`` to "1" in + creating a source mirror), setting :term:`SOURCE_MIRROR_FETCH` to "1" in your ``local.conf`` configuration file ensures the source for all recipes are fetched regardless of whether or not a recipe is compatible with the configuration. A recipe is considered @@ -6833,7 +6862,7 @@ system and gives an overview of their function and contents. .. note:: - Do not set the ``SOURCE_MIRROR_FETCH`` + Do not set the :term:`SOURCE_MIRROR_FETCH` variable unless you are creating a source mirror. In other words, do not set the variable during a normal build. @@ -6851,11 +6880,11 @@ system and gives an overview of their function and contents. .. note:: - You can specify only a single URL in ``SOURCE_MIRROR_URL``. + You can specify only a single URL in :term:`SOURCE_MIRROR_URL`. :term:`SPDXLICENSEMAP` Maps commonly used license names to their SPDX counterparts found in - ``meta/files/common-licenses/``. For the default ``SPDXLICENSEMAP`` + ``meta/files/common-licenses/``. For the default :term:`SPDXLICENSEMAP` mappings, see the ``meta/conf/licenses.conf`` file. For additional information, see the :term:`LICENSE` @@ -6886,7 +6915,7 @@ system and gives an overview of their function and contents. SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}" SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}" - The ``SPL_BINARY`` variable helps form + The :term:`SPL_BINARY` variable helps form various ``SPL_*`` variables used by the OpenEmbedded build system. See the BeagleBone machine configuration example in the @@ -6899,7 +6928,7 @@ system and gives an overview of their function and contents. OpenEmbedded build system which bits to pull in for the build and how to pull them in. For example, if the recipe or append file only needs to fetch a tarball from the Internet, the recipe or append file uses - a single ``SRC_URI`` entry. On the other hand, if the recipe or + a single :term:`SRC_URI` entry. On the other hand, if the recipe or append file needs to fetch a tarball, apply two patches, and include a custom file, the recipe or append file would include four instances of the variable. @@ -6978,7 +7007,7 @@ system and gives an overview of their function and contents. - ``az://`` - Fetches files from an Azure Storage account. - There are standard and recipe-specific options for ``SRC_URI``. Here are + There are standard and recipe-specific options for :term:`SRC_URI`. Here are standard ones: - ``apply`` - Whether to apply the patch or not. The default @@ -6997,19 +7026,19 @@ system and gives an overview of their function and contents. :term:`SRCDATE` is equal to or greater than ``mindate``. - - ``maxdate`` - Apply the patch only if ``SRCDATE`` is not later + - ``maxdate`` - Apply the patch only if :term:`SRCDATE` is not later than ``maxdate``. - - ``minrev`` - Apply the patch only if ``SRCREV`` is equal to or + - ``minrev`` - Apply the patch only if :term:`SRCREV` is equal to or greater than ``minrev``. - - ``maxrev`` - Apply the patch only if ``SRCREV`` is not later + - ``maxrev`` - Apply the patch only if :term:`SRCREV` is not later than ``maxrev``. - - ``rev`` - Apply the patch only if ``SRCREV`` is equal to + - ``rev`` - Apply the patch only if :term:`SRCREV` is equal to ``rev``. - - ``notrev`` - Apply the patch only if ``SRCREV`` is not equal to + - ``notrev`` - Apply the patch only if :term:`SRCREV` is not equal to ``rev``. Here are some additional options worth mentioning: @@ -7022,19 +7051,19 @@ system and gives an overview of their function and contents. the Git fetcher is used. - ``subdir`` - Places the file (or extracts its contents) into the - specified subdirectory of ``WORKDIR`` when the local (``file://``) + specified subdirectory of :term:`WORKDIR` when the local (``file://``) fetcher is used. - ``localdir`` - Places the file (or extracts its contents) into - the specified subdirectory of ``WORKDIR`` when the CVS fetcher is + the specified subdirectory of :term:`WORKDIR` when the CVS fetcher is used. - ``subpath`` - Limits the checkout to a specific subpath of the tree when using the Git fetcher is used. - ``name`` - Specifies a name to be used for association with - ``SRC_URI`` checksums or :term:`SRCREV` when you have more than one - file or git repository specified in ``SRC_URI``. For example:: + :term:`SRC_URI` checksums or :term:`SRCREV` when you have more than one + file or git repository specified in :term:`SRC_URI`. For example:: SRC_URI = "git://example.com/foo.git;name=first \ git://example.com/bar.git;name=second \ @@ -7051,7 +7080,7 @@ system and gives an overview of their function and contents. :term:`SRC_URI_OVERRIDES_PACKAGE_ARCH` By default, the OpenEmbedded build system automatically detects whether ``SRC_URI`` contains files that are machine-specific. If so, - the build system automatically changes ``PACKAGE_ARCH``. Setting this + the build system automatically changes :term:`PACKAGE_ARCH`. Setting this variable to "0" disables this behavior. :term:`SRCDATE` @@ -7063,16 +7092,16 @@ system and gives an overview of their function and contents. Returns the version string of the current package. This string is used to help define the value of :term:`PV`. - The ``SRCPV`` variable is defined in the ``meta/conf/bitbake.conf`` + The :term:`SRCPV` variable is defined in the ``meta/conf/bitbake.conf`` configuration file in the :term:`Source Directory` as follows:: SRCPV = "${@bb.fetch2.get_srcrev(d)}" - Recipes that need to define ``PV`` do so with the help of the - ``SRCPV``. For example, the ``ofono`` recipe (``ofono_git.bb``) + Recipes that need to define :term:`PV` do so with the help of the + :term:`SRCPV`. For example, the ``ofono`` recipe (``ofono_git.bb``) located in ``meta/recipes-connectivity`` in the Source Directory - defines ``PV`` as follows:: + defines :term:`PV` as follows:: PV = "0.12-git${SRCPV}" @@ -7081,26 +7110,50 @@ system and gives an overview of their function and contents. variable applies to Subversion, Git, Mercurial, and Bazaar only. Note that if you want to build a fixed revision and you want to avoid performing a query on the remote repository every time BitBake parses - your recipe, you should specify a ``SRCREV`` that is a full revision + your recipe, you should specify a :term:`SRCREV` that is a full revision identifier and not just a tag. .. note:: For information on limitations when inheriting the latest revision - of software using ``SRCREV``, see the :term:`AUTOREV` variable + of software using :term:`SRCREV`, see the :term:`AUTOREV` variable description and the ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`" section, which is in the Yocto Project Development Tasks Manual. + :term:`SRCTREECOVEREDTASKS` + A list of tasks that are typically not relevant (and therefore skipped) + when building using the :ref:`externalsrc ` + class. The default value as set in that class file is the set of tasks + that are rarely needed when using external source:: + + SRCTREECOVEREDTASKS ?= "do_patch do_unpack do_fetch" + + The notable exception is when processing external kernel source as + defined in the :ref:`kernel-yocto ` + class file (formatted for aesthetics):: + + SRCTREECOVEREDTASKS += "\ + do_validate_branches \ + do_kernel_configcheck \ + do_kernel_checkout \ + do_fetch \ + do_unpack \ + do_patch \ + " + + See the associated :term:`EXTERNALSRC` and :term:`EXTERNALSRC_BUILD` + variables for more information. + :term:`SSTATE_DIR` The directory for the shared state cache. :term:`SSTATE_MIRROR_ALLOW_NETWORK` If set to "1", allows fetches from mirrors that are specified in :term:`SSTATE_MIRRORS` to work even when - fetching from the network is disabled by setting ``BB_NO_NETWORK`` to - "1". Using the ``SSTATE_MIRROR_ALLOW_NETWORK`` variable is useful if - you have set ``SSTATE_MIRRORS`` to point to an internal server for + fetching from the network is disabled by setting :term:`BB_NO_NETWORK` to + "1". Using the :term:`SSTATE_MIRROR_ALLOW_NETWORK` variable is useful if + you have set :term:`SSTATE_MIRRORS` to point to an internal server for your shared state cache, but you want to disable any other fetching from the network. @@ -7118,7 +7171,7 @@ system and gives an overview of their function and contents. When pointing to sstate build artifacts on another machine that uses a different GCC version for native builds, you must configure - ``SSTATE_MIRRORS`` with a regular expression that maps local search + :term:`SSTATE_MIRRORS` with a regular expression that maps local search paths to server paths. The paths need to take into account :term:`NATIVELSBSTRING` set by the :ref:`uninative ` class. For example, the @@ -7147,8 +7200,8 @@ system and gives an overview of their function and contents. (sstate) object during the first stage of preparing the sysroots. That object is scanned for hardcoded paths for original installation locations. The list of files that are scanned for paths is controlled - by the ``SSTATE_SCAN_FILES`` variable. Typically, recipes add files - they want to be scanned to the value of ``SSTATE_SCAN_FILES`` rather + by the :term:`SSTATE_SCAN_FILES` variable. Typically, recipes add files + they want to be scanned to the value of :term:`SSTATE_SCAN_FILES` rather than the variable being comprehensively set. The :ref:`sstate ` class specifies the default list of files. @@ -7210,7 +7263,7 @@ system and gives an overview of their function and contents. .. note:: - Recipes should never write files directly under the ``STAGING_DIR`` + Recipes should never write files directly under the :term:`STAGING_DIR` directory because the OpenEmbedded build system manages the directory automatically. Instead, files should be installed to ``${``\ :term:`D`\ ``}`` within your recipe's :ref:`ref-tasks-install` @@ -7225,7 +7278,7 @@ system and gives an overview of their function and contents. files. Exceptions include ``-native`` recipes, where the ``do_populate_sysroot`` task instead uses :term:`STAGING_DIR_NATIVE`. Depending on - the type of recipe and the build target, ``STAGING_DIR_HOST`` can + the type of recipe and the build target, :term:`STAGING_DIR_HOST` can have the following values: - For recipes building for the target machine, the value is @@ -7243,7 +7296,7 @@ system and gives an overview of their function and contents. standard build environment variables such as :term:`CPPFLAGS` and :term:`CFLAGS` are set up so that both host paths - and ``STAGING_DIR_NATIVE`` are searched for libraries and + and :term:`STAGING_DIR_NATIVE` are searched for libraries and headers using, for example, GCC's ``-isystem`` option. Thus, the emphasis is that the ``STAGING_DIR*`` variables @@ -7251,7 +7304,7 @@ system and gives an overview of their function and contents. :ref:`ref-tasks-configure`, :ref:`ref-tasks-compile`, and :ref:`ref-tasks-install`. Having the real system - root correspond to ``STAGING_DIR_HOST`` makes conceptual sense + root correspond to :term:`STAGING_DIR_HOST` makes conceptual sense for ``-native`` recipes, as they make use of host headers and libraries. @@ -7262,7 +7315,7 @@ system and gives an overview of their function and contents. :term:`STAGING_DIR_TARGET` Specifies the path to the sysroot used for the system for which the component generates code. For components that do not generate code, - which is the majority, ``STAGING_DIR_TARGET`` is set to match + which is the majority, :term:`STAGING_DIR_TARGET` is set to match :term:`STAGING_DIR_HOST`. Some recipes build binaries that can run on the target system but @@ -7271,8 +7324,8 @@ system and gives an overview of their function and contents. primary system is referred to as the "HOST" and the secondary, or different, system is referred to as the "TARGET". Thus, the binaries run on the "HOST" system and generate binaries for the "TARGET" - system. The ``STAGING_DIR_HOST`` variable points to the sysroot used - for the "HOST" system, while ``STAGING_DIR_TARGET`` points to the + system. The :term:`STAGING_DIR_HOST` variable points to the sysroot used + for the "HOST" system, while :term:`STAGING_DIR_TARGET` points to the sysroot used for the "TARGET" system. :term:`STAGING_ETCDIR_NATIVE` @@ -7297,7 +7350,7 @@ system and gives an overview of their function and contents. Points to the directory containing the kernel build artifacts. Recipes building software that needs to access kernel build artifacts (e.g. ``systemtap-uprobes``) can look in the directory specified with - the ``STAGING_KERNEL_BUILDDIR`` variable to find these artifacts + the :term:`STAGING_KERNEL_BUILDDIR` variable to find these artifacts after the kernel has been built. :term:`STAGING_KERNEL_DIR` @@ -7317,7 +7370,7 @@ system and gives an overview of their function and contents. Specifies the base path used to create recipe stamp files. The path to an actual stamp file is constructed by evaluating this string and then appending additional information. Currently, the default - assignment for ``STAMP`` as set in the ``meta/conf/bitbake.conf`` + assignment for :term:`STAMP` as set in the ``meta/conf/bitbake.conf`` file is:: STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}" @@ -7344,8 +7397,8 @@ system and gives an overview of their function and contents. :term:`SUMMARY` The short (72 characters or less) summary of the binary package for packaging systems such as ``opkg``, ``rpm``, or ``dpkg``. By default, - ``SUMMARY`` is used to define the - :term:`DESCRIPTION` variable if ``DESCRIPTION`` is + :term:`SUMMARY` is used to define the + :term:`DESCRIPTION` variable if :term:`DESCRIPTION` is not set in the recipe. :term:`SVNDIR` @@ -7475,10 +7528,10 @@ system and gives an overview of their function and contents. :term:`SYSTEMD_BOOT_CFG` When :term:`EFI_PROVIDER` is set to - "systemd-boot", the ``SYSTEMD_BOOT_CFG`` variable specifies the + "systemd-boot", the :term:`SYSTEMD_BOOT_CFG` variable specifies the configuration file that should be used. By default, the :ref:`systemd-boot ` class sets the - ``SYSTEMD_BOOT_CFG`` as follows:: + :term:`SYSTEMD_BOOT_CFG` as follows:: SYSTEMD_BOOT_CFG ?= "${:term:`S`}/loader.conf" @@ -7487,11 +7540,11 @@ system and gives an overview of their function and contents. :term:`SYSTEMD_BOOT_ENTRIES` When :term:`EFI_PROVIDER` is set to - "systemd-boot", the ``SYSTEMD_BOOT_ENTRIES`` variable specifies a + "systemd-boot", the :term:`SYSTEMD_BOOT_ENTRIES` variable specifies a list of entry files (``*.conf``) to install that contain one boot entry per file. By default, the :ref:`systemd-boot ` class sets the - ``SYSTEMD_BOOT_ENTRIES`` as follows:: + :term:`SYSTEMD_BOOT_ENTRIES` as follows:: SYSTEMD_BOOT_ENTRIES ?= "" @@ -7500,10 +7553,10 @@ system and gives an overview of their function and contents. :term:`SYSTEMD_BOOT_TIMEOUT` When :term:`EFI_PROVIDER` is set to - "systemd-boot", the ``SYSTEMD_BOOT_TIMEOUT`` variable specifies the + "systemd-boot", the :term:`SYSTEMD_BOOT_TIMEOUT` variable specifies the boot menu timeout in seconds. By default, the :ref:`systemd-boot ` class sets the - ``SYSTEMD_BOOT_TIMEOUT`` as follows:: + :term:`SYSTEMD_BOOT_TIMEOUT` as follows:: SYSTEMD_BOOT_TIMEOUT ?= "10" @@ -7513,14 +7566,14 @@ system and gives an overview of their function and contents. :term:`SYSTEMD_PACKAGES` When inheriting the :ref:`systemd ` class, this variable locates the systemd unit files when they are not found - in the main recipe's package. By default, the ``SYSTEMD_PACKAGES`` + in the main recipe's package. By default, the :term:`SYSTEMD_PACKAGES` variable is set such that the systemd unit files are assumed to reside in the recipes main package:: SYSTEMD_PACKAGES ?= "${PN}" If these unit files are not in this recipe's main package, you need - to use ``SYSTEMD_PACKAGES`` to list the package or packages in which + to use :term:`SYSTEMD_PACKAGES` to list the package or packages in which the build system can find the systemd unit files. :term:`SYSTEMD_SERVICE` @@ -7541,7 +7594,7 @@ system and gives an overview of their function and contents. (allowing login), assuming :term:`USE_VT` is not set to "0". - The default value for ``SYSVINIT_ENABLED_GETTYS`` is "1" (i.e. only + The default value for :term:`SYSVINIT_ENABLED_GETTYS` is "1" (i.e. only run a getty on the first virtual terminal). :term:`T` @@ -7555,7 +7608,7 @@ system and gives an overview of their function and contents. BitBake unpacks and builds the recipe. The default ``bitbake.conf`` file sets this variable. - The ``T`` variable is not to be confused with the + The :term:`T` variable is not to be confused with the :term:`TMPDIR` variable, which points to the root of the directory tree where BitBake places the output of an entire build. @@ -7579,7 +7632,7 @@ system and gives an overview of their function and contents. :term:`TARGET_AS_ARCH` Specifies architecture-specific assembler flags for the target - system. ``TARGET_AS_ARCH`` is initialized from + system. :term:`TARGET_AS_ARCH` is initialized from :term:`TUNE_ASARGS` by default in the BitBake configuration file (``meta/conf/bitbake.conf``):: @@ -7587,20 +7640,20 @@ system and gives an overview of their function and contents. :term:`TARGET_CC_ARCH` Specifies architecture-specific C compiler flags for the target - system. ``TARGET_CC_ARCH`` is initialized from + system. :term:`TARGET_CC_ARCH` is initialized from :term:`TUNE_CCARGS` by default. .. note:: It is a common workaround to append :term:`LDFLAGS` to - ``TARGET_CC_ARCH`` in recipes that build software for the target that - would not otherwise respect the exported ``LDFLAGS`` variable. + :term:`TARGET_CC_ARCH` in recipes that build software for the target that + would not otherwise respect the exported :term:`LDFLAGS` variable. :term:`TARGET_CC_KERNEL_ARCH` This is a specific kernel compiler flag for a CPU or Application Binary Interface (ABI) tune. The flag is used rarely and only for cases where a userspace :term:`TUNE_CCARGS` is not - compatible with the kernel compilation. The ``TARGET_CC_KERNEL_ARCH`` + compatible with the kernel compilation. The :term:`TARGET_CC_KERNEL_ARCH` variable allows the kernel (and associated modules) to use a different configuration. See the ``meta/conf/machine/include/arm/feature-arm-thumb.inc`` file in the @@ -7612,8 +7665,8 @@ system and gives an overview of their function and contents. :term:`CFLAGS` is set to the value of this variable by default. - Additionally, the SDK's environment setup script sets the ``CFLAGS`` - variable in the environment to the ``TARGET_CFLAGS`` value so that + Additionally, the SDK's environment setup script sets the :term:`CFLAGS` + variable in the environment to the :term:`TARGET_CFLAGS` value so that executables built using the SDK also have the flags applied. :term:`TARGET_CPPFLAGS` @@ -7623,7 +7676,7 @@ system and gives an overview of their function and contents. value of this variable by default. Additionally, the SDK's environment setup script sets the - ``CPPFLAGS`` variable in the environment to the ``TARGET_CPPFLAGS`` + :term:`CPPFLAGS` variable in the environment to the :term:`TARGET_CPPFLAGS` value so that executables built using the SDK also have the flags applied. @@ -7634,7 +7687,7 @@ system and gives an overview of their function and contents. by default. Additionally, the SDK's environment setup script sets the - ``CXXFLAGS`` variable in the environment to the ``TARGET_CXXFLAGS`` + :term:`CXXFLAGS` variable in the environment to the :term:`TARGET_CXXFLAGS` value so that executables built using the SDK also have the flags applied. @@ -7646,7 +7699,7 @@ system and gives an overview of their function and contents. :term:`TARGET_LD_ARCH` Specifies architecture-specific linker flags for the target system. - ``TARGET_LD_ARCH`` is initialized from + :term:`TARGET_LD_ARCH` is initialized from :term:`TUNE_LDARGS` by default in the BitBake configuration file (``meta/conf/bitbake.conf``):: @@ -7660,7 +7713,7 @@ system and gives an overview of their function and contents. Additionally, the SDK's environment setup script sets the :term:`LDFLAGS` variable in the environment to the - ``TARGET_LDFLAGS`` value so that executables built using the SDK also + :term:`TARGET_LDFLAGS` value so that executables built using the SDK also have the flags applied. :term:`TARGET_OS` @@ -7682,7 +7735,7 @@ system and gives an overview of their function and contents. value of ``BUILD_PREFIX``. - For native SDK recipes (``nativesdk``), the build system sets the - variable to the value of ``SDK_PREFIX``. + variable to the value of :term:`SDK_PREFIX`. :term:`TARGET_SYS` Specifies the system, including the architecture and the operating @@ -7696,7 +7749,7 @@ system and gives an overview of their function and contents. .. note:: - You do not need to set the ``TARGET_SYS`` variable yourself. + You do not need to set the :term:`TARGET_SYS` variable yourself. Consider these two examples: @@ -7727,11 +7780,11 @@ system and gives an overview of their function and contents. In the ``defaultsetup.conf`` file, the default value of ``TCLIBCAPPEND`` is "-${TCLIBC}". However, distros such as poky, which normally only support one ``libc`` variant, set - ``TCLIBCAPPEND`` to "" in their distro configuration file resulting + :term:`TCLIBCAPPEND` to "" in their distro configuration file resulting in no suffix being applied. :term:`TCMODE` - Specifies the toolchain selector. ``TCMODE`` controls the + Specifies the toolchain selector. :term:`TCMODE` controls the characteristics of the generated packages and images by telling the OpenEmbedded build system which toolchain profile to use. By default, the OpenEmbedded build system builds its own internal toolchain. The @@ -7740,7 +7793,7 @@ system and gives an overview of their function and contents. .. note:: - If ``TCMODE`` is set to a value other than "default", then it is your + If :term:`TCMODE` is set to a value other than "default", then it is your responsibility to ensure that the toolchain is compatible with the default toolchain. Using older or newer versions of these components might cause build problems. See the Release Notes for @@ -7750,7 +7803,7 @@ system and gives an overview of their function and contents. page on the Yocto Project website and click on the "RELEASE INFORMATION" link for the appropriate release. - The ``TCMODE`` variable is similar to :term:`TCLIBC`, + The :term:`TCMODE` variable is similar to :term:`TCLIBC`, which controls the variant of the GNU standard C library (``libc``) used during the build process: ``glibc`` or ``musl``. @@ -7776,7 +7829,7 @@ system and gives an overview of their function and contents. the :term:`TEST_EXPORT_ONLY` variable is set to "1". - The ``TEST_EXPORT_DIR`` variable defaults to + The :term:`TEST_EXPORT_DIR` variable defaults to ``"${TMPDIR}/testimage/${PN}"``. :term:`TEST_EXPORT_ONLY` @@ -7786,7 +7839,7 @@ system and gives an overview of their function and contents. :term:`TEST_LOG_DIR` Holds the SSH log and the boot log for QEMU machines. The - ``TEST_LOG_DIR`` variable defaults to ``"${WORKDIR}/testimage"``. + :term:`TEST_LOG_DIR` variable defaults to ``"${WORKDIR}/testimage"``. .. note:: @@ -7806,7 +7859,7 @@ system and gives an overview of their function and contents. For automated hardware testing, specifies additional arguments to pass through to the command specified in :term:`TEST_POWERCONTROL_CMD`. Setting - ``TEST_POWERCONTROL_EXTRA_ARGS`` is optional. You can use it if you + :term:`TEST_POWERCONTROL_EXTRA_ARGS` is optional. You can use it if you wish, for example, to separate the machine-specific and non-machine-specific parts of the arguments. @@ -7837,7 +7890,7 @@ system and gives an overview of their function and contents. For automated hardware testing, specifies additional arguments to pass through to the command specified in :term:`TEST_SERIALCONTROL_CMD`. Setting - ``TEST_SERIALCONTROL_EXTRA_ARGS`` is optional. You can use it if you + :term:`TEST_SERIALCONTROL_EXTRA_ARGS` is optional. You can use it if you wish, for example, to separate the machine-specific and non-machine-specific parts of the command. @@ -7849,7 +7902,7 @@ system and gives an overview of their function and contents. .. note:: - The ``TEST_SERVER_IP`` variable is only used for a small number of + The :term:`TEST_SERVER_IP` variable is only used for a small number of tests such as the "dnf" test suite, which needs to download packages from ``WORKDIR/oe-rootfs-repo``. @@ -7866,7 +7919,7 @@ system and gives an overview of their function and contents. QEMU. Tests include ``ping``, ``ssh``, ``df`` among others. You can add - your own tests to the list of tests by appending ``TEST_SUITES`` as + your own tests to the list of tests by appending :term:`TEST_SUITES` as follows:: TEST_SUITES_append = " mytest" @@ -7905,7 +7958,7 @@ system and gives an overview of their function and contents. the controllers by adding a module in the layer's ``/lib/oeqa/controllers`` directory and by inheriting the ``BaseTarget`` class, which is an abstract class that cannot be used - as a value of ``TEST_TARGET``. + as a value of :term:`TEST_TARGET`. You can provide the following arguments with ``TEST_TARGET``: @@ -7930,7 +7983,7 @@ system and gives an overview of their function and contents. section in the Yocto Project Development Tasks Manual. :term:`TEST_TARGET_IP` - The IP address of your hardware under test. The ``TEST_TARGET_IP`` + The IP address of your hardware under test. The :term:`TEST_TARGET_IP` variable has no effect when :term:`TEST_TARGET` is set to "qemu". @@ -7947,7 +8000,7 @@ system and gives an overview of their function and contents. :term:`TESTIMAGE_AUTO` Automatically runs the series of automated tests for images when an - image is successfully built. Setting ``TESTIMAGE_AUTO`` to "1" causes + image is successfully built. Setting :term:`TESTIMAGE_AUTO` to "1" causes any image that successfully builds to automatically boot under QEMU. Using the variable also adds in dependencies so that any SDK for which testing is requested is automatically built first. @@ -7979,7 +8032,7 @@ system and gives an overview of their function and contents. :term:`TMPDIR` This variable is the base directory the OpenEmbedded build system uses for all build output and intermediate files (other than the - shared state cache). By default, the ``TMPDIR`` variable points to + shared state cache). By default, the :term:`TMPDIR` variable points to ``tmp`` within the :term:`Build Directory`. If you want to establish this directory in a location other than the @@ -7988,14 +8041,14 @@ system and gives an overview of their function and contents. #TMPDIR = "${TOPDIR}/tmp" - An example use for this scenario is to set ``TMPDIR`` to a local disk, + An example use for this scenario is to set :term:`TMPDIR` to a local disk, which does not use NFS, while having the Build Directory use NFS. - The filesystem used by ``TMPDIR`` must have standard filesystem + The filesystem used by :term:`TMPDIR` must have standard filesystem semantics (i.e. mixed-case files are unique, POSIX file locking, and persistent inodes). Due to various issues with NFS and bugs in some implementations, NFS does not meet this minimum requirement. - Consequently, ``TMPDIR`` cannot be on NFS. + Consequently, :term:`TMPDIR` cannot be on NFS. :term:`TOOLCHAIN_HOST_TASK` This variable lists packages the OpenEmbedded build system uses when @@ -8024,7 +8077,7 @@ system and gives an overview of their function and contents. :term:`TOOLCHAIN_OUTPUTNAME` This variable defines the name used for the toolchain output. The :ref:`populate_sdk_base ` class sets - the ``TOOLCHAIN_OUTPUTNAME`` variable as follows:: + the :term:`TOOLCHAIN_OUTPUTNAME` variable as follows:: TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" @@ -8060,7 +8113,7 @@ system and gives an overview of their function and contents. variable is used where the architecture is needed in a value where underscores are not allowed, for example within package filenames. In this case, dash characters replace any underscore characters used in - ``TARGET_ARCH``. + :term:`TARGET_ARCH`. Do not edit this variable. @@ -8069,18 +8122,18 @@ system and gives an overview of their function and contents. ``arm``, ``armeb``, ``mips``, ``mips64``, and so forth). BitBake uses this value to setup configuration. - ``TUNE_ARCH`` definitions are specific to a given architecture. The + :term:`TUNE_ARCH` definitions are specific to a given architecture. The definitions can be a single static definition, or can be dynamically adjusted. You can see details for a given CPU family by looking at the architecture's ``README`` file. For example, the ``meta/conf/machine/include/mips/README`` file in the :term:`Source Directory` provides information for - ``TUNE_ARCH`` specific to the ``mips`` architecture. + :term:`TUNE_ARCH` specific to the ``mips`` architecture. - ``TUNE_ARCH`` is tied closely to + :term:`TUNE_ARCH` is tied closely to :term:`TARGET_ARCH`, which defines the target machine's architecture. The BitBake configuration file - (``meta/conf/bitbake.conf``) sets ``TARGET_ARCH`` as follows:: + (``meta/conf/bitbake.conf``) sets :term:`TARGET_ARCH` as follows:: TARGET_ARCH = "${TUNE_ARCH}" @@ -8098,7 +8151,7 @@ system and gives an overview of their function and contents. :term:`TUNE_ASARGS` Specifies architecture-specific assembler flags for the target system. The set of flags is based on the selected tune features. - ``TUNE_ASARGS`` is set using the tune include files, which are + :term:`TUNE_ASARGS` is set using the tune include files, which are typically under ``meta/conf/machine/include/`` and are influenced through :term:`TUNE_FEATURES`. For example, the ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags @@ -8115,7 +8168,7 @@ system and gives an overview of their function and contents. :term:`TUNE_CCARGS` Specifies architecture-specific C compiler flags for the target system. The set of flags is based on the selected tune features. - ``TUNE_CCARGS`` is set using the tune include files, which are + :term:`TUNE_CCARGS` is set using the tune include files, which are typically under ``meta/conf/machine/include/`` and are influenced through :term:`TUNE_FEATURES`. @@ -8135,7 +8188,7 @@ system and gives an overview of their function and contents. are not conflicting and that they are supported. The BitBake configuration file (``meta/conf/bitbake.conf``) defines - ``TUNE_FEATURES`` as follows:: + :term:`TUNE_FEATURES` as follows:: TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" @@ -8144,7 +8197,7 @@ system and gives an overview of their function and contents. :term:`TUNE_LDARGS` Specifies architecture-specific linker flags for the target system. The set of flags is based on the selected tune features. - ``TUNE_LDARGS`` is set using the tune include files, which are + :term:`TUNE_LDARGS` is set using the tune include files, which are typically under ``meta/conf/machine/include/`` and are influenced through :term:`TUNE_FEATURES`. For example, the ``meta/conf/machine/include/x86/arch-x86.inc`` file defines the flags @@ -8174,12 +8227,12 @@ system and gives an overview of their function and contents. :term:`TUNEABI` An underlying Application Binary Interface (ABI) used by a particular tuning in a given toolchain layer. Providers that use prebuilt - libraries can use the ``TUNEABI``, + libraries can use the :term:`TUNEABI`, :term:`TUNEABI_OVERRIDE`, and :term:`TUNEABI_WHITELIST` variables to check compatibility of tunings against their selection of libraries. - If ``TUNEABI`` is undefined, then every tuning is allowed. See the + If :term:`TUNEABI` is undefined, then every tuning is allowed. See the :ref:`sanity ` class to see how the variable is used. @@ -8187,7 +8240,7 @@ system and gives an overview of their function and contents. If set, the OpenEmbedded system ignores the :term:`TUNEABI_WHITELIST` variable. Providers that use prebuilt libraries can use the - ``TUNEABI_OVERRIDE``, ``TUNEABI_WHITELIST``, and + :term:`TUNEABI_OVERRIDE`, :term:`TUNEABI_WHITELIST`, and :term:`TUNEABI` variables to check compatibility of a tuning against their selection of libraries. @@ -8196,9 +8249,9 @@ system and gives an overview of their function and contents. :term:`TUNEABI_WHITELIST` A whitelist of permissible :term:`TUNEABI` values. If - ``TUNEABI_WHITELIST`` is not set, all tunes are allowed. Providers - that use prebuilt libraries can use the ``TUNEABI_WHITELIST``, - :term:`TUNEABI_OVERRIDE`, and ``TUNEABI`` + :term:`TUNEABI_WHITELIST` is not set, all tunes are allowed. Providers + that use prebuilt libraries can use the :term:`TUNEABI_WHITELIST`, + :term:`TUNEABI_OVERRIDE`, and :term:`TUNEABI` variables to check compatibility of a tuning against their selection of libraries. @@ -8243,35 +8296,35 @@ system and gives an overview of their function and contents. UBOOT_CONFIG[spinor] = "mx6qsabreauto_spinor_config" In this example, "sd" is selected as the configuration of the possible four for the - ``UBOOT_MACHINE``. The "sd" configuration defines - "mx6qsabreauto_config" as the value for ``UBOOT_MACHINE``, while the + :term:`UBOOT_MACHINE`. The "sd" configuration defines + "mx6qsabreauto_config" as the value for :term:`UBOOT_MACHINE`, while the "sdcard" specifies the ``IMAGE_FSTYPES`` to use for the U-Boot image. - For more information on how the ``UBOOT_CONFIG`` is handled, see the + For more information on how the :term:`UBOOT_CONFIG` is handled, see the :ref:`uboot-config ` class. :term:`UBOOT_DTB_LOADADDRESS` Specifies the load address for the dtb image used by U-Boot. During FIT - image creation, the ``UBOOT_DTB_LOADADDRESS`` variable is used in + image creation, the :term:`UBOOT_DTB_LOADADDRESS` variable is used in :ref:`kernel-fitimage ` class to specify the load address to be used in creating the dtb sections of Image Tree Source for the FIT image. :term:`UBOOT_DTBO_LOADADDRESS` Specifies the load address for the dtbo image used by U-Boot. During FIT - image creation, the ``UBOOT_DTBO_LOADADDRESS`` variable is used in + image creation, the :term:`UBOOT_DTBO_LOADADDRESS` variable is used in :ref:`kernel-fitimage ` class to specify the load address to be used in creating the dtbo sections of Image Tree Source for the FIT image. :term:`UBOOT_ENTRYPOINT` Specifies the entry point for the U-Boot image. During U-Boot image - creation, the ``UBOOT_ENTRYPOINT`` variable is passed as a + creation, the :term:`UBOOT_ENTRYPOINT` variable is passed as a command-line parameter to the ``uboot-mkimage`` utility. :term:`UBOOT_LOADADDRESS` Specifies the load address for the U-Boot image. During U-Boot image - creation, the ``UBOOT_LOADADDRESS`` variable is passed as a + creation, the :term:`UBOOT_LOADADDRESS` variable is passed as a command-line parameter to the ``uboot-mkimage`` utility. :term:`UBOOT_LOCALVERSION` @@ -8322,7 +8375,7 @@ system and gives an overview of their function and contents. :term:`UBOOT_RD_ENTRYPOINT` Specifies the entrypoint for the RAM disk image. During FIT image creation, the - ``UBOOT_RD_ENTRYPOINT`` variable is used + :term:`UBOOT_RD_ENTRYPOINT` variable is used in :ref:`kernel-fitimage ` class to specify the entrypoint to be used in creating the Image Tree Source for the FIT image. @@ -8330,7 +8383,7 @@ system and gives an overview of their function and contents. :term:`UBOOT_RD_LOADADDRESS` Specifies the load address for the RAM disk image. During FIT image creation, the - ``UBOOT_RD_LOADADDRESS`` variable is used + :term:`UBOOT_RD_LOADADDRESS` variable is used in :ref:`kernel-fitimage ` class to specify the load address to be used in creating the Image Tree Source for the FIT image. @@ -8371,16 +8424,16 @@ system and gives an overview of their function and contents. However, there are common options that are passed to all configure scripts at a class level, but might not be valid for some configure scripts. Therefore warnings about these options are useless. - For these cases, the options are added to ``UNKNOWN_CONFIGURE_WHITELIST``. + For these cases, the options are added to :term:`UNKNOWN_CONFIGURE_WHITELIST`. The configure arguments check that uses - ``UNKNOWN_CONFIGURE_WHITELIST`` is part of the + :term:`UNKNOWN_CONFIGURE_WHITELIST` is part of the :ref:`insane ` class and is only enabled if the recipe inherits the :ref:`autotools ` class. :term:`UPDATERCPN` For recipes inheriting the - :ref:`update-rc.d ` class, ``UPDATERCPN`` + :ref:`update-rc.d ` class, :term:`UPDATERCPN` specifies the package that contains the initscript that is enabled. The default value is "${PN}". Given that almost all recipes that @@ -8394,7 +8447,7 @@ system and gives an overview of their function and contents. OpenEmbedded build system determines the latest upstream version by picking the latest tag from the list of all repository tags. - You can use the ``UPSTREAM_CHECK_GITTAGREGEX`` variable to provide a + You can use the :term:`UPSTREAM_CHECK_GITTAGREGEX` variable to provide a regular expression to filter only the relevant tags should the default filter not work correctly. :: @@ -8402,7 +8455,7 @@ system and gives an overview of their function and contents. UPSTREAM_CHECK_GITTAGREGEX = "git_tag_regex" :term:`UPSTREAM_CHECK_REGEX` - Use the ``UPSTREAM_CHECK_REGEX`` variable to specify a different + Use the :term:`UPSTREAM_CHECK_REGEX` variable to specify a different regular expression instead of the default one when the package checking system is parsing the page found using :term:`UPSTREAM_CHECK_URI`. @@ -8416,7 +8469,7 @@ system and gives an overview of their function and contents. the source code is provided from tarballs, the latest version is determined by fetching the directory listing where the tarball is and attempting to find a later tarball. When this approach does not work, - you can use ``UPSTREAM_CHECK_URI`` to provide a different URI that + you can use :term:`UPSTREAM_CHECK_URI` to provide a different URI that contains the link to the latest tarball. :: @@ -8424,8 +8477,8 @@ system and gives an overview of their function and contents. :term:`USE_DEVFS` Determines if ``devtmpfs`` is used for ``/dev`` population. The - default value used for ``USE_DEVFS`` is "1" when no value is - specifically set. Typically, you would set ``USE_DEVFS`` to "0" for a + default value used for :term:`USE_DEVFS` is "1" when no value is + specifically set. Typically, you would set :term:`USE_DEVFS` to "0" for a statically populated ``/dev`` directory. See the ":ref:`dev-manual/common-tasks:selecting a device manager`" section in @@ -8440,8 +8493,8 @@ system and gives an overview of their function and contents. virtual terminals in order to enable logging in through those terminals. - The default value used for ``USE_VT`` is "1" when no default value is - specifically set. Typically, you would set ``USE_VT`` to "0" in the + The default value used for :term:`USE_VT` is "1" when no default value is + specifically set. Typically, you would set :term:`USE_VT` to "0" in the machine configuration file for machines that do not have a graphical display attached and therefore do not need virtual terminal functionality. @@ -8468,9 +8521,9 @@ system and gives an overview of their function and contents. The default behavior for the build system is to dynamically apply ``uid`` and ``gid`` values. Consequently, the - ``USERADD_ERROR_DYNAMIC`` variable is by default not set. If you plan + :term:`USERADD_ERROR_DYNAMIC` variable is by default not set. If you plan on using statically assigned ``gid`` and ``uid`` values, you should - set the ``USERADD_ERROR_DYNAMIC`` variable in your ``local.conf`` + set the :term:`USERADD_ERROR_DYNAMIC` variable in your ``local.conf`` file as follows:: USERADD_ERROR_DYNAMIC = "error" @@ -8485,7 +8538,7 @@ system and gives an overview of their function and contents. .. note:: There is a difference in behavior between setting - ``USERADD_ERROR_DYNAMIC`` to ``error`` and setting it to ``warn``. + :term:`USERADD_ERROR_DYNAMIC` to ``error`` and setting it to ``warn``. When it is set to ``warn``, the build system will report a warning for every undefined ``uid`` and ``gid`` in any recipe. But when it is set to ``error``, it will only report errors for recipes that are actually @@ -8524,7 +8577,7 @@ system and gives an overview of their function and contents. .. note:: - It follows that if you are going to use the ``USERADD_PACKAGES`` + It follows that if you are going to use the :term:`USERADD_PACKAGES` variable, you need to set one or more of the :term:`USERADD_PARAM`, :term:`GROUPADD_PARAM`, or :term:`GROUPMEMS_PARAM` variables. @@ -8587,7 +8640,7 @@ system and gives an overview of their function and contents. Specifies the persistence of the target's ``/var/log`` directory, which is used to house postinstall target log files. - By default, ``VOLATILE_LOG_DIR`` is set to "yes", which means the + By default, :term:`VOLATILE_LOG_DIR` is set to "yes", which means the file is not persistent. You can override this setting by setting the variable to "no" to make the log directory persistent. @@ -8609,18 +8662,18 @@ system and gives an overview of their function and contents. :term:`WKS_FILE_DEPENDS` When placed in the recipe that builds your image, this variable lists - build-time dependencies. The ``WKS_FILE_DEPENDS`` variable is only + build-time dependencies. The :term:`WKS_FILE_DEPENDS` variable is only applicable when Wic images are active (i.e. when :term:`IMAGE_FSTYPES` contains entries related to Wic). If your recipe does not create Wic images, the variable has no effect. - The ``WKS_FILE_DEPENDS`` variable is similar to the + The :term:`WKS_FILE_DEPENDS` variable is similar to the :term:`DEPENDS` variable. When you use the variable in your recipe that builds the Wic image, dependencies you list in the - ``WKS_FILE_DEPENDS`` variable are added to the ``DEPENDS`` variable. + :term:`WKS_FILE_DEPENDS` variable are added to the :term:`DEPENDS` variable. - With the ``WKS_FILE_DEPENDS`` variable, you have the possibility to + With the :term:`WKS_FILE_DEPENDS` variable, you have the possibility to specify a list of additional dependencies (e.g. native tools, bootloaders, and so forth), that are required to build Wic images. Following is an example:: @@ -8637,7 +8690,7 @@ system and gives an overview of their function and contents. :term:`TMPDIR` directory structure and is specific to the recipe being built and the system for which it is being built. - The ``WORKDIR`` directory is defined as follows:: + The :term:`WORKDIR` directory is defined as follows:: ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} @@ -8667,6 +8720,6 @@ system and gives an overview of their function and contents. indirectly, includes "x11-base" in :term:`IMAGE_FEATURES`. - The default value of ``XSERVER``, if not specified in the machine + The default value of :term:`XSERVER`, if not specified in the machine configuration, is "xserver-xorg xf86-video-fbdev xf86-input-evdev". diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst index f278e2159..890cd037f 100644 --- a/poky/documentation/releases.rst +++ b/poky/documentation/releases.rst @@ -1,18 +1,18 @@ .. SPDX-License-Identifier: CC-BY-SA-2.0-UK -========================= - Current Release Manuals -========================= +=========================== + Supported Release Manuals +=========================== -******************************* -3.3 'hardknott' Release Series -******************************* +****************************** +Release Series 3.3 (hardknott) +****************************** - :yocto_docs:`3.3 Documentation ` - :yocto_docs:`3.3.1 Documentation ` ******************************* -3.2 'gatesgarth' Release Series +Release Series 3.2 (gatesgarth) ******************************* - :yocto_docs:`3.2 Documentation ` @@ -22,7 +22,7 @@ - :yocto_docs:`3.2.4 Documentation ` **************************** -3.1 'dunfell' Release Series +Release Series 3.1 (dunfell) **************************** - :yocto_docs:`3.1 Documentation ` @@ -33,13 +33,14 @@ - :yocto_docs:`3.1.5 Documentation ` - :yocto_docs:`3.1.6 Documentation ` - :yocto_docs:`3.1.7 Documentation ` +- :yocto_docs:`3.1.8 Documentation ` ========================== - Previous Release Manuals + Outdated Release Manuals ========================== ************************* -3.0 'zeus' Release Series +Release Series 3.0 (zeus) ************************* - :yocto_docs:`3.0 Documentation ` @@ -49,7 +50,7 @@ - :yocto_docs:`3.0.4 Documentation ` **************************** -2.7 'warrior' Release Series +Release Series 2.7 (warrior) **************************** - :yocto_docs:`2.7 Documentation ` @@ -59,7 +60,7 @@ - :yocto_docs:`2.7.4 Documentation ` ************************* -2.6 'thud' Release Series +Release Series 2.6 (thud) ************************* - :yocto_docs:`2.6 Documentation ` @@ -69,16 +70,16 @@ - :yocto_docs:`2.6.4 Documentation ` ************************* -2.5 'sumo' Release Series +Release Series 2.5 (sumo) ************************* - :yocto_docs:`2.5 Documentation ` - :yocto_docs:`2.5.1 Documentation ` - :yocto_docs:`2.5.2 Documentation ` - :yocto_docs:`2.5.3 Documentation ` - + ************************** -2.4 'rocko' Release Series +Release Series 2.4 (rocko) ************************** - :yocto_docs:`2.4 Documentation ` @@ -88,7 +89,7 @@ - :yocto_docs:`2.4.4 Documentation ` ************************* -2.3 'pyro' Release Series +Release Series 2.3 (pyro) ************************* - :yocto_docs:`2.3 Documentation ` @@ -98,7 +99,7 @@ - :yocto_docs:`2.3.4 Documentation ` ************************** -2.2 'morty' Release Series +Release Series 2.2 (morty) ************************** - :yocto_docs:`2.2 Documentation ` @@ -107,7 +108,7 @@ - :yocto_docs:`2.2.3 Documentation ` **************************** -2.1 'krogoth' Release Series +Release Series 2.1 (krogoth) **************************** - :yocto_docs:`2.1 Documentation ` @@ -116,7 +117,7 @@ - :yocto_docs:`2.1.3 Documentation ` *************************** -2.0 'jethro' Release Series +Release Series 2.0 (jethro) *************************** - :yocto_docs:`1.9 Documentation ` @@ -126,7 +127,7 @@ - :yocto_docs:`2.0.3 Documentation ` ************************* -1.8 'fido' Release Series +Release Series 1.8 (fido) ************************* - :yocto_docs:`1.8 Documentation ` @@ -134,7 +135,7 @@ - :yocto_docs:`1.8.2 Documentation ` ************************** -1.7 'dizzy' Release Series +Release Series 1.7 (dizzy) ************************** - :yocto_docs:`1.7 Documentation ` @@ -143,16 +144,16 @@ - :yocto_docs:`1.7.3 Documentation ` ************************** -1.6 'daisy' Release Series +Release Series 1.6 (daisy) ************************** - :yocto_docs:`1.6 Documentation ` - :yocto_docs:`1.6.1 Documentation ` - :yocto_docs:`1.6.2 Documentation ` - :yocto_docs:`1.6.3 Documentation ` - + ************************* -1.5 'dora' Release Series +Release Series 1.5 (dora) ************************* - :yocto_docs:`1.5 Documentation ` @@ -162,7 +163,7 @@ - :yocto_docs:`1.5.4 Documentation ` ************************** -1.4 'dylan' Release Series +Release Series 1.4 (dylan) ************************** - :yocto_docs:`1.4 Documentation ` @@ -171,9 +172,9 @@ - :yocto_docs:`1.4.3 Documentation ` - :yocto_docs:`1.4.4 Documentation ` - :yocto_docs:`1.4.5 Documentation ` - + ************************** -1.3 'danny' Release Series +Release Series 1.3 (danny) ************************** - :yocto_docs:`1.3 Documentation ` @@ -181,7 +182,7 @@ - :yocto_docs:`1.3.2 Documentation ` *************************** -1.2 'denzil' Release Series +Release Series 1.2 (denzil) *************************** - :yocto_docs:`1.2 Documentation ` @@ -189,7 +190,7 @@ - :yocto_docs:`1.2.2 Documentation ` *************************** -1.1 'edison' Release Series +Release Series 1.1 (edison) *************************** - :yocto_docs:`1.1 Documentation ` @@ -197,7 +198,7 @@ - :yocto_docs:`1.1.2 Documentation ` **************************** -1.0 'bernard' Release Series +Release Series 1.0 (bernard) **************************** - :yocto_docs:`1.0 Documentation ` @@ -205,7 +206,7 @@ - :yocto_docs:`1.0.2 Documentation ` **************************** -0.9 'laverne' Release Series +Release Series 0.9 (laverne) **************************** - :yocto_docs:`0.9 Documentation ` diff --git a/poky/documentation/sdk-manual/appendix-customizing-standard.rst b/poky/documentation/sdk-manual/appendix-customizing-standard.rst index 90b634529..9bc70cf55 100644 --- a/poky/documentation/sdk-manual/appendix-customizing-standard.rst +++ b/poky/documentation/sdk-manual/appendix-customizing-standard.rst @@ -17,10 +17,10 @@ and variables control the set of packages adding to the SDK. If you want to add individual packages to the toolchain that runs on the -host, simply add those packages to the ``TOOLCHAIN_HOST_TASK`` variable. +host, simply add those packages to the :term:`TOOLCHAIN_HOST_TASK` variable. Similarly, if you want to add packages to the default set that is part of the toolchain that runs on the target, add the packages to the -``TOOLCHAIN_TARGET_TASK`` variable. +:term:`TOOLCHAIN_TARGET_TASK` variable. Adding API Documentation to the Standard SDK ============================================ diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst index 67b49d9f4..44f4334c2 100644 --- a/poky/documentation/sdk-manual/appendix-customizing.rst +++ b/poky/documentation/sdk-manual/appendix-customizing.rst @@ -35,13 +35,13 @@ build system applies them against ``local.conf`` and ``auto.conf``: - Variables listed in :term:`SDK_LOCAL_CONF_WHITELIST` are included. Including a variable in the value of - ``SDK_LOCAL_CONF_WHITELIST`` overrides either of the previous two + :term:`SDK_LOCAL_CONF_WHITELIST` overrides either of the previous two filters. The default value is blank. - Classes inherited globally with :term:`INHERIT` that are listed in :term:`SDK_INHERIT_BLACKLIST` - are disabled. Using ``SDK_INHERIT_BLACKLIST`` to disable these + are disabled. Using :term:`SDK_INHERIT_BLACKLIST` to disable these classes is the typical method to disable classes that are problematic or unnecessary in the SDK context. The default value blacklists the :ref:`buildhistory ` @@ -74,11 +74,9 @@ adjustments: is set using the "?=" operator. Consequently, you will need to either define the entire list by using the "=" operator, or you will need to append a value using either "_append" or the "+=" - operator. You can learn more about these operators in the " - Basic Syntax - " section of the BitBake User Manual. - - . + operator. You can learn more about these operators in the + ":ref:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata:basic syntax`" + section of the BitBake User Manual. - If you have classes or recipes that add additional tasks to the standard build flow (i.e. the tasks execute as the recipe builds as @@ -95,7 +93,7 @@ adjustments: - Disable the tasks if they are added by a class and you do not need the functionality the class provides in the extensible SDK. To - disable the tasks, add the class to the ``SDK_INHERIT_BLACKLIST`` + disable the tasks, add the class to the :term:`SDK_INHERIT_BLACKLIST` variable as described in the previous section. - Generally, you want to have a shared state mirror set up so users of @@ -128,8 +126,7 @@ adjustments: .. note:: You must also reflect this change in the value used for the - COREBASE_FILES - variable as previously described. + :term:`COREBASE_FILES` variable as previously described. Changing the Extensible SDK Installer Title =========================================== @@ -142,12 +139,12 @@ section. By default, this title is derived from :term:`DISTRO_NAME` when it is -set. If the ``DISTRO_NAME`` variable is not set, the title is derived +set. If the :term:`DISTRO_NAME` variable is not set, the title is derived from the :term:`DISTRO` variable. The :ref:`populate_sdk_base ` -class defines the default value of the ``SDK_TITLE`` variable as +class defines the default value of the :term:`SDK_TITLE` variable as follows:: SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK" @@ -158,7 +155,7 @@ creates an SDK installer title that applies across your distribution. As an example, assume you have your own layer for your distribution named "meta-mydistro" and you are using the same type of file hierarchy as does the default "poky" distribution. If so, you could update the -``SDK_TITLE`` variable in the +:term:`SDK_TITLE` variable in the ``~/meta-mydistro/conf/distro/mydistro.conf`` file using the following form:: @@ -220,7 +217,7 @@ class as follows:: You can change this default installation directory by specifically setting the -``SDKEXTPATH`` variable. +:term:`SDKEXTPATH` variable. While there are several ways of setting this variable, the method that makes the most sense is to set the variable in your @@ -229,7 +226,7 @@ default directory that applies across your distribution. As an example, assume you have your own layer for your distribution named "meta-mydistro" and you are using the same type of file hierarchy as does the default "poky" distribution. If so, you could update the -``SDKEXTPATH`` variable in the +:term:`SDKEXTPATH` variable in the ``~/meta-mydistro/conf/distro/mydistro.conf`` file using the following form:: @@ -270,8 +267,7 @@ source, you need to do a number of things: SSTATE_MIRRORS = "file://.* http://example.com/some_path/sstate-cache/PATH" - You can set the - ``SSTATE_MIRRORS`` variable in two different places: + You can set the :term:`SSTATE_MIRRORS` variable in two different places: - If the mirror value you are setting is appropriate to be set for both the OpenEmbedded build system that is actually building the @@ -284,18 +280,17 @@ source, you need to do a number of things: SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS" - - Alternatively, if you just want to set the ``SSTATE_MIRRORS`` + - Alternatively, if you just want to set the :term:`SSTATE_MIRRORS` variable's value for the SDK alone, create a ``conf/sdk-extra.conf`` file either in your :term:`Build Directory` or within any - layer and put your ``SSTATE_MIRRORS`` setting within that file. + layer and put your :term:`SSTATE_MIRRORS` setting within that file. .. note:: This second option is the safest option should you have any doubts as to which method to use when setting - SSTATE_MIRRORS - . + :term:`SSTATE_MIRRORS` Minimizing the Size of the Extensible SDK Installer Download ============================================================ @@ -333,7 +328,7 @@ following:: See the :term:`SDK_INCLUDE_PKGDATA` variable for additional information. -Setting the ``SDK_INCLUDE_PKGDATA`` variable as shown causes the "world" +Setting the :term:`SDK_INCLUDE_PKGDATA` variable as shown causes the "world" target to be built so that information for all of the recipes included within it are available. Having these recipes available increases build time significantly and increases the size of the SDK installer by 30-80 @@ -350,15 +345,15 @@ in most cases. If you set SDK_EXT_TYPE to "minimal", then providing a shared state mirror is mandatory so - that items can be installed as needed. See the " - Providing Additional Installable Extensible SDK Content - " section for more information. + that items can be installed as needed. See the + :ref:`sdk-manual/appendix-customizing:providing additional installable extensible sdk content` + section for more information. You can explicitly control whether or not to include the toolchain when you build an SDK by setting the :term:`SDK_INCLUDE_TOOLCHAIN` variable to "1". In particular, it is useful to include the toolchain -when you have set ``SDK_EXT_TYPE`` to "minimal", which by default, +when you have set :term:`SDK_EXT_TYPE` to "minimal", which by default, excludes the toolchain. Also, it is helpful if you are building a small SDK for use with an IDE or some other tool where you do not want to take extra steps to install a toolchain. diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst index 55bd7f6eb..5520a0718 100644 --- a/poky/documentation/sdk-manual/extensible.rst +++ b/poky/documentation/sdk-manual/extensible.rst @@ -15,9 +15,8 @@ hardware, and ease integration into the rest of the .. note:: For a side-by-side comparison of main features supported for an - extensible SDK as compared to a standard SDK, see the " - Introduction - " section. + extensible SDK as compared to a standard SDK, see the + :ref:`sdk-manual/intro:introduction` section. In addition to the functionality available through ``devtool``, you can alternatively make use of the toolchain directly, for example from @@ -89,9 +88,9 @@ the SDK for ``core-image-sato`` and using the current &DISTRO; snapshot:: .. note:: As an alternative to downloading an SDK, you can build the SDK - installer. For information on building the installer, see the " - Building an SDK Installer - " section. + installer. For information on building the installer, see the + :ref:`sdk-manual/appendix-obtain:building an sdk installer` + section. The SDK and toolchains are self-contained and by default are installed into the ``poky_sdk`` folder in your home directory. You can choose to @@ -439,7 +438,7 @@ command: With this scenario, there is no ``srctree`` argument. Consequently, the default behavior of the ``devtool modify`` command is to extract - the source files pointed to by the ``SRC_URI`` statements into a + the source files pointed to by the :term:`SRC_URI` statements into a local Git structure. Furthermore, the location for the extracted source is the default area within the ``devtool`` workspace. The result is that the command sets up both the source code and an @@ -447,7 +446,7 @@ command: original location. Additionally, if you have any non-patch local files (i.e. files - referred to with ``file://`` entries in ``SRC_URI`` statement + referred to with ``file://`` entries in :term:`SRC_URI` statement excluding ``*.patch/`` or ``*.diff``), these files are copied to an ``oe-local-files`` folder under the newly created source tree. Copying the files here gives you a convenient area from which you @@ -477,7 +476,7 @@ command: devtool command. - As with all extractions, the command uses the recipe's ``SRC_URI`` + As with all extractions, the command uses the recipe's :term:`SRC_URI` statements to locate the source files and any associated patch files. Non-patch files are copied to an ``oe-local-files`` folder under the newly created source tree. @@ -604,11 +603,11 @@ counterparts. .. note:: Several methods exist by which you can upgrade recipes - - devtool upgrade + ``devtool upgrade`` happens to be one. You can read about all the methods by which you - can upgrade recipes in the " - Upgrading Recipes - " section of the Yocto Project Development Tasks Manual. + can upgrade recipes in the + :ref:`dev-manual/common-tasks:upgrading recipes` section + of the Yocto Project Development Tasks Manual. The ``devtool upgrade`` command is flexible enough to allow you to specify source code revision and versioning schemes, extract code into @@ -656,18 +655,18 @@ The following diagram shows the common development flow used with the don't use "-V", the command upgrades the recipe to the latest version. - If the source files pointed to by the ``SRC_URI`` statement in the + If the source files pointed to by the :term:`SRC_URI` statement in the recipe are in a Git repository, you must provide the "-S" option and specify a revision for the software. - Once ``devtool`` locates the recipe, it uses the ``SRC_URI`` variable + Once ``devtool`` locates the recipe, it uses the :term:`SRC_URI` variable to locate the source code and any local patch files from other developers. The result is that the command sets up the source code, the new version of the recipe, and an append file all within the workspace. Additionally, if you have any non-patch local files (i.e. files - referred to with ``file://`` entries in ``SRC_URI`` statement + referred to with ``file://`` entries in :term:`SRC_URI` statement excluding ``*.patch/`` or ``*.diff``), these files are copied to an ``oe-local-files`` folder under the newly created source tree. Copying the files here gives you a convenient area from which you can @@ -677,7 +676,7 @@ The following diagram shows the common development flow used with the 2. *Resolve any Conflicts created by the Upgrade*: Conflicts could happen after upgrading the software to a new version. Conflicts occur - if your recipe specifies some patch files in ``SRC_URI`` that + if your recipe specifies some patch files in :term:`SRC_URI` that conflict with changes made in the new version of the software. For such cases, you need to resolve the conflicts by editing the source and following the normal ``git rebase`` conflict resolution process. @@ -833,7 +832,7 @@ result from naming not being recognized or because the dependency simply is not available. For cases where the dependency is not available, you must use the ``devtool add`` command to add an additional recipe that satisfies the dependency. Once you add that recipe, you need to update -the ``DEPENDS`` variable in the original recipe to include the new +the :term:`DEPENDS` variable in the original recipe to include the new recipe. If you need to add runtime dependencies, you can do so by adding the @@ -862,7 +861,7 @@ license. If so, the command sets the :term:`LICENSE` value accordingly. You should double-check the value added by the command against the documentation or source files for the software you are building and, if -necessary, update that ``LICENSE`` value. +necessary, update that :term:`LICENSE` value. The ``devtool add`` command also sets the :term:`LIC_FILES_CHKSUM` @@ -870,16 +869,16 @@ value to point to all files that appear to be license-related. Realize that license statements often appear in comments at the top of source files or within the documentation. In such cases, the command does not recognize those license statements. Consequently, you might need to -amend the ``LIC_FILES_CHKSUM`` variable to point to one or more of those -comments if present. Setting ``LIC_FILES_CHKSUM`` is particularly +amend the :term:`LIC_FILES_CHKSUM` variable to point to one or more of those +comments if present. Setting :term:`LIC_FILES_CHKSUM` is particularly important for third-party software. The mechanism attempts to ensure correct licensing should you upgrade the recipe to a newer upstream version in future. Any change in licensing is detected and you receive an error prompting you to check the license text again. If the ``devtool add`` command cannot determine licensing information, -``devtool`` sets the ``LICENSE`` value to "CLOSED" and leaves the -``LIC_FILES_CHKSUM`` value unset. This behavior allows you to continue +``devtool`` sets the :term:`LICENSE` value to "CLOSED" and leaves the +:term:`LIC_FILES_CHKSUM` value unset. This behavior allows you to continue with development even though the settings are unlikely to be correct in all cases. You should check the documentation or source files for the software you are building to determine the actual license. @@ -905,7 +904,7 @@ mind: hardcoding tools within the toolchain such as ``gcc`` and ``g++``. - The environment in which Make runs is set up with various standard - variables for compilation (e.g. ``CC``, ``CXX``, and so forth) in a + variables for compilation (e.g. :term:`CC`, :term:`CXX`, and so forth) in a similar manner to the environment set up by the SDK's environment setup script. One easy way to see these variables is to run the ``devtool build`` command on the recipe and then look in @@ -921,7 +920,7 @@ mind: the command line, add the variable setting to :term:`EXTRA_OEMAKE` or :term:`PACKAGECONFIG_CONFARGS` - within the recipe. Here is an example using ``EXTRA_OEMAKE``:: + within the recipe. Here is an example using :term:`EXTRA_OEMAKE`:: EXTRA_OEMAKE += "'CC=${CC}' 'CXX=${CXX}'" @@ -1087,20 +1086,20 @@ extras specified by :term:`EXTRA_OECONF` or :term:`PACKAGECONFIG_CONFARGS` set within the recipe. If you wish to pass additional options, add them -to ``EXTRA_OECONF`` or ``PACKAGECONFIG_CONFARGS``. Other supported build +to :term:`EXTRA_OECONF` or :term:`PACKAGECONFIG_CONFARGS`. Other supported build tools have similar variables (e.g. :term:`EXTRA_OECMAKE` for CMake, :term:`EXTRA_OESCONS` for Scons, and so forth). If you need to pass anything on the ``make`` -command line, you can use ``EXTRA_OEMAKE`` or the +command line, you can use :term:`EXTRA_OEMAKE` or the :term:`PACKAGECONFIG_CONFARGS` variables to do so. You can use the ``devtool configure-help`` command to help you set the arguments listed in the previous paragraph. The command determines the exact options being passed, and shows them to you along with any custom -arguments specified through ``EXTRA_OECONF`` or -``PACKAGECONFIG_CONFARGS``. If applicable, the command also shows you +arguments specified through :term:`EXTRA_OECONF` or +:term:`PACKAGECONFIG_CONFARGS`. If applicable, the command also shows you the output of the configure script's "--help" option as a reference. @@ -1152,16 +1151,16 @@ the ``oe-workdir/packages-split`` directory, which contains a subdirectory for each package. Apart from some advanced cases, the :term:`PACKAGES` and :term:`FILES` variables controls -splitting. The ``PACKAGES`` variable lists all of the packages to be -produced, while the ``FILES`` variable specifies which files to include +splitting. The :term:`PACKAGES` variable lists all of the packages to be +produced, while the :term:`FILES` variable specifies which files to include in each package by using an override to specify the package. For example, ``FILES_${PN}`` specifies the files to go into the main package (i.e. the main package has the same name as the recipe and ``${``\ :term:`PN`\ ``}`` evaluates to the -recipe name). The order of the ``PACKAGES`` value is significant. For -each installed file, the first package whose ``FILES`` value matches the -file is the package into which the file goes. Both the ``PACKAGES`` and -``FILES`` variables have default values. Consequently, you might find +recipe name). The order of the :term:`PACKAGES` value is significant. For +each installed file, the first package whose :term:`FILES` value matches the +file is the package into which the file goes. Both the :term:`PACKAGES` and +:term:`FILES` variables have default values. Consequently, you might find you do not even need to set these variables in your recipe unless the software the recipe is building installs files into non-standard locations. diff --git a/poky/documentation/sdk-manual/working-projects.rst b/poky/documentation/sdk-manual/working-projects.rst index ad84ce2b8..276daa9bb 100644 --- a/poky/documentation/sdk-manual/working-projects.rst +++ b/poky/documentation/sdk-manual/working-projects.rst @@ -135,9 +135,8 @@ project: To learn about environment variables established when you run the cross-toolchain environment setup script and how they are used or - overridden when the Makefile, see the " - Makefile-Based Projects - " section. + overridden by the Makefile, see the + :ref:`sdk-manual/working-projects:makefile-based projects` section. This next command is a simple way to verify the installation of your project. Running the command prints the architecture on which the @@ -279,9 +278,9 @@ example: $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux 3. *Create the Makefile:* For this example, the Makefile contains - two lines that can be used to set the ``CC`` variable. One line is + two lines that can be used to set the :term:`CC` variable. One line is identical to the value that is set when you run the SDK environment - setup script, and the other line sets ``CC`` to "gcc", the default + setup script, and the other line sets :term:`CC` to "gcc", the default GNU compiler on the build host:: # CC=i586-poky-linux-gcc -m32 -march=i586 --sysroot=/opt/poky/2.5/sysroots/i586-poky-linux @@ -298,7 +297,7 @@ example: 4. *Make the Project:* Use the ``make`` command to create the binary output file. Because variables are commented out in the Makefile, the - value used for ``CC`` is the value set when the SDK environment setup + value used for :term:`CC` is the value set when the SDK environment setup file was run:: $ make @@ -307,10 +306,10 @@ example: i586-poky-linux-gcc -m32 -march=i586 --sysroot=/opt/poky/2.5/sysroots/i586-poky-linux main.o module.o -o target_bin From the results of the previous command, you can see that - the compiler used was the compiler established through the ``CC`` + the compiler used was the compiler established through the :term:`CC` variable defined in the setup script. - You can override the ``CC`` environment variable with the same + You can override the :term:`CC` environment variable with the same variable as set from the Makefile by uncommenting the line in the Makefile and running ``make`` again. :: @@ -334,7 +333,7 @@ example: variable as part of the command line. Go into the Makefile and re-insert the comment character so that running ``make`` uses the established SDK compiler. However, when you run ``make``, use a - command-line argument to set ``CC`` to "gcc":: + command-line argument to set :term:`CC` to "gcc":: $ make clean rm -rf *.o diff --git a/poky/documentation/sphinx-static/switchers.js b/poky/documentation/sphinx-static/switchers.js index a32d87236..301c2315a 100644 --- a/poky/documentation/sphinx-static/switchers.js +++ b/poky/documentation/sphinx-static/switchers.js @@ -5,7 +5,7 @@ 'dev': 'dev (3.4)', '3.3.1': '3.3.1', '3.2.4': '3.2.4', - '3.1.7': '3.1.7', + '3.1.8': '3.1.8', '3.0.4': '3.0.4', '2.7.4': '2.7.4', }; diff --git a/poky/documentation/test-manual/index.rst b/poky/documentation/test-manual/index.rst index e2198c4c3..4c590a6aa 100644 --- a/poky/documentation/test-manual/index.rst +++ b/poky/documentation/test-manual/index.rst @@ -13,6 +13,8 @@ Yocto Project Test Environment Manual intro test-process understand-autobuilder + reproducible-builds + yocto-project-compatible history .. include:: /boilerplate.rst diff --git a/poky/documentation/test-manual/reproducible-builds.rst b/poky/documentation/test-manual/reproducible-builds.rst new file mode 100644 index 000000000..e13583c0b --- /dev/null +++ b/poky/documentation/test-manual/reproducible-builds.rst @@ -0,0 +1,135 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +******************* +Reproducible Builds +******************* + +================ +How we define it +================ + +The Yocto Project defines reproducibility as where a given input build +configuration will give the same binary output regardless of when it is built +(now or in 5 years time), regardless of the path on the filesystem the build is +run in, and regardless of the distro and tools on the underlying host system the +build is running on. + +============== +Why it matters +============== + +The project aligns with the `Reproducible Builds project +`_, which shares information about why +reproducibility matters. The primary focus of the project is the ability to +detect security issues being introduced. However, from a Yocto Project +perspective, it is also hugely important that our builds are deterministic. When +you build a given input set of metadata, we expect you to get consistent output. +This has always been a key focus but, :yocto_docs:`since release 3.1 ("dunfell") +`, +it is now true down to the binary level including timestamps. + +For example, at some point in the future life of a product, you find that you +need to rebuild to add a security fix. If this happens, only the components that +have been modified should change at the binary level. This would lead to much +easier and clearer bounds on where validation is needed. + +This also gives an additional benefit to the project builds themselves, our hash +equivalence for :ref:`Shared State ` +object reuse works much more effectively when the binary output remains the +same. + +.. note:: + + We strongly advise you to make sure your project builds reproducibly + before finalizing your production images. It would be too late if you + only address this issue when the first updates are required. + +=================== +How we implement it +=================== + +There are many different aspects to build reproducibility, but some particular +things we do within the build system to ensure reproducibility include: + +- Adding mappings to the compiler options to ensure debug filepaths are mapped + to consistent target compatible paths. This is done through the + ``DEBUG_PREFIX_MAP`` variable which sets the ``-fmacro-prefix-map`` and + ``-fdebug-prefix-map`` compiler options correctly to map to target paths. +- Being explicit about recipe dependencies and their configuration (no floating + configure options or host dependencies creeping in). In particular this means + making sure :term:`PACKAGECONFIG` coverage covers configure options which may + otherwise try and auto-detect host dependencies. +- Using recipe specific sysroots to isolate recipes so they only see their + dependencies. These are visible as ``recipe-sysroot`` and + ``recipe-sysroot-native`` directories within the :term:`WORKDIR` of a given + recipe and are populated only with the dependencies a recipe has. +- Build images from a reduced package set: only packages from recipes the image + depends upon. +- Filtering the tools available from the host's ``PATH`` to only a specific set + of tools, set using the :term:`HOSTTOOLS` variable. + +========================================= +Can we prove the project is reproducible? +========================================= + +Yes, we can prove it and we regularly test this on the Autobuilder. At the +time of writing (release 3.3, "hardknott"), :term:`OpenEmbedded-Core (OE-Core)` +is 100% reproducible for all its recipes (i.e. world builds) apart from the Go +language and Ruby documentation packages. Unfortunately, the current +implementation of the Go language has fundamental reproducibility problems as +it always depends upon the paths it is built in. + +.. note:: + + Only BitBake and :term:`OpenEmbedded-Core (OE-Core)`, which is the ``meta`` + layer in Poky, guarantee complete reproducibility. The moment you add + another layer, this warranty is voided, because of additional configuration + files, ``bbappend`` files, overridden classes, etc. + +To run our automated selftest, as we use in our CI on the Autobuilder, you can +run:: + + oe-selftest -r reproducible.ReproducibleTests.test_reproducible_builds + +This defaults to including a ``world`` build so, if other layers are added, it would +also run the tests for recipes in the additional layers. The first build will be +run using :ref:`Shared State ` if +available, the second build explicitly disables +:ref:`Shared State ` and builds on the +specific host the build is running on. This means we can test reproducibility +builds between different host distributions over time on the Autobuilder. + +If ``OEQA_DEBUGGING_SAVED_OUTPUT`` is set, any differing packages will be saved +here. The test is also able to run the ``diffoscope`` command on the output to +generate HTML files showing the differences between the packages, to aid +debugging. On the Autobuilder, these appear under +https://autobuilder.yocto.io/pub/repro-fail/ in the form ``oe-reproducible + + + ``, e.g. ``oe-reproducible-20200202-1lm8o1th``. + +The project's current reproducibility status can be seen at +:yocto_home:`/reproducible-build-results/` + +You can also check the reproducibility status on supported host distributions: + +- CentOS: :yocto_ab:`/typhoon/#/builders/reproducible-centos` +- Debian: :yocto_ab:`/typhoon/#/builders/reproducible-debian` +- Fedora: :yocto_ab:`/typhoon/#/builders/reproducible-fedora` +- Ubuntu: :yocto_ab:`/typhoon/#/builders/reproducible-ubuntu` + +=============================== +Can I test my layer or recipes? +=============================== + +Once again, you can run a ``world`` test using the +:ref:`oe-selftest ` +command provided above. This functionality is implemented +in :oe_git:`meta/lib/oeqa/selftest/cases/reproducible.py +`. + +You could subclass the test and change ``targets`` to a different target. + +You may also change ``sstate_targets`` which would allow you to "pre-cache" some +set of recipes before the test, meaning they are excluded from reproducibility +testing. As a practical example, you could set ``sstate_targets`` to +``core-image-sato``, then setting ``targets`` to ``core-image-sato-sdk`` would +run reproducibility tests only on the targets belonging only to ``core-image-sato-sdk``. diff --git a/poky/documentation/test-manual/yocto-project-compatible.rst b/poky/documentation/test-manual/yocto-project-compatible.rst new file mode 100644 index 000000000..a7897469f --- /dev/null +++ b/poky/documentation/test-manual/yocto-project-compatible.rst @@ -0,0 +1,124 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +************************ +Yocto Project Compatible +************************ + +============ +Introduction +============ + +After the introduction of layers to OpenEmbedded, it quickly became clear +that while some layers were popular and worked well, others developed a +reputation for being "problematic". Those were layers which didn't +interoperate well with others and tended to assume they controlled all +the aspects of the final output. This usually isn't intentional but happens +because such layers are often created by developers with a particular focus +(e.g. a company's :term:`BSP`) whilst the end +users have a different one (e.g. integrating that +:term:`BSP` into a product). + +As a result of noticing such patterns and friction between layers, the project +developed the "Yocto Project Compatible" badge program, allowing layers +following the best known practises to be marked as being widely compatible +with other ones. This takes the form of a set of "yes/no" binary answer +questions where layers can declare if they meet the appropriate criteria. +In the second version of the program, a script was added to make validation +easier and clearer, the script is called ``yocto-check-layer`` and is +available in :term:`OpenEmbedded-Core (OE-Core)`. + +See :ref:`dev-manual/common-tasks:making sure your layer is compatible with yocto project` +for details. + +======== +Benefits +======== + +:ref:`overview-manual/yp-intro:the yocto project layer model` is powerful +and flexible: it gives users the ultimate power to change pretty much any +aspect of the system but as with most things, power comes with responsibility. +The Yocto Project would like to see people able to mix and match BSPs with +distro configs or software stacks and be able to merge succesfully. +Over time, the project identified characteristics in layers that allow them +to operate well together. "anti-patterns" were also found, preventing layers +from working well together. + +The intent of the compatibility program is simple: if the layer passes the +compatibility tests, it is considered "well behaved" and should operate +and cooperate well with other compatible layers. + +The benefits of compatibility can be seen from multiple different user and +member perspectives. From a hardware perspective +(a :ref:`overview-manual/concepts:bsp layer`), compatibility means the +hardware can be used in many different products and use cases without +impacting the software stacks being run with it. For a company developing +a product, compatibility gives you a specification / standard you can +require in a contract and then know it will have certain desired +characteristics for interoperability. It also puts constraints on how invasive +the code bases are into the rest of the system, meaning that multiple +different separate hardware support layers can coexist (e.g. for multiple +product lines from different hardware manufacturers). This can also make it +easier for one or more parties to upgrade those system components for security +purposes during the lifecycle of a product. + +================== +Validating a layer +================== + +The badges are available to members of the Yocto Project (as member benefit) +and to open source projects run on a non-commercial basis. However, anyone can +answer the questions and run the script. + +The project encourages all layer maintainers to review the questions and the +output from the script against their layer, as the way some layers are +constructed often has unintended consequences. The questions and the script +are designed to highlight known issues which are often easy to solve. This +makes layers easier to use and therefore more popular. + +It is intended that over time, the tests will evolve as new best known +practices are identified, and as new interoperability issues are found, +unnecessarily restricting layer interoperability. If anyone becomes aware of +either type, please let the project know through the +:yocto_home:`technical calls `, +the :yocto_home:`mailing lists ` +or through the :oe_wiki:`Technical Steering Committee (TSC) `. +The TSC is responsible for the technical criteria used by the program. + +Layers are divided into three types: + +- :ref:`"BSP" or "hardware support"` + layers contain support for particular pieces of hardware. This includes + kernel and boot loader configuration, and any recipes for firmware or + kernel modules needed for the hardware. Such layers usually correspond + to a :term:`MACHINE` setting. + +- :ref:`"distro" layers` defined + as layers providing configuration options and settings such as the + choice of init system, compiler and optimisation options, and + configuration and choices of software components. This would usually + correspond to a :term:`DISTRO` setting. + +- "software" layers are usually recipes. A layer might target a + particular graphical UI or software stack component. + +Here are key best practices the program tries to encourage: + +- A layer should clearly show who maintains it, and who change + submissions and bug reports should be sent to. + +- Where multiple types of functionality are present, the layer should + be internally divided into sublayers to separate these components. + That's because some users may only need one of them and separability + is a key best practice. + +- Adding a layer to a build should not modify that build, unless the + user changes a configuration setting to activate the layer, by selecting + a :term:`MACHINE`, a :term:`DISTRO` or a :term:`DISTRO_FEATURES` setting. + +The project does test the compatibility status of the core project layers on +its :doc:`Autobuilder `. + +The official form to submit compatibility requests with is at +:yocto_home:`/ecosystem/branding/compatible-registration/`. +Applicants can display the badge they get when their application is successful. + diff --git a/poky/documentation/toaster-manual/setup-and-use.rst b/poky/documentation/toaster-manual/setup-and-use.rst index 8f0ec9449..4f71b5841 100644 --- a/poky/documentation/toaster-manual/setup-and-use.rst +++ b/poky/documentation/toaster-manual/setup-and-use.rst @@ -625,7 +625,7 @@ To specify ``bash`` 3.2.48 as the version to build, enter :scale: 75% After clicking the "Add variable" button, the settings for -``PREFERRED_VERSION`` are added to the bottom of the BitBake variables +:term:`PREFERRED_VERSION` are added to the bottom of the BitBake variables list. With these settings, the OpenEmbedded build system builds the desired version of the recipe rather than the default version: diff --git a/poky/documentation/transitioning-to-a-custom-environment.rst b/poky/documentation/transitioning-to-a-custom-environment.rst index abbd74ca1..f0035bd3a 100644 --- a/poky/documentation/transitioning-to-a-custom-environment.rst +++ b/poky/documentation/transitioning-to-a-custom-environment.rst @@ -47,7 +47,7 @@ Transitioning to a custom environment for systems development #. **Based on the layers you've chosen, make needed changes in your configuration**. For instance, you've chosen a machine type and added in the corresponding BSP - layer. You'll then need to change the value of the ``MACHINE`` variable in your + layer. You'll then need to change the value of the :term:`MACHINE` variable in your configuration file (build/local.conf) to point to that same machine type. There could be other layer-specific settings you need to change as well. Each layer has a ``README`` document that you can look at for this type of diff --git a/poky/meta-poky/README.poky b/poky/meta-poky/README.poky deleted file mode 100644 index 2ba3b5c03..000000000 --- a/poky/meta-poky/README.poky +++ /dev/null @@ -1,71 +0,0 @@ -Poky -==== - -Poky is an integration of various components to form a complete prepackaged -build system and development environment. It features support for building -customised embedded device style images. There are reference demo images -featuring a X11/Matchbox/GTK themed UI called Sato. The system supports -cross-architecture application development using QEMU emulation and a -standalone toolchain and SDK with IDE integration. - -Additional information on the specifics of hardware that Poky supports -is available in README.hardware. Further hardware support can easily be added -in the form of layers which extend the systems capabilities in a modular way. - -As an integration layer Poky consists of several upstream projects such as -BitBake, OpenEmbedded-Core, Yocto documentation and various sources of information -e.g. for the hardware support. Poky is in turn a component of the Yocto Project. - -The Yocto Project has extensive documentation about the system including a -reference manual which can be found at: - http://yoctoproject.org/documentation - -OpenEmbedded-Core is a layer containing the core metadata for current versions -of OpenEmbedded. It is distro-less (can build a functional image with -DISTRO = "nodistro") and contains only emulated machine support. - -For information about OpenEmbedded, see the OpenEmbedded website: - http://www.openembedded.org/ - - -Contribution Guidelines -======================= - -A guide to submitting patches to OpenEmbedded is available at: - -http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded - -There is good documentation on how to write/format patches at: - -https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines - - -Where to Send Patches -===================== - -As Poky is an integration repository (built using a tool called combo-layer), -patches against the various components should be sent to their respective -upstreams: - -bitbake: - Git repository: http://git.openembedded.org/bitbake/ - Mailing list: bitbake-devel@lists.openembedded.org - -documentation: - Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/ - Mailing list: docs@lists.yoctoproject.org - -meta-poky, meta-yocto-bsp: - Git repository: http://git.yoctoproject.org/cgit/cgit.cgi/meta-yocto(-bsp) - Mailing list: poky@lists.yoctoproject.org - -Everything else should be sent to the OpenEmbedded Core mailing list. If in -doubt, check the oe-core git repository for the content you intend to modify. -Before sending, be sure the patches apply cleanly to the current oe-core git -repository. - - Git repository: http://git.openembedded.org/openembedded-core/ - Mailing list: openembedded-core@lists.openembedded.org - -Note: The scripts directory should be treated with extra care as it is a mix of -oe-core and poky-specific files from meta-poky. diff --git a/poky/meta-poky/README.poky.md b/poky/meta-poky/README.poky.md new file mode 100644 index 000000000..289373f94 --- /dev/null +++ b/poky/meta-poky/README.poky.md @@ -0,0 +1,84 @@ +Poky +==== + +Poky is an integration of various components to form a pre-packaged +build system and development environment which is used as a development and +validation tool by the [Yocto Project](http://www.yoctoproject.org/). It +features support for building customised embedded style device images +and custom containers. There are reference demo images ranging from X11/GTK+ + to Weston, commandline and more. The system supports cross-architecture +application development using QEMU emulation and a standalone toolchain and +SDK suitable for IDE integration. + +Additional information on the specifics of hardware that Poky supports +is available in README.hardware. Further hardware support can easily be added +in the form of BSP layers which extend the systems capabilities in a modular way. +Many layers are available and can be found through the +[layer index](https://layers.openembedded.org/). + +As an integration layer Poky consists of several upstream projects such as +[BitBake](https://git.openembedded.org/bitbake/), +[OpenEmbedded-Core](https://git.openembedded.org/openembedded-core/), +[Yocto documentation](http://git.yoctoproject.org/cgit.cgi/yocto-docs/), +the '[meta-yocto](http://git.yoctoproject.org/cgit.cgi/meta-yocto/)' layer +which has configuration and hardware support components. These components +are all part of the Yocto Project and OpenEmbedded ecosystems. + +The Yocto Project has extensive documentation about the system including a +reference manual which can be found at + +OpenEmbedded is the build architecture used by Poky and the Yocto project. +For information about OpenEmbedded, see the +[OpenEmbedded website](http://www.openembedded.org/). + +Contribution Guidelines +----------------------- + +The project works using a mailing list patch submission process. Patches +should be sent to the mailing list for the repository the components +originate from (see below). Throughout the Yocto Project, the README +files in the component in question should detail where to send patches, +who the maintainers are and where bugs should be reported. + +A guide to submitting patches to OpenEmbedded is available at: + + + +There is good documentation on how to write/format patches at: + + + +Where to Send Patches +--------------------- + +As Poky is an integration repository (built using a tool called combo-layer), +patches against the various components should be sent to their respective +upstreams: + +OpenEmbedded-Core (files in meta/, meta-selftest/, meta-skeleton/, scripts/): + +- Git repository: +- Mailing list: openembedded-core@lists.openembedded.org + +BitBake (files in bitbake/): + +- Git repository: +- Mailing list: bitbake-devel@lists.openembedded.org + +Documentation (files in documentation/): + +- Git repository: +- Mailing list: docs@lists.yoctoproject.org + +meta-yocto (files in meta-poky/, meta-yocto-bsp/): + +- Git repository: +- Mailing list: poky@lists.yoctoproject.org + +If in doubt, check the openembedded-core git repository for the content you +intend to modify as most files are from there unless clearly one of the above +categories. Before sending, be sure the patches apply cleanly to the current +git repository branch in question. + +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/765/badge)](https://bestpractices.coreinfrastructure.org/projects/765) + diff --git a/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc b/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc index 1fc504592..4812959fb 100644 --- a/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc +++ b/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc @@ -26,8 +26,6 @@ SRCREV_pn-sato-icon-theme ?= "${AUTOREV}" SRCREV_pn-matchbox-desktop-sato ?= "${AUTOREV}" SRCREV_pn-oh-puzzles ?= "${AUTOREV}" SRCREV_pn-libowl ?= "${AUTOREV}" -SRCREV_pn-clutter ?= "${AUTOREV}" -SRCREV_pn-clutter-gst ?= "${AUTOREV}" SRCREV_pn-libmatchbox ?= "${AUTOREV}" SRCREV_pn-ofono ?= "${AUTOREV}" diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf index e4ff9752e..8545341d8 100644 --- a/poky/meta-poky/conf/distro/poky-tiny.conf +++ b/poky/meta-poky/conf/distro/poky-tiny.conf @@ -115,7 +115,6 @@ RDEPENDS_${PN}-mtrace_pn-eglibc = "" PNBLACKLIST[build-appliance-image] = "not buildable with poky-tiny" PNBLACKLIST[core-image-base] = "not buildable with poky-tiny" -PNBLACKLIST[core-image-clutter] = "not buildable with poky-tiny" PNBLACKLIST[core-image-full-cmdline] = "not buildable with poky-tiny" PNBLACKLIST[core-image-rt] = "not buildable with poky-tiny" PNBLACKLIST[core-image-rt-sdk] = "not buildable with poky-tiny" diff --git a/poky/meta-yocto-bsp/README.hardware b/poky/meta-yocto-bsp/README.hardware deleted file mode 100644 index 9803af006..000000000 --- a/poky/meta-yocto-bsp/README.hardware +++ /dev/null @@ -1,265 +0,0 @@ - Yocto Project Hardware Reference BSPs README - ============================================ - -This file gives details about using the Yocto Project hardware reference BSPs. -The machines supported can be seen in the conf/machine/ directory and are listed -below. There is one per supported hardware architecture and these are primarily -used to validate that the Yocto Project works on the hardware arctectures of -those machines. - -If you are in doubt about using Poky/OpenEmbedded/Yocto Project with your hardware, -consult the documentation for your board/device. - -Support for additional devices is normally added by adding BSP layers to your -configuration. For more information please see the Yocto Board Support Package -(BSP) Developer's Guide - documentation source is in documentation/bspguide or -download the PDF from: - - http://yoctoproject.org/documentation - -Note that these reference BSPs use the linux-yocto kernel and in general don't -pull in binary module support for the platforms. This means some device functionality -may be limited compared to a 'full' BSP which may be available. - - -Hardware Reference Boards -========================= - -The following boards are supported by the meta-yocto-bsp layer: - - * Texas Instruments Beaglebone (beaglebone-yocto) - * Ubiquiti Networks EdgeRouter Lite (edgerouter) - * General IA platforms (genericx86 and genericx86-64) - -For more information see the board's section below. The appropriate MACHINE -variable value corresponding to the board is given in brackets. - -Reference Board Maintenance -=========================== - -Send pull requests, patches, comments or questions about meta-yocto-bsps to poky@yoctoproject.org - -Maintainers: Kevin Hao - Bruce Ashfield - -Consumer Devices -================ - -The following consumer devices are supported by the meta-yocto-bsp layer: - - * Intel x86 based PCs and devices (genericx86) - * Ubiquiti Networks EdgeRouter Lite (edgerouter) - -For more information see the device's section below. The appropriate MACHINE -variable value corresponding to the device is given in brackets. - - - - Specific Hardware Documentation - =============================== - - -Intel x86 based PCs and devices (genericx86*) -============================================= - -The genericx86 and genericx86-64 MACHINE are tested on the following platforms: - -Intel Xeon/Core i-Series: - + Intel NUC5 Series - ix-52xx Series SOC (Broadwell) - + Intel NUC6 Series - ix-62xx Series SOC (Skylake) - + Intel Shumway Xeon Server - -Intel Atom platforms: - + MinnowBoard MAX - E3825 SOC (Bay Trail) - + MinnowBoard MAX - Turbot (ADI Engineering) - E3826 SOC (Bay Trail) - - These boards can be either 32bot or 64bit modes depending on firmware - - See minnowboard.org for details - + Intel Braswell SOC - -and is likely to work on many unlisted Atom/Core/Xeon based devices. The MACHINE -type supports ethernet, wifi, sound, and Intel/vesa graphics by default in -addition to common PC input devices, busses, and so on. - -Depending on the device, it can boot from a traditional hard-disk, a USB device, -or over the network. Writing generated images to physical media is -straightforward with a caveat for USB devices. The following examples assume the -target boot device is /dev/sdb, be sure to verify this and use the correct -device as the following commands are run as root and are not reversable. - -USB Device: - 1. Build a live image. This image type consists of a simple filesystem - without a partition table, which is suitable for USB keys, and with the - default setup for the genericx86 machine, this image type is built - automatically for any image you build. For example: - - $ bitbake core-image-minimal - - 2. Use the "dd" utility to write the image to the raw block device. For - example: - - # dd if=core-image-minimal-genericx86.hddimg of=/dev/sdb - - If the device fails to boot with "Boot error" displayed, or apparently - stops just after the SYSLINUX version banner, it is likely the BIOS cannot - understand the physical layout of the disk (or rather it expects a - particular layout and cannot handle anything else). There are two possible - solutions to this problem: - - 1. Change the BIOS USB Device setting to HDD mode. The label will vary by - device, but the idea is to force BIOS to read the Cylinder/Head/Sector - geometry from the device. - - 2. Use a ".wic" image with an EFI partition - - a) With a default grub-efi bootloader: - # dd if=core-image-minimal-genericx86-64.wic of=/dev/sdb - - b) Use systemd-boot instead - - Build an image with EFI_PROVIDER="systemd-boot" then use the above - dd command to write the image to a USB stick. - - -Texas Instruments Beaglebone (beaglebone-yocto) -=============================================== - -The Beaglebone is an ARM Cortex-A8 development board with USB, Ethernet, 2D/3D -accelerated graphics, audio, serial, JTAG, and SD/MMC. The Black adds a faster -CPU, more RAM, eMMC flash and a micro HDMI port. The beaglebone MACHINE is -tested on the following platforms: - - o Beaglebone Black A6 - o Beaglebone A6 (the original "White" model) - -The Beaglebone Black has eMMC, while the White does not. Pressing the USER/BOOT -button when powering on will temporarily change the boot order. But for the sake -of simplicity, these instructions assume you have erased the eMMC on the Black, -so its boot behavior matches that of the White and boots off of SD card. To do -this, issue the following commands from the u-boot prompt: - - # mmc dev 1 - # mmc erase 0 512 - -To further tailor these instructions for your board, please refer to the -documentation at http://www.beagleboard.org/bone and http://www.beagleboard.org/black - -From a Linux system with access to the image files perform the following steps: - - 1. Build an image. For example: - - $ bitbake core-image-minimal - - 2. Use the "dd" utility to write the image to the SD card. For example: - - # dd if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb - - 3. Insert the SD card into the Beaglebone and boot the board. - -Ubiquiti Networks EdgeRouter Lite (edgerouter) -============================================== - -The EdgeRouter Lite is part of the EdgeMax series. It is a MIPS64 router -(based on the Cavium Octeon processor) with 512MB of RAM, which uses an -internal USB pendrive for storage. - -Setup instructions ------------------- - -You will need the following: -* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE - port on the device -* Ethernet connected to the first ethernet port on the board - -If using NFS as part of the setup process, you will also need: -* NFS root setup on your workstation -* TFTP server installed on your workstation (if fetching the kernel from - TFTP, see below). - ---- Preparation --- - -Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE. -In the following instruction it is based on core-image-minimal. Another target -may be similiar with it. - ---- Booting from NFS root / kernel via TFTP --- - -Load the kernel, and boot the system as follows: - - 1. Get the kernel (vmlinux) file from the tmp/deploy/images/edgerouter - directory, and make them available on your TFTP server. - - 2. Connect the board's first serial port to your workstation and then start up - your favourite serial terminal so that you will be able to interact with - the serial console. If you don't have a favourite, picocom is suggested: - - $ picocom /dev/ttyS0 -b 115200 - - 3. Power up or reset the board and press a key on the terminal when prompted - to get to the U-Boot command line - - 4. Set up the environment in U-Boot: - - => setenv ipaddr - => setenv serverip - - 5. Download the kernel and boot: - - => tftp tftp $loadaddr vmlinux - => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=: ip=::::edgerouter:eth0:off mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom) - ---- Booting from USB disk --- - -To boot from the USB disk, you either need to remove it from the edgerouter -box and populate it from another computer, or use a previously booted NFS -image and populate from the edgerouter itself. - -Type 1: Use partitioned image ------------------------------ - -Steps: - - 1. Remove the USB disk from the edgerouter and insert it into a computer - that has access to your build artifacts. - - 2. Flash the image. - - # dd if=core-image-minimal-edgerouter.wic of=/dev/sdb - - 3. Insert USB disk into the edgerouter and boot it. - -Type 2: NFS ------------ - -Note: If you place the kernel on the ext3 partition, you must re-create the - ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and - cannot read the partition otherwise. - - These boot instructions assume that you have recreated the ext3 filesystem with - 128 byte inodes, you have an updated uboot or you are running and image capable - of making the filesystem on the board itself. - - - 1. Boot from NFS root - - 2. Mount the USB disk partition 2 and then extract the contents of - tmp/deploy/core-image-XXXX.tar.bz2 into it. - - Before starting, copy core-image-minimal-xxx.tar.bz2 and vmlinux into - rootfs path on your workstation. - - and then, - - # mount /dev/sda2 /media/sda2 - # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2 - # cp vmlinux /media/sda2/boot/vmlinux - # umount /media/sda2 - # reboot - - 3. Reboot the board and press a key on the terminal when prompted to get to the U-Boot - command line: - - # reboot - - 4. Load the kernel and boot: - - => ext2load usb 0:2 $loadaddr boot/vmlinux - => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom) diff --git a/poky/meta-yocto-bsp/README.hardware.md b/poky/meta-yocto-bsp/README.hardware.md new file mode 100644 index 000000000..9803af006 --- /dev/null +++ b/poky/meta-yocto-bsp/README.hardware.md @@ -0,0 +1,265 @@ + Yocto Project Hardware Reference BSPs README + ============================================ + +This file gives details about using the Yocto Project hardware reference BSPs. +The machines supported can be seen in the conf/machine/ directory and are listed +below. There is one per supported hardware architecture and these are primarily +used to validate that the Yocto Project works on the hardware arctectures of +those machines. + +If you are in doubt about using Poky/OpenEmbedded/Yocto Project with your hardware, +consult the documentation for your board/device. + +Support for additional devices is normally added by adding BSP layers to your +configuration. For more information please see the Yocto Board Support Package +(BSP) Developer's Guide - documentation source is in documentation/bspguide or +download the PDF from: + + http://yoctoproject.org/documentation + +Note that these reference BSPs use the linux-yocto kernel and in general don't +pull in binary module support for the platforms. This means some device functionality +may be limited compared to a 'full' BSP which may be available. + + +Hardware Reference Boards +========================= + +The following boards are supported by the meta-yocto-bsp layer: + + * Texas Instruments Beaglebone (beaglebone-yocto) + * Ubiquiti Networks EdgeRouter Lite (edgerouter) + * General IA platforms (genericx86 and genericx86-64) + +For more information see the board's section below. The appropriate MACHINE +variable value corresponding to the board is given in brackets. + +Reference Board Maintenance +=========================== + +Send pull requests, patches, comments or questions about meta-yocto-bsps to poky@yoctoproject.org + +Maintainers: Kevin Hao + Bruce Ashfield + +Consumer Devices +================ + +The following consumer devices are supported by the meta-yocto-bsp layer: + + * Intel x86 based PCs and devices (genericx86) + * Ubiquiti Networks EdgeRouter Lite (edgerouter) + +For more information see the device's section below. The appropriate MACHINE +variable value corresponding to the device is given in brackets. + + + + Specific Hardware Documentation + =============================== + + +Intel x86 based PCs and devices (genericx86*) +============================================= + +The genericx86 and genericx86-64 MACHINE are tested on the following platforms: + +Intel Xeon/Core i-Series: + + Intel NUC5 Series - ix-52xx Series SOC (Broadwell) + + Intel NUC6 Series - ix-62xx Series SOC (Skylake) + + Intel Shumway Xeon Server + +Intel Atom platforms: + + MinnowBoard MAX - E3825 SOC (Bay Trail) + + MinnowBoard MAX - Turbot (ADI Engineering) - E3826 SOC (Bay Trail) + - These boards can be either 32bot or 64bit modes depending on firmware + - See minnowboard.org for details + + Intel Braswell SOC + +and is likely to work on many unlisted Atom/Core/Xeon based devices. The MACHINE +type supports ethernet, wifi, sound, and Intel/vesa graphics by default in +addition to common PC input devices, busses, and so on. + +Depending on the device, it can boot from a traditional hard-disk, a USB device, +or over the network. Writing generated images to physical media is +straightforward with a caveat for USB devices. The following examples assume the +target boot device is /dev/sdb, be sure to verify this and use the correct +device as the following commands are run as root and are not reversable. + +USB Device: + 1. Build a live image. This image type consists of a simple filesystem + without a partition table, which is suitable for USB keys, and with the + default setup for the genericx86 machine, this image type is built + automatically for any image you build. For example: + + $ bitbake core-image-minimal + + 2. Use the "dd" utility to write the image to the raw block device. For + example: + + # dd if=core-image-minimal-genericx86.hddimg of=/dev/sdb + + If the device fails to boot with "Boot error" displayed, or apparently + stops just after the SYSLINUX version banner, it is likely the BIOS cannot + understand the physical layout of the disk (or rather it expects a + particular layout and cannot handle anything else). There are two possible + solutions to this problem: + + 1. Change the BIOS USB Device setting to HDD mode. The label will vary by + device, but the idea is to force BIOS to read the Cylinder/Head/Sector + geometry from the device. + + 2. Use a ".wic" image with an EFI partition + + a) With a default grub-efi bootloader: + # dd if=core-image-minimal-genericx86-64.wic of=/dev/sdb + + b) Use systemd-boot instead + - Build an image with EFI_PROVIDER="systemd-boot" then use the above + dd command to write the image to a USB stick. + + +Texas Instruments Beaglebone (beaglebone-yocto) +=============================================== + +The Beaglebone is an ARM Cortex-A8 development board with USB, Ethernet, 2D/3D +accelerated graphics, audio, serial, JTAG, and SD/MMC. The Black adds a faster +CPU, more RAM, eMMC flash and a micro HDMI port. The beaglebone MACHINE is +tested on the following platforms: + + o Beaglebone Black A6 + o Beaglebone A6 (the original "White" model) + +The Beaglebone Black has eMMC, while the White does not. Pressing the USER/BOOT +button when powering on will temporarily change the boot order. But for the sake +of simplicity, these instructions assume you have erased the eMMC on the Black, +so its boot behavior matches that of the White and boots off of SD card. To do +this, issue the following commands from the u-boot prompt: + + # mmc dev 1 + # mmc erase 0 512 + +To further tailor these instructions for your board, please refer to the +documentation at http://www.beagleboard.org/bone and http://www.beagleboard.org/black + +From a Linux system with access to the image files perform the following steps: + + 1. Build an image. For example: + + $ bitbake core-image-minimal + + 2. Use the "dd" utility to write the image to the SD card. For example: + + # dd if=core-image-minimal-beaglebone-yocto.wic of=/dev/sdb + + 3. Insert the SD card into the Beaglebone and boot the board. + +Ubiquiti Networks EdgeRouter Lite (edgerouter) +============================================== + +The EdgeRouter Lite is part of the EdgeMax series. It is a MIPS64 router +(based on the Cavium Octeon processor) with 512MB of RAM, which uses an +internal USB pendrive for storage. + +Setup instructions +------------------ + +You will need the following: +* RJ45 -> serial ("rollover") cable connected from your PC to the CONSOLE + port on the device +* Ethernet connected to the first ethernet port on the board + +If using NFS as part of the setup process, you will also need: +* NFS root setup on your workstation +* TFTP server installed on your workstation (if fetching the kernel from + TFTP, see below). + +--- Preparation --- + +Build an image (e.g. core-image-minimal) using "edgerouter" as the MACHINE. +In the following instruction it is based on core-image-minimal. Another target +may be similiar with it. + +--- Booting from NFS root / kernel via TFTP --- + +Load the kernel, and boot the system as follows: + + 1. Get the kernel (vmlinux) file from the tmp/deploy/images/edgerouter + directory, and make them available on your TFTP server. + + 2. Connect the board's first serial port to your workstation and then start up + your favourite serial terminal so that you will be able to interact with + the serial console. If you don't have a favourite, picocom is suggested: + + $ picocom /dev/ttyS0 -b 115200 + + 3. Power up or reset the board and press a key on the terminal when prompted + to get to the U-Boot command line + + 4. Set up the environment in U-Boot: + + => setenv ipaddr + => setenv serverip + + 5. Download the kernel and boot: + + => tftp tftp $loadaddr vmlinux + => bootoctlinux $loadaddr coremask=0x3 root=/dev/nfs rw nfsroot=: ip=::::edgerouter:eth0:off mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom) + +--- Booting from USB disk --- + +To boot from the USB disk, you either need to remove it from the edgerouter +box and populate it from another computer, or use a previously booted NFS +image and populate from the edgerouter itself. + +Type 1: Use partitioned image +----------------------------- + +Steps: + + 1. Remove the USB disk from the edgerouter and insert it into a computer + that has access to your build artifacts. + + 2. Flash the image. + + # dd if=core-image-minimal-edgerouter.wic of=/dev/sdb + + 3. Insert USB disk into the edgerouter and boot it. + +Type 2: NFS +----------- + +Note: If you place the kernel on the ext3 partition, you must re-create the + ext3 filesystem, since the factory u-boot can only handle 128 byte inodes and + cannot read the partition otherwise. + + These boot instructions assume that you have recreated the ext3 filesystem with + 128 byte inodes, you have an updated uboot or you are running and image capable + of making the filesystem on the board itself. + + + 1. Boot from NFS root + + 2. Mount the USB disk partition 2 and then extract the contents of + tmp/deploy/core-image-XXXX.tar.bz2 into it. + + Before starting, copy core-image-minimal-xxx.tar.bz2 and vmlinux into + rootfs path on your workstation. + + and then, + + # mount /dev/sda2 /media/sda2 + # tar -xvjpf core-image-minimal-XXX.tar.bz2 -C /media/sda2 + # cp vmlinux /media/sda2/boot/vmlinux + # umount /media/sda2 + # reboot + + 3. Reboot the board and press a key on the terminal when prompted to get to the U-Boot + command line: + + # reboot + + 4. Load the kernel and boot: + + => ext2load usb 0:2 $loadaddr boot/vmlinux + => bootoctlinux $loadaddr coremask=0x3 root=/dev/sda2 rw rootwait mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@3072k(eeprom) diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend index bc2b3bf57..f8362b663 100644 --- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend +++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend @@ -7,17 +7,17 @@ KMACHINE_genericx86 ?= "common-pc" KMACHINE_genericx86-64 ?= "common-pc-64" KMACHINE_beaglebone-yocto ?= "beaglebone" -SRCREV_machine_genericx86 ?= "8c516ced69f41563404ada0bea315a55bcf1df6f" -SRCREV_machine_genericx86-64 ?= "8c516ced69f41563404ada0bea315a55bcf1df6f" -SRCREV_machine_edgerouter ?= "965ab3ab746ae8a1158617b6302d9c218ffbbb66" -SRCREV_machine_beaglebone-yocto ?= "8c516ced69f41563404ada0bea315a55bcf1df6f" +SRCREV_machine_genericx86 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_machine_genericx86-64 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_machine_edgerouter ?= "274d63799465eebfd201b3e8251f16d29e93a978" +SRCREV_machine_beaglebone-yocto ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" COMPATIBLE_MACHINE_genericx86 = "genericx86" COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64" COMPATIBLE_MACHINE_edgerouter = "edgerouter" COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto" -LINUX_VERSION_genericx86 = "5.10.21" -LINUX_VERSION_genericx86-64 = "5.10.21" -LINUX_VERSION_edgerouter = "5.10.21" -LINUX_VERSION_beaglebone-yocto = "5.10.21" +LINUX_VERSION_genericx86 = "5.10.43" +LINUX_VERSION_genericx86-64 = "5.10.43" +LINUX_VERSION_edgerouter = "5.10.43" +LINUX_VERSION_beaglebone-yocto = "5.10.43" diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass index 059de36a5..55b12d789 100644 --- a/poky/meta/classes/buildhistory.bbclass +++ b/poky/meta/classes/buildhistory.bbclass @@ -43,6 +43,7 @@ BUILDHISTORY_COMMIT ?= "1" BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory " BUILDHISTORY_PUSH_REPO ?= "" BUILDHISTORY_TAG ?= "build" +BUILDHISTORY_PATH_PREFIX_STRIP ?= "" SSTATEPOSTINSTFUNCS_append = " buildhistory_emit_pkghistory" # We want to avoid influencing the signatures of sstate tasks - first the function itself: @@ -697,7 +698,7 @@ python buildhistory_write_sigs() { if hasattr(bb.parse.siggen, 'dump_siglist'): taskoutdir = os.path.join(d.getVar('BUILDHISTORY_DIR'), 'task') bb.utils.mkdirhier(taskoutdir) - bb.parse.siggen.dump_siglist(os.path.join(taskoutdir, 'tasksigs.txt')) + bb.parse.siggen.dump_siglist(os.path.join(taskoutdir, 'tasksigs.txt'), d.getVar("BUILDHISTORY_PATH_PREFIX_STRIP")) } def buildhistory_get_build_id(d): diff --git a/poky/meta/classes/clutter.bbclass b/poky/meta/classes/clutter.bbclass deleted file mode 100644 index 24b53a13e..000000000 --- a/poky/meta/classes/clutter.bbclass +++ /dev/null @@ -1,18 +0,0 @@ -def get_minor_dir(v): - import re - m = re.match(r"^([0-9]+)\.([0-9]+)", v) - return "%s.%s" % (m.group(1), m.group(2)) - -def get_real_name(n): - import re - m = re.match(r"^([a-z]+(-[a-z]+)?)(-[0-9]+\.[0-9]+)?", n) - return "%s" % (m.group(1)) - -VERMINOR = "${@get_minor_dir("${PV}")}" -REALNAME = "${@get_real_name("${BPN}")}" - -SRC_URI = "${GNOME_MIRROR}/${REALNAME}/${VERMINOR}/${REALNAME}-${PV}.tar.xz;name=archive" -S = "${WORKDIR}/${REALNAME}-${PV}" - -CLUTTERBASEBUILDCLASS ??= "autotools" -inherit ${CLUTTERBASEBUILDCLASS} pkgconfig gtk-doc gettext diff --git a/poky/meta/classes/cross-canadian.bbclass b/poky/meta/classes/cross-canadian.bbclass index 1e5403508..39b5bb93f 100644 --- a/poky/meta/classes/cross-canadian.bbclass +++ b/poky/meta/classes/cross-canadian.bbclass @@ -155,7 +155,7 @@ libexecdir = "${exec_prefix}/libexec/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS} FILES_${PN} = "${prefix}" -export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${layout_libdir}/pkgconfig" +export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${exec_prefix}/lib/pkgconfig" export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" do_populate_sysroot[stamp-extra-info] = "" diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass index 2a45d45c7..954d6739e 100644 --- a/poky/meta/classes/image_types.bbclass +++ b/poky/meta/classes/image_types.bbclass @@ -278,7 +278,7 @@ IMAGE_TYPES = " \ # CONVERSION_CMD/DEPENDS. COMPRESSIONTYPES ?= "" -CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip zst sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vhd vhdx vdi qcow2 base64 ${COMPRESSIONTYPES}" +CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip zst sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vhd vhdx vdi qcow2 base64 gzsync zsync ${COMPRESSIONTYPES}" CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" CONVERSION_CMD_gz = "gzip -f -9 -n -c --rsyncable ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz" CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" @@ -302,6 +302,8 @@ CONVERSION_CMD_vhd = "qemu-img convert -O vpc -o subformat=fixed ${IMAGE_NAME}${ CONVERSION_CMD_vdi = "qemu-img convert -O vdi ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vdi" CONVERSION_CMD_qcow2 = "qemu-img convert -O qcow2 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qcow2" CONVERSION_CMD_base64 = "base64 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.base64" +CONVERSION_CMD_zsync = "zsyncmake_curl ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" +CONVERSION_CMD_gzsync = "zsyncmake_curl -z ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" CONVERSION_DEPENDS_lzma = "xz-native" CONVERSION_DEPENDS_gz = "pigz-native" CONVERSION_DEPENDS_bz2 = "pbzip2-native" @@ -319,6 +321,8 @@ CONVERSION_DEPENDS_qcow2 = "qemu-system-native" CONVERSION_DEPENDS_base64 = "coreutils-native" CONVERSION_DEPENDS_vhdx = "qemu-system-native" CONVERSION_DEPENDS_vhd = "qemu-system-native" +CONVERSION_DEPENDS_zsync = "zsync-curl-native" +CONVERSION_DEPENDS_gzsync = "zsync-curl-native" RUNNABLE_IMAGE_TYPES ?= "ext2 ext3 ext4" RUNNABLE_MACHINE_PATTERNS ?= "qemu" diff --git a/poky/meta/classes/kernel-yocto.bbclass b/poky/meta/classes/kernel-yocto.bbclass index ba139dd7f..0df61cdef 100644 --- a/poky/meta/classes/kernel-yocto.bbclass +++ b/poky/meta/classes/kernel-yocto.bbclass @@ -631,7 +631,31 @@ do_validate_branches() { # if SRCREV is AUTOREV it shows up as AUTOINC there's nothing to # check and we can exit early if [ "${machine_srcrev}" = "AUTOINC" ]; then + linux_yocto_dev='${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "1", "", d)}' + if [ -n "$linux_yocto_dev" ]; then + git checkout -q -f ${machine_branch} + ver=$(grep "^VERSION =" ${S}/Makefile | sed s/.*=\ *//) + patchlevel=$(grep "^PATCHLEVEL =" ${S}/Makefile | sed s/.*=\ *//) + sublevel=$(grep "^SUBLEVEL =" ${S}/Makefile | sed s/.*=\ *//) + kver="$ver.$patchlevel" + bbnote "dev kernel: performing version -> branch -> SRCREV validation" + bbnote "dev kernel: recipe version ${LINUX_VERSION}, src version: $kver" + echo "${LINUX_VERSION}" | grep -q $kver + if [ $? -ne 0 ]; then + version="$(echo ${LINUX_VERSION} | sed 's/\+.*$//g')" + versioned_branch="v$version/$machine_branch" + + machine_branch=$versioned_branch + force_srcrev="$(git rev-parse $machine_branch 2> /dev/null)" + if [ $? -ne 0 ]; then + bbfatal "kernel version mismatch detected, and no valid branch $machine_branch detected" + fi + + bbnote "dev kernel: adjusting branch to $machine_branch, srcrev to: $force_srcrev" + fi + else bbnote "SRCREV validation is not required for AUTOREV" + fi elif [ "${machine_srcrev}" = "" ]; then if [ "${SRCREV}" != "AUTOINC" ] && [ "${SRCREV}" != "INVALID" ]; then # SRCREV_machine_ was not set. This means that a custom recipe diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass index 8693ab86b..379bed44f 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -714,7 +714,7 @@ do_sizecheck() { at_least_one_fits= for imageType in ${KERNEL_IMAGETYPES} ; do size=`du -ks ${B}/${KERNEL_OUTPUT_DIR}/$imageType | awk '{print $1}'` - if [ $size -ge ${KERNEL_IMAGE_MAXSIZE} ]; then + if [ $size -gt ${KERNEL_IMAGE_MAXSIZE} ]; then bbwarn "This kernel $imageType (size=$size(K) > ${KERNEL_IMAGE_MAXSIZE}(K)) is too big for your device." else at_least_one_fits=y diff --git a/poky/meta/classes/linuxloader.bbclass b/poky/meta/classes/linuxloader.bbclass index 30925ac87..4447c8847 100644 --- a/poky/meta/classes/linuxloader.bbclass +++ b/poky/meta/classes/linuxloader.bbclass @@ -40,6 +40,8 @@ def get_glibc_loader(d): dynamic_loader = "${base_libdir}/ld-linux-mipsn8.so.1" elif targetarch.startswith("mips"): dynamic_loader = "${base_libdir}/ld.so.1" + elif targetarch == "powerpc64le": + dynamic_loader = "${base_libdir}/ld64.so.2" elif targetarch == "powerpc64": dynamic_loader = "${base_libdir}/ld64.so.1" elif targetarch == "x86_64": @@ -52,6 +54,8 @@ def get_glibc_loader(d): dynamic_loader = "${base_libdir}/ld-linux-aarch64${ARMPKGSFX_ENDIAN_64}.so.1" elif targetarch.startswith("riscv64"): dynamic_loader = "${base_libdir}/ld-linux-riscv64-lp64${@['d', ''][d.getVar('TARGET_FPU') == 'soft']}.so.1" + elif targetarch.startswith("riscv32"): + dynamic_loader = "${base_libdir}/ld-linux-riscv32-ilp32${@['d', ''][d.getVar('TARGET_FPU') == 'soft']}.so.1" return dynamic_loader def get_linuxloader(d): diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass index 9f726e453..2ef75c0d1 100644 --- a/poky/meta/classes/multilib.bbclass +++ b/poky/meta/classes/multilib.bbclass @@ -105,7 +105,6 @@ python __anonymous () { d.setVar("LINGUAS_INSTALL", "") # FIXME, we need to map this to something, not delete it! d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "") - bb.build.deltask('do_populate_sdk', d) bb.build.deltask('do_populate_sdk_ext', d) return } diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass index 33ba3fc3c..f8072a9d3 100644 --- a/poky/meta/classes/populate_sdk_base.bbclass +++ b/poky/meta/classes/populate_sdk_base.bbclass @@ -66,7 +66,7 @@ python () { SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" SDK_DEPENDS = "virtual/fakeroot-native ${SDK_ARCHIVE_DEPENDS} cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross" -PATH_prepend = "${STAGING_DIR_HOST}${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:" +PATH_prepend = "${WORKDIR}/recipe-sysroot/${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:" SDK_DEPENDS += "nativesdk-glibc-locale" # We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass index fe840d9cf..517b4e45f 100644 --- a/poky/meta/classes/populate_sdk_ext.bbclass +++ b/poky/meta/classes/populate_sdk_ext.bbclass @@ -397,6 +397,14 @@ python copy_buildsystem () { f.write('require conf/locked-sigs.inc\n') f.write('require conf/unlocked-sigs.inc\n') + # Copy multiple configurations if they exist in the users config directory + if d.getVar('BBMULTICONFIG') is not None: + bb.utils.mkdirhier(os.path.join(baseoutpath, 'conf', 'multiconfig')) + for mc in d.getVar('BBMULTICONFIG').split(): + dest_stub = "/conf/multiconfig/%s.conf" % (mc,) + if os.path.exists(builddir + dest_stub): + shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub) + if os.path.exists(builddir + '/cache/bb_unihashes.dat'): bb.parse.siggen.save_unitaskhashes() bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache')) @@ -556,6 +564,9 @@ python copy_buildsystem () { # sdk_ext_postinst() below) thus the checksum we take here would always # be different. manifest_file_list = ['conf/*'] + if d.getVar('BBMULTICONFIG') is not None: + manifest_file_list.append('conf/multiconfig/*') + esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split() esdk_manifest_excludes_list = [] for exclude_item in esdk_manifest_excludes: @@ -564,7 +575,7 @@ python copy_buildsystem () { with open(manifest_file, 'w') as f: for item in manifest_file_list: for fn in glob.glob(os.path.join(baseoutpath, item)): - if fn == manifest_file: + if fn == manifest_file or os.path.isdir(fn): continue if fn in esdk_manifest_excludes_list: continue diff --git a/poky/meta/classes/reproducible_build.bbclass b/poky/meta/classes/reproducible_build.bbclass index ea643f286..278eeedc7 100644 --- a/poky/meta/classes/reproducible_build.bbclass +++ b/poky/meta/classes/reproducible_build.bbclass @@ -80,17 +80,16 @@ python create_source_date_epoch_stamp() { import oe.reproducible epochfile = d.getVar('SDE_FILE') - # If it exists we need to regenerate as the sources may have changed - if os.path.isfile(epochfile): - bb.debug(1, "Deleting existing SOURCE_DATE_EPOCH from: %s" % epochfile) - os.remove(epochfile) + tmp_file = "%s.new" % epochfile source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S')) bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch) bb.utils.mkdirhier(d.getVar('SDE_DIR')) - with open(epochfile, 'w') as f: + with open(tmp_file, 'w') as f: f.write(str(source_date_epoch)) + + os.rename(tmp_file, epochfile) } def get_source_date_epoch_value(d): @@ -100,7 +99,7 @@ def get_source_date_epoch_value(d): epochfile = d.getVar('SDE_FILE') source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK')) - if os.path.isfile(epochfile): + try: with open(epochfile, 'r') as f: s = f.read() try: @@ -113,7 +112,7 @@ def get_source_date_epoch_value(d): bb.warn("SOURCE_DATE_EPOCH value '%s' is invalid. Reverting to SOURCE_DATE_EPOCH_FALLBACK" % s) source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK')) bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch) - else: + except FileNotFoundError: bb.debug(1, "Cannot find %s. SOURCE_DATE_EPOCH will default to %d" % (epochfile, source_date_epoch)) d.setVar('__CACHED_SOURCE_DATE_EPOCH', str(source_date_epoch)) diff --git a/poky/meta/classes/uboot-config.bbclass b/poky/meta/classes/uboot-config.bbclass index 3bba02828..451db0c65 100644 --- a/poky/meta/classes/uboot-config.bbclass +++ b/poky/meta/classes/uboot-config.bbclass @@ -71,6 +71,10 @@ UBOOT_MKIMAGE_SIGN ?= "${UBOOT_MKIMAGE}" UBOOT_MKIMAGE_SIGN_ARGS ?= "" SPL_MKIMAGE_SIGN_ARGS ?= "" +# Options to deploy the u-boot device tree +UBOOT_DTB ?= "" +UBOOT_DTB_BINARY ??= "" + python () { ubootmachine = d.getVar("UBOOT_MACHINE") ubootconfigflags = d.getVarFlags('UBOOT_CONFIG') diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass index 29b2edc83..9671cf76a 100644 --- a/poky/meta/classes/uboot-sign.bbclass +++ b/poky/meta/classes/uboot-sign.bbclass @@ -196,10 +196,9 @@ concat_spl_dtb() { # signing, and kernel will deploy UBOOT_DTB_BINARY after signs it. install_helper() { if [ -f "${UBOOT_DTB_BINARY}" ]; then - install -d ${D}${datadir} # UBOOT_DTB_BINARY is a symlink to UBOOT_DTB_IMAGE, so we # need both of them. - install ${UBOOT_DTB_BINARY} ${D}${datadir}/${UBOOT_DTB_IMAGE} + install -Dm 0644 ${UBOOT_DTB_BINARY} ${D}${datadir}/${UBOOT_DTB_IMAGE} ln -sf ${UBOOT_DTB_IMAGE} ${D}${datadir}/${UBOOT_DTB_BINARY} else bbwarn "${UBOOT_DTB_BINARY} not found" @@ -209,14 +208,13 @@ install_helper() { # Install SPL dtb and u-boot nodtb to datadir, install_spl_helper() { if [ -f "${SPL_DIR}/${SPL_DTB_BINARY}" ]; then - install -d ${D}${datadir} - install ${SPL_DIR}/${SPL_DTB_BINARY} ${D}${datadir}/${SPL_DTB_IMAGE} + install -Dm 0644 ${SPL_DIR}/${SPL_DTB_BINARY} ${D}${datadir}/${SPL_DTB_IMAGE} ln -sf ${SPL_DTB_IMAGE} ${D}${datadir}/${SPL_DTB_BINARY} else bbwarn "${SPL_DTB_BINARY} not found" fi if [ -f "${UBOOT_NODTB_BINARY}" ] ; then - install ${UBOOT_NODTB_BINARY} ${D}${datadir}/${UBOOT_NODTB_IMAGE} + install -Dm 0644 ${UBOOT_NODTB_BINARY} ${D}${datadir}/${UBOOT_NODTB_IMAGE} ln -sf ${UBOOT_NODTB_IMAGE} ${D}${datadir}/${UBOOT_NODTB_BINARY} else bbwarn "${UBOOT_NODTB_BINARY} not found" diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index f451ba6a4..160abf40e 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -845,8 +845,8 @@ DISTRO_FEATURES_NATIVESDK ?= "x11" # Normally target distro features will not be applied to native builds: # Native distro features on this list will use the target feature value -DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation opengl" -DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation opengl" +DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation debuginfod opengl" +DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation debuginfod opengl" DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit gobject-introspection-data ldconfig" MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode" diff --git a/poky/meta/conf/distro/include/distro_alias.inc b/poky/meta/conf/distro/include/distro_alias.inc index b4dfcfc5f..001d26934 100644 --- a/poky/meta/conf/distro/include/distro_alias.inc +++ b/poky/meta/conf/distro/include/distro_alias.inc @@ -26,21 +26,11 @@ DISTRO_PN_ALIAS_pn-builder = "OE-Core" DISTRO_PN_ALIAS_pn-buildtools-tarball = "OE-Core" DISTRO_PN_ALIAS_pn-cdrtools = "OpenSUSE=cdrtools OSPDT" DISTRO_PN_ALIAS_pn-chkconfig-alternatives = "Mandriva=chkconfig Debian=chkconfig" -DISTRO_PN_ALIAS_pn-clutter = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter" -DISTRO_PN_ALIAS_pn-clutter-1.8 = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter" -DISTRO_PN_ALIAS_pn-clutter-gst-1.0 = "Debian=clutter-gst Ubuntu=clutter-gst Fedora=clutter-gst" -DISTRO_PN_ALIAS_pn-clutter-gst-1.8 = "Fedora=clutter-gst Debian=libclutter-gst" -DISTRO_PN_ALIAS_pn-clutter-gst-3.0 = "Ubuntu=libclutter-gst Debian=libclutter-gst" -DISTRO_PN_ALIAS_pn-clutter-gtk-1.0 = "Debian=clutter-gtk Ubuntu=clutter-gtk Fedora=clutter-gtk" -DISTRO_PN_ALIAS_pn-clutter-gtk-1.8 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk" -DISTRO_PN_ALIAS_pn-cogl-1.0 = "Debian=cogl Ubuntu=cogl Fedora=cogl" -DISTRO_PN_ALIAS_pn-cogl = "Fedora=cogl OpenSuse=cogl Ubuntu=cogl Mandriva=cogl Debian=cogl" DISTRO_PN_ALIAS_pn-connman = "Meego=connman" DISTRO_PN_ALIAS_pn-connman-conf = "OE-Core" DISTRO_PN_ALIAS_pn-connman-gnome = "Intel" DISTRO_PN_ALIAS_pn-console-tools = "Debian=console-tools Ubuntu=console-tools" DISTRO_PN_ALIAS_pn-core-image-base = "OE-Core" -DISTRO_PN_ALIAS_pn-core-image-clutter = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-full-cmdline = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-kernel-dev = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-minimal = "OE-Core" @@ -248,7 +238,6 @@ DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-buildessential = "OE-Core" -DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core" diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index fa7eb9da0..e59f01d66 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -48,9 +48,9 @@ RECIPE_MAINTAINER_pn-asciidoc = "Yi Zhao " RECIPE_MAINTAINER_pn-aspell = "Anuj Mittal " RECIPE_MAINTAINER_pn-assimp = "Anuj Mittal " RECIPE_MAINTAINER_pn-at = "Chen Qi " -RECIPE_MAINTAINER_pn-at-spi2-atk = "Tim Orling " -RECIPE_MAINTAINER_pn-at-spi2-core = "Tim Orling " -RECIPE_MAINTAINER_pn-atk = "Tim Orling " +RECIPE_MAINTAINER_pn-at-spi2-atk = "Tim Orling " +RECIPE_MAINTAINER_pn-at-spi2-core = "Tim Orling " +RECIPE_MAINTAINER_pn-atk = "Tim Orling " RECIPE_MAINTAINER_pn-attr = "Chen Qi " RECIPE_MAINTAINER_pn-autoconf = "Robert Yang " RECIPE_MAINTAINER_pn-autoconf-archive = "Robert Yang " @@ -93,12 +93,8 @@ RECIPE_MAINTAINER_pn-cantarell-fonts = "Alexander Kanavin " RECIPE_MAINTAINER_pn-core-image-testmaster-initramfs = "Richard Purdie " RECIPE_MAINTAINER_pn-core-image-testmaster = "Richard Purdie " -RECIPE_MAINTAINER_pn-core-image-clutter = "Richard Purdie " RECIPE_MAINTAINER_pn-core-image-weston = "Richard Purdie " RECIPE_MAINTAINER_pn-core-image-weston-sdk = "Richard Purdie " RECIPE_MAINTAINER_pn-core-image-x11 = "Richard Purdie " @@ -234,6 +229,7 @@ RECIPE_MAINTAINER_pn-gobject-introspection = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libepoxy = "Anuj Mittal " RECIPE_MAINTAINER_pn-liberation-fonts = "Alexander Kanavin " -RECIPE_MAINTAINER_pn-liberror-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-liberror-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libevdev = "Anuj Mittal " RECIPE_MAINTAINER_pn-libevent = "Anuj Mittal " RECIPE_MAINTAINER_pn-libexif = "Alexander Kanavin " @@ -356,7 +352,7 @@ RECIPE_MAINTAINER_pn-libmd = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libmicrohttpd = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libmnl = "Khem Raj " RECIPE_MAINTAINER_pn-libmpc = "Khem Raj " -RECIPE_MAINTAINER_pn-libmodule-build-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libmodule-build-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libmodulemd = "Alexander Kanavin " RECIPE_MAINTAINER_pn-libnewt = "Hongxu Jia " RECIPE_MAINTAINER_pn-libnl = "Alexander Kanavin " @@ -390,9 +386,9 @@ RECIPE_MAINTAINER_pn-libsoup-2.4 = "Anuj Mittal " RECIPE_MAINTAINER_pn-libssh2 = "Unassigned " RECIPE_MAINTAINER_pn-libssp-nonshared = "Khem Raj " RECIPE_MAINTAINER_pn-libtasn1 = "Anuj Mittal " -RECIPE_MAINTAINER_pn-libtest-needs-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libtest-needs-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libtheora = "Alexander Kanavin " -RECIPE_MAINTAINER_pn-libtimedate-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libtimedate-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libtirpc = "Anuj Mittal " RECIPE_MAINTAINER_pn-libtool = "Robert Yang " RECIPE_MAINTAINER_pn-libtool-cross = "Robert Yang " @@ -401,7 +397,7 @@ RECIPE_MAINTAINER_pn-libucontext = "Khem Raj " RECIPE_MAINTAINER_pn-libunistring = "Anuj Mittal " RECIPE_MAINTAINER_pn-libunwind = "Bruce Ashfield " RECIPE_MAINTAINER_pn-liburcu = "Wang Mingyu " -RECIPE_MAINTAINER_pn-liburi-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-liburi-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libusb1 = "Anuj Mittal " RECIPE_MAINTAINER_pn-libubootenv = "Stefano Babic " RECIPE_MAINTAINER_pn-libuv = "Armin Kuster " @@ -429,12 +425,12 @@ RECIPE_MAINTAINER_pn-libxi = "Armin Kuster " RECIPE_MAINTAINER_pn-libxinerama = "Armin Kuster " RECIPE_MAINTAINER_pn-libxkbcommon = "Armin Kuster " RECIPE_MAINTAINER_pn-libxkbfile = "Armin Kuster " -RECIPE_MAINTAINER_pn-libxml-namespacesupport-perl = "Tim Orling " -RECIPE_MAINTAINER_pn-libxml-parser-perl = "Tim Orling " -RECIPE_MAINTAINER_pn-libxml-perl = "Tim Orling " -RECIPE_MAINTAINER_pn-libxml-sax-base-perl = "Tim Orling " -RECIPE_MAINTAINER_pn-libxml-sax-perl = "Tim Orling " -RECIPE_MAINTAINER_pn-libxml-simple-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libxml-namespacesupport-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libxml-parser-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libxml-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libxml-sax-base-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libxml-sax-perl = "Tim Orling " +RECIPE_MAINTAINER_pn-libxml-simple-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libxml2 = "Hongxu Jia " RECIPE_MAINTAINER_pn-libxmu = "Armin Kuster " RECIPE_MAINTAINER_pn-libxpm = "Armin Kuster " @@ -520,7 +516,6 @@ RECIPE_MAINTAINER_pn-mtools = "Anuj Mittal " RECIPE_MAINTAINER_pn-musl = "Khem Raj " RECIPE_MAINTAINER_pn-musl-obstack = "Khem Raj " RECIPE_MAINTAINER_pn-musl-utils = "Khem Raj " -RECIPE_MAINTAINER_pn-mx-1.0 = "Anuj Mittal " RECIPE_MAINTAINER_pn-nasm = "Richard Purdie " RECIPE_MAINTAINER_pn-nativesdk-buildtools-perl-dummy = "Richard Purdie " RECIPE_MAINTAINER_pn-nativesdk-icecc-toolchain = "Joshua Watt " @@ -564,6 +559,7 @@ RECIPE_MAINTAINER_pn-pciutils = "Chen Qi " RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin " RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield " RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin " +RECIPE_MAINTAINER_pn-perlcross = "Alexander Kanavin " RECIPE_MAINTAINER_pn-piglit = "Ross Burton " RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia " RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster " @@ -588,8 +584,8 @@ RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Unassigned " RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk " -RECIPE_MAINTAINER_pn-python3-hypothesis = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-importlib-metadata = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-iniconfig = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-hypothesis = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-importlib-metadata = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-iniconfig = "Tim Orling " RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-jinja2 = "Richard Purdie " RECIPE_MAINTAINER_pn-python3-libarchive-c = "Joshua Watt " @@ -609,36 +605,36 @@ RECIPE_MAINTAINER_pn-python3-magic = "Joshua Watt " RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-markdown = "Alexander Kanavin " RECIPE_MAINTAINER_pn-python3-markupsafe = "Richard Purdie " -RECIPE_MAINTAINER_pn-python3-more-itertools = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-more-itertools = "Tim Orling " RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk " -RECIPE_MAINTAINER_pn-python3-packaging = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-pathlib2 = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-packaging = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-pathlib2 = "Tim Orling " RECIPE_MAINTAINER_pn-python3-pbr = "Zang Ruochen " RECIPE_MAINTAINER_pn-python3-pip = "Zang Ruochen " -RECIPE_MAINTAINER_pn-python3-pluggy = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-py = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-pyyaml = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-pluggy = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-py = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-pyyaml = "Tim Orling " RECIPE_MAINTAINER_pn-python3-pycairo = "Zang Ruochen " RECIPE_MAINTAINER_pn-python3-pyelftools = "Joshua Watt " RECIPE_MAINTAINER_pn-python3-pygments = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-pygobject = "Zang Ruochen " RECIPE_MAINTAINER_pn-python3-pyparsing = "Oleksandr Kravchuk " -RECIPE_MAINTAINER_pn-python3-pytest = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-pytest = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling " RECIPE_MAINTAINER_pn-python3-setuptools = "Oleksandr Kravchuk " -RECIPE_MAINTAINER_pn-python3-setuptools-scm = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-setuptools-scm = "Tim Orling " RECIPE_MAINTAINER_pn-python3-six = "Zang Ruochen " RECIPE_MAINTAINER_pn-python3-smartypants = "Alexander Kanavin " RECIPE_MAINTAINER_pn-python3-smmap = "Oleksandr Kravchuk " -RECIPE_MAINTAINER_pn-python3-sortedcontainers = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-sortedcontainers = "Tim Orling " RECIPE_MAINTAINER_pn-python3-subunit = "Oleksandr Kravchuk " RECIPE_MAINTAINER_pn-python3-testtools = "Oleksandr Kravchuk " -RECIPE_MAINTAINER_pn-python3-toml = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-toml = "Tim Orling " RECIPE_MAINTAINER_pn-python3-typogrify = "Alexander Kanavin " -RECIPE_MAINTAINER_pn-python3-wcwidth = "Tim Orling " -RECIPE_MAINTAINER_pn-python3-zipp = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-wcwidth = "Tim Orling " +RECIPE_MAINTAINER_pn-python3-zipp = "Tim Orling " RECIPE_MAINTAINER_pn-qemu = "Richard Purdie " RECIPE_MAINTAINER_pn-qemu-helper-native = "Richard Purdie " RECIPE_MAINTAINER_pn-qemu-native = "Richard Purdie " diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc index aef70343f..d489ad820 100644 --- a/poky/meta/conf/distro/include/ptest-packagelists.inc +++ b/poky/meta/conf/distro/include/ptest-packagelists.inc @@ -88,7 +88,6 @@ PTESTS_SLOW_remove_riscv64 = "valgrind-ptest" PTESTS_PROBLEMS_append_riscv64 = "valgrind-ptest" # ruby-ptest \ # Timeout -# clutter-1.0-ptest \ # Doesn't build due to depends on cogl-1.0 # lz4-ptest \ # Needs a rewrite # rt-tests-ptest \ # Needs to be checked whether it runs at all # bash-ptest \ # Test outcomes are non-deterministic by design @@ -102,7 +101,6 @@ PTESTS_PROBLEMS_append_riscv64 = "valgrind-ptest" PTESTS_PROBLEMS = "\ ruby-ptest \ - clutter-1.0-ptest \ lz4-ptest \ rt-tests-ptest \ bash-ptest \ diff --git a/poky/meta/conf/machine-sdk/ppc64.conf b/poky/meta/conf/machine-sdk/ppc64.conf new file mode 100644 index 000000000..1eb064eef --- /dev/null +++ b/poky/meta/conf/machine-sdk/ppc64.conf @@ -0,0 +1,2 @@ +SDK_ARCH = "ppc64" +ABIEXTENSION_class-nativesdk = "" diff --git a/poky/meta/conf/machine/include/arm/arch-armv4.inc b/poky/meta/conf/machine/include/arm/arch-armv4.inc index fac2bdf95..b71739c20 100644 --- a/poky/meta/conf/machine/include/arm/arch-armv4.inc +++ b/poky/meta/conf/machine/include/arm/arch-armv4.inc @@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4" TUNEVALID[arm] = "Enable ARM instruction set" TUNEVALID[armv4] = "Enable instructions for ARMv4" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4t', '', d)}" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}" # enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb # maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does # checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc index 428d28bde..20e2d465a 100644 --- a/poky/meta/conf/machine/include/riscv/qemuriscv.inc +++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc @@ -26,6 +26,7 @@ UBOOT_ENTRYPOINT_riscv32 = "0x80400000" UBOOT_ENTRYPOINT_riscv64 = "0x80200000" # qemuboot options +QB_SMP = "-smp 4" QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi" QB_MACHINE = "-machine virt" QB_DEFAULT_BIOS = "fw_jump.elf" diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py index e86a09b33..47f3ca4ef 100644 --- a/poky/meta/lib/oe/sstatesig.py +++ b/poky/meta/lib/oe/sstatesig.py @@ -248,13 +248,24 @@ class SignatureGeneratorOEBasicHashMixIn(object): f.write(' "\n') f.write('SIGGEN_LOCKEDSIGS_TYPES_%s = "%s"' % (self.machine, " ".join(l))) - def dump_siglist(self, sigfile): + def dump_siglist(self, sigfile, path_prefix_strip=None): + def strip_fn(fn): + nonlocal path_prefix_strip + if not path_prefix_strip: + return fn + + fn_exp = fn.split(":") + if fn_exp[-1].startswith(path_prefix_strip): + fn_exp[-1] = fn_exp[-1][len(path_prefix_strip):] + + return ":".join(fn_exp) + with open(sigfile, "w") as f: tasks = [] for taskitem in self.taskhash: (fn, task) = taskitem.rsplit(":", 1) pn = self.lockedpnmap[fn] - tasks.append((pn, task, fn, self.taskhash[taskitem])) + tasks.append((pn, task, strip_fn(fn), self.taskhash[taskitem])) for (pn, task, fn, taskhash) in sorted(tasks): f.write('%s:%s %s %s\n' % (pn, task, fn, taskhash)) diff --git a/poky/meta/lib/oeqa/core/target/qemu.py b/poky/meta/lib/oeqa/core/target/qemu.py index 4a5df4a9a..79fd724f7 100644 --- a/poky/meta/lib/oeqa/core/target/qemu.py +++ b/poky/meta/lib/oeqa/core/target/qemu.py @@ -8,6 +8,8 @@ import os import sys import signal import time +import glob +import subprocess from collections import defaultdict from .ssh import OESSHTarget @@ -36,6 +38,8 @@ class OEQemuTarget(OESSHTarget): self.ovmf = ovmf self.use_slirp = slirp self.boot_patterns = boot_patterns + self.dump_dir = dump_dir + self.bootlog = bootlog self.runner = QemuRunner(machine=machine, rootfs=rootfs, tmpdir=tmpdir, deploy_dir_image=dir_image, display=display, @@ -74,7 +78,28 @@ class OEQemuTarget(OESSHTarget): self.server_ip = self.runner.server_ip else: self.stop() - raise RuntimeError("FAILED to start qemu - check the task log and the boot log") + # Display the first 20 lines of top and + # last 20 lines of the bootlog when the + # target is not being booted up. + topfile = glob.glob(self.dump_dir + "/*_qemu/host_*_top") + msg = "\n\n===== start: snippet =====\n\n" + for f in topfile: + msg += "file: %s\n\n" % f + with open(f) as tf: + for x in range(20): + msg += next(tf) + msg += "\n\n===== end: snippet =====\n\n" + blcmd = ["tail", "-20", self.bootlog] + msg += "===== start: snippet =====\n\n" + try: + out = subprocess.check_output(blcmd, stderr=subprocess.STDOUT, timeout=1).decode('utf-8') + msg += "file: %s\n\n" % self.bootlog + msg += out + except (subprocess.CalledProcessError, subprocess.TimeoutExpired, FileNotFoundError) as err: + msg += "Error running command: %s\n%s\n" % (blcmd, err) + msg += "\n\n===== end: snippet =====\n" + + raise RuntimeError("FAILED to start qemu - check the task log and the boot log %s" % (msg)) def stop(self): self.runner.stop() diff --git a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json index 12374c7c6..38b396ab0 100644 --- a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json +++ b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json @@ -2348,7 +2348,7 @@ "expected_results": "" }, "3": { - "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. ", + "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base) to name a few. ", "expected_results": " All recipes are built correctly \n\n" }, "4": { @@ -2382,7 +2382,7 @@ "expected_results": "" }, "3": { - "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n", + "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base) to name a few. \n\n", "expected_results": "All recipes are built correctly \n\n" }, "4": { @@ -2420,7 +2420,7 @@ "expected_results": "" }, "3": { - "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n", + "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base) to name a few. \n\n", "expected_results": " All recipes are built correctly \n\n" }, "4": { diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py index 5d4330b48..2de22d340 100644 --- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py +++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py @@ -68,18 +68,6 @@ class ImageFeatures(OESelftestTestCase): self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) - def test_clutter_image_can_be_built(self): - """ - Summary: Check if clutter image can be built - Expected: 1. core-image-clutter can be built - Product: oe-core - Author: Ionut Chisanovici - AutomatedBy: Daniel Istrate - """ - - # Build a core-image-clutter - bitbake('core-image-clutter') - def test_wayland_support_in_image(self): """ Summary: Check Wayland support in image diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py index 84c2cb77e..d0c244072 100644 --- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -14,11 +14,6 @@ from oeqa.core.decorator.data import skipIfNotQemu class TestExport(OESelftestTestCase): - @classmethod - def tearDownClass(cls): - runCmd("rm -rf /tmp/sdk") - super(TestExport, cls).tearDownClass() - def test_testexport_basic(self): """ Summary: Check basic testexport functionality with only ping test enabled. @@ -95,19 +90,20 @@ class TestExport(OESelftestTestCase): msg = "Couldn't find SDK tarball: %s" % tarball_path self.assertEqual(os.path.isfile(tarball_path), True, msg) - # Extract SDK and run tar from SDK - result = runCmd("%s -y -d /tmp/sdk" % tarball_path) - self.assertEqual(0, result.status, "Couldn't extract SDK") + with tempfile.TemporaryDirectory() as tmpdirname: + # Extract SDK and run tar from SDK + result = runCmd("%s -y -d %s" % (tarball_path, tmpdirname)) + self.assertEqual(0, result.status, "Couldn't extract SDK") - env_script = result.output.split()[-1] - result = runCmd(". %s; which tar" % env_script, shell=True) - self.assertEqual(0, result.status, "Couldn't setup SDK environment") - is_sdk_tar = True if "/tmp/sdk" in result.output else False - self.assertTrue(is_sdk_tar, "Couldn't setup SDK environment") + env_script = result.output.split()[-1] + result = runCmd(". %s; which tar" % env_script, shell=True) + self.assertEqual(0, result.status, "Couldn't setup SDK environment") + is_sdk_tar = True if tmpdirname in result.output else False + self.assertTrue(is_sdk_tar, "Couldn't setup SDK environment") - tar_sdk = result.output - result = runCmd("%s --version" % tar_sdk) - self.assertEqual(0, result.status, "Couldn't run tar from SDK") + tar_sdk = result.output + result = runCmd("%s --version" % tar_sdk) + self.assertEqual(0, result.status, "Couldn't run tar from SDK") class TestImage(OESelftestTestCase): diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index 0032f6ed8..abbc7f7d1 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -65,7 +65,7 @@ class QemuRunner: self.boot_patterns = boot_patterns self.tmpfsdir = tmpfsdir - self.runqemutime = 120 + self.runqemutime = 300 if not workdir: workdir = os.getcwd() self.qemu_pidfile = workdir + '/pidfile_' + str(os.getpid()) @@ -192,6 +192,12 @@ class QemuRunner: qmp_file = "." + next(tempfile._get_candidate_names()) qmp_param = ' -S -qmp unix:./%s,server,wait' % (qmp_file) qmp_port = self.tmpdir + "/" + qmp_file + # Create a second socket connection for debugging use, + # note this will NOT cause qemu to block waiting for the connection + qmp_file2 = "." + next(tempfile._get_candidate_names()) + qmp_param += ' -qmp unix:./%s,server,nowait' % (qmp_file2) + qmp_port2 = self.tmpdir + "/" + qmp_file2 + self.logger.info("QMP Available for connection at %s" % (qmp_port2)) try: if self.serial_ports >= 2: @@ -342,7 +348,24 @@ class QemuRunner: finally: os.chdir(origpath) - # Release the qemu porcess to continue running + # We worry that mmap'd libraries may cause page faults which hang the qemu VM for periods + # causing failures. Before we "start" qemu, read through it's mapped files to try and + # ensure we don't hit page faults later + mapdir = "/proc/" + str(self.qemupid) + "/map_files/" + try: + for f in os.listdir(mapdir): + linktarget = os.readlink(os.path.join(mapdir, f)) + if not linktarget.startswith("/") or linktarget.startswith("/dev") or "deleted" in linktarget: + continue + with open(linktarget, "rb") as readf: + data = True + while data: + data = readf.read(4096) + # Centos7 doesn't allow us to read /map_files/ + except PermissionError: + pass + + # Release the qemu process to continue running self.run_monitor('cont') # We are alive: qemu is running diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb new file mode 100644 index 000000000..287845c50 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb @@ -0,0 +1,91 @@ +require grub2.inc + +require conf/image-uefi.conf + +GRUBPLATFORM = "efi" + +DEPENDS_append = " grub-native" +RDEPENDS_${PN} = "grub-common virtual/grub-bootconf" + +SRC_URI += " \ + file://cfg \ + " + +S = "${WORKDIR}/grub-${PV}" + +# Determine the target arch for the grub modules +python __anonymous () { + import re + target = d.getVar('TARGET_ARCH') + prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-" + if target == "x86_64": + grubtarget = 'x86_64' + elif re.match('i.86', target): + grubtarget = 'i386' + elif re.match('aarch64', target): + grubtarget = 'arm64' + elif re.match('arm', target): + grubtarget = 'arm' + elif re.match('riscv64', target): + grubtarget = 'riscv64' + elif re.match('riscv32', target): + grubtarget = 'riscv32' + else: + raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target) + grubimage = prefix + d.getVar("EFI_BOOT_IMAGE") + d.setVar("GRUB_TARGET", grubtarget) + d.setVar("GRUB_IMAGE", grubimage) + prefix = "grub-efi-" if prefix == "" else "" + d.setVar("GRUB_IMAGE_PREFIX", prefix) +} + +inherit deploy + +CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN=" +EXTRA_OECONF += "--enable-efiemu=no" + +do_mkimage() { + cd ${B} + # Search for the grub.cfg on the local boot media by using the + # built in cfg file provided via this recipe + grub-mkimage -c ../cfg -p ${EFIDIR} -d ./grub-core/ \ + -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \ + ${GRUB_BUILDIN} +} + +addtask mkimage before do_install after do_compile + +do_install() { + oe_runmake 'DESTDIR=${D}' -C grub-core install + + # Remove build host references... + find "${D}" -name modinfo.sh -type f -exec \ + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + {} + + + install -d ${D}${EFI_FILES_PATH} + install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}${EFI_FILES_PATH}/${GRUB_IMAGE} +} + +GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \ + efi_gop iso9660 configfile search loadenv test" + +do_deploy() { + install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR} +} + +addtask deploy after do_install before do_build + +FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \ + ${datadir}/grub \ + ${EFI_FILES_PATH}/${GRUB_IMAGE} \ + " + +# 64-bit binaries are expected for the bootloader with an x32 userland +INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch" +INSANE_SKIP_${PN}_append_linux-muslx32 = " arch" +INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch" diff --git a/poky/meta/recipes-bsp/grub/grub-efi_git.bb b/poky/meta/recipes-bsp/grub/grub-efi_git.bb deleted file mode 100644 index 240fde7db..000000000 --- a/poky/meta/recipes-bsp/grub/grub-efi_git.bb +++ /dev/null @@ -1,89 +0,0 @@ -require grub2.inc - -require conf/image-uefi.conf - -GRUBPLATFORM = "efi" - -DEPENDS_append = " grub-native" -RDEPENDS_${PN} = "grub-common virtual/grub-bootconf" - -SRC_URI += " \ - file://cfg \ - " - -# Determine the target arch for the grub modules -python __anonymous () { - import re - target = d.getVar('TARGET_ARCH') - prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-" - if target == "x86_64": - grubtarget = 'x86_64' - elif re.match('i.86', target): - grubtarget = 'i386' - elif re.match('aarch64', target): - grubtarget = 'arm64' - elif re.match('arm', target): - grubtarget = 'arm' - elif re.match('riscv64', target): - grubtarget = 'riscv64' - elif re.match('riscv32', target): - grubtarget = 'riscv32' - else: - raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target) - grubimage = prefix + d.getVar("EFI_BOOT_IMAGE") - d.setVar("GRUB_TARGET", grubtarget) - d.setVar("GRUB_IMAGE", grubimage) - prefix = "grub-efi-" if prefix == "" else "" - d.setVar("GRUB_IMAGE_PREFIX", prefix) -} - -inherit deploy - -CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN=" -EXTRA_OECONF += "--enable-efiemu=no" - -do_mkimage() { - cd ${B} - # Search for the grub.cfg on the local boot media by using the - # built in cfg file provided via this recipe - grub-mkimage -c ../cfg -p ${EFIDIR} -d ./grub-core/ \ - -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \ - ${GRUB_BUILDIN} -} - -addtask mkimage before do_install after do_compile - -do_install() { - oe_runmake 'DESTDIR=${D}' -C grub-core install - - # Remove build host references... - find "${D}" -name modinfo.sh -type f -exec \ - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - {} + - - install -d ${D}${EFI_FILES_PATH} - install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}${EFI_FILES_PATH}/${GRUB_IMAGE} -} - -GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \ - efi_gop iso9660 configfile search loadenv test" - -do_deploy() { - install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR} -} - -addtask deploy after do_install before do_build - -FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \ - ${datadir}/grub \ - ${EFI_FILES_PATH}/${GRUB_IMAGE} \ - " - -# 64-bit binaries are expected for the bootloader with an x32 userland -INSANE_SKIP_${PN}_append_linux-gnux32 = " arch" -INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch" -INSANE_SKIP_${PN}_append_linux-muslx32 = " arch" -INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch" diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc index 3c6b434c2..19294760c 100644 --- a/poky/meta/recipes-bsp/grub/grub2.inc +++ b/poky/meta/recipes-bsp/grub/grub2.inc @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" CVE_PRODUCT = "grub2" -SRC_URI = "https://alpha.gnu.org/gnu/grub/grub-${REALPV}.tar.xz \ +SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \ file://autogen.sh-exclude-pc.patch \ file://grub-module-explicitly-keeps-symbole-.module_license.patch \ @@ -22,26 +22,11 @@ SRC_URI = "https://alpha.gnu.org/gnu/grub/grub-${REALPV}.tar.xz \ file://0001-RISC-V-Restore-the-typcast-to-long.patch \ " -SRC_URI[sha256sum] = "2c87f1f21e2ab50043e6cd9163c08f1b6c3a6171556bf23ff9ed65b074145484" - -REALPV = "2.06~rc1" -PV = "2.04+${REALPV}" - -# Fixed in 2.06~rc1, can be removed for 2.06 final -CVE_CHECK_WHITELIST += "\ - CVE-2020-14308 CVE-2020-14309 CVE-2020-14310 CVE-2020-14311 CVE-2020-10713 \ - CVE-2020-14372 CVE-2020-15705 CVE-2020-15706 CVE-2020-15707 \ - CVE-2020-25632 CVE-2020-25647 CVE-2020-27749 CVE-2020-27779 \ - CVE-2021-3418 CVE-2021-20225 CVE-2021-20233" +SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f" # Applies only to RHEL CVE_CHECK_WHITELIST += "CVE-2019-14865" -S = "${WORKDIR}/grub-${REALPV}" - -UPSTREAM_CHECK_URI = "${GNU_MIRROR}/grub" -UPSTREAM_CHECK_REGEX = "grub-(?P\d+(\.\d+)+)\.tar\.(gz|xz)" - DEPENDS = "flex-native bison-native gettext-native" COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*|riscv.*)-(linux.*|freebsd.*)' diff --git a/poky/meta/recipes-bsp/grub/grub_2.06.bb b/poky/meta/recipes-bsp/grub/grub_2.06.bb new file mode 100644 index 000000000..d4e09faa4 --- /dev/null +++ b/poky/meta/recipes-bsp/grub/grub_2.06.bb @@ -0,0 +1,41 @@ +require grub2.inc + +RDEPENDS_${PN}-common += "${PN}-editenv" +RDEPENDS_${PN} += "${PN}-common" +RDEPENDS_${PN}_class-native = "" + +RPROVIDES_${PN}-editenv += "${PN}-efi-editenv" + +PROVIDES_append_class-native = " grub-efi-native" + +PACKAGES =+ "${PN}-editenv ${PN}-common" +FILES_${PN}-editenv = "${bindir}/grub-editenv" +FILES_${PN}-common = " \ + ${bindir} \ + ${sysconfdir} \ + ${sbindir} \ + ${datadir}/grub \ +" +ALLOW_EMPTY_${PN} = "1" + +do_install_append () { + # Avoid conflicts with the EFI package for systems such as arm64 where we + # need to build grub and grub-efi but only EFI is supported by removing EFI + # from this package. + rm -rf ${D}${libdir}/grub/*-efi/ + rmdir --ignore-fail-on-non-empty ${D}${libdir}/grub ${D}${libdir} + + install -d ${D}${sysconfdir}/grub.d + # Remove build host references... + find "${D}" -name modinfo.sh -type f -exec \ + sed -i \ + -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ + -e 's|${DEBUG_PREFIX_MAP}||g' \ + -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ + {} + +} + +INSANE_SKIP_${PN} = "arch" +INSANE_SKIP_${PN}-dbg = "arch" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-bsp/grub/grub_git.bb b/poky/meta/recipes-bsp/grub/grub_git.bb deleted file mode 100644 index d4e09faa4..000000000 --- a/poky/meta/recipes-bsp/grub/grub_git.bb +++ /dev/null @@ -1,41 +0,0 @@ -require grub2.inc - -RDEPENDS_${PN}-common += "${PN}-editenv" -RDEPENDS_${PN} += "${PN}-common" -RDEPENDS_${PN}_class-native = "" - -RPROVIDES_${PN}-editenv += "${PN}-efi-editenv" - -PROVIDES_append_class-native = " grub-efi-native" - -PACKAGES =+ "${PN}-editenv ${PN}-common" -FILES_${PN}-editenv = "${bindir}/grub-editenv" -FILES_${PN}-common = " \ - ${bindir} \ - ${sysconfdir} \ - ${sbindir} \ - ${datadir}/grub \ -" -ALLOW_EMPTY_${PN} = "1" - -do_install_append () { - # Avoid conflicts with the EFI package for systems such as arm64 where we - # need to build grub and grub-efi but only EFI is supported by removing EFI - # from this package. - rm -rf ${D}${libdir}/grub/*-efi/ - rmdir --ignore-fail-on-non-empty ${D}${libdir}/grub ${D}${libdir} - - install -d ${D}${sysconfdir}/grub.d - # Remove build host references... - find "${D}" -name modinfo.sh -type f -exec \ - sed -i \ - -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - {} + -} - -INSANE_SKIP_${PN} = "arch" -INSANE_SKIP_${PN}-dbg = "arch" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc index 2e3294324..cc31ab3b1 100644 --- a/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc +++ b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc @@ -7,12 +7,25 @@ def riscv_get_extra_oemake_image(d): return "FW_PAYLOAD_PATH=" + deploy_dir + "/" + sbi_payload +def riscv_get_extra_oemake_fdt(d): + sbi_fdt = d.getVar('RISCV_SBI_FDT') + deploy_dir = d.getVar('DEPLOY_DIR_IMAGE') + + if sbi_fdt is None: + return "" + + return "FW_FDT_PATH=" + deploy_dir + "/" + sbi_fdt + def riscv_get_do_compile_depends(d): sbi_payload = d.getVar('RISCV_SBI_PAYLOAD') + sbi_fdt = d.getVar('RISCV_SBI_FDT') - if sbi_payload is None: + if sbi_payload is None and sbi_fdt is None: return "" + if sbi_fdt is not None and 'u-boot.bin' in sbi_payload: + return "virtual/kernel:do_deploy virtual/bootloader:do_deploy" + if 'linux' in sbi_payload or 'Image' in sbi_payload: return "virtual/kernel:do_deploy" if 'u-boot.bin' in sbi_payload: diff --git a/poky/meta/recipes-bsp/opensbi/opensbi_0.9.bb b/poky/meta/recipes-bsp/opensbi/opensbi_0.9.bb index cb1c3f2eb..5fee52136 100644 --- a/poky/meta/recipes-bsp/opensbi/opensbi_0.9.bb +++ b/poky/meta/recipes-bsp/opensbi/opensbi_0.9.bb @@ -15,9 +15,10 @@ SRC_URI = "git://github.com/riscv/opensbi.git;branch=master \ S = "${WORKDIR}/git" -EXTRA_OEMAKE += "PLATFORM=${RISCV_SBI_PLAT} I=${D}" +EXTRA_OEMAKE += "PLATFORM=${RISCV_SBI_PLAT} I=${D} FW_PIC=n" # If RISCV_SBI_PAYLOAD is set then include it as a payload EXTRA_OEMAKE_append = " ${@riscv_get_extra_oemake_image(d)}" +EXTRA_OEMAKE_append = " ${@riscv_get_extra_oemake_fdt(d)}" # Required if specifying a custom payload do_compile[depends] += "${@riscv_get_do_compile_depends(d)}" diff --git a/poky/meta/recipes-bsp/u-boot/files/0001-tools-image-host-fix-wrong-return-value.patch b/poky/meta/recipes-bsp/u-boot/files/0001-tools-image-host-fix-wrong-return-value.patch new file mode 100644 index 000000000..81687203e --- /dev/null +++ b/poky/meta/recipes-bsp/u-boot/files/0001-tools-image-host-fix-wrong-return-value.patch @@ -0,0 +1,41 @@ +From 77fe3ad2ab2953ccdf6e9417cbecc060b45d3e55 Mon Sep 17 00:00:00 2001 +From: Ming Liu +Date: Sun, 30 May 2021 10:32:08 +0200 +Subject: [PATCH] tools: image-host: fix wrong return value + +The return value '-ENOSPC' of fit_set_timestamp function does not match +the caller fit_image_write_sig's expection which is '-FDT_ERR_NOSPACE'. + +Fix it by not calling fit_set_timestamp, but call fdt_setprop instead. + +This fixes a following mkimage error: +| Can't write signature for 'signature@1' signature node in +| 'conf@imx6ull-colibri-wifi-eval-v3.dtb' conf node: +| mkimage Can't add hashes to FIT blob: -1 + +Upstream-Status: Submitted [ https://patchwork.ozlabs.org/project/uboot/patch/20210531070451.6561-1-liu.ming50@gmail.com ] + +Signed-off-by: Ming Liu +--- + tools/image-host.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/tools/image-host.c b/tools/image-host.c +index 270d36fe45..73095461a7 100644 +--- a/tools/image-host.c ++++ b/tools/image-host.c +@@ -132,8 +132,10 @@ static int fit_image_write_sig(void *fit, int noffset, uint8_t *value, + if (!ret) { + time_t timestamp = imagetool_get_source_date(cmdname, + time(NULL)); ++ uint32_t t = cpu_to_uimage(timestamp); + +- ret = fit_set_timestamp(fit, noffset, timestamp); ++ ret = fdt_setprop(fit, noffset, FIT_TIMESTAMP_PROP, &t, ++ sizeof(uint32_t)); + } + if (region_prop && !ret) { + uint32_t strdata[2]; +-- +2.29.0 + diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb index ef386f76e..4e9008191 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb +++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb @@ -1,3 +1,4 @@ require u-boot-common.inc require u-boot-tools.inc +SRC_URI_append = " file://0001-tools-image-host-fix-wrong-return-value.patch" diff --git a/poky/meta/recipes-bsp/u-boot/u-boot.inc b/poky/meta/recipes-bsp/u-boot/u-boot.inc index 5398c2e62..8ccc532f7 100644 --- a/poky/meta/recipes-bsp/u-boot/u-boot.inc +++ b/poky/meta/recipes-bsp/u-boot/u-boot.inc @@ -5,7 +5,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" DEPENDS += "kern-tools-native" -inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native +inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native kernel-arch DEPENDS += "swig-native" @@ -346,6 +346,11 @@ do_deploy () { ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE} ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME} fi + + if [ -n "${UBOOT_DTB}" ] + then + install -m 644 ${B}/arch/${UBOOT_ARCH}/dts/${UBOOT_DTB_BINARY} ${DEPLOYDIR}/ + fi } addtask deploy before do_build after do_compile diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb index 5c46bbf58..430231088 100644 --- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb @@ -24,6 +24,7 @@ SRC_URI = "https://github.com/lathiat/avahi/releases/download/v${PV}/avahi-${PV} file://99avahi-autoipd \ file://initscript.patch \ file://0001-Fix-opening-etc-resolv.conf-error.patch \ + file://handle-hup.patch \ " UPSTREAM_CHECK_URI = "https://github.com/lathiat/avahi/releases/" diff --git a/poky/meta/recipes-connectivity/avahi/files/handle-hup.patch b/poky/meta/recipes-connectivity/avahi/files/handle-hup.patch new file mode 100644 index 000000000..26632e544 --- /dev/null +++ b/poky/meta/recipes-connectivity/avahi/files/handle-hup.patch @@ -0,0 +1,41 @@ +CVE: CVE-2021-3468 +Upstream-Status: Submitted [https://github.com/lathiat/avahi/pull/330] +Signed-off-by: Ross Burton + +From 447affe29991ee99c6b9732fc5f2c1048a611d3b Mon Sep 17 00:00:00 2001 +From: Riccardo Schirone +Date: Fri, 26 Mar 2021 11:50:24 +0100 +Subject: [PATCH] Avoid infinite-loop in avahi-daemon by handling HUP event in + client_work + +If a client fills the input buffer, client_work() disables the +AVAHI_WATCH_IN event, thus preventing the function from executing the +`read` syscall the next times it is called. However, if the client then +terminates the connection, the socket file descriptor receives a HUP +event, which is not handled, thus the kernel keeps marking the HUP event +as occurring. While iterating over the file descriptors that triggered +an event, the client file descriptor will keep having the HUP event and +the client_work() function is always called with AVAHI_WATCH_HUP but +without nothing being done, thus entering an infinite loop. + +See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=984938 +--- + avahi-daemon/simple-protocol.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/avahi-daemon/simple-protocol.c b/avahi-daemon/simple-protocol.c +index 3e0ebb11..6c0274d6 100644 +--- a/avahi-daemon/simple-protocol.c ++++ b/avahi-daemon/simple-protocol.c +@@ -424,6 +424,11 @@ static void client_work(AvahiWatch *watch, AVAHI_GCC_UNUSED int fd, AvahiWatchEv + } + } + ++ if (events & AVAHI_WATCH_HUP) { ++ client_free(c); ++ return; ++ } ++ + c->server->poll_api->watch_update( + watch, + (c->outbuf_length > 0 ? AVAHI_WATCH_OUT : 0) | diff --git a/poky/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch b/poky/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch index 942b9c97b..9dca21a02 100644 --- a/poky/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch +++ b/poky/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch @@ -1,4 +1,4 @@ -From c7734e1547db967eccf242fe4b9e8a30b9ff141c Mon Sep 17 00:00:00 2001 +From 01974865e4d331eeaf25248bee1bb96539c450d9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 6 Apr 2015 23:02:21 -0700 Subject: [PATCH] resolve: musl does not implement res_ninit @@ -15,7 +15,7 @@ Signed-off-by: Khem Raj 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/gweb/gresolv.c b/gweb/gresolv.c -index 38a554e..a9e8740 100644 +index 954e7cf..2a9bc51 100644 --- a/gweb/gresolv.c +++ b/gweb/gresolv.c @@ -36,6 +36,7 @@ @@ -26,7 +26,7 @@ index 38a554e..a9e8740 100644 #include "gresolv.h" -@@ -877,8 +878,6 @@ GResolv *g_resolv_new(int index) +@@ -878,8 +879,6 @@ GResolv *g_resolv_new(int index) resolv->index = index; resolv->nameserver_list = NULL; @@ -35,7 +35,7 @@ index 38a554e..a9e8740 100644 return resolv; } -@@ -918,8 +917,6 @@ void g_resolv_unref(GResolv *resolv) +@@ -919,8 +918,6 @@ void g_resolv_unref(GResolv *resolv) flush_nameservers(resolv); @@ -44,7 +44,7 @@ index 38a554e..a9e8740 100644 g_free(resolv); } -@@ -1022,24 +1019,19 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname, +@@ -1023,24 +1020,19 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname, debug(resolv, "hostname %s", hostname); if (!resolv->nameserver_list) { diff --git a/poky/meta/recipes-connectivity/connman/connman_1.39.bb b/poky/meta/recipes-connectivity/connman/connman_1.39.bb deleted file mode 100644 index df42e9ffb..000000000 --- a/poky/meta/recipes-connectivity/connman/connman_1.39.bb +++ /dev/null @@ -1,15 +0,0 @@ -require connman.inc - -SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ - file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \ - file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ - file://connman \ - file://no-version-scripts.patch \ - " - -SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch" - -SRC_URI[sha256sum] = "9f62a7169b7491c670a1ff2e335b0d966308fb2f62e285c781105eb90f181af3" - -RRECOMMENDS_${PN} = "connman-conf" -RCONFLICTS_${PN} = "networkmanager" diff --git a/poky/meta/recipes-connectivity/connman/connman_1.40.bb b/poky/meta/recipes-connectivity/connman/connman_1.40.bb new file mode 100644 index 000000000..15d105e2b --- /dev/null +++ b/poky/meta/recipes-connectivity/connman/connman_1.40.bb @@ -0,0 +1,15 @@ +require connman.inc + +SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ + file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \ + file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ + file://connman \ + file://no-version-scripts.patch \ + " + +SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch" + +SRC_URI[sha256sum] = "1a57ae7ce234aa3a1744aac3be5c2121d98dce999440ef8ab9cc4edfd5edcb12" + +RRECOMMENDS_${PN} = "connman-conf" +RCONFLICTS_${PN} = "networkmanager" diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb new file mode 100644 index 000000000..f3b64174c --- /dev/null +++ b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "Name Service Switch module for Multicast DNS (zeroconf) name resolution" +HOMEPAGE = "https://github.com/lathiat/nss-mdns" +DESCRIPTION = "nss-mdns is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) providing host name resolution via Multicast DNS (aka Zeroconf, aka Apple Rendezvous, aka Apple Bonjour), effectively allowing name resolution by common Unix/Linux programs in the ad-hoc mDNS domain .local." +SECTION = "libs" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" + +DEPENDS = "avahi" + +SRC_URI = "git://github.com/lathiat/nss-mdns \ + " + +SRCREV = "4b3cfe818bf72d99a02b8ca8b8813cb2d6b40633" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +COMPATIBLE_HOST_libc-musl = 'null' + +EXTRA_OECONF = "--libdir=${base_libdir}" + +RDEPENDS_${PN} = "avahi-daemon" + +pkg_postinst_${PN} () { + sed ' + /^hosts:/ !b + /\/ b + s/\([[:blank:]]\+\)dns\>/\1mdns4_minimal [NOTFOUND=return] dns/g + ' -i $D${sysconfdir}/nsswitch.conf +} + +pkg_prerm_${PN} () { + sed ' + /^hosts:/ !b + s/[[:blank:]]\+mdns\(4\|6\)\?\(_minimal\( \[NOTFOUND=return\]\)\?\)\?//g + ' -i $D${sysconfdir}/nsswitch.conf +} diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb deleted file mode 100644 index 75e8ba06d..000000000 --- a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Name Service Switch module for Multicast DNS (zeroconf) name resolution" -HOMEPAGE = "https://github.com/lathiat/nss-mdns" -DESCRIPTION = "nss-mdns is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) providing host name resolution via Multicast DNS (aka Zeroconf, aka Apple Rendezvous, aka Apple Bonjour), effectively allowing name resolution by common Unix/Linux programs in the ad-hoc mDNS domain .local." -SECTION = "libs" - -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" - -DEPENDS = "avahi" - -SRC_URI = "git://github.com/lathiat/nss-mdns \ - " - -SRCREV = "65ad25563937682ab2770c36d56667a754837102" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -COMPATIBLE_HOST_libc-musl = 'null' - -EXTRA_OECONF = "--libdir=${base_libdir}" - -RDEPENDS_${PN} = "avahi-daemon" - -pkg_postinst_${PN} () { - sed ' - /^hosts:/ !b - /\/ b - s/\([[:blank:]]\+\)dns\>/\1mdns4_minimal [NOTFOUND=return] dns/g - ' -i $D${sysconfdir}/nsswitch.conf -} - -pkg_prerm_${PN} () { - sed ' - /^hosts:/ !b - s/[[:blank:]]\+mdns\(4\|6\)\?\(_minimal\( \[NOTFOUND=return\]\)\?\)\?//g - ' -i $D${sysconfdir}/nsswitch.conf -} diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap_1.10.0.bb b/poky/meta/recipes-connectivity/libpcap/libpcap_1.10.0.bb deleted file mode 100644 index 967eabcc1..000000000 --- a/poky/meta/recipes-connectivity/libpcap/libpcap_1.10.0.bb +++ /dev/null @@ -1,44 +0,0 @@ -SUMMARY = "Interface for user-level network packet capture" -DESCRIPTION = "Libpcap provides a portable framework for low-level network \ -monitoring. Libpcap can provide network statistics collection, \ -security monitoring and network debugging." -HOMEPAGE = "http://www.tcpdump.org/" -BUGTRACKER = "http://sourceforge.net/tracker/?group_id=53067&atid=469577" -SECTION = "libs/network" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb289217c160e2920d2e35bddc36453 \ - file://pcap.h;beginline=1;endline=32;md5=39af3510e011f34b8872f120b1dc31d2" -DEPENDS = "flex-native bison-native" - -SRC_URI = "https://www.tcpdump.org/release/${BP}.tar.gz \ - " -SRC_URI[md5sum] = "8c12dc19dd7e0d02d2bb6596eb5a71c7" -SRC_URI[sha256sum] = "8d12b42623eeefee872f123bd0dc85d535b00df4d42e865f993c40f7bfc92b1e" - -inherit autotools binconfig-disabled pkgconfig - -BINCONFIG = "${bindir}/pcap-config" - -# Explicitly disable dag support. We don't have recipe for it and if enabled here, -# configure script poisons the include dirs with /usr/local/include even when the -# support hasn't been detected. -EXTRA_OECONF = " \ - --with-pcap=linux \ - --without-dag \ - " -EXTRA_AUTORECONF += "--exclude=aclocal" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -PACKAGECONFIG[bluez5] = "--enable-bluetooth,--disable-bluetooth,bluez5" -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[libnl] = "--with-libnl,--without-libnl,libnl" - -do_configure_prepend () { - #remove hardcoded references to /usr/include - sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.ac -} - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap_1.10.1.bb b/poky/meta/recipes-connectivity/libpcap/libpcap_1.10.1.bb new file mode 100644 index 000000000..f528595c9 --- /dev/null +++ b/poky/meta/recipes-connectivity/libpcap/libpcap_1.10.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "Interface for user-level network packet capture" +DESCRIPTION = "Libpcap provides a portable framework for low-level network \ +monitoring. Libpcap can provide network statistics collection, \ +security monitoring and network debugging." +HOMEPAGE = "http://www.tcpdump.org/" +BUGTRACKER = "http://sourceforge.net/tracker/?group_id=53067&atid=469577" +SECTION = "libs/network" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb289217c160e2920d2e35bddc36453 \ + file://pcap.h;beginline=1;endline=32;md5=39af3510e011f34b8872f120b1dc31d2" +DEPENDS = "flex-native bison-native" + +SRC_URI = "https://www.tcpdump.org/release/${BP}.tar.gz" +SRC_URI[sha256sum] = "ed285f4accaf05344f90975757b3dbfe772ba41d1c401c2648b7fa45b711bdd4" + +inherit autotools binconfig-disabled pkgconfig + +BINCONFIG = "${bindir}/pcap-config" + +# Explicitly disable dag support. We don't have recipe for it and if enabled here, +# configure script poisons the include dirs with /usr/local/include even when the +# support hasn't been detected. +EXTRA_OECONF = " \ + --with-pcap=linux \ + --without-dag \ + " +EXTRA_AUTORECONF += "--exclude=aclocal" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +PACKAGECONFIG[bluez5] = "--enable-bluetooth,--disable-bluetooth,bluez5" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[libnl] = "--with-libnl,--without-libnl,libnl" + +do_configure_prepend () { + #remove hardcoded references to /usr/include + sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.ac +} + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.3.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.3.bb deleted file mode 100644 index d8c6391b3..000000000 --- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.3.bb +++ /dev/null @@ -1,145 +0,0 @@ -SUMMARY = "userspace utilities for kernel nfs" -DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \ -NFS server and related tools." -HOMEPAGE = "http://nfs.sourceforge.net/" -SECTION = "console/network" - -LICENSE = "MIT & GPLv2+ & BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84" - -# util-linux for libblkid -DEPENDS = "libcap libevent util-linux sqlite3 libtirpc" -RDEPENDS_${PN} = "${PN}-client" -RRECOMMENDS_${PN} = "kernel-module-nfsd" - -inherit useradd - -USERADD_PACKAGES = "${PN}-client" -USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \ - --shell /bin/false --user-group rpcuser" - -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \ - file://nfsserver \ - file://nfscommon \ - file://nfs-utils.conf \ - file://nfs-server.service \ - file://nfs-mountd.service \ - file://nfs-statd.service \ - file://proc-fs-nfsd.mount \ - file://nfs-utils-debianize-start-statd.patch \ - file://bugfix-adjust-statd-service-name.patch \ - file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \ - file://clang-warnings.patch \ - " -SRC_URI[sha256sum] = "b54d6d8ea2ee62d64111278301ba4631b7bb19174e7f717a724fe5d463900c80" - -# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will -# pull in the remainder of the dependencies. - -INITSCRIPT_PACKAGES = "${PN} ${PN}-client" -INITSCRIPT_NAME = "nfsserver" -INITSCRIPT_PARAMS = "defaults" -INITSCRIPT_NAME_${PN}-client = "nfscommon" -INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21" - -inherit autotools-brokensep update-rc.d systemd pkgconfig - -SYSTEMD_PACKAGES = "${PN} ${PN}-client" -SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service" -SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service" - -# --enable-uuid is need for cross-compiling -EXTRA_OECONF = "--with-statduser=rpcuser \ - --enable-mountconfig \ - --enable-libmount-mount \ - --enable-uuid \ - --disable-gss \ - --disable-nfsdcltrack \ - --with-statdpath=/var/lib/nfs/statd \ - --with-rpcgen=${HOSTTOOLS_DIR}/rpcgen \ - " - -PACKAGECONFIG ??= "tcp-wrappers \ - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ -" -PACKAGECONFIG_remove_libc-musl = "tcp-wrappers" -PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -# libdevmapper is available in meta-oe -PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper,libdevmapper" -# keyutils is available in meta-oe -PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils,python3-core" - -PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats" - -CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \ - ${localstatedir}/lib/nfs/rmtab \ - ${localstatedir}/lib/nfs/xtab \ - ${localstatedir}/lib/nfs/statd/state \ - ${sysconfdir}/nfsmount.conf" - -FILES_${PN}-client = "${sbindir}/*statd \ - ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \ - ${sbindir}/showmount ${sbindir}/nfsstat \ - ${localstatedir}/lib/nfs \ - ${sysconfdir}/nfs-utils.conf \ - ${sysconfdir}/nfsmount.conf \ - ${sysconfdir}/init.d/nfscommon \ - ${systemd_unitdir}/system/nfs-statd.service" -RDEPENDS_${PN}-client = "${PN}-mount rpcbind" - -FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*" - -FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat ${sbindir}/nfsdclnts" -RDEPENDS_${PN}-stats = "python3-core" - -FILES_${PN}-staticdev += "${libdir}/libnfsidmap/*.a" - -FILES_${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/" - -do_configure_prepend() { - sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \ - ${S}/utils/mount/Makefile.am -} - -# Make clean needed because the package comes with -# precompiled 64-bit objects that break the build -do_compile_prepend() { - make clean -} - -# Works on systemd only -HIGH_RLIMIT_NOFILE ??= "4096" - -do_install_append () { - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver - install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon - - install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir} - install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir} - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/ - sed -i -e 's,@SBINDIR@,${sbindir},g' \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \ - ${D}${systemd_unitdir}/system/*.service - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/ - install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/ - ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount - fi - - # kernel code as of 3.8 hard-codes this path as a default - install -d ${D}/var/lib/nfs/v4recovery - - # chown the directories and files - chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd - chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state - - # Make python tools use python 3 - sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat -} diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb new file mode 100644 index 000000000..5500a9249 --- /dev/null +++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb @@ -0,0 +1,145 @@ +SUMMARY = "userspace utilities for kernel nfs" +DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \ +NFS server and related tools." +HOMEPAGE = "http://nfs.sourceforge.net/" +SECTION = "console/network" + +LICENSE = "MIT & GPLv2+ & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84" + +# util-linux for libblkid +DEPENDS = "libcap libevent util-linux sqlite3 libtirpc" +RDEPENDS_${PN} = "${PN}-client" +RRECOMMENDS_${PN} = "kernel-module-nfsd" + +inherit useradd + +USERADD_PACKAGES = "${PN}-client" +USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \ + --shell /bin/false --user-group rpcuser" + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \ + file://nfsserver \ + file://nfscommon \ + file://nfs-utils.conf \ + file://nfs-server.service \ + file://nfs-mountd.service \ + file://nfs-statd.service \ + file://proc-fs-nfsd.mount \ + file://nfs-utils-debianize-start-statd.patch \ + file://bugfix-adjust-statd-service-name.patch \ + file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \ + file://clang-warnings.patch \ + " +SRC_URI[sha256sum] = "51997d94e4c8bcef5456dd36a9ccc38e231207c4e9b6a9a2c108841e6aebe3dd" + +# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will +# pull in the remainder of the dependencies. + +INITSCRIPT_PACKAGES = "${PN} ${PN}-client" +INITSCRIPT_NAME = "nfsserver" +INITSCRIPT_PARAMS = "defaults" +INITSCRIPT_NAME_${PN}-client = "nfscommon" +INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21" + +inherit autotools-brokensep update-rc.d systemd pkgconfig + +SYSTEMD_PACKAGES = "${PN} ${PN}-client" +SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service" +SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service" + +# --enable-uuid is need for cross-compiling +EXTRA_OECONF = "--with-statduser=rpcuser \ + --enable-mountconfig \ + --enable-libmount-mount \ + --enable-uuid \ + --disable-gss \ + --disable-nfsdcltrack \ + --with-statdpath=/var/lib/nfs/statd \ + --with-rpcgen=${HOSTTOOLS_DIR}/rpcgen \ + " + +PACKAGECONFIG ??= "tcp-wrappers \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ +" +PACKAGECONFIG_remove_libc-musl = "tcp-wrappers" +PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers" +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +# libdevmapper is available in meta-oe +PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper,libdevmapper" +# keyutils is available in meta-oe +PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils,python3-core" + +PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats" + +CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \ + ${localstatedir}/lib/nfs/rmtab \ + ${localstatedir}/lib/nfs/xtab \ + ${localstatedir}/lib/nfs/statd/state \ + ${sysconfdir}/nfsmount.conf" + +FILES_${PN}-client = "${sbindir}/*statd \ + ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \ + ${sbindir}/showmount ${sbindir}/nfsstat \ + ${localstatedir}/lib/nfs \ + ${sysconfdir}/nfs-utils.conf \ + ${sysconfdir}/nfsmount.conf \ + ${sysconfdir}/init.d/nfscommon \ + ${systemd_unitdir}/system/nfs-statd.service" +RDEPENDS_${PN}-client = "${PN}-mount rpcbind" + +FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*" + +FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat ${sbindir}/nfsdclnts" +RDEPENDS_${PN}-stats = "python3-core" + +FILES_${PN}-staticdev += "${libdir}/libnfsidmap/*.a" + +FILES_${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/" + +do_configure_prepend() { + sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \ + ${S}/utils/mount/Makefile.am +} + +# Make clean needed because the package comes with +# precompiled 64-bit objects that break the build +do_compile_prepend() { + make clean +} + +# Works on systemd only +HIGH_RLIMIT_NOFILE ??= "4096" + +do_install_append () { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver + install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon + + install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir} + install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir} + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \ + ${D}${systemd_unitdir}/system/*.service + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/ + install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/ + ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount + fi + + # kernel code as of 3.8 hard-codes this path as a default + install -d ${D}/var/lib/nfs/v4recovery + + # chown the directories and files + chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd + chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state + + # Make python tools use python 3 + sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat +} diff --git a/poky/meta/recipes-core/coreutils/coreutils/0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch b/poky/meta/recipes-core/coreutils/coreutils/0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch new file mode 100644 index 000000000..06b6307da --- /dev/null +++ b/poky/meta/recipes-core/coreutils/coreutils/0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch @@ -0,0 +1,167 @@ +From 3a48610860a9a75692d2cbedde69ac15269d540a Mon Sep 17 00:00:00 2001 +Message-Id: <3a48610860a9a75692d2cbedde69ac15269d540a.1624302273.git.wallinux@gmail.com> +From: Paul Eggert +Date: Wed, 15 Apr 2020 20:50:32 -0700 +Subject: [PATCH] fts: remove NOSTAT_LEAF_OPTIMIZATION +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It caused ‘find’ and ‘du’ to dump core, and it was useful +only for obsolescent Linux filesystems anyway. Problem reported in: +https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html +Quite possibly there is still a serious underlying fts bug with +tight-loop-check and mutating file systems, but if so this patch +should cause the bug to be triggered less often. +* lib/fts.c (enum leaf_optimization): Remove +NOSTAT_LEAF_OPTIMIZATION, as it’s problematic. +(S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed. +(leaf_optimization): Remove special cases for ReiserFS and XFS. +(fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code. +* lib/fts_.h (struct _ftsent.fts_n_dirs_remaining): +Remove. All uses removed. + +Upstream-Status: Backport [upstream gnulib commit: +47bf2cf3184027c1eb9c1dfeea5c5b8b2d69710d] + +Signed-off-by: Anders Wallin +--- + lib/fts.c | 56 ++++++++---------------------------------------------- + lib/fts_.h | 5 ----- + 2 files changed, 8 insertions(+), 53 deletions(-) + +diff --git a/lib/fts.c b/lib/fts.c +index d3a0472..ade8c33 100644 +--- a/lib/fts.c ++++ b/lib/fts.c +@@ -445,7 +445,6 @@ fts_open (char * const *argv, + if ((parent = fts_alloc(sp, "", 0)) == NULL) + goto mem2; + parent->fts_level = FTS_ROOTPARENTLEVEL; +- parent->fts_n_dirs_remaining = -1; + } + + /* The classic fts implementation would call fts_stat with +@@ -634,9 +633,8 @@ fts_close (FTS *sp) + } + + /* Minimum link count of a traditional Unix directory. When leaf +- optimization is OK and MIN_DIR_NLINK <= st_nlink, then st_nlink is +- an upper bound on the number of subdirectories (counting "." and +- ".."). */ ++ optimization is OK and a directory's st_nlink == MIN_DIR_NLINK, ++ then the directory has no subdirectories. */ + enum { MIN_DIR_NLINK = 2 }; + + /* Whether leaf optimization is OK for a directory. */ +@@ -645,12 +643,8 @@ enum leaf_optimization + /* st_nlink is not reliable for this directory's subdirectories. */ + NO_LEAF_OPTIMIZATION, + +- /* Leaf optimization is OK, but is not useful for avoiding stat calls. */ +- OK_LEAF_OPTIMIZATION, +- +- /* Leaf optimization is not only OK: it is useful for avoiding +- stat calls, because dirent.d_type does not work. */ +- NOSTAT_LEAF_OPTIMIZATION ++ /* st_nlink == 2 means the directory lacks subdirectories. */ ++ OK_LEAF_OPTIMIZATION + }; + + #if (defined __linux__ || defined __ANDROID__) \ +@@ -663,9 +657,7 @@ enum leaf_optimization + # define S_MAGIC_CIFS 0xFF534D42 + # define S_MAGIC_NFS 0x6969 + # define S_MAGIC_PROC 0x9FA0 +-# define S_MAGIC_REISERFS 0x52654973 + # define S_MAGIC_TMPFS 0x1021994 +-# define S_MAGIC_XFS 0x58465342 + + # ifdef HAVE___FSWORD_T + typedef __fsword_t fsword; +@@ -782,23 +774,15 @@ dirent_inode_sort_may_be_useful (FTSENT const *p, int dir_fd) + } + + /* Given an FTS entry P for a directory with descriptor DIR_FD, +- return true if it is both useful and valid to apply leaf optimization. +- The optimization is useful only for file systems that lack usable +- dirent.d_type info. The optimization is valid if an st_nlink value +- of at least MIN_DIR_NLINK is an upper bound on the number of +- subdirectories of D, counting "." and ".." as subdirectories. ++ return whether it is valid to apply leaf optimization. ++ The optimization is valid if a directory's st_nlink value equal ++ to MIN_DIR_NLINK means the directory has no subdirectories. + DIR_FD is negative if unavailable. */ + static enum leaf_optimization + leaf_optimization (FTSENT const *p, int dir_fd) + { + switch (filesystem_type (p, dir_fd)) + { +- /* List here the file system types that may lack usable dirent.d_type +- info, yet for which the optimization does apply. */ +- case S_MAGIC_REISERFS: +- case S_MAGIC_XFS: /* XFS lacked it until 2013-08-22 commit. */ +- return NOSTAT_LEAF_OPTIMIZATION; +- + case 0: + /* Leaf optimization is unsafe if the file system type is unknown. */ + FALLTHROUGH; +@@ -1023,26 +1007,7 @@ check_for_dir: + if (p->fts_info == FTS_NSOK) + { + if (p->fts_statp->st_size == FTS_STAT_REQUIRED) +- { +- FTSENT *parent = p->fts_parent; +- if (parent->fts_n_dirs_remaining == 0 +- && ISSET(FTS_NOSTAT) +- && ISSET(FTS_PHYSICAL) +- && (leaf_optimization (parent, sp->fts_cwd_fd) +- == NOSTAT_LEAF_OPTIMIZATION)) +- { +- /* nothing more needed */ +- } +- else +- { +- p->fts_info = fts_stat(sp, p, false); +- if (S_ISDIR(p->fts_statp->st_mode) +- && p->fts_level != FTS_ROOTLEVEL +- && 0 < parent->fts_n_dirs_remaining +- && parent->fts_n_dirs_remaining != (nlink_t) -1) +- parent->fts_n_dirs_remaining--; +- } +- } ++ p->fts_info = fts_stat(sp, p, false); + else + fts_assert (p->fts_statp->st_size == FTS_NO_STAT_REQUIRED); + } +@@ -1826,11 +1791,6 @@ err: memset(sbp, 0, sizeof(struct stat)); + } + + if (S_ISDIR(sbp->st_mode)) { +- p->fts_n_dirs_remaining +- = ((sbp->st_nlink < MIN_DIR_NLINK +- || p->fts_level <= FTS_ROOTLEVEL) +- ? -1 +- : sbp->st_nlink - (ISSET (FTS_SEEDOT) ? 0 : MIN_DIR_NLINK)); + if (ISDOT(p->fts_name)) { + /* Command-line "." and ".." are real directories. */ + return (p->fts_level == FTS_ROOTLEVEL ? FTS_D : FTS_DOT); +diff --git a/lib/fts_.h b/lib/fts_.h +index 6c7d0ce..15c248c 100644 +--- a/lib/fts_.h ++++ b/lib/fts_.h +@@ -219,11 +219,6 @@ typedef struct _ftsent { + + size_t fts_namelen; /* strlen(fts_name) */ + +- /* If not (nlink_t) -1, an upper bound on the number of +- remaining subdirectories of interest. If this becomes +- zero, some work can be avoided. */ +- nlink_t fts_n_dirs_remaining; +- + # define FTS_D 1 /* preorder directory */ + # define FTS_DC 2 /* directory that causes cycles */ + # define FTS_DEFAULT 3 /* none of the above */ +-- +2.32.0 + diff --git a/poky/meta/recipes-core/coreutils/coreutils_8.32.bb b/poky/meta/recipes-core/coreutils/coreutils_8.32.bb index f3fe31fd3..dd271d496 100644 --- a/poky/meta/recipes-core/coreutils/coreutils_8.32.bb +++ b/poky/meta/recipes-core/coreutils/coreutils_8.32.bb @@ -21,6 +21,7 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ file://0001-local.mk-fix-cross-compiling-problem.patch \ file://run-ptest \ file://0001-ls-restore-8.31-behavior-on-removed-directories.patch \ + file://0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch \ " SRC_URI[md5sum] = "022042695b7d5bcf1a93559a9735e668" diff --git a/poky/meta/recipes-core/ell/ell_0.40.bb b/poky/meta/recipes-core/ell/ell_0.40.bb deleted file mode 100644 index d08867622..000000000 --- a/poky/meta/recipes-core/ell/ell_0.40.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Embedded Linux Library" -HOMEPAGE = "https://01.org/ell" -DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ -low-level functionality for system daemons. It typically has no \ -dependencies other than the Linux kernel, C standard library, and \ -libdl (for dynamic linking). While ELL is designed to be efficient \ -and compact enough for use on embedded Linux platforms, it is not \ -limited to resource-constrained systems." -SECTION = "libs" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" - -DEPENDS = "dbus" - -inherit autotools pkgconfig - -SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \ - file://0001-pem.c-do-not-use-rawmemchr.patch \ - " -SRC_URI[sha256sum] = "b9bf5c14f2963591ea1372049c05646919a9ed46fcee5cd11ede1022c99ffbbd" - -do_configure_prepend () { - mkdir -p ${S}/build-aux -} diff --git a/poky/meta/recipes-core/ell/ell_0.41.bb b/poky/meta/recipes-core/ell/ell_0.41.bb new file mode 100644 index 000000000..5fd3077bc --- /dev/null +++ b/poky/meta/recipes-core/ell/ell_0.41.bb @@ -0,0 +1,24 @@ +SUMMARY = "Embedded Linux Library" +HOMEPAGE = "https://01.org/ell" +DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \ +low-level functionality for system daemons. It typically has no \ +dependencies other than the Linux kernel, C standard library, and \ +libdl (for dynamic linking). While ELL is designed to be efficient \ +and compact enough for use on embedded Linux platforms, it is not \ +limited to resource-constrained systems." +SECTION = "libs" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09" + +DEPENDS = "dbus" + +inherit autotools pkgconfig + +SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \ + file://0001-pem.c-do-not-use-rawmemchr.patch \ + " +SRC_URI[sha256sum] = "4e8dba6c53cf152dbd0fd1dc3d4c7b04abf79e20a948895f85943e586870505c" + +do_configure_prepend () { + mkdir -p ${S}/build-aux +} diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch index 7fbc07af5..f34f30bb3 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -1,4 +1,4 @@ -From b7abbba886d3743616f8cc0e8b441c879128bbda Mon Sep 17 00:00:00 2001 +From e56cdb8c343dd6a6ed3b10bd54e353d633ad6158 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 11 Mar 2016 15:35:55 +0000 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb deleted file mode 100644 index 0cf16884e..000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb +++ /dev/null @@ -1,54 +0,0 @@ -require glib.inc - -PE = "1" - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ - file://run-ptest \ - file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ - file://Enable-more-tests-while-cross-compiling.patch \ - file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ - file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ - file://0001-Do-not-ignore-return-value-of-write.patch \ - file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ - file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ - file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ - file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ - file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ - file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \ - " -SRC_URI_append_class-native = " file://relocate-modules.patch" - -SRC_URI[sha256sum] = "ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb" - -# Find any meson cross files in FILESPATH that are relevant for the current -# build (using siteinfo) and add them to EXTRA_OEMESON. -inherit siteinfo -def find_meson_cross_files(d): - if bb.data.inherits_class('native', d): - return "" - - thisdir = os.path.normpath(d.getVar("THISDIR")) - import collections - sitedata = siteinfo_data(d) - # filename -> found - files = collections.OrderedDict() - for path in d.getVar("FILESPATH").split(":"): - for element in sitedata: - filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) - sanitized_path = filename.replace(thisdir, "${THISDIR}") - if sanitized_path == filename: - if os.path.exists(filename): - bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) - continue - files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) - - items = ["--cross-file=" + k for k,v in files.items() if v] - d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) - items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] - d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) - -python () { - find_meson_cross_files(d) -} diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb new file mode 100644 index 000000000..2a3a00fad --- /dev/null +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb @@ -0,0 +1,54 @@ +require glib.inc + +PE = "1" + +SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ + file://run-ptest \ + file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ + file://Enable-more-tests-while-cross-compiling.patch \ + file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ + file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ + file://0001-Do-not-ignore-return-value-of-write.patch \ + file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ + file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ + file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ + file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ + file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ + file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \ + " +SRC_URI_append_class-native = " file://relocate-modules.patch" + +SRC_URI[sha256sum] = "e7e1a3c20c026109c45c9ec4a31d8dcebc22e86c69486993e565817d64be3138" + +# Find any meson cross files in FILESPATH that are relevant for the current +# build (using siteinfo) and add them to EXTRA_OEMESON. +inherit siteinfo +def find_meson_cross_files(d): + if bb.data.inherits_class('native', d): + return "" + + thisdir = os.path.normpath(d.getVar("THISDIR")) + import collections + sitedata = siteinfo_data(d) + # filename -> found + files = collections.OrderedDict() + for path in d.getVar("FILESPATH").split(":"): + for element in sitedata: + filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) + sanitized_path = filename.replace(thisdir, "${THISDIR}") + if sanitized_path == filename: + if os.path.exists(filename): + bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) + continue + files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) + + items = ["--cross-file=" + k for k,v in files.items() if v] + d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) + items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] + d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) + +python () { + find_meson_cross_files(d) +} diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc index c3d0d9152..92e5dbac6 100644 --- a/poky/meta/recipes-core/glibc/glibc-package.inc +++ b/poky/meta/recipes-core/glibc/glibc-package.inc @@ -43,7 +43,7 @@ FILES_${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a" FILES_nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \ ${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd" FILES_${PN}-mtrace = "${bindir}/mtrace" -FILES_tzcode = "${bindir}/tzselect ${sbindir}/zic ${sbindir}/zdump" +FILES_tzcode = "${bindir}/tzselect ${sbindir}/zic ${bindir}/zdump" FILES_${PN}-utils = "${bindir}/* ${sbindir}/*" FILES_catchsegv = "${bindir}/catchsegv" RDEPENDS_catchsegv = "libsegfault" diff --git a/poky/meta/recipes-core/glibc/glibc_2.33.bb b/poky/meta/recipes-core/glibc/glibc_2.33.bb index b70cd0978..caa2e2ae1 100644 --- a/poky/meta/recipes-core/glibc/glibc_2.33.bb +++ b/poky/meta/recipes-core/glibc/glibc_2.33.bb @@ -90,10 +90,10 @@ EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" EXTRA_OECONF_append_x86 = " --enable-cet" EXTRA_OECONF_append_x86-64 = " --enable-cet" -EXTRA_OECONF_append_aarch64 = " --enable-memory-tagging" PACKAGECONFIG ??= "nscd" PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd" +PACKAGECONFIG[memory-tagging] = "--enable-memory-tagging,--disable-memory-tagging" do_patch_append() { bb.build.exec_func('do_fix_readlib_c', d) diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb index 1aeb952db..32f8d16a4 100644 --- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx" inherit core-image setuptools3 -SRCREV ?= "42514ade8bdb9502f49a56752561f6c2e9f23348" +SRCREV ?= "b44849c32c87fbb8c5a465ecc29a6182e6781d78" SRC_URI = "git://git.yoctoproject.org/poky \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ diff --git a/poky/meta/recipes-core/musl/gcompat_git.bb b/poky/meta/recipes-core/musl/gcompat_git.bb new file mode 100644 index 000000000..863ba8dbf --- /dev/null +++ b/poky/meta/recipes-core/musl/gcompat_git.bb @@ -0,0 +1,54 @@ +# Copyright (C) 2021 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "A library which provides glibc-compatible APIs for use on musl libc systems" +HOMEPAGE = "https://git.adelielinux.org/adelie/gcompat" + +LICENSE = "NCSA" +LIC_FILES_CHKSUM = "file://LICENSE;md5=eb33ef4af05a9c7602843afb7adfe792" + +SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current" + +PV = "1.0.0+1.1+git${SRCPV}" +SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793" + +S = "${WORKDIR}/git" + +inherit pkgconfig linuxloader siteinfo + +DEPENDS += "musl-obstack" + +GLIBC_LDSO = "${@get_glibc_loader(d)}" +MUSL_LDSO = "${@get_musl_loader(d)}" + +EXTRA_OEMAKE = "LINKER_PATH=${MUSL_LDSO} \ + LOADER_NAME=`basename ${GLIBC_LDSO}` \ + " + +do_configure () { + : +} + +do_compile () { + oe_runmake +} + +do_install () { + oe_runmake install 'DESTDIR=${D}' + if [ "${SITEINFO_BITS}" = "64" ]; then + install -d ${D}/lib64 + lnr ${D}${GLIBC_LDSO} ${D}/lib64/`basename ${GLIBC_LDSO}` + fi +} + +FILES_${PN} += "/lib64" + +INSANE_SKIP_${PN} = "libdir" + +RPROVIDES_${PN} += "musl-glibc-compat" +# +# We will skip parsing for non-musl systems +# +COMPATIBLE_HOST = ".*-musl.*" + +UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-core/musl/libssp-nonshared.bb b/poky/meta/recipes-core/musl/libssp-nonshared.bb index bae8c81cc..81c87e8e8 100644 --- a/poky/meta/recipes-core/musl/libssp-nonshared.bb +++ b/poky/meta/recipes-core/musl/libssp-nonshared.bb @@ -2,11 +2,12 @@ # Released under the MIT license (see COPYING.MIT for the terms) SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl" -LICENSE = "GPL-3.0-with-GCC-exception" -LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://stack_chk.c;beginline=1;endline=30;md5=97e59d9deee678a9332c9ddb2ab6360d" SECTION = "libs" -SRC_URI = "file://ssp-local.c" +# Sourced from https://github.com/intel/linux-sgx/blob/master/sdk/compiler-rt/stack_chk.c +SRC_URI = "file://stack_chk.c" INHIBIT_DEFAULT_DEPS = "1" @@ -19,8 +20,8 @@ do_configure[noexec] = "1" S = "${WORKDIR}" do_compile() { - ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c ssp-local.c -o ssp-local.o - ${AR} r libssp_nonshared.a ssp-local.o + ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o + ${AR} r libssp_nonshared.a stack_chk.o } do_install() { install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a diff --git a/poky/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/poky/meta/recipes-core/musl/libssp-nonshared/ssp-local.c deleted file mode 100644 index 8f51afa2c..000000000 --- a/poky/meta/recipes-core/musl/libssp-nonshared/ssp-local.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Stack protector support. - Copyright (C) 2005-2018 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -GCC 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 General Public License -for more details. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -. */ - -extern void __stack_chk_fail (void); - -/* Some targets can avoid loading a GP for calls to hidden functions. - Using this entry point may avoid the load of a GP entirely for the - function, making the overall code smaller. */ - -void -__attribute__((visibility ("hidden"))) -__stack_chk_fail_local (void) -{ - __stack_chk_fail (); -} diff --git a/poky/meta/recipes-core/musl/libssp-nonshared/stack_chk.c b/poky/meta/recipes-core/musl/libssp-nonshared/stack_chk.c new file mode 100644 index 000000000..097aae24b --- /dev/null +++ b/poky/meta/recipes-core/musl/libssp-nonshared/stack_chk.c @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2011-2021 Intel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Intel Corporation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +extern void __attribute__((noreturn)) __stack_chk_fail(void); + +void +__attribute__((noreturn)) +__attribute__((visibility ("hidden"))) +__stack_chk_fail_local (void) +{ + __stack_chk_fail (); +} diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 795b888bb..bd9d5f1d4 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -68,13 +68,9 @@ do_install() { echo "${libdir}" >> ${D}${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path rm -f ${D}${bindir}/ldd ${D}${GLIBC_LDSO} lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd - lnr ${D}${libdir}/libc.so ${D}${GLIBC_LDSO} } -PACKAGES =+ "${PN}-glibc-compat" - FILES_${PN} += "/lib/ld-musl-${MUSL_LDSO_ARCH}.so.1 ${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path" -FILES_${PN}-glibc-compat += "${GLIBC_LDSO}" FILES_${PN}-staticdev = "${libdir}/libc.a" FILES_${PN}-dev =+ "${libdir}/libcrypt.a ${libdir}/libdl.a ${libdir}/libm.a \ ${libdir}/libpthread.a ${libdir}/libresolv.a \ @@ -88,3 +84,5 @@ RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)" LEAD_SONAME = "libc.so" INSANE_SKIP_${PN}-dev = "staticdev" INSANE_SKIP_${PN} = "libdir" + +UPSTREAM_CHECK_COMMITS = "1" diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch index c32963a80..89d9ffab5 100644 --- a/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch +++ b/poky/meta/recipes-core/ovmf/ovmf/0001-ovmf-update-path-to-native-BaseTools.patch @@ -1,7 +1,7 @@ -From 200ff35c6545b4ab85f5ea7a6096fbaec3d82f6d Mon Sep 17 00:00:00 2001 +From 1125f5a02c2f327aeffe2d6b66a9d816ad2eeec0 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Thu, 9 Jun 2016 02:23:01 -0700 -Subject: [PATCH 1/4] ovmf: update path to native BaseTools +Subject: [PATCH 1/6] ovmf: update path to native BaseTools BaseTools is a set of utilities to build EDK-based firmware. These utilities are used during the build process. Thus, they need to be built natively. @@ -11,7 +11,6 @@ with the appropriate location before building. Signed-off-by: Ricardo Neri Upstream-Status: Pending - --- OvmfPkg/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -30,5 +29,5 @@ index 91b1442ade..1858dae31a 100755 source edksetup.sh BaseTools else -- -2.28.0 +2.32.0 diff --git a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch b/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch index c61a08f02..f6141c8af 100644 --- a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch +++ b/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch @@ -1,23 +1,22 @@ -From 667c0cf97dadc4f5994d26ec3984f559a05ec406 Mon Sep 17 00:00:00 2001 +From 19d4c7f9812062a683b3ba60b35aac0461190456 Mon Sep 17 00:00:00 2001 From: Ricardo Neri Date: Fri, 26 Jul 2019 17:34:26 -0400 -Subject: [PATCH 2/4] BaseTools: makefile: adjust to build in under bitbake +Subject: [PATCH 2/6] BaseTools: makefile: adjust to build in under bitbake Prepend the build flags with those of bitbake. This is to build using the bitbake native sysroot include and library directories. Signed-off-by: Ricardo Neri Upstream-Status: Pending - --- BaseTools/Source/C/Makefiles/header.makefile | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile -index 1c105ee7d4..d5eea3864e 100644 +index 0df728f327..1299d47c87 100644 --- a/BaseTools/Source/C/Makefiles/header.makefile +++ b/BaseTools/Source/C/Makefiles/header.makefile -@@ -69,35 +69,36 @@ $(error Bad HOST_ARCH) +@@ -75,35 +75,36 @@ $(error Bad HOST_ARCH) endif INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE) @@ -63,5 +62,5 @@ index 1c105ee7d4..d5eea3864e 100644 # # Snow Leopard is a 32-bit and 64-bit environment. uname -m returns i386, but gcc defaults -- -2.28.0 +2.32.0 diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-Update-to-latest.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-Update-to-latest.patch new file mode 100644 index 000000000..d71042989 --- /dev/null +++ b/poky/meta/recipes-core/ovmf/ovmf/0003-ovmf-Update-to-latest.patch @@ -0,0 +1,45 @@ +From 67267d8cc31df16a3608cad1a17c5f1470ef8bbd Mon Sep 17 00:00:00 2001 +From: Steve Langasek +Date: Sat, 10 Jun 2017 01:39:36 -0700 +Subject: [PATCH 3/6] ovmf: Update to latest + +Description: pass -fno-stack-protector to all GCC toolchains + The upstream build rules inexplicably pass -fno-stack-protector only + when building for i386 and amd64. Add this essential argument to the + generic rules for gcc 4.4 and later. +Last-Updated: 2016-04-12 +Upstream-Status: Pending +--- + BaseTools/Conf/tools_def.template | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template +index 498696e583..36241b6ede 100755 +--- a/BaseTools/Conf/tools_def.template ++++ b/BaseTools/Conf/tools_def.template +@@ -1897,10 +1897,10 @@ DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv -B riscv + # GCC Build Flag for included header file list generation + DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps + +-DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings ++DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -fno-stack-protector -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings + DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 +-DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address +-DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address ++DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -D EFI32 -fno-asynchronous-unwind-tables -Wno-address ++DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address + DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable + DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive + DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) +@@ -1909,7 +1909,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF + DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS) + DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian + DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian +-DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations ++DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mword-relocations + DEFINE GCC48_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) + DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) + DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) +-- +2.32.0 + diff --git a/poky/meta/recipes-core/ovmf/ovmf/0004-Strip-build-paths.patch b/poky/meta/recipes-core/ovmf/ovmf/0004-Strip-build-paths.patch new file mode 100644 index 000000000..dfb8a7339 --- /dev/null +++ b/poky/meta/recipes-core/ovmf/ovmf/0004-Strip-build-paths.patch @@ -0,0 +1,32 @@ +From b7cfe97895e0586d14403ba98e62a0cd9373da96 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 14 Jun 2021 19:55:08 +0200 +Subject: [PATCH 4/6] Strip build paths + +Pass --zero to GenFw in release builds so that the sections that link back to +the intermediate binaries (containing build paths) are removed. + +Upstream-Status: Pending (discussion at https://bugzilla.tianocore.org/show_bug.cgi?id=3256) +Signed-off-by: Ross Burton + +Signed-off-by: Alexander Kanavin +--- + OvmfPkg/OvmfPkgIa32.dsc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc +index 33fbd76790..06c6d5ce60 100644 +--- a/OvmfPkg/OvmfPkgIa32.dsc ++++ b/OvmfPkg/OvmfPkgIa32.dsc +@@ -91,6 +91,8 @@ + + !include NetworkPkg/NetworkBuildOptions.dsc.inc + ++ RELEASE_*_*_GENFW_FLAGS = --zero ++ + [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] + GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 + XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000 +-- +2.32.0 + diff --git a/poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch b/poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch deleted file mode 100644 index 128438b20..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/0004-ovmf-Update-to-latest.patch +++ /dev/null @@ -1,46 +0,0 @@ -From ad06fcf1e08736e79221cd6863ff2e3c9254f261 Mon Sep 17 00:00:00 2001 -From: Steve Langasek -Date: Sat, 10 Jun 2017 01:39:36 -0700 -Subject: [PATCH 4/4] ovmf: Update to latest - -Description: pass -fno-stack-protector to all GCC toolchains - The upstream build rules inexplicably pass -fno-stack-protector only - when building for i386 and amd64. Add this essential argument to the - generic rules for gcc 4.4 and later. -Last-Updated: 2016-04-12 -Upstream-Status: Pending - ---- - BaseTools/Conf/tools_def.template | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template -index 933b3160fd..c2fbbf0c38 100755 ---- a/BaseTools/Conf/tools_def.template -+++ b/BaseTools/Conf/tools_def.template -@@ -1952,10 +1952,10 @@ DEFINE GCC_RISCV64_RC_FLAGS = -I binary -O elf64-littleriscv -B riscv - # GCC Build Flag for included header file list generation - DEFINE GCC_DEPS_FLAGS = -MMD -MF $@.deps - --DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -+DEFINE GCC48_ALL_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -fno-stack-protector -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings - DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 --DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address --DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address -+DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -D EFI32 -fno-asynchronous-unwind-tables -Wno-address -+DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address - DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable - DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive - DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON) -@@ -1964,7 +1964,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF - DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS) - DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian - DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian --DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations -+DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mword-relocations - DEFINE GCC48_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS) - DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS) - DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS) --- -2.28.0 - diff --git a/poky/meta/recipes-core/ovmf/ovmf/0005-debug-prefix-map.patch b/poky/meta/recipes-core/ovmf/ovmf/0005-debug-prefix-map.patch new file mode 100644 index 000000000..e467d6f15 --- /dev/null +++ b/poky/meta/recipes-core/ovmf/ovmf/0005-debug-prefix-map.patch @@ -0,0 +1,104 @@ +From 860bb1979f3578bb83257076fe0f3bd33f9d68bf Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 14 Jun 2021 19:56:28 +0200 +Subject: [PATCH 5/6] debug prefix map + +We want to pass ${DEBUG_PREFIX_MAP} to gcc commands and also pass in + --debug-prefix-map to nasm (we carry a patch to nasm for this). The +tools definitions file is built by ovmf-native so we need to pass this in +at target build time when we know the right values so we use the environment. + +By using determininistc file paths during the ovmf build, it removes the +opportunitity for gcc/ld to change the output binaries due to path lengths +overflowing section sizes and causing small changes in the binary output. +Previously we relied on the stripped output being the same which isn't always +the case if the size of the debug symbols varies. + +Upstream-Status: Pending [gcc parts may be upstreamable, nasm patch isn't upstream yet] +Signed-off-by: Richard Purdie +Signed-off-by: Alexander Kanavin +--- + BaseTools/Conf/tools_def.template | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template +index 36241b6ede..947fbf2e8d 100755 +--- a/BaseTools/Conf/tools_def.template ++++ b/BaseTools/Conf/tools_def.template +@@ -1863,7 +1863,7 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_N + *_*_*_DTCPP_PATH = DEF(DTCPP_BIN) + *_*_*_DTC_PATH = DEF(DTC_BIN) + +-DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common ++DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common ENV(GCC_PREFIX_MAP) + DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe + DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe + DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie +@@ -1881,8 +1881,8 @@ DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _Ref + DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) + DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) + DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map +-DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h +-DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h ++DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h ENV(GCC_PREFIX_MAP) ++DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h ENV(GCC_PREFIX_MAP) + DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h + DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h + DEFINE GCC_ASLCC_FLAGS = -x c +@@ -2027,7 +2027,7 @@ DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include A + *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) + *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) + *_GCC48_IA32_OBJCOPY_FLAGS = +-*_GCC48_IA32_NASM_FLAGS = -f elf32 ++*_GCC48_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os + RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable +@@ -2055,7 +2055,7 @@ RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but + *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS) + *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) + *_GCC48_X64_OBJCOPY_FLAGS = +-*_GCC48_X64_NASM_FLAGS = -f elf64 ++*_GCC48_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os + RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable +@@ -2167,7 +2167,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s + *_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) + *_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) + *_GCC49_IA32_OBJCOPY_FLAGS = +-*_GCC49_IA32_NASM_FLAGS = -f elf32 ++*_GCC49_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os + RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable +@@ -2195,7 +2195,7 @@ RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but + *_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) + *_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) + *_GCC49_X64_OBJCOPY_FLAGS = +-*_GCC49_X64_NASM_FLAGS = -f elf64 ++*_GCC49_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os + RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable +@@ -2313,7 +2313,7 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20 + *_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie + *_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) + *_GCC5_IA32_OBJCOPY_FLAGS = +-*_GCC5_IA32_NASM_FLAGS = -f elf32 ++*_GCC5_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os + DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 +@@ -2345,7 +2345,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl, + *_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) + *_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) + *_GCC5_X64_OBJCOPY_FLAGS = +-*_GCC5_X64_NASM_FLAGS = -f elf64 ++*_GCC5_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) + + DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os + DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os +-- +2.32.0 + diff --git a/poky/meta/recipes-core/ovmf/ovmf/0006-reproducible.patch b/poky/meta/recipes-core/ovmf/ovmf/0006-reproducible.patch new file mode 100644 index 000000000..343c21b54 --- /dev/null +++ b/poky/meta/recipes-core/ovmf/ovmf/0006-reproducible.patch @@ -0,0 +1,180 @@ +From 27ed9962f5cb3afcc44d6c96c53277132a999712 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 14 Jun 2021 19:57:30 +0200 +Subject: [PATCH 6/6] reproducible + +This patch fixes various things which make the build more reproducible. Some changes +here only change intermediate artefacts but that means when you have two build trees +giving differing results, the differences can be isolated more easily. The issues here +usually become apparent with longer paths. + +This was all debugged with: +TMPDIR = "${TOPDIR}/tmp" +vs. +TMPDIR = "${TOPDIR}/tmp-inital-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath" + +The patch specifically: + + * Sorts output in GNUmakefile + * Always generates indirect flags files used to avoid pathlength issues else the + compile commands suddenly change when using longer paths + * Sorts the AutoGenTimeStamp file contents + * Makes the TargetDescBlock objects from BuildEngine sortable to allow the makefile fix + * Fix ElfConvert within GenFw so that only the basename of the binary being converted + is used, else the output from "GenFw XXX.bin" differs from "GenFw /long/path/XXX.bin" + with sufficiently long paths + +Upstream-Status: Pending [At least some of this might be interesting to upstream] +Signed-off-by: Richard Purdie +Signed-off-by: Alexander Kanavin +--- + BaseTools/Source/C/GenFw/Elf64Convert.c | 8 ++++--- + .../Source/Python/AutoGen/BuildEngine.py | 3 +++ + BaseTools/Source/Python/AutoGen/GenMake.py | 24 +++++++++---------- + .../Source/Python/AutoGen/ModuleAutoGen.py | 5 +++- + 4 files changed, 24 insertions(+), 16 deletions(-) + +diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c b/BaseTools/Source/C/GenFw/Elf64Convert.c +index d097db8632..a87ae6f3d0 100644 +--- a/BaseTools/Source/C/GenFw/Elf64Convert.c ++++ b/BaseTools/Source/C/GenFw/Elf64Convert.c +@@ -14,6 +14,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent + #ifndef __GNUC__ + #include + #include ++#else ++#define _GNU_SOURCE + #endif + #include + #include +@@ -769,7 +771,7 @@ ScanSections64 ( + } + mCoffOffset = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY) + + sizeof(EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY) + +- strlen(mInImageName) + 1; ++ strlen(basename(mInImageName)) + 1; + + mCoffOffset = CoffAlign(mCoffOffset); + if (SectionCount == 0) { +@@ -1608,7 +1610,7 @@ WriteDebug64 ( + EFI_IMAGE_DEBUG_DIRECTORY_ENTRY *Dir; + EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY *Nb10; + +- Len = strlen(mInImageName) + 1; ++ Len = strlen(basename(mInImageName)) + 1; + + Dir = (EFI_IMAGE_DEBUG_DIRECTORY_ENTRY*)(mCoffFile + mDebugOffset); + Dir->Type = EFI_IMAGE_DEBUG_TYPE_CODEVIEW; +@@ -1618,7 +1620,7 @@ WriteDebug64 ( + + Nb10 = (EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY*)(Dir + 1); + Nb10->Signature = CODEVIEW_SIGNATURE_NB10; +- strcpy ((char *)(Nb10 + 1), mInImageName); ++ strcpy ((char *)(Nb10 + 1), basename(mInImageName)); + + + NtHdr = (EFI_IMAGE_OPTIONAL_HEADER_UNION *)(mCoffFile + mNtHdrOffset); +diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py +index 722fead75a..8f1c236970 100644 +--- a/BaseTools/Source/Python/AutoGen/BuildEngine.py ++++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py +@@ -70,6 +70,9 @@ class TargetDescBlock(object): + else: + return str(Other) == self.Target.Path + ++ def __lt__(self, other): ++ return str(self) < str(other) ++ + def AddInput(self, Input): + if Input not in self.Inputs: + self.Inputs.append(Input) +diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py +index 961b2ab1c3..23c1592025 100755 +--- a/BaseTools/Source/Python/AutoGen/GenMake.py ++++ b/BaseTools/Source/Python/AutoGen/GenMake.py +@@ -575,7 +575,7 @@ cleanlib: + os.remove(RespFileList) + + # convert source files and binary files to build targets +- self.ResultFileList = [str(T.Target) for T in MyAgo.CodaTargetList] ++ self.ResultFileList = sorted([str(T.Target) for T in MyAgo.CodaTargetList]) + if len(self.ResultFileList) == 0 and len(MyAgo.SourceFileList) != 0: + EdkLogger.error("build", AUTOGEN_ERROR, "Nothing to build", + ExtraData="[%s]" % str(MyAgo)) +@@ -726,7 +726,7 @@ cleanlib: + OutputFile = '' + DepsFileList = [] + +- for Cmd in self.GenFfsList: ++ for Cmd in sorted(self.GenFfsList): + if Cmd[2]: + for CopyCmd in Cmd[2]: + Src, Dst = CopyCmd +@@ -759,7 +759,7 @@ cleanlib: + self.BuildTargetList.append('\t%s' % CmdString) + + self.ParseSecCmd(DepsFileList, Cmd[1]) +- for SecOutputFile, SecDepsFile, SecCmd in self.FfsOutputFileList : ++ for SecOutputFile, SecDepsFile, SecCmd in sorted(self.FfsOutputFileList): + self.BuildTargetList.append('%s : %s' % (self.ReplaceMacro(SecOutputFile), self.ReplaceMacro(SecDepsFile))) + self.BuildTargetList.append('\t%s' % self.ReplaceMacro(SecCmd)) + self.FfsOutputFileList = [] +@@ -798,13 +798,13 @@ cleanlib: + + def CommandExceedLimit(self): + FlagDict = { +- 'CC' : { 'Macro' : '$(CC_FLAGS)', 'Value' : False}, +- 'PP' : { 'Macro' : '$(PP_FLAGS)', 'Value' : False}, +- 'APP' : { 'Macro' : '$(APP_FLAGS)', 'Value' : False}, +- 'ASLPP' : { 'Macro' : '$(ASLPP_FLAGS)', 'Value' : False}, +- 'VFRPP' : { 'Macro' : '$(VFRPP_FLAGS)', 'Value' : False}, +- 'ASM' : { 'Macro' : '$(ASM_FLAGS)', 'Value' : False}, +- 'ASLCC' : { 'Macro' : '$(ASLCC_FLAGS)', 'Value' : False}, ++ 'CC' : { 'Macro' : '$(CC_FLAGS)', 'Value' : True}, ++ 'PP' : { 'Macro' : '$(PP_FLAGS)', 'Value' : True}, ++ 'APP' : { 'Macro' : '$(APP_FLAGS)', 'Value' : True}, ++ 'ASLPP' : { 'Macro' : '$(ASLPP_FLAGS)', 'Value' : True}, ++ 'VFRPP' : { 'Macro' : '$(VFRPP_FLAGS)', 'Value' : True}, ++ 'ASM' : { 'Macro' : '$(ASM_FLAGS)', 'Value' : True}, ++ 'ASLCC' : { 'Macro' : '$(ASLCC_FLAGS)', 'Value' : True}, + } + + RespDict = {} +@@ -1007,9 +1007,9 @@ cleanlib: + if not self.ObjTargetDict.get(T.Target.SubDir): + self.ObjTargetDict[T.Target.SubDir] = set() + self.ObjTargetDict[T.Target.SubDir].add(NewFile) +- for Type in self._AutoGenObject.Targets: ++ for Type in sorted(self._AutoGenObject.Targets): + resp_file_number = 0 +- for T in self._AutoGenObject.Targets[Type]: ++ for T in sorted(self._AutoGenObject.Targets[Type]): + # Generate related macros if needed + if T.GenFileListMacro and T.FileListMacro not in self.FileListMacros: + self.FileListMacros[T.FileListMacro] = [] +diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py +index d70b0d7ae8..25dca9a6df 100755 +--- a/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py ++++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py +@@ -1484,6 +1484,9 @@ class ModuleAutoGen(AutoGen): + for File in Files: + if File.lower().endswith('.pdb'): + AsBuiltInfDict['binary_item'].append('DISPOSABLE|' + File) ++ ++ AsBuiltInfDict['binary_item'] = sorted(AsBuiltInfDict['binary_item']) ++ + HeaderComments = self.Module.HeaderComments + StartPos = 0 + for Index in range(len(HeaderComments)): +@@ -1759,7 +1762,7 @@ class ModuleAutoGen(AutoGen): + if os.path.exists (self.TimeStampPath): + os.remove (self.TimeStampPath) + +- SaveFileOnChange(self.TimeStampPath, "\n".join(FileSet), False) ++ SaveFileOnChange(self.TimeStampPath, "\n".join(sorted(FileSet)), False) + + # Ignore generating makefile when it is a binary module + if self.IsBinaryModule: +-- +2.32.0 + diff --git a/poky/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch b/poky/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch deleted file mode 100644 index 0165fae7c..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch +++ /dev/null @@ -1,93 +0,0 @@ -We want to pass ${DEBUG_PREFIX_MAP} to gcc commands and also pass in - --debug-prefix-map to nasm (we carry a patch to nasm for this). The -tools definitions file is built by ovmf-native so we need to pass this in -at target build time when we know the right values so we use the environment. - -By using determininistc file paths during the ovmf build, it removes the -opportunitity for gcc/ld to change the output binaries due to path lengths -overflowing section sizes and causing small changes in the binary output. -Previously we relied on the stripped output being the same which isn't always -the case if the size of the debug symbols varies. - -Upstream-Status: Pending [gcc parts may be upstreamable, nasm patch isn't upstream yet] -Signed-off-by: Richard Purdie - - -Index: git/BaseTools/Conf/tools_def.template -=================================================================== ---- git.orig/BaseTools/Conf/tools_def.template -+++ git/BaseTools/Conf/tools_def.template -@@ -1918,7 +1918,7 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --a - *_*_*_DTCPP_PATH = DEF(DTCPP_BIN) - *_*_*_DTC_PATH = DEF(DTC_BIN) - --DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common -+DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common ENV(GCC_PREFIX_MAP) - DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe - DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe - DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie -@@ -1936,8 +1936,8 @@ DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = -fu - DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) - DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS) - DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map --DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h --DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h -+DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h ENV(GCC_PREFIX_MAP) -+DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h ENV(GCC_PREFIX_MAP) - DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h - DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h - DEFINE GCC_ASLCC_FLAGS = -x c -@@ -2082,7 +2082,7 @@ DEFINE GCC_PP_FLAGS - *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS) - *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) - *_GCC48_IA32_OBJCOPY_FLAGS = --*_GCC48_IA32_NASM_FLAGS = -f elf32 -+*_GCC48_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) - - DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os - RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable -@@ -2110,7 +2110,7 @@ RELEASE_GCC48_IA32_CC_FLAGS = DEF( - *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS) - *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) - *_GCC48_X64_OBJCOPY_FLAGS = --*_GCC48_X64_NASM_FLAGS = -f elf64 -+*_GCC48_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) - - DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os - RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable -@@ -2222,7 +2222,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(G - *_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) - *_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) - *_GCC49_IA32_OBJCOPY_FLAGS = --*_GCC49_IA32_NASM_FLAGS = -f elf32 -+*_GCC49_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) - - DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os - RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable -@@ -2250,7 +2250,7 @@ RELEASE_GCC49_IA32_CC_FLAGS = DEF( - *_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS) - *_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) - *_GCC49_X64_OBJCOPY_FLAGS = --*_GCC49_X64_NASM_FLAGS = -f elf64 -+*_GCC49_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) - - DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os - RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable -@@ -2368,7 +2368,7 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = - - *_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie - *_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS) - *_GCC5_IA32_OBJCOPY_FLAGS = --*_GCC5_IA32_NASM_FLAGS = -f elf32 -+*_GCC5_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP) - - DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os - DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386 -@@ -2400,7 +2400,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(G - *_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) - *_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS) - *_GCC5_X64_OBJCOPY_FLAGS = --*_GCC5_X64_NASM_FLAGS = -f elf64 -+*_GCC5_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP) - - DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os - DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os diff --git a/poky/meta/recipes-core/ovmf/ovmf/reproducible.patch b/poky/meta/recipes-core/ovmf/ovmf/reproducible.patch deleted file mode 100644 index 5d2aeaacf..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/reproducible.patch +++ /dev/null @@ -1,165 +0,0 @@ -This patch fixes various things which make the build more reproducible. Some changes -here only change intermediate artefacts but that means when you have two build trees -giving differing results, the differences can be isolated more easily. The issues here -usually become apparent with longer paths. - -This was all debugged with: -TMPDIR = "${TOPDIR}/tmp" -vs. -TMPDIR = "${TOPDIR}/tmp-inital-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath" - -The patch specifically: - - * Sorts output in GNUmakefile - * Always generates indirect flags files used to avoid pathlength issues else the - compile commands suddenly change when using longer paths - * Sorts the AutoGenTimeStamp file contents - * Makes the TargetDescBlock objects from BuildEngine sortable to allow the makefile fix - * Fix ElfConvert within GenFw so that only the basename of the binary being converted - is used, else the output from "GenFw XXX.bin" differs from "GenFw /long/path/XXX.bin" - with sufficiently long paths - -Upstream-Status: Pending [At least some of this might be interesting to upstream] -Signed-off-by: Richard Purdie - -Index: git/BaseTools/Source/Python/AutoGen/GenMake.py -=================================================================== ---- git.orig/BaseTools/Source/Python/AutoGen/GenMake.py -+++ git/BaseTools/Source/Python/AutoGen/GenMake.py -@@ -571,7 +571,7 @@ cleanlib: - os.remove(RespFileList) - - # convert source files and binary files to build targets -- self.ResultFileList = [str(T.Target) for T in MyAgo.CodaTargetList] -+ self.ResultFileList = sorted([str(T.Target) for T in MyAgo.CodaTargetList]) - if len(self.ResultFileList) == 0 and len(MyAgo.SourceFileList) != 0: - EdkLogger.error("build", AUTOGEN_ERROR, "Nothing to build", - ExtraData="[%s]" % str(MyAgo)) -@@ -722,7 +722,7 @@ cleanlib: - OutputFile = '' - DepsFileList = [] - -- for Cmd in self.GenFfsList: -+ for Cmd in sorted(self.GenFfsList): - if Cmd[2]: - for CopyCmd in Cmd[2]: - Src, Dst = CopyCmd -@@ -755,7 +755,7 @@ cleanlib: - self.BuildTargetList.append('\t%s' % CmdString) - - self.ParseSecCmd(DepsFileList, Cmd[1]) -- for SecOutputFile, SecDepsFile, SecCmd in self.FfsOutputFileList : -+ for SecOutputFile, SecDepsFile, SecCmd in sorted(self.FfsOutputFileList): - self.BuildTargetList.append('%s : %s' % (self.ReplaceMacro(SecOutputFile), self.ReplaceMacro(SecDepsFile))) - self.BuildTargetList.append('\t%s' % self.ReplaceMacro(SecCmd)) - self.FfsOutputFileList = [] -@@ -794,13 +794,13 @@ cleanlib: - - def CommandExceedLimit(self): - FlagDict = { -- 'CC' : { 'Macro' : '$(CC_FLAGS)', 'Value' : False}, -- 'PP' : { 'Macro' : '$(PP_FLAGS)', 'Value' : False}, -- 'APP' : { 'Macro' : '$(APP_FLAGS)', 'Value' : False}, -- 'ASLPP' : { 'Macro' : '$(ASLPP_FLAGS)', 'Value' : False}, -- 'VFRPP' : { 'Macro' : '$(VFRPP_FLAGS)', 'Value' : False}, -- 'ASM' : { 'Macro' : '$(ASM_FLAGS)', 'Value' : False}, -- 'ASLCC' : { 'Macro' : '$(ASLCC_FLAGS)', 'Value' : False}, -+ 'CC' : { 'Macro' : '$(CC_FLAGS)', 'Value' : True}, -+ 'PP' : { 'Macro' : '$(PP_FLAGS)', 'Value' : True}, -+ 'APP' : { 'Macro' : '$(APP_FLAGS)', 'Value' : True}, -+ 'ASLPP' : { 'Macro' : '$(ASLPP_FLAGS)', 'Value' : True}, -+ 'VFRPP' : { 'Macro' : '$(VFRPP_FLAGS)', 'Value' : True}, -+ 'ASM' : { 'Macro' : '$(ASM_FLAGS)', 'Value' : True}, -+ 'ASLCC' : { 'Macro' : '$(ASLCC_FLAGS)', 'Value' : True}, - } - - RespDict = {} -@@ -1003,9 +1003,9 @@ cleanlib: - if not self.ObjTargetDict.get(T.Target.SubDir): - self.ObjTargetDict[T.Target.SubDir] = set() - self.ObjTargetDict[T.Target.SubDir].add(NewFile) -- for Type in self._AutoGenObject.Targets: -+ for Type in sorted(self._AutoGenObject.Targets): - resp_file_number = 0 -- for T in self._AutoGenObject.Targets[Type]: -+ for T in sorted(self._AutoGenObject.Targets[Type]): - # Generate related macros if needed - if T.GenFileListMacro and T.FileListMacro not in self.FileListMacros: - self.FileListMacros[T.FileListMacro] = [] -Index: git/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py -=================================================================== ---- git.orig/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py -+++ git/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py -@@ -1484,6 +1484,9 @@ class ModuleAutoGen(AutoGen): - for File in Files: - if File.lower().endswith('.pdb'): - AsBuiltInfDict['binary_item'].append('DISPOSABLE|' + File) -+ -+ AsBuiltInfDict['binary_item'] = sorted(AsBuiltInfDict['binary_item']) -+ - HeaderComments = self.Module.HeaderComments - StartPos = 0 - for Index in range(len(HeaderComments)): -@@ -1759,7 +1762,7 @@ class ModuleAutoGen(AutoGen): - if os.path.exists (self.TimeStampPath): - os.remove (self.TimeStampPath) - -- SaveFileOnChange(self.TimeStampPath, "\n".join(FileSet), False) -+ SaveFileOnChange(self.TimeStampPath, "\n".join(sorted(FileSet)), False) - - # Ignore generating makefile when it is a binary module - if self.IsBinaryModule: -Index: git/BaseTools/Source/Python/AutoGen/BuildEngine.py -=================================================================== ---- git.orig/BaseTools/Source/Python/AutoGen/BuildEngine.py -+++ git/BaseTools/Source/Python/AutoGen/BuildEngine.py -@@ -70,6 +70,9 @@ class TargetDescBlock(object): - else: - return str(Other) == self.Target.Path - -+ def __lt__(self, other): -+ return str(self) < str(other) -+ - def AddInput(self, Input): - if Input not in self.Inputs: - self.Inputs.append(Input) -Index: git/BaseTools/Source/C/GenFw/Elf64Convert.c -=================================================================== ---- git.orig/BaseTools/Source/C/GenFw/Elf64Convert.c -+++ git/BaseTools/Source/C/GenFw/Elf64Convert.c -@@ -14,6 +14,8 @@ SPDX-License-Identifier: BSD-2-Clause-Pa - #ifndef __GNUC__ - #include - #include -+#else -+#define _GNU_SOURCE - #endif - #include - #include -@@ -770,7 +772,7 @@ ScanSections64 ( - } - mCoffOffset = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY) + - sizeof(EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY) + -- strlen(mInImageName) + 1; -+ strlen(basename(mInImageName)) + 1; - - mCoffOffset = CoffAlign(mCoffOffset); - if (SectionCount == 0) { -@@ -1609,7 +1611,7 @@ WriteDebug64 ( - EFI_IMAGE_DEBUG_DIRECTORY_ENTRY *Dir; - EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY *Nb10; - -- Len = strlen(mInImageName) + 1; -+ Len = strlen(basename(mInImageName)) + 1; - - Dir = (EFI_IMAGE_DEBUG_DIRECTORY_ENTRY*)(mCoffFile + mDebugOffset); - Dir->Type = EFI_IMAGE_DEBUG_TYPE_CODEVIEW; -@@ -1619,7 +1621,7 @@ WriteDebug64 ( - - Nb10 = (EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY*)(Dir + 1); - Nb10->Signature = CODEVIEW_SIGNATURE_NB10; -- strcpy ((char *)(Nb10 + 1), mInImageName); -+ strcpy ((char *)(Nb10 + 1), basename(mInImageName)); - - - NtHdr = (EFI_IMAGE_OPTIONAL_HEADER_UNION *)(mCoffFile + mNtHdrOffset); diff --git a/poky/meta/recipes-core/ovmf/ovmf/zero.patch b/poky/meta/recipes-core/ovmf/ovmf/zero.patch deleted file mode 100644 index af7a9d31f..000000000 --- a/poky/meta/recipes-core/ovmf/ovmf/zero.patch +++ /dev/null @@ -1,84 +0,0 @@ -Pass --zero to GenFw in release builds so that the sections that link back to -the intermediate binaries (containing build paths) are removed. - -Upstream-Status: Pending (discussion at https://bugzilla.tianocore.org/show_bug.cgi?id=3256) -Signed-off-by: Ross Burton - -From 6303b065802c9427c718fda129360189b79316e7 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Tue, 16 Mar 2021 16:49:49 +0000 -Subject: [PATCH] Strip build paths - ---- - OvmfPkg/AmdSev/AmdSevX64.dsc | 1 + - OvmfPkg/Bhyve/BhyveX64.dsc | 1 + - OvmfPkg/OvmfPkgIa32.dsc | 2 ++ - OvmfPkg/OvmfPkgIa32X64.dsc | 1 + - OvmfPkg/OvmfPkgX64.dsc | 1 + - OvmfPkg/OvmfXen.dsc | 1 + - 6 files changed, 7 insertions(+) - -diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc -index 4a1cdf5aca..132f55cf69 100644 ---- a/OvmfPkg/Bhyve/BhyveX64.dsc -+++ b/OvmfPkg/Bhyve/BhyveX64.dsc -@@ -76,6 +76,7 @@ - GCC:*_*_X64_GENFW_FLAGS = --keepexceptiontable - INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable - !endif -+ RELEASE_*_*_GENFW_FLAGS = --zero - - # - # Disable deprecated APIs. -diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index 1eaf3e99c6..ce20f09df8 100644 ---- a/OvmfPkg/OvmfPkgIa32.dsc -+++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -90,6 +90,8 @@ - - !include NetworkPkg/NetworkBuildOptions.dsc.inc - -+ RELEASE_*_*_GENFW_FLAGS = --zero -+ - [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] - GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 - XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000 -diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index 4a5a430147..97cc438250 100644 ---- a/OvmfPkg/OvmfPkgIa32X64.dsc -+++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -84,6 +84,7 @@ - GCC:*_*_X64_GENFW_FLAGS = --keepexceptiontable - INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable - !endif -+ RELEASE_*_*_GENFW_FLAGS = --zero - - # - # Disable deprecated APIs. -diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index d4d601b444..f544fb04bf 100644 ---- a/OvmfPkg/OvmfPkgX64.dsc -+++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -84,6 +84,7 @@ - GCC:*_*_X64_GENFW_FLAGS = --keepexceptiontable - INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable - !endif -+ RELEASE_*_*_GENFW_FLAGS = --zero - - # - # Disable deprecated APIs. -diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc -index 507029404f..fcaa35acf1 100644 ---- a/OvmfPkg/OvmfXen.dsc -+++ b/OvmfPkg/OvmfXen.dsc -@@ -74,6 +74,7 @@ - GCC:*_*_X64_GENFW_FLAGS = --keepexceptiontable - INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable - !endif -+ RELEASE_*_*_GENFW_FLAGS = --zero - - # - # Disable deprecated APIs. --- -2.25.1 - diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb index 888ea082e..90dae2aed 100644 --- a/poky/meta/recipes-core/ovmf/ovmf_git.bb +++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb @@ -15,15 +15,15 @@ PACKAGECONFIG[secureboot] = ",,," SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \ file://0001-ovmf-update-path-to-native-BaseTools.patch \ file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \ - file://0004-ovmf-Update-to-latest.patch \ - file://zero.patch \ - file://debug_prefix_map.patch \ - file://reproducible.patch \ + file://0003-ovmf-Update-to-latest.patch \ + file://0004-Strip-build-paths.patch \ + file://0005-debug-prefix-map.patch \ + file://0006-reproducible.patch \ file://0001-Fix-VLA-parameter-warning.patch \ " -PV = "edk2-stable202102" -SRCREV = "ef91b07388e1c0a50c604e5350eeda98428ccea6" +PV = "edk2-stable202105" +SRCREV = "e1999b264f1f9d7230edf2448f757c73da567832" UPSTREAM_CHECK_GITTAGREGEX = "(?Pedk2-stable.*)" inherit deploy diff --git a/poky/meta/recipes-core/systemd/systemd-conf/wired.network b/poky/meta/recipes-core/systemd/systemd-conf/wired.network index e7b69970d..740628724 100644 --- a/poky/meta/recipes-core/systemd/systemd-conf/wired.network +++ b/poky/meta/recipes-core/systemd/systemd-conf/wired.network @@ -1,5 +1,6 @@ [Match] Type=ether +Name=!veth* KernelCommandLine=!nfsroot KernelCommandLine=!ip diff --git a/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch index af1a6bb05..940db4c5c 100644 --- a/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch +++ b/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch @@ -47,9 +47,18 @@ index b7e18768e3..3195ab205d 100644 #if SIZEOF_DEV_T == 8 # define DEV_FMT "%" PRIu64 diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c -index 23d108d5df..94373c9422 100644 +index 23d108d5df..b037734ee3 100644 --- a/src/basic/rlimit-util.c +++ b/src/basic/rlimit-util.c +@@ -43,7 +43,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { + fixed.rlim_max == highest.rlim_max) + return 0; + +- log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", rlim->rlim_max, rlimit_to_string(resource), fixed.rlim_max); ++ log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", (uintmax_t)rlim->rlim_max, rlimit_to_string(resource), (uintmax_t)fixed.rlim_max); + + if (setrlimit(resource, &fixed) < 0) + return -errno; @@ -308,13 +308,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) s = strdup("infinity"); diff --git a/poky/meta/recipes-core/systemd/systemd_248.3.bb b/poky/meta/recipes-core/systemd/systemd_248.3.bb index 4e6565649..37607708f 100644 --- a/poky/meta/recipes-core/systemd/systemd_248.3.bb +++ b/poky/meta/recipes-core/systemd/systemd_248.3.bb @@ -507,6 +507,7 @@ FILES_${PN}-extra-utils = "\ ${bindir}/systemd-cgls \ ${bindir}/systemd-cgtop \ ${bindir}/systemd-stdio-bridge \ + ${bindir}/systemd-sysext \ ${base_bindir}/systemd-ask-password \ ${base_bindir}/systemd-tty-ask-password-agent \ ${systemd_unitdir}/system/systemd-ask-password-console.path \ diff --git a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.36.2.bb b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.36.2.bb deleted file mode 100644 index 9612c491c..000000000 --- a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.36.2.bb +++ /dev/null @@ -1,16 +0,0 @@ -# To allow util-linux to optionally build-depend on cryptsetup, libuuid is -# split out of the main recipe, as it's needed by cryptsetup - -require util-linux.inc - -inherit autotools gettext pkgconfig - -S = "${WORKDIR}/util-linux-${PV}" -EXTRA_OECONF += "--disable-all-programs --enable-libuuid" -LICENSE = "BSD-3-Clause" - -do_install_append() { - rm -rf ${D}${datadir} ${D}${bindir} ${D}${base_bindir} ${D}${sbindir} ${D}${base_sbindir} ${D}${exec_prefix}/sbin -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.bb b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.bb new file mode 100644 index 000000000..9612c491c --- /dev/null +++ b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.bb @@ -0,0 +1,16 @@ +# To allow util-linux to optionally build-depend on cryptsetup, libuuid is +# split out of the main recipe, as it's needed by cryptsetup + +require util-linux.inc + +inherit autotools gettext pkgconfig + +S = "${WORKDIR}/util-linux-${PV}" +EXTRA_OECONF += "--disable-all-programs --enable-libuuid" +LICENSE = "BSD-3-Clause" + +do_install_append() { + rm -rf ${D}${datadir} ${D}${bindir} ${D}${base_bindir} ${D}${sbindir} ${D}${base_sbindir} ${D}${exec_prefix}/sbin +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc index 6b47f417a..9d7d8a23a 100644 --- a/poky/meta/recipes-core/util-linux/util-linux.inc +++ b/poky/meta/recipes-core/util-linux/util-linux.inc @@ -35,6 +35,6 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin file://run-ptest \ file://display_testname_for_subtest.patch \ file://avoid_parallel_tests.patch \ - file://Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch \ + file://8a3a74160b96498d672e3652827aa7e6d7f3a120.patch \ " -SRC_URI[sha256sum] = "f7516ba9d8689343594356f0e5e1a5f0da34adfbc89023437735872bb5024c5f" +SRC_URI[sha256sum] = "bd07b7e98839e0359842110525a3032fdb8eaf3a90bedde3dd1652d32d15cce5" diff --git a/poky/meta/recipes-core/util-linux/util-linux/8a3a74160b96498d672e3652827aa7e6d7f3a120.patch b/poky/meta/recipes-core/util-linux/util-linux/8a3a74160b96498d672e3652827aa7e6d7f3a120.patch new file mode 100644 index 000000000..a5bb00ab6 --- /dev/null +++ b/poky/meta/recipes-core/util-linux/util-linux/8a3a74160b96498d672e3652827aa7e6d7f3a120.patch @@ -0,0 +1,29 @@ +From 8a3a74160b96498d672e3652827aa7e6d7f3a120 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 15 Jun 2021 12:04:43 +0200 +Subject: [PATCH] mkswap: fix holes detection (infinite loop and/or + stack-buffer-underflow) + +Reported-by: Brian Lane +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1971877 +Fix: https://github.com/karelzak/util-linux/issues/1348 +Signed-off-by: Karel Zak +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin +--- + disk-utils/mkswap.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/disk-utils/mkswap.c b/disk-utils/mkswap.c +index 27374fd72..c45a3a317 100644 +--- a/disk-utils/mkswap.c ++++ b/disk-utils/mkswap.c +@@ -267,6 +267,8 @@ static void check_extents(struct mkswap_control *ctl) + return; + + n = fiemap->fm_mapped_extents; ++ if (n == 0) ++ break; + + for (i = 0; i < n; i++) { + struct fiemap_extent *e = &fiemap->fm_extents[i]; diff --git a/poky/meta/recipes-core/util-linux/util-linux/Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch b/poky/meta/recipes-core/util-linux/util-linux/Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch deleted file mode 100644 index 272518914..000000000 --- a/poky/meta/recipes-core/util-linux/util-linux/Automake-use-EXTRA_LTLIBRARIES-instead-of-noinst_LTL.patch +++ /dev/null @@ -1,49 +0,0 @@ -Author: Luca Boccassi -Description: Automake: use EXTRA_LTLIBRARIES instead of noinst_LTLIBRARIES - noinst_LTLIBRARIES causes the libraries to be always built - unconditionally. EXTRA_LTLIBRARIES causes them to be built - only if other build target needs them. - In other words, avoid building libcommon.a and libtcolors.a - unless they are needed by another library/executable and - save some build time. -Upstream-Status: backport, commit:c65953d72bbc7412f32e566d9fa6e780d84f0696 ---- a/Makefile.am -+++ b/Makefile.am -@@ -39,7 +39,7 @@ bashcompletiondir = @bashcompletiondir@ - - dist_noinst_HEADERS = - noinst_PROGRAMS = --noinst_LTLIBRARIES = -+EXTRA_LTLIBRARIES = - usrbin_exec_PROGRAMS = - usrsbin_exec_PROGRAMS = - dist_man_MANS = -@@ -169,7 +169,7 @@ else - edit_cmd += -e 's|@vendordir[@]||g' - endif - --CLEANFILES += $(PATHFILES) -+CLEANFILES += $(PATHFILES) $(EXTRA_LTLIBRARIES) - EXTRA_DIST += $(PATHFILES:=.in) - - $(PATHFILES): Makefile ---- a/lib/Makemodule.am -+++ b/lib/Makemodule.am -@@ -9,7 +9,7 @@ - # Note that you need "make install-strip" (or proper rpm / Debian build) - # to generate binaries with only relevant stuff. - # --noinst_LTLIBRARIES += libcommon.la -+EXTRA_LTLIBRARIES += libcommon.la - libcommon_la_CFLAGS = $(AM_CFLAGS) - libcommon_la_SOURCES = \ - lib/blkdev.c \ -@@ -59,7 +59,7 @@ libcommon_la_SOURCES += lib/sysfs.c - endif - endif - --noinst_LTLIBRARIES += libtcolors.la -+EXTRA_LTLIBRARIES += libtcolors.la - libtcolors_la_CFLAGS = $(AM_CFLAGS) - libtcolors_la_SOURCES = lib/colors.c lib/color-names.c include/colors.h include/color-names.h - libtcolors_la_LIBADD = diff --git a/poky/meta/recipes-core/util-linux/util-linux/avoid_parallel_tests.patch b/poky/meta/recipes-core/util-linux/util-linux/avoid_parallel_tests.patch index 748b6ef09..f1cbdb3be 100644 --- a/poky/meta/recipes-core/util-linux/util-linux/avoid_parallel_tests.patch +++ b/poky/meta/recipes-core/util-linux/util-linux/avoid_parallel_tests.patch @@ -1,20 +1,29 @@ +From ee3c7812e1efa6719af68b994804f0e6caceabd8 Mon Sep 17 00:00:00 2001 +From: Tudor Florea +Date: Mon, 14 Jun 2021 14:00:31 +0200 +Subject: [PATCH] util-linux: Add ptest + Ptest needs buildtest-TESTS and runtest-TESTS targets. serial-tests is required to generate those targets. -Revert run.sh script accordingly to serialize running tests +Revert run.sh script accordingly to serialize running tests Signed-off-by: Tudor Florea -Upstream-Status: Inappropriate +Upstream-Status: Inappropriate + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -Index: util-linux-2.32/configure.ac -=================================================================== ---- util-linux-2.32.orig/configure.ac -+++ util-linux-2.32/configure.ac +diff --git a/configure.ac b/configure.ac +index 5664f9f..075ef27 100644 +--- a/configure.ac ++++ b/configure.ac @@ -11,7 +11,7 @@ AC_CONFIG_MACRO_DIR([m4]) dnl AC_USE_SYSTEM_EXTENSIONS must be called before any macros that run - dnl the compiler (like AC_PROG_LIBTOOL) to avoid autoconf errors. + dnl the compiler (like LT_INIT) to avoid autoconf errors. AC_USE_SYSTEM_EXTENSIONS --AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax no-dist-gzip dist-xz subdir-objects]) -+AM_INIT_AUTOMAKE([-Wall foreign 1.10 tar-pax no-dist-gzip dist-xz subdir-objects serial-tests]) +-AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign 1.10 tar-pax no-dist-gzip dist-xz subdir-objects]) ++AM_INIT_AUTOMAKE([-Wall -Wno-portability foreign 1.10 tar-pax no-dist-gzip dist-xz subdir-objects serial-tests]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])], [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])]) diff --git a/poky/meta/recipes-core/util-linux/util-linux/ptest.patch b/poky/meta/recipes-core/util-linux/util-linux/ptest.patch index 0537f7d85..ba2bd3f6a 100644 --- a/poky/meta/recipes-core/util-linux/util-linux/ptest.patch +++ b/poky/meta/recipes-core/util-linux/util-linux/ptest.patch @@ -1,23 +1,24 @@ -Define TESTS variable +From af073c13ef184ca75811df688e0a0a25827b36c3 Mon Sep 17 00:00:00 2001 +From: Tudor Florea +Date: Thu, 3 Dec 2015 04:08:00 +0100 +Subject: [PATCH] Define TESTS variable Signed-off-by: Tudor Florea Upstream-Status: Pending + --- Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.am b/Makefile.am -index bbaccb1..7d5a6bb 100644 +index 886598d..1cf4346 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -48,6 +48,7 @@ systemdsystemunit_DATA = +@@ -57,6 +57,7 @@ systemdsystemunit_DATA = dist_bashcompletion_DATA = check_PROGRAMS = dist_check_SCRIPTS = +TESTS = $(check_PROGRAMS) PATHFILES = - --- -2.8.3 - + ADOCFILES_COMMON = diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.36.2.bb b/poky/meta/recipes-core/util-linux/util-linux_2.36.2.bb deleted file mode 100644 index c79cf782d..000000000 --- a/poky/meta/recipes-core/util-linux/util-linux_2.36.2.bb +++ /dev/null @@ -1,332 +0,0 @@ -require util-linux.inc - -#gtk-doc is not enabled as it requires xmlto which requires util-linux -inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest -DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid" - -PACKAGES =+ "${PN}-swaponoff" -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', '${PN}-pylibmount', '', d)}" - -python util_linux_binpackages () { - def pkg_hook(f, pkg, file_regex, output_pattern, modulename): - pn = d.getVar('PN') - d.appendVar('RRECOMMENDS_%s' % pn, ' %s' % pkg) - - if d.getVar('ALTERNATIVE_' + pkg): - return - if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename): - d.setVar('ALTERNATIVE_' + pkg, modulename) - - bindirs = sorted(list(set(d.expand("${base_sbindir} ${base_bindir} ${sbindir} ${bindir}").split()))) - for dir in bindirs: - do_split_packages(d, root=dir, - file_regex=r'(.*)', output_pattern='${PN}-%s', - description='${PN} %s', - hook=pkg_hook, extra_depends='') - - # There are some symlinks for some binaries which we have ignored - # above. Add them to the package owning the binary they are - # pointing to - extras = {} - dvar = d.getVar('PKGD') - for root in bindirs: - for walkroot, dirs, files in os.walk(dvar + root): - for f in files: - file = os.path.join(walkroot, f) - if not os.path.islink(file): - continue - - pkg = os.path.basename(os.readlink(file)) - extras[pkg] = extras.get(pkg, '') + ' ' + file.replace(dvar, '', 1) - - pn = d.getVar('PN') - for pkg, links in extras.items(): - of = d.getVar('FILES_' + pn + '-' + pkg) - links = of + links - d.setVar('FILES_' + pn + '-' + pkg, links) -} - -# we must execute before update-alternatives PACKAGE_PREPROCESS_FUNCS -PACKAGE_PREPROCESS_FUNCS =+ "util_linux_binpackages " - -# skip libuuid as it will be packaged by the util-linux-libuuid recipe -python util_linux_libpackages() { - do_split_packages(d, root=d.getVar('UTIL_LINUX_LIBDIR'), file_regex=r'^lib(?!uuid)(.*)\.so\..*$', - output_pattern='${PN}-lib%s', - description='${PN} lib%s', - extra_depends='', prepend=True, allow_links=True) -} - -PACKAGESPLITFUNCS =+ "util_linux_libpackages" - -PACKAGES_DYNAMIC = "^${PN}-.*" - -CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=ms" -UTIL_LINUX_LIBDIR = "${libdir}" -UTIL_LINUX_LIBDIR_class-target = "${base_libdir}" -EXTRA_OECONF = "\ - --enable-libuuid --enable-libblkid \ - \ - --enable-fsck --enable-kill --enable-last --enable-mesg \ - --enable-mount --enable-partx --enable-raw --enable-rfkill \ - --enable-unshare --enable-write \ - \ - --disable-bfs --disable-chfn-chsh --disable-login \ - --disable-makeinstall-chown --disable-minix --disable-newgrp \ - --disable-use-tty-group --disable-vipw \ - \ - --without-udev \ - \ - usrsbin_execdir='${sbindir}' \ - --libdir='${UTIL_LINUX_LIBDIR}' \ -" - -EXTRA_OECONF_append_class-target = " --enable-setpriv" -EXTRA_OECONF_append_class-native = " --without-cap-ng --disable-setpriv" -EXTRA_OECONF_append_class-nativesdk = " --without-cap-ng --disable-setpriv" -EXTRA_OECONF_append = " --disable-hwclock-gplv3" - -# enable pcre2 for native/nativesdk to match host distros -# this helps to keep same expectations when using the SDK or -# build host versions during development -# -PACKAGECONFIG ?= "pcre2" -PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -# inherit manpages requires this to be present, however util-linux does not have -# configuration options, and installs manpages always -PACKAGECONFIG[manpages] = "" -PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," -# Respect the systemd feature for uuidd -PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd" -# Build python bindings for libmount -PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-python --disable-pylibmount,python3" -# Readline support -PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" -# PCRE support in hardlink -PACKAGECONFIG[pcre2] = ",,libpcre2" -PACKAGECONFIG[cryptsetup] = "--with-cryptsetup,--without-cryptsetup,cryptsetup" - -EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'" - -ALLOW_EMPTY_${PN} = "1" -FILES_${PN} = "" -FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*" -FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la" -FILES_${PN}-mount = "${sysconfdir}/default/mountall" -FILES_${PN}-runuser = "${sysconfdir}/pam.d/runuser*" -FILES_${PN}-su = "${sysconfdir}/pam.d/su-l" -CONFFILES_${PN}-su = "${sysconfdir}/pam.d/su-l" -FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \ - ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \ - ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*" - -# Util-linux' blkid replaces the e2fsprogs one -RCONFLICTS_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid" -RREPLACES_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid" - -RRECOMMENDS_${PN}_class-native = "" -RRECOMMENDS_${PN}_class-nativesdk = "" -RDEPENDS_${PN}_class-native = "" -RDEPENDS_${PN}_class-nativesdk = "" - -RDEPENDS_${PN} += " util-linux-libuuid" -RDEPENDS_${PN}-dev += " util-linux-libuuid-dev" - -RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev" - -RDEPENDS_${PN}-bash-completion += "${PN}-lsblk" -RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz" -RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug" -RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff" -ALLOW_EMPTY_${PN}-swaponoff = "1" - -#SYSTEMD_PACKAGES = "${PN}-uuidd ${PN}-fstrim" -SYSTEMD_SERVICE_${PN}-uuidd = "uuidd.socket uuidd.service" -SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable" -SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service" -SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable" - -do_install () { - # with ccache the timestamps on compiled files may - # end up earlier than on their inputs, this allows - # for the resultant compilation in the install step. - oe_runmake 'CC=${CC}' 'LD=${LD}' \ - 'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install - - mkdir -p ${D}${base_bindir} - - sbinprogs="agetty ctrlaltdel cfdisk vipw vigr" - sbinprogs_a="pivot_root hwclock mkswap losetup swapon swapoff fdisk fsck blkid blockdev fstrim sulogin switch_root nologin" - binprogs_a="dmesg getopt kill more umount mount login su mountpoint" - - if [ "${base_sbindir}" != "${sbindir}" ]; then - mkdir -p ${D}${base_sbindir} - for p in $sbinprogs $sbinprogs_a; do - if [ -f "${D}${sbindir}/$p" ]; then - mv "${D}${sbindir}/$p" "${D}${base_sbindir}/$p" - fi - done - fi - - if [ "${base_bindir}" != "${bindir}" ]; then - mkdir -p ${D}${base_bindir} - for p in $binprogs_a; do - if [ -f "${D}${bindir}/$p" ]; then - mv "${D}${bindir}/$p" "${D}${base_bindir}/$p" - fi - done - fi - - install -d ${D}${sysconfdir}/default/ - echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall - - rm -f ${D}${bindir}/chkdupexe -} - -do_install_append_class-target () { - if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then - install -d ${D}${sysconfdir}/pam.d - install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser - install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l - # Required for "su -" aka "su --login" because - # otherwise it uses "other", which has "auth pam_deny.so" - # and thus prevents the operation. - ln -s su ${D}${sysconfdir}/pam.d/su-l - fi -} -# nologin causes a conflict with shadow-native -# kill causes a conflict with coreutils-native (if ${bindir}==${base_bindir}) -do_install_append_class-native () { - rm -f ${D}${base_sbindir}/nologin - rm -f ${D}${base_bindir}/kill -} - -# dm-verity support introduces a circular build dependency, so util-linux-libuuid is split out for target builds -# Need to build libuuid for uuidgen, but then delete it and let the other recipe ship it -do_install_append () { - rm -rf ${D}${includedir}/uuid ${D}${libdir}/pkgconfig/uuid.pc ${D}${libdir}/libuuid* ${D}${base_libdir}/libuuid* -} - -ALTERNATIVE_PRIORITY = "80" - -ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid" -ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev" -ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal" -ALTERNATIVE_LINK_NAME[chrt] = "${bindir}/chrt" -ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg" -ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" -ALTERNATIVE_LINK_NAME[fallocate] = "${bindir}/fallocate" -ALTERNATIVE_LINK_NAME[fdisk] = "${base_sbindir}/fdisk" -ALTERNATIVE_LINK_NAME[flock] = "${bindir}/flock" -ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck" -ALTERNATIVE_LINK_NAME[fsfreeze] = "${sbindir}/fsfreeze" -ALTERNATIVE_LINK_NAME[fstrim] = "${base_sbindir}/fstrim" -ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" -ALTERNATIVE_${PN}-agetty = "getty" -ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty" -ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty" -ALTERNATIVE_LINK_NAME[hexdump] = "${bindir}/hexdump" -ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock" -ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice" -ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill" -ALTERNATIVE_${PN}-last = "last lastb" -ALTERNATIVE_LINK_NAME[last] = "${bindir}/last" -ALTERNATIVE_LINK_NAME[lastb] = "${bindir}/lastb" -ALTERNATIVE_LINK_NAME[logger] = "${bindir}/logger" -ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup" -ALTERNATIVE_LINK_NAME[mesg] = "${bindir}/mesg" -ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap" -ALTERNATIVE_LINK_NAME[mcookie] = "${bindir}/mcookie" -ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more" -ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount" -ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint" -ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin" -ALTERNATIVE_LINK_NAME[nsenter] = "${bindir}/nsenter" -ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root" -ALTERNATIVE_LINK_NAME[prlimit] = "${bindir}/prlimit" -ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile" -ALTERNATIVE_LINK_NAME[renice] = "${bindir}/renice" -ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev" -ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill" -ALTERNATIVE_LINK_NAME[rtcwake] = "${sbindir}/rtcwake" -ALTERNATIVE_LINK_NAME[setpriv] = "${bindir}/setpriv" -ALTERNATIVE_LINK_NAME[setsid] = "${bindir}/setsid" -ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" -ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" -ALTERNATIVE_LINK_NAME[swapoff] = "${base_sbindir}/swapoff" -ALTERNATIVE_LINK_NAME[swapon] = "${base_sbindir}/swapon" -ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root" -ALTERNATIVE_LINK_NAME[taskset] = "${bindir}/taskset" -ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount" -ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare" -ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump" -ALTERNATIVE_LINK_NAME[uuidgen] = "${bindir}/uuidgen" -ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall" - -ALTERNATIVE_${PN}-doc = "\ -blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 \ -mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ -" -ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" - -ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" -ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1" -ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8" -ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" -ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1" -ALTERNATIVE_LINK_NAME[last.1] = "${mandir}/man1/last.1" -ALTERNATIVE_LINK_NAME[lastb.1] = "${mandir}/man1/lastb.1" -ALTERNATIVE_LINK_NAME[libblkid.3] = "${mandir}/man3/libblkid.3" -ALTERNATIVE_LINK_NAME[logger.1] = "${mandir}/man1/logger.1" -ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1" -ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1" -ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8" -ALTERNATIVE_LINK_NAME[rfkill.8] = "${mandir}/man8/rfkill.8" -ALTERNATIVE_LINK_NAME[setpriv.1] = "${mandir}/man1/setpriv.1" -ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1" -ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8" -ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1" -ALTERNATIVE_LINK_NAME[uuid.3] = "${mandir}/man3/uuid.3" -ALTERNATIVE_LINK_NAME[wall.1] = "${mandir}/man1/wall.1" - - -BBCLASSEXTEND = "native nativesdk" - -PTEST_BINDIR = "1" -do_compile_ptest() { - oe_runmake buildtest-TESTS -} - -do_install_ptest() { - mkdir -p ${D}${PTEST_PATH}/tests/ts - find . -name 'test*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \; - find ./.libs -name 'sample*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \; - find ./.libs -name 'test*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \; - - cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/ - cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected - cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/ - cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH} - - # The original paths of executables to be tested point to a local folder containing - # the executables. We want to test the installed executables, not the local copies. - # So strip the paths, the executables will be located via "which" - sed -i \ - -e '/^TS_CMD/ s|$top_builddir/||g' \ - -e '/^TS_HELPER/ s|$top_builddir|${PTEST_PATH}|g' \ - ${D}${PTEST_PATH}/tests/commands.sh - - # Change 'if [ ! -x "$1" ]' to 'if [ ! -x "`which $1 2>/dev/null`"]' - sed -i -e \ - '/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \ - ${D}${PTEST_PATH}/tests/functions.sh - - # Running "kill" without the the complete path would use the shell's built-in kill - sed -i -e \ - '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \ - ${D}${PTEST_PATH}/tests/commands.sh - - - sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest - -} diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.37.bb b/poky/meta/recipes-core/util-linux/util-linux_2.37.bb new file mode 100644 index 000000000..9a50c75e7 --- /dev/null +++ b/poky/meta/recipes-core/util-linux/util-linux_2.37.bb @@ -0,0 +1,302 @@ +require util-linux.inc + +#gtk-doc is not enabled as it requires xmlto which requires util-linux +inherit autotools gettext pkgconfig systemd update-alternatives python3-dir bash-completion ptest +DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid" + +PACKAGES =+ "${PN}-swaponoff" +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', '${PN}-pylibmount', '', d)}" + +python util_linux_binpackages () { + def pkg_hook(f, pkg, file_regex, output_pattern, modulename): + pn = d.getVar('PN') + d.appendVar('RRECOMMENDS_%s' % pn, ' %s' % pkg) + + if d.getVar('ALTERNATIVE_' + pkg): + return + if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename): + d.setVar('ALTERNATIVE_' + pkg, modulename) + + bindirs = sorted(list(set(d.expand("${base_sbindir} ${base_bindir} ${sbindir} ${bindir}").split()))) + for dir in bindirs: + do_split_packages(d, root=dir, + file_regex=r'(.*)', output_pattern='${PN}-%s', + description='${PN} %s', + hook=pkg_hook, extra_depends='') + + # There are some symlinks for some binaries which we have ignored + # above. Add them to the package owning the binary they are + # pointing to + extras = {} + dvar = d.getVar('PKGD') + for root in bindirs: + for walkroot, dirs, files in os.walk(dvar + root): + for f in files: + file = os.path.join(walkroot, f) + if not os.path.islink(file): + continue + + pkg = os.path.basename(os.readlink(file)) + extras[pkg] = extras.get(pkg, '') + ' ' + file.replace(dvar, '', 1) + + pn = d.getVar('PN') + for pkg, links in extras.items(): + of = d.getVar('FILES_' + pn + '-' + pkg) + links = of + links + d.setVar('FILES_' + pn + '-' + pkg, links) +} + +# we must execute before update-alternatives PACKAGE_PREPROCESS_FUNCS +PACKAGE_PREPROCESS_FUNCS =+ "util_linux_binpackages " + +# skip libuuid as it will be packaged by the util-linux-libuuid recipe +python util_linux_libpackages() { + do_split_packages(d, root=d.getVar('UTIL_LINUX_LIBDIR'), file_regex=r'^lib(?!uuid)(.*)\.so\..*$', + output_pattern='${PN}-lib%s', + description='${PN} lib%s', + extra_depends='', prepend=True, allow_links=True) +} + +PACKAGESPLITFUNCS =+ "util_linux_libpackages" + +PACKAGES_DYNAMIC = "^${PN}-.*" + +CACHED_CONFIGUREVARS += "scanf_cv_alloc_modifier=ms" +UTIL_LINUX_LIBDIR = "${libdir}" +UTIL_LINUX_LIBDIR_class-target = "${base_libdir}" +EXTRA_OECONF = "\ + --enable-libuuid --enable-libblkid \ + \ + --enable-fsck --enable-kill --enable-last --enable-mesg \ + --enable-mount --enable-partx --enable-raw --enable-rfkill \ + --enable-unshare --enable-write \ + \ + --disable-bfs --disable-chfn-chsh --disable-login \ + --disable-makeinstall-chown --disable-minix --disable-newgrp \ + --disable-use-tty-group --disable-vipw \ + \ + --without-udev \ + \ + usrsbin_execdir='${sbindir}' \ + --libdir='${UTIL_LINUX_LIBDIR}' \ +" + +EXTRA_OECONF_append_class-target = " --enable-setpriv" +EXTRA_OECONF_append_class-native = " --without-cap-ng --disable-setpriv" +EXTRA_OECONF_append_class-nativesdk = " --without-cap-ng --disable-setpriv" +EXTRA_OECONF_append = " --disable-hwclock-gplv3" + +# enable pcre2 for native/nativesdk to match host distros +# this helps to keep same expectations when using the SDK or +# build host versions during development +# +PACKAGECONFIG ?= "pcre2" +PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" +PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," +# Respect the systemd feature for uuidd +PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd" +# Build python bindings for libmount +PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-python --disable-pylibmount,python3" +# Readline support +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" +# PCRE support in hardlink +PACKAGECONFIG[pcre2] = ",,libpcre2" +PACKAGECONFIG[cryptsetup] = "--with-cryptsetup,--without-cryptsetup,cryptsetup" + +EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'" + +ALLOW_EMPTY_${PN} = "1" +FILES_${PN} = "" +FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*" +FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la" +FILES_${PN}-mount = "${sysconfdir}/default/mountall" +FILES_${PN}-runuser = "${sysconfdir}/pam.d/runuser*" +FILES_${PN}-su = "${sysconfdir}/pam.d/su-l" +CONFFILES_${PN}-su = "${sysconfdir}/pam.d/su-l" +FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \ + ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \ + ${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*" + +# Util-linux' blkid replaces the e2fsprogs one +RCONFLICTS_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid" +RREPLACES_${PN}-blkid = "${MLPREFIX}e2fsprogs-blkid" + +RRECOMMENDS_${PN}_class-native = "" +RRECOMMENDS_${PN}_class-nativesdk = "" +RDEPENDS_${PN}_class-native = "" +RDEPENDS_${PN}_class-nativesdk = "" + +RDEPENDS_${PN} += " util-linux-libuuid" +RDEPENDS_${PN}-dev += " util-linux-libuuid-dev" + +RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev" + +RDEPENDS_${PN}-bash-completion += "${PN}-lsblk" +RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz" +RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug" +RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff" +ALLOW_EMPTY_${PN}-swaponoff = "1" + +#SYSTEMD_PACKAGES = "${PN}-uuidd ${PN}-fstrim" +SYSTEMD_SERVICE_${PN}-uuidd = "uuidd.socket uuidd.service" +SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable" +SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service" +SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable" + +do_install () { + # with ccache the timestamps on compiled files may + # end up earlier than on their inputs, this allows + # for the resultant compilation in the install step. + oe_runmake 'CC=${CC}' 'LD=${LD}' \ + 'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install + + mkdir -p ${D}${base_bindir} + + sbinprogs="agetty ctrlaltdel cfdisk vipw vigr" + sbinprogs_a="pivot_root hwclock mkswap losetup swapon swapoff fdisk fsck blkid blockdev fstrim sulogin switch_root nologin" + binprogs_a="dmesg getopt kill more umount mount login su mountpoint" + + if [ "${base_sbindir}" != "${sbindir}" ]; then + mkdir -p ${D}${base_sbindir} + for p in $sbinprogs $sbinprogs_a; do + if [ -f "${D}${sbindir}/$p" ]; then + mv "${D}${sbindir}/$p" "${D}${base_sbindir}/$p" + fi + done + fi + + if [ "${base_bindir}" != "${bindir}" ]; then + mkdir -p ${D}${base_bindir} + for p in $binprogs_a; do + if [ -f "${D}${bindir}/$p" ]; then + mv "${D}${bindir}/$p" "${D}${base_bindir}/$p" + fi + done + fi + + install -d ${D}${sysconfdir}/default/ + echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall + + rm -f ${D}${bindir}/chkdupexe +} + +do_install_append_class-target () { + if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then + install -d ${D}${sysconfdir}/pam.d + install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser + install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l + # Required for "su -" aka "su --login" because + # otherwise it uses "other", which has "auth pam_deny.so" + # and thus prevents the operation. + ln -s su ${D}${sysconfdir}/pam.d/su-l + fi +} +# nologin causes a conflict with shadow-native +# kill causes a conflict with coreutils-native (if ${bindir}==${base_bindir}) +do_install_append_class-native () { + rm -f ${D}${base_sbindir}/nologin + rm -f ${D}${base_bindir}/kill +} + +# dm-verity support introduces a circular build dependency, so util-linux-libuuid is split out for target builds +# Need to build libuuid for uuidgen, but then delete it and let the other recipe ship it +do_install_append () { + rm -rf ${D}${includedir}/uuid ${D}${libdir}/pkgconfig/uuid.pc ${D}${libdir}/libuuid* ${D}${base_libdir}/libuuid* +} + +ALTERNATIVE_PRIORITY = "80" + +ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid" +ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev" +ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal" +ALTERNATIVE_LINK_NAME[chrt] = "${bindir}/chrt" +ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg" +ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" +ALTERNATIVE_LINK_NAME[fallocate] = "${bindir}/fallocate" +ALTERNATIVE_LINK_NAME[fdisk] = "${base_sbindir}/fdisk" +ALTERNATIVE_LINK_NAME[flock] = "${bindir}/flock" +ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck" +ALTERNATIVE_LINK_NAME[fsfreeze] = "${sbindir}/fsfreeze" +ALTERNATIVE_LINK_NAME[fstrim] = "${base_sbindir}/fstrim" +ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" +ALTERNATIVE_${PN}-agetty = "getty" +ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty" +ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty" +ALTERNATIVE_LINK_NAME[hexdump] = "${bindir}/hexdump" +ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock" +ALTERNATIVE_LINK_NAME[ionice] = "${bindir}/ionice" +ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill" +ALTERNATIVE_${PN}-last = "last lastb" +ALTERNATIVE_LINK_NAME[last] = "${bindir}/last" +ALTERNATIVE_LINK_NAME[lastb] = "${bindir}/lastb" +ALTERNATIVE_LINK_NAME[logger] = "${bindir}/logger" +ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup" +ALTERNATIVE_LINK_NAME[mesg] = "${bindir}/mesg" +ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap" +ALTERNATIVE_LINK_NAME[mcookie] = "${bindir}/mcookie" +ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more" +ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount" +ALTERNATIVE_LINK_NAME[mountpoint] = "${base_bindir}/mountpoint" +ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin" +ALTERNATIVE_LINK_NAME[nsenter] = "${bindir}/nsenter" +ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root" +ALTERNATIVE_LINK_NAME[prlimit] = "${bindir}/prlimit" +ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile" +ALTERNATIVE_LINK_NAME[renice] = "${bindir}/renice" +ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev" +ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill" +ALTERNATIVE_LINK_NAME[rtcwake] = "${sbindir}/rtcwake" +ALTERNATIVE_LINK_NAME[setpriv] = "${bindir}/setpriv" +ALTERNATIVE_LINK_NAME[setsid] = "${bindir}/setsid" +ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" +ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" +ALTERNATIVE_LINK_NAME[swapoff] = "${base_sbindir}/swapoff" +ALTERNATIVE_LINK_NAME[swapon] = "${base_sbindir}/swapon" +ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root" +ALTERNATIVE_LINK_NAME[taskset] = "${bindir}/taskset" +ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount" +ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare" +ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump" +ALTERNATIVE_LINK_NAME[uuidgen] = "${bindir}/uuidgen" +ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall" + +BBCLASSEXTEND = "native nativesdk" + +PTEST_BINDIR = "1" +do_compile_ptest() { + oe_runmake buildtest-TESTS +} + +do_install_ptest() { + mkdir -p ${D}${PTEST_PATH}/tests/ts + find . -name 'test*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \; + find ./.libs -name 'sample*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \; + find ./.libs -name 'test*' -maxdepth 1 -type f -perm -111 -exec cp {} ${D}${PTEST_PATH} \; + + cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/ + cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected + cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/ + cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH} + + # The original paths of executables to be tested point to a local folder containing + # the executables. We want to test the installed executables, not the local copies. + # So strip the paths, the executables will be located via "which" + sed -i \ + -e '/^TS_CMD/ s|$top_builddir/||g' \ + -e '/^TS_HELPER/ s|$top_builddir|${PTEST_PATH}|g' \ + ${D}${PTEST_PATH}/tests/commands.sh + + # Change 'if [ ! -x "$1" ]' to 'if [ ! -x "`which $1 2>/dev/null`"]' + sed -i -e \ + '/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \ + ${D}${PTEST_PATH}/tests/functions.sh + + # Running "kill" without the the complete path would use the shell's built-in kill + sed -i -e \ + '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \ + ${D}${PTEST_PATH}/tests/commands.sh + + + sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest + +} diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch index a9a8eb630..72713c3b1 100644 --- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch +++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch @@ -1,4 +1,4 @@ -From 5fb6355c7dd00c97fe90e805ace075b6e9b6952d Mon Sep 17 00:00:00 2001 +From c7a79e753e50f1a5f248ba5812c61616f2f524f0 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 10 May 2019 16:47:38 +0200 Subject: [PATCH] Do not init tables from dpkg configuration diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch index 34d0c4b4c..1517b4785 100644 --- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch +++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch @@ -1,4 +1,4 @@ -From 76f8386cac7f13688b386686e0b1fc4b1b574f53 Mon Sep 17 00:00:00 2001 +From 393ac20efc66bfc000a2457e093e369b934c5a50 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 21 May 2020 20:13:25 +0000 Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.3.bb b/poky/meta/recipes-devtools/apt/apt_2.2.3.bb deleted file mode 100644 index fe00fb03c..000000000 --- a/poky/meta/recipes-devtools/apt/apt_2.2.3.bb +++ /dev/null @@ -1,135 +0,0 @@ -SUMMARY = "Advanced front-end for dpkg" -DESCRIPTION = "APT is the Advanced Package Tool, an advanced interface to the Debian packaging system which provides the apt-get program." -HOMEPAGE = "https://packages.debian.org/jessie/apt" -LICENSE = "GPLv2.0+" -SECTION = "base" - -# Triehash script taken from https://github.com/julian-klode/triehash -SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ - file://triehash \ - file://0001-Disable-documentation-directory-altogether.patch \ - file://0001-Fix-musl-build.patch \ - file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \ - file://0001-srvrec-Keep-support-for-older-resolver.patch \ - file://0001-cmake-Do-not-build-po-files.patch \ - file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \ - file://0001-aptwebserver.cc-Include-array.patch \ - " - -SRC_URI_append_class-native = " \ - file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ - file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ - " - -SRC_URI_append_class-nativesdk = " \ - file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ - file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ - " - -SRC_URI[sha256sum] = "2880474bc08c79f103cd30d24a9c30c78b480c65076e466d24df93b9fa05ab27" -LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -# the package is taken from snapshots.debian.org; that source is static and goes stale -# so we check the latest upstream from a directory that does get updated -UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/" - -inherit cmake perlnative bash-completion upstream-version-is-even useradd - -# User is added to allow apt to drop privs, will runtime warn without -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --home /nonexistent --no-create-home _apt" - -BBCLASSEXTEND = "native nativesdk" - -DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash" - -EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ - -DDPKG_DATADIR=${datadir}/dpkg \ - -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \ - -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \ - -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ - -DWITH_TESTS=False \ -" - -do_configure_prepend () { - echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >> ${WORKDIR}/toolchain.cmake - -} - -# Unfortunately apt hardcodes this all over the place -FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt" -RDEPENDS_${PN} += "bash perl dpkg" - -customize_apt_conf_sample() { - cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF -Dir "${STAGING_DIR_NATIVE}/" -{ - State "var/lib/apt/" - { - Lists "#APTCONF#/lists/"; - status "#ROOTFS#/var/lib/dpkg/status"; - }; - Cache "var/cache/apt/" - { - Archives "archives/"; - pkgcache ""; - srcpkgcache ""; - }; - Bin "${STAGING_BINDIR_NATIVE}/" - { - methods "${STAGING_LIBDIR}/apt/methods/"; - gzip "/bin/gzip"; - dpkg "dpkg"; - dpkg-source "dpkg-source"; - dpkg-buildpackage "dpkg-buildpackage"; - apt-get "apt-get"; - apt-cache "apt-cache"; - }; - Etc "#APTCONF#" - { - Preferences "preferences"; - }; - Log "var/log/apt"; -}; - -APT -{ - Install-Recommends "true"; - Immediate-Configure "false"; - Architecture "i586"; - Get - { - Assume-Yes "true"; - }; -}; - -Acquire -{ - AllowInsecureRepositories "true"; -}; - -DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"}; -DPkg::Path ""; -EOF -} - -do_install_append_class-native() { - customize_apt_conf_sample -} - -do_install_append_class-nativesdk() { - customize_apt_conf_sample -} - - -do_install_append_class-target() { - #Write the correct apt-architecture to apt.conf - APT_CONF=${D}/etc/apt/apt.conf - echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF} -} - -# Avoid non-reproducible -src package -do_install_append () { - sed -i -e "s,${B},,g" \ - ${B}/apt-pkg/tagfile-keys.cc -} diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.4.bb b/poky/meta/recipes-devtools/apt/apt_2.2.4.bb new file mode 100644 index 000000000..f12011141 --- /dev/null +++ b/poky/meta/recipes-devtools/apt/apt_2.2.4.bb @@ -0,0 +1,135 @@ +SUMMARY = "Advanced front-end for dpkg" +DESCRIPTION = "APT is the Advanced Package Tool, an advanced interface to the Debian packaging system which provides the apt-get program." +HOMEPAGE = "https://packages.debian.org/jessie/apt" +LICENSE = "GPLv2.0+" +SECTION = "base" + +# Triehash script taken from https://github.com/julian-klode/triehash +SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ + file://triehash \ + file://0001-Disable-documentation-directory-altogether.patch \ + file://0001-Fix-musl-build.patch \ + file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \ + file://0001-srvrec-Keep-support-for-older-resolver.patch \ + file://0001-cmake-Do-not-build-po-files.patch \ + file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \ + file://0001-aptwebserver.cc-Include-array.patch \ + " + +SRC_URI_append_class-native = " \ + file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ + file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ + " + +SRC_URI_append_class-nativesdk = " \ + file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ + file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ + " + +SRC_URI[sha256sum] = "6eecd04a4979bd2040b22a14571c15d342c4e1802b2023acb5aa19649b1f64ea" +LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +# the package is taken from snapshots.debian.org; that source is static and goes stale +# so we check the latest upstream from a directory that does get updated +UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/" + +inherit cmake perlnative bash-completion upstream-version-is-even useradd + +# User is added to allow apt to drop privs, will runtime warn without +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --home /nonexistent --no-create-home _apt" + +BBCLASSEXTEND = "native nativesdk" + +DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash" + +EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ + -DDPKG_DATADIR=${datadir}/dpkg \ + -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \ + -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \ + -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ + -DWITH_TESTS=False \ +" + +do_configure_prepend () { + echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >> ${WORKDIR}/toolchain.cmake + +} + +# Unfortunately apt hardcodes this all over the place +FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt" +RDEPENDS_${PN} += "bash perl dpkg" + +customize_apt_conf_sample() { + cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF +Dir "${STAGING_DIR_NATIVE}/" +{ + State "var/lib/apt/" + { + Lists "#APTCONF#/lists/"; + status "#ROOTFS#/var/lib/dpkg/status"; + }; + Cache "var/cache/apt/" + { + Archives "archives/"; + pkgcache ""; + srcpkgcache ""; + }; + Bin "${STAGING_BINDIR_NATIVE}/" + { + methods "${STAGING_LIBDIR}/apt/methods/"; + gzip "/bin/gzip"; + dpkg "dpkg"; + dpkg-source "dpkg-source"; + dpkg-buildpackage "dpkg-buildpackage"; + apt-get "apt-get"; + apt-cache "apt-cache"; + }; + Etc "#APTCONF#" + { + Preferences "preferences"; + }; + Log "var/log/apt"; +}; + +APT +{ + Install-Recommends "true"; + Immediate-Configure "false"; + Architecture "i586"; + Get + { + Assume-Yes "true"; + }; +}; + +Acquire +{ + AllowInsecureRepositories "true"; +}; + +DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"}; +DPkg::Path ""; +EOF +} + +do_install_append_class-native() { + customize_apt_conf_sample +} + +do_install_append_class-nativesdk() { + customize_apt_conf_sample +} + + +do_install_append_class-target() { + #Write the correct apt-architecture to apt.conf + APT_CONF=${D}/etc/apt/apt.conf + echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF} +} + +# Avoid non-reproducible -src package +do_install_append () { + sed -i -e "s,${B},,g" \ + ${B}/apt-pkg/tagfile-keys.cc +} diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch new file mode 100644 index 000000000..d7188881d --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch @@ -0,0 +1,42 @@ +From 3d19b0fb882c5e195362a9f0909c474e60070ca0 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield +Date: Fri, 18 Jun 2021 11:10:36 -0400 +Subject: [PATCH] btrfs-progs: include linux/const.h to fix build with 5.12+ + headers + +btrfs-tools compile fails with mips, musl and 5.12+ headers. + +The definition of __ALIGN_KERNEL has moved in 5.12+ kernels, so we +add an explicit include of const.h to pickup the macro: + + | make: *** [Makefile:595: mkfs.btrfs] Error 1 + | make: *** Waiting for unfinished jobs.... + | libbtrfs.a(volumes.o): in function `dev_extent_search_start': + | /usr/src/debug/btrfs-tools/5.12.1-r0/git/kernel-shared/volumes.c:464: undefined reference to `__ALIGN_KERNEL' + | collect2: error: ld returned 1 exit status + +This is safe for older kernel's as well, since the header still +exists, and is valid to include. + +Upstream-status: OE Specific [mips64 + musl + libc-headers] + +Signed-off-by: Bruce Ashfield +--- + kerncompat.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kerncompat.h b/kerncompat.h +index df167fe6..254235bd 100644 +--- a/kerncompat.h ++++ b/kerncompat.h +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + + #include + +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb index 3fc959bf8..d0c9cf2a9 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb @@ -18,6 +18,7 @@ DEPENDS_append_class-target = " udev" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + file://0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch \ " SRCREV = "96d77fcefdd3b9fd297b5aabbce6dc43e2315ee2" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb deleted file mode 100644 index 335097d38..000000000 --- a/poky/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb +++ /dev/null @@ -1,53 +0,0 @@ -require cmake.inc -inherit native - -DEPENDS += "bzip2-replacement-native xz-native zlib-native curl-native ncurses-native zstd-native" - -SRC_URI += "file://OEToolchainConfig.cmake \ - file://environment.d-cmake.sh \ - file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ - file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ - " - - -B = "${WORKDIR}/build" -do_configure[cleandirs] = "${B}" - -CMAKE_EXTRACONF = "\ - -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ - -DBUILD_CursesDialog=1 \ - -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_EXPAT=0 \ - -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ - -DHAVE_SYS_ACL_H=0 \ -" - -do_configure () { - ${S}/configure --verbose --prefix=${prefix} \ - ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \ - ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \ - -- ${CMAKE_EXTRACONF} -} - -do_compile() { - oe_runmake -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - # The following codes are here because eSDK needs to provide compatibilty - # for SDK. That is, eSDK could also be used like traditional SDK. - mkdir -p ${D}${datadir}/cmake - install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ - mkdir -p ${D}${base_prefix}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh -} - -do_compile[progress] = "percent" - -SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d" diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.20.3.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.20.3.bb new file mode 100644 index 000000000..335097d38 --- /dev/null +++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.20.3.bb @@ -0,0 +1,53 @@ +require cmake.inc +inherit native + +DEPENDS += "bzip2-replacement-native xz-native zlib-native curl-native ncurses-native zstd-native" + +SRC_URI += "file://OEToolchainConfig.cmake \ + file://environment.d-cmake.sh \ + file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ + file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ + " + + +B = "${WORKDIR}/build" +do_configure[cleandirs] = "${B}" + +CMAKE_EXTRACONF = "\ + -DCMAKE_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ + -DBUILD_CursesDialog=1 \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_EXPAT=0 \ + -DENABLE_ACL=0 -DHAVE_ACL_LIBACL_H=0 \ + -DHAVE_SYS_ACL_H=0 \ +" + +do_configure () { + ${S}/configure --verbose --prefix=${prefix} \ + ${@oe.utils.parallel_make_argument(d, '--parallel=%d')} \ + ${@bb.utils.contains('CCACHE', 'ccache ', '--enable-ccache', '', d)} \ + -- ${CMAKE_EXTRACONF} +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + # The following codes are here because eSDK needs to provide compatibilty + # for SDK. That is, eSDK could also be used like traditional SDK. + mkdir -p ${D}${datadir}/cmake + install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ + mkdir -p ${D}${base_prefix}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh +} + +do_compile[progress] = "percent" + +SYSROOT_DIRS_NATIVE += "${datadir}/cmake ${base_prefix}/environment-setup.d" diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc index be4376062..0987c01c8 100644 --- a/poky/meta/recipes-devtools/cmake/cmake.inc +++ b/poky/meta/recipes-devtools/cmake/cmake.inc @@ -21,7 +21,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \ " -SRC_URI[sha256sum] = "aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e" +SRC_URI[sha256sum] = "4d008ac3461e271fcfac26a05936f77fc7ab64402156fb371d41284851a651b8" UPSTREAM_CHECK_REGEX = "cmake-(?P\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb deleted file mode 100644 index 64c92b89f..000000000 --- a/poky/meta/recipes-devtools/cmake/cmake_3.20.2.bb +++ /dev/null @@ -1,53 +0,0 @@ -require cmake.inc - -inherit cmake bash-completion - -DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" - -SRC_URI_append_class-nativesdk = " \ - file://OEToolchainConfig.cmake \ - file://environment.d-cmake.sh \ - file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ -" - -# Strip ${prefix} from ${docdir}, set result into docdir_stripped -python () { - prefix=d.getVar("prefix") - docdir=d.getVar("docdir") - - if not docdir.startswith(prefix): - bb.fatal('docdir must contain prefix as its prefix') - - docdir_stripped = docdir[len(prefix):] - if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': - docdir_stripped = docdir_stripped[1:] - - d.setVar("docdir_stripped", docdir_stripped) -} - -EXTRA_OECMAKE=" \ - -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ - -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ - -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ - -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ - -DKWSYS_CHAR_IS_SIGNED=1 \ - -DBUILD_CursesDialog=0 \ - -DKWSYS_LFS_WORKS=1 \ -" - -do_install_append_class-nativesdk() { - mkdir -p ${D}${datadir}/cmake - install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ - - mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d - install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh -} - -FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}" - -FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim" -FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" -FILES_${PN}-dev = "" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.20.3.bb b/poky/meta/recipes-devtools/cmake/cmake_3.20.3.bb new file mode 100644 index 000000000..64c92b89f --- /dev/null +++ b/poky/meta/recipes-devtools/cmake/cmake_3.20.3.bb @@ -0,0 +1,53 @@ +require cmake.inc + +inherit cmake bash-completion + +DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" + +SRC_URI_append_class-nativesdk = " \ + file://OEToolchainConfig.cmake \ + file://environment.d-cmake.sh \ + file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \ +" + +# Strip ${prefix} from ${docdir}, set result into docdir_stripped +python () { + prefix=d.getVar("prefix") + docdir=d.getVar("docdir") + + if not docdir.startswith(prefix): + bb.fatal('docdir must contain prefix as its prefix') + + docdir_stripped = docdir[len(prefix):] + if len(docdir_stripped) > 0 and docdir_stripped[0] == '/': + docdir_stripped = docdir_stripped[1:] + + d.setVar("docdir_stripped", docdir_stripped) +} + +EXTRA_OECMAKE=" \ + -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \ + -DCMAKE_USE_SYSTEM_LIBRARIES=1 \ + -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ + -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \ + -DKWSYS_CHAR_IS_SIGNED=1 \ + -DBUILD_CursesDialog=0 \ + -DKWSYS_LFS_WORKS=1 \ +" + +do_install_append_class-nativesdk() { + mkdir -p ${D}${datadir}/cmake + install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ + + mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d + install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh +} + +FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}" + +FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION} ${datadir}/cmake ${datadir}/aclocal ${datadir}/emacs ${datadir}/vim" +FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}" +FILES_${PN}-dev = "" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch index 4b844574e..b63fe5394 100644 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch @@ -5,21 +5,24 @@ Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin - +Signed-off-by: Wang Mingyu --- src/python/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt -index ecc262d..a86514c 100644 +index a31b14d..01fd8ca 100644 --- a/src/python/CMakeLists.txt +++ b/src/python/CMakeLists.txt @@ -14,7 +14,7 @@ if (NOT SKBUILD) FIND_PACKAGE(PythonLibs 3 REQUIRED) endif (NOT SKBUILD) --EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) -+#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) +-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) ++#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH}) MESSAGE(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}") +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb deleted file mode 100644 index 76bdd6983..000000000 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb +++ /dev/null @@ -1,40 +0,0 @@ -DESCRIPTION = "C implementation of createrepo." -HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ - file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - " - -SRCREV = "8eff6ed99f5fd0ba844cb8513963435caab5fd3c" - -S = "${WORKDIR}/git" - -DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" -DEPENDS_append_class-native = " file-replacement-native" - -inherit cmake pkgconfig bash-completion distutils3-base - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF -DENABLE_DRPM=OFF -DWITH_LIBMODULEMD=OFF" - -BBCLASSEXTEND = "native nativesdk" - -# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in -do_install_append_class-native() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ - MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc - create_wrapper ${D}/${bindir}/modifyrepo_c \ - MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc -} - -do_install_append_class-nativesdk() { - create_wrapper ${D}/${bindir}/createrepo_c \ - RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ - MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc - create_wrapper ${D}/${bindir}/modifyrepo_c \ - MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc - rm -rf ${D}/etc -} diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.3.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.3.bb new file mode 100644 index 000000000..481c4bff2 --- /dev/null +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.17.3.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "C implementation of createrepo." +HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ + file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + " + +SRCREV = "8196982f0974c268898a5550d61b374bd58103e2" + +S = "${WORKDIR}/git" + +DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" +DEPENDS_append_class-native = " file-replacement-native" + +inherit cmake pkgconfig bash-completion distutils3-base + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF -DENABLE_DRPM=OFF -DWITH_LIBMODULEMD=OFF" + +BBCLASSEXTEND = "native nativesdk" + +# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in +do_install_append_class-native() { + create_wrapper ${D}/${bindir}/createrepo_c \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc + create_wrapper ${D}/${bindir}/modifyrepo_c \ + MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc +} + +do_install_append_class-nativesdk() { + create_wrapper ${D}/${bindir}/createrepo_c \ + RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm \ + MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc + create_wrapper ${D}/${bindir}/modifyrepo_c \ + MAGIC=${SDKPATHNATIVE}${datadir}/misc/magic.mgc + rm -rf ${D}/etc +} diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb deleted file mode 100644 index 7aebaf1b6..000000000 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.183.bb +++ /dev/null @@ -1,165 +0,0 @@ -SUMMARY = "Utilities and libraries for handling compiled object files" -HOMEPAGE = "https://sourceware.org/elfutils" -DESCRIPTION = "elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux." -SECTION = "base" -LICENSE = "GPLv2 & GPLv2+ & LGPLv3+ & GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://debuginfod/debuginfod-client.c;endline=27;md5=f8e9d171c401c493ec45a0b2992ea2ed \ - " -DEPENDS = "zlib virtual/libintl" -DEPENDS_append_libc-musl = " argp-standalone fts musl-obstack " -# The Debian patches below are from: -# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.176-1.debian.tar.xz -SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ - file://0001-dso-link-change.patch \ - file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \ - file://0003-fixheadercheck.patch \ - file://0006-Fix-build-on-aarch64-musl.patch \ - file://0001-libasm-may-link-with-libbz2-if-found.patch \ - file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \ - file://0001-skip-the-test-when-gcc-not-deployed.patch \ - file://run-ptest \ - file://ptest.patch \ - file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \ - file://0001-add-support-for-ipkg-to-debuginfod.cxx.patch \ - file://0001-debuginfod-debuginfod-client.c-correct-string-format.patch \ - " -SRC_URI_append_libc-musl = " \ - file://0002-musl-libs.patch \ - file://0003-musl-utils.patch \ - file://0004-Fix-error-on-musl.patch \ - file://0015-config-eu.am-do-not-use-Werror.patch \ - " -SRC_URI[sha256sum] = "c3637c208d309d58714a51e61e63f1958808fead882e9b607506a29e5474f2c5" - -inherit autotools gettext ptest pkgconfig - -EXTRA_OECONF = "--program-prefix=eu-" - -DEPENDS_BZIP2 = "bzip2-replacement-native" -DEPENDS_BZIP2_class-target = "bzip2" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'debuginfod', 'debuginfod libdebuginfod', '', d)}" -PACKAGECONFIG[bzip2] = "--with-bzlib,--without-bzlib,${DEPENDS_BZIP2}" -PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz" -PACKAGECONFIG[libdebuginfod] = "--enable-libdebuginfod,--disable-libdebuginfod,curl" -PACKAGECONFIG[debuginfod] = "--enable-debuginfod,--disable-debuginfod,libarchive sqlite3 libmicrohttpd" - -RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils iproute2-ss bsdtar" - -EXTRA_OECONF_append_class-target = " --disable-tests-rpath" - -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" - -do_compile_ptest() { - cd ${B}/tests - oe_runmake buildtest-TESTS oecheck -} - -do_install_ptest() { - if [ ${PTEST_ENABLED} = "1" ]; then - # copy the files which needed by the cases - TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint elfcompress elfclassify stack unstrip" - install -d -m 755 ${D}${PTEST_PATH}/src - install -d -m 755 ${D}${PTEST_PATH}/libelf - install -d -m 755 ${D}${PTEST_PATH}/libdw - install -d -m 755 ${D}${PTEST_PATH}/libdwfl - install -d -m 755 ${D}${PTEST_PATH}/libdwelf - install -d -m 755 ${D}${PTEST_PATH}/libasm - install -d -m 755 ${D}${PTEST_PATH}/libcpu - install -d -m 755 ${D}${PTEST_PATH}/libebl - for test_file in ${TEST_FILES}; do - if [ -f ${B}/src/${test_file} ]; then - cp -r ${B}/src/${test_file} ${D}${PTEST_PATH}/src - fi - done - cp ${D}${libdir}/libelf-${PV}.so ${D}${PTEST_PATH}/libelf/libelf.so - cp ${D}${libdir}/libdw-${PV}.so ${D}${PTEST_PATH}/libdw/libdw.so - cp ${D}${libdir}/libasm-${PV}.so ${D}${PTEST_PATH}/libasm/libasm.so - cp ${B}/libcpu/libcpu.a ${D}${PTEST_PATH}/libcpu/ - cp ${B}/libebl/libebl.a ${D}${PTEST_PATH}/libebl/ - cp ${S}/libelf/*.h ${D}${PTEST_PATH}/libelf/ - cp ${S}/libdw/*.h ${D}${PTEST_PATH}/libdw/ - cp ${S}/libdwfl/*.h ${D}${PTEST_PATH}/libdwfl/ - cp ${S}/libdwelf/*.h ${D}${PTEST_PATH}/libdwelf/ - cp ${S}/libasm/*.h ${D}${PTEST_PATH}/libasm/ - cp -r ${S}/tests/ ${D}${PTEST_PATH} - cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests - cp -r ${B}/config.h ${D}${PTEST_PATH} - cp -r ${B}/backends ${D}${PTEST_PATH} - cp -r ${B}/debuginfod ${D}${PTEST_PATH} - sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile - find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {} - fi -} - -EXTRA_OEMAKE_class-native = "" -EXTRA_OEMAKE_class-nativesdk = "" - -BBCLASSEXTEND = "native nativesdk" - -# Package utilities separately -PACKAGES =+ "${PN}-binutils libelf libasm libdw libdebuginfod" - -# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+ -# according to NEWS file: -# "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone -# programs. There is now also a formal CONTRIBUTING document describing how to -# submit patches." -LICENSE_${PN}-binutils = "GPLv3+" -LICENSE_${PN} = "GPLv3+" -LICENSE_libelf = "GPLv2 | LGPLv3+" -LICENSE_libasm = "GPLv2 | LGPLv3+" -LICENSE_libdw = "GPLv2 | LGPLv3+" -LICENSE_libdebuginfod = "GPLv2+ | LGPLv3+" - -FILES_${PN}-binutils = "\ - ${bindir}/eu-addr2line \ - ${bindir}/eu-ld \ - ${bindir}/eu-nm \ - ${bindir}/eu-readelf \ - ${bindir}/eu-size \ - ${bindir}/eu-strip" - -FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*" -FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*" -FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*" -FILES_libdebuginfod = "${libdir}/libdebuginfod-${PV}.so ${libdir}/libdebuginfod.so.*" -# Some packages have the version preceeding the .so instead properly -# versioned .so., so we need to reorder and repackage. -#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" -#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so" - -# The package contains symlinks that trip up insane -INSANE_SKIP_${MLPREFIX}libdw = "dev-so" -# The nlist binary in the tests uses explicitly minimal compiler flags -INSANE_SKIP_${PN}-ptest += "ldflags" - -# avoid stripping some generated binaries otherwise some of the tests such as test-nlist, -# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail -INHIBIT_PACKAGE_STRIP_FILES = "\ - ${PKGD}${PTEST_PATH}/tests/test-nlist \ - ${PKGD}${PTEST_PATH}/tests/elfstrmerge \ - ${PKGD}${PTEST_PATH}/tests/backtrace-child \ - ${PKGD}${PTEST_PATH}/tests/backtrace-data \ - ${PKGD}${PTEST_PATH}/tests/backtrace-dwarf \ - ${PKGD}${PTEST_PATH}/tests/deleted \ - ${PKGD}${PTEST_PATH}/tests/dwfllines \ - ${PKGD}${PTEST_PATH}/src/strip \ - ${PKGD}${PTEST_PATH}/src/addr2line \ - ${PKGD}${PTEST_PATH}/src/elfcmp \ - ${PKGD}${PTEST_PATH}/src/objdump \ - ${PKGD}${PTEST_PATH}/src/readelf \ - ${PKGD}${PTEST_PATH}/src/nm \ - ${PKGD}${PTEST_PATH}/src/elflint \ - ${PKGD}${PTEST_PATH}/src/elfclassify \ - ${PKGD}${PTEST_PATH}/src/stack \ - ${PKGD}${PTEST_PATH}/src/unstrip \ - ${PKGD}${PTEST_PATH}/libelf/libelf.so \ - ${PKGD}${PTEST_PATH}/libdw/libdw.so \ - ${PKGD}${PTEST_PATH}/libasm/libasm.so \ - ${PKGD}${PTEST_PATH}/backends/libebl_i386.so \ - ${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \ -" - -PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1 libasm.so.1 libdebuginfod.so.1" diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb new file mode 100644 index 000000000..b1ffbc18b --- /dev/null +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb @@ -0,0 +1,164 @@ +SUMMARY = "Utilities and libraries for handling compiled object files" +HOMEPAGE = "https://sourceware.org/elfutils" +DESCRIPTION = "elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux." +SECTION = "base" +LICENSE = "GPLv2 & GPLv2+ & LGPLv3+ & GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://debuginfod/debuginfod-client.c;endline=27;md5=f8e9d171c401c493ec45a0b2992ea2ed \ + " +DEPENDS = "zlib virtual/libintl" +DEPENDS_append_libc-musl = " argp-standalone fts musl-obstack " +# The Debian patches below are from: +# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.176-1.debian.tar.xz +SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ + file://0001-dso-link-change.patch \ + file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \ + file://0003-fixheadercheck.patch \ + file://0006-Fix-build-on-aarch64-musl.patch \ + file://0001-libasm-may-link-with-libbz2-if-found.patch \ + file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \ + file://0001-skip-the-test-when-gcc-not-deployed.patch \ + file://run-ptest \ + file://ptest.patch \ + file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \ + file://0001-debuginfod-debuginfod-client.c-correct-string-format.patch \ + " +SRC_URI_append_libc-musl = " \ + file://0002-musl-libs.patch \ + file://0003-musl-utils.patch \ + file://0004-Fix-error-on-musl.patch \ + file://0015-config-eu.am-do-not-use-Werror.patch \ + " +SRC_URI[sha256sum] = "dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6" + +inherit autotools gettext ptest pkgconfig + +EXTRA_OECONF = "--program-prefix=eu-" + +DEPENDS_BZIP2 = "bzip2-replacement-native" +DEPENDS_BZIP2_class-target = "bzip2" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'debuginfod', 'debuginfod libdebuginfod', '', d)}" +PACKAGECONFIG[bzip2] = "--with-bzlib,--without-bzlib,${DEPENDS_BZIP2}" +PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz" +PACKAGECONFIG[libdebuginfod] = "--enable-libdebuginfod,--disable-libdebuginfod,curl" +PACKAGECONFIG[debuginfod] = "--enable-debuginfod,--disable-debuginfod,libarchive sqlite3 libmicrohttpd" + +RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils iproute2-ss bsdtar" + +EXTRA_OECONF_append_class-target = " --disable-tests-rpath" + +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" + +do_compile_ptest() { + cd ${B}/tests + oe_runmake buildtest-TESTS oecheck +} + +do_install_ptest() { + if [ ${PTEST_ENABLED} = "1" ]; then + # copy the files which needed by the cases + TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint elfcompress elfclassify stack unstrip" + install -d -m 755 ${D}${PTEST_PATH}/src + install -d -m 755 ${D}${PTEST_PATH}/libelf + install -d -m 755 ${D}${PTEST_PATH}/libdw + install -d -m 755 ${D}${PTEST_PATH}/libdwfl + install -d -m 755 ${D}${PTEST_PATH}/libdwelf + install -d -m 755 ${D}${PTEST_PATH}/libasm + install -d -m 755 ${D}${PTEST_PATH}/libcpu + install -d -m 755 ${D}${PTEST_PATH}/libebl + for test_file in ${TEST_FILES}; do + if [ -f ${B}/src/${test_file} ]; then + cp -r ${B}/src/${test_file} ${D}${PTEST_PATH}/src + fi + done + cp ${D}${libdir}/libelf-${PV}.so ${D}${PTEST_PATH}/libelf/libelf.so + cp ${D}${libdir}/libdw-${PV}.so ${D}${PTEST_PATH}/libdw/libdw.so + cp ${D}${libdir}/libasm-${PV}.so ${D}${PTEST_PATH}/libasm/libasm.so + cp ${B}/libcpu/libcpu.a ${D}${PTEST_PATH}/libcpu/ + cp ${B}/libebl/libebl.a ${D}${PTEST_PATH}/libebl/ + cp ${S}/libelf/*.h ${D}${PTEST_PATH}/libelf/ + cp ${S}/libdw/*.h ${D}${PTEST_PATH}/libdw/ + cp ${S}/libdwfl/*.h ${D}${PTEST_PATH}/libdwfl/ + cp ${S}/libdwelf/*.h ${D}${PTEST_PATH}/libdwelf/ + cp ${S}/libasm/*.h ${D}${PTEST_PATH}/libasm/ + cp -r ${S}/tests/ ${D}${PTEST_PATH} + cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests + cp -r ${B}/config.h ${D}${PTEST_PATH} + cp -r ${B}/backends ${D}${PTEST_PATH} + cp -r ${B}/debuginfod ${D}${PTEST_PATH} + sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile + find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {} + fi +} + +EXTRA_OEMAKE_class-native = "" +EXTRA_OEMAKE_class-nativesdk = "" + +BBCLASSEXTEND = "native nativesdk" + +# Package utilities separately +PACKAGES =+ "${PN}-binutils libelf libasm libdw libdebuginfod" + +# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+ +# according to NEWS file: +# "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone +# programs. There is now also a formal CONTRIBUTING document describing how to +# submit patches." +LICENSE_${PN}-binutils = "GPLv3+" +LICENSE_${PN} = "GPLv3+" +LICENSE_libelf = "GPLv2 | LGPLv3+" +LICENSE_libasm = "GPLv2 | LGPLv3+" +LICENSE_libdw = "GPLv2 | LGPLv3+" +LICENSE_libdebuginfod = "GPLv2+ | LGPLv3+" + +FILES_${PN}-binutils = "\ + ${bindir}/eu-addr2line \ + ${bindir}/eu-ld \ + ${bindir}/eu-nm \ + ${bindir}/eu-readelf \ + ${bindir}/eu-size \ + ${bindir}/eu-strip" + +FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*" +FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*" +FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*" +FILES_libdebuginfod = "${libdir}/libdebuginfod-${PV}.so ${libdir}/libdebuginfod.so.*" +# Some packages have the version preceeding the .so instead properly +# versioned .so., so we need to reorder and repackage. +#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" +#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so" + +# The package contains symlinks that trip up insane +INSANE_SKIP_${MLPREFIX}libdw = "dev-so" +# The nlist binary in the tests uses explicitly minimal compiler flags +INSANE_SKIP_${PN}-ptest += "ldflags" + +# avoid stripping some generated binaries otherwise some of the tests such as test-nlist, +# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail +INHIBIT_PACKAGE_STRIP_FILES = "\ + ${PKGD}${PTEST_PATH}/tests/test-nlist \ + ${PKGD}${PTEST_PATH}/tests/elfstrmerge \ + ${PKGD}${PTEST_PATH}/tests/backtrace-child \ + ${PKGD}${PTEST_PATH}/tests/backtrace-data \ + ${PKGD}${PTEST_PATH}/tests/backtrace-dwarf \ + ${PKGD}${PTEST_PATH}/tests/deleted \ + ${PKGD}${PTEST_PATH}/tests/dwfllines \ + ${PKGD}${PTEST_PATH}/src/strip \ + ${PKGD}${PTEST_PATH}/src/addr2line \ + ${PKGD}${PTEST_PATH}/src/elfcmp \ + ${PKGD}${PTEST_PATH}/src/objdump \ + ${PKGD}${PTEST_PATH}/src/readelf \ + ${PKGD}${PTEST_PATH}/src/nm \ + ${PKGD}${PTEST_PATH}/src/elflint \ + ${PKGD}${PTEST_PATH}/src/elfclassify \ + ${PKGD}${PTEST_PATH}/src/stack \ + ${PKGD}${PTEST_PATH}/src/unstrip \ + ${PKGD}${PTEST_PATH}/libelf/libelf.so \ + ${PKGD}${PTEST_PATH}/libdw/libdw.so \ + ${PKGD}${PTEST_PATH}/libasm/libasm.so \ + ${PKGD}${PTEST_PATH}/backends/libebl_i386.so \ + ${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \ +" + +PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1 libasm.so.1 libdebuginfod.so.1" diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-add-support-for-ipkg-to-debuginfod.cxx.patch b/poky/meta/recipes-devtools/elfutils/files/0001-add-support-for-ipkg-to-debuginfod.cxx.patch deleted file mode 100644 index 5f82afef0..000000000 --- a/poky/meta/recipes-devtools/elfutils/files/0001-add-support-for-ipkg-to-debuginfod.cxx.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 571416bf5b5ef319df6d9c79e46680920487e4a7 Mon Sep 17 00:00:00 2001 -From: dorindabassey -Date: Sat, 19 Dec 2020 01:11:46 +0100 -Subject: [PATCH] add support for ipkg to debuginfod.cxx - -added support for ipkg to the debuginfod scanner. 0.182 only supports RPM and scan .debs, with this patch, debuginfod scanner would be able to scan .ipk - -Upstream-status: Submitted [https://sourceware.org/pipermail/elfutils-devel/2020q4/003357.html] - -Signed-off-by: dorindabassey - ---- - debuginfod/debuginfod.cxx | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx -index b34eacc..a8915f2 100644 ---- a/debuginfod/debuginfod.cxx -+++ b/debuginfod/debuginfod.cxx -@@ -484,11 +484,13 @@ parse_opt (int key, char *arg, - { - scan_archives[".deb"]="dpkg-deb --fsys-tarfile"; - scan_archives[".ddeb"]="dpkg-deb --fsys-tarfile"; -+ scan_archives[".ipk"]="dpkg-deb --fsys-tarfile"; - } - else - { - scan_archives[".deb"]="(bsdtar -O -x -f - data.tar.xz)<"; - scan_archives[".ddeb"]="(bsdtar -O -x -f - data.tar.xz)<"; -+ scan_archives[".ipk"]="(bsdtar -O -x -f - data.tar.xz)<"; - } - // .udeb too? - break; diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch b/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch index 5bd6ba961..5b225c532 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch @@ -1,4 +1,4 @@ -From 14dfe84943b8f9e6f504536d8735ef6356210b40 Mon Sep 17 00:00:00 2001 +From c3055ce9eb32d0d24abc5cea5e1d231c499312a7 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 19 Apr 2021 23:29:10 +0200 Subject: [PATCH] debuginfod/debuginfod-client.c: correct string format on @@ -16,15 +16,34 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin Signed-off-by: Khem Raj + --- - debuginfod/debuginfod-client.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + debuginfod/debuginfod-client.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c -index de26af5..39e28f2 100644 +index ee7eda2..083ec2c 100644 --- a/debuginfod/debuginfod-client.c +++ b/debuginfod/debuginfod-client.c -@@ -229,7 +229,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path) +@@ -226,7 +226,7 @@ debuginfod_config_cache(char *config_path, + if (fd < 0) + return -errno; + +- if (dprintf(fd, "%ld", cache_config_default_s) < 0) ++ if (dprintf(fd, "%jd", (intmax_t)cache_config_default_s) < 0) + return -errno; + } + +@@ -234,7 +234,7 @@ debuginfod_config_cache(char *config_path, + FILE *config_file = fopen(config_path, "r"); + if (config_file) + { +- if (fscanf(config_file, "%ld", &cache_config) != 1) ++ if (fscanf(config_file, "%jd", (intmax_t*)(&cache_config)) != 1) + cache_config = cache_config_default_s; + fclose(config_file); + } +@@ -267,7 +267,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path) if (fd < 0) return -errno; @@ -33,7 +52,7 @@ index de26af5..39e28f2 100644 return -errno; /* init max age config file. */ -@@ -237,7 +237,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path) +@@ -275,7 +275,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path) && (fd = open(maxage_path, O_CREAT | O_RDWR, DEFFILEMODE)) < 0) return -errno; @@ -42,33 +61,3 @@ index de26af5..39e28f2 100644 return -errno; return 0; -@@ -263,7 +263,7 @@ debuginfod_clean_cache(debuginfod_client *c, - if (interval_file == NULL) - return -errno; - -- int rc = fprintf(interval_file, "%ld", cache_clean_default_interval_s); -+ int rc = fprintf(interval_file, "%jd", (intmax_t)cache_clean_default_interval_s); - fclose(interval_file); - - if (rc < 0) -@@ -275,7 +275,7 @@ debuginfod_clean_cache(debuginfod_client *c, - interval_file = fopen(interval_path, "r"); - if (interval_file) - { -- if (fscanf(interval_file, "%ld", &clean_interval) != 1) -+ if (fscanf(interval_file, "%jd", (intmax_t*)(&clean_interval)) != 1) - clean_interval = cache_clean_default_interval_s; - fclose(interval_file); - } -@@ -291,7 +291,7 @@ debuginfod_clean_cache(debuginfod_client *c, - max_unused_file = fopen(max_unused_path, "r"); - if (max_unused_file) - { -- if (fscanf(max_unused_file, "%ld", &max_unused_age) != 1) -+ if (fscanf(max_unused_file, "%jd", (intmax_t*)(&max_unused_age)) != 1) - max_unused_age = cache_default_max_unused_age_s; - fclose(max_unused_file); - } --- -2.31.1 - diff --git a/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch index b373940d3..c7360da7a 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch @@ -1,4 +1,4 @@ -From 18c527991deee93170a887b6da622560d5606913 Mon Sep 17 00:00:00 2001 +From 0f4667f0bb4b000d74ade07e90bd690b7217a19d Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Fri, 23 Aug 2019 10:18:47 +0800 Subject: [PATCH] musl-libs @@ -82,7 +82,7 @@ index ecb4d01..edc85e3 100644 #include diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c -index 6edb27f..f331e3c 100644 +index c0f8dfa..aa78033 100644 --- a/libdwfl/linux-kernel-modules.c +++ b/libdwfl/linux-kernel-modules.c @@ -50,6 +50,7 @@ diff --git a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch index 65593be32..2e379cdba 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch @@ -1,4 +1,4 @@ -From 2dab1a02a3cfd80629f3e0f380805a5e58dd0ac3 Mon Sep 17 00:00:00 2001 +From 2f94d488bf3daaa6a8548ee77120fc2506a9bbe3 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Fri, 23 Aug 2019 10:19:48 +0800 Subject: [PATCH] musl-utils @@ -39,7 +39,7 @@ index e117166..8326f6c 100644 /* State of -D/-U flags. */ extern bool arlib_deterministic_output; diff --git a/src/elfcompress.c b/src/elfcompress.c -index 1b5b1e3..21c9024 100644 +index 2c6d91b..608646e 100644 --- a/src/elfcompress.c +++ b/src/elfcompress.c @@ -37,6 +37,13 @@ @@ -57,7 +57,7 @@ index 1b5b1e3..21c9024 100644 ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; diff --git a/src/strip.c b/src/strip.c -index 7a5d4e4..81a0d57 100644 +index 70fc8c0..d035d9e 100644 --- a/src/strip.c +++ b/src/strip.c @@ -46,6 +46,13 @@ @@ -75,7 +75,7 @@ index 7a5d4e4..81a0d57 100644 /* Name and version of program. */ diff --git a/src/unstrip.c b/src/unstrip.c -index 8580329..d547487 100644 +index e488e81..0e44456 100644 --- a/src/unstrip.c +++ b/src/unstrip.c @@ -52,6 +52,15 @@ diff --git a/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch index 8e1e97041..2fa60c333 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch @@ -1,4 +1,4 @@ -From ce3b1403bd88261b5461a9dcb7d6d6be9185703e Mon Sep 17 00:00:00 2001 +From 72819106d0e5666d172d39c24c19e4e7a3b8be0e Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 1 May 2019 22:15:03 +0100 Subject: [PATCH] Fix error on musl: @@ -19,7 +19,7 @@ Signed-off-by: Richard Purdie 1 file changed, 5 insertions(+) diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c -index abbdf3f..bd90f4d 100644 +index 197c6a5..3683672 100644 --- a/tests/elfstrmerge.c +++ b/tests/elfstrmerge.c @@ -33,6 +33,11 @@ diff --git a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch index 205362626..5cd6fffc2 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch @@ -1,4 +1,4 @@ -From dfe11e043cd8ea0b0f0252bcff9f5a6b98c0ecd3 Mon Sep 17 00:00:00 2001 +From cfced441d4a6f2eca51d29c52240275bd6f54e49 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 22 Jun 2020 21:35:16 +0000 Subject: [PATCH] config/eu.am: do not use -Werror @@ -16,22 +16,22 @@ Signed-off-by: Alexander Kanavin 1 file changed, 2 deletions(-) diff --git a/config/eu.am b/config/eu.am -index 6c3c444..3bc0dc9 100644 +index 2c3e457..8fb0411 100644 --- a/config/eu.am +++ b/config/eu.am -@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - -Wold-style-definition -Wstrict-prototypes -Wtrampolines \ +@@ -89,7 +89,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ + -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ - $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ -@@ -83,7 +82,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ - -Wtrampolines \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ +@@ -99,7 +98,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ + $(TRAMPOLINES_WARNING) \ $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ - $(if $($(*F)_no_Werror),,-Werror) \ $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ + $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ diff --git a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb deleted file mode 100644 index 6435fea68..000000000 --- a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Tools for erofs filesystems" -LICENSE = "GPLv2+" -SECTION = "base" -LIC_FILES_CHKSUM = "file://COPYING;md5=94fa01670a2a8f2d3ab2de15004e0848" -HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README" - -SRCREV = "d1f4953edfcf4f51c71ba91586e21fc6ce9f6db9" -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git" - -S = "${WORKDIR}/git" - -DEPENDS = "util-linux-libuuid" - -inherit pkgconfig autotools - -PACKAGECONFIG ??= "lz4" -PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" - -EXTRA_OECONF = "${PACKAGECONFIG_CONFARGS} --disable-fuse" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.3.bb b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.3.bb new file mode 100644 index 000000000..d07d5c436 --- /dev/null +++ b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.3.bb @@ -0,0 +1,23 @@ +SUMMARY = "Tools for erofs filesystems" +LICENSE = "GPLv2+" +SECTION = "base" +LIC_FILES_CHKSUM = "file://COPYING;md5=94fa01670a2a8f2d3ab2de15004e0848" +HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README" + +SRCREV = "2cd522105ea771ec30b269cd4c57e2265a4d6349" +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git" + +UPSTREAM_CHECK_GITTAGREGEX = "v(?P(\d+(\.\d+)+))" + +S = "${WORKDIR}/git" + +DEPENDS = "util-linux-libuuid" + +inherit pkgconfig autotools + +PACKAGECONFIG ??= "lz4" +PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" + +EXTRA_OECONF = "${PACKAGECONFIG_CONFARGS} --disable-fuse" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb deleted file mode 100644 index a697b74f9..000000000 --- a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.7.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Utility for modifying GPT disk partitioning" -DESCRIPTION = "GPT fdisk is a disk partitioning tool loosely modeled on Linux fdisk, but used for modifying GUID Partition Table (GPT) disks. The related FixParts utility fixes some common problems on Master Boot Record (MBR) disks." -HOMEPAGE = "https://sourceforge.net/projects/gptfdisk/" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -DEPENDS = "util-linux" - -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \ - file://0001-gptcurses-correctly-include-curses.h.patch \ - " -SRC_URI[sha256sum] = "754004b7f85b279287c7ac3c0469b1d7e0eae043a97a2e587b0560ca5f3828c0" - -UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/" -UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P(\d+[\.\-_]*)+)/" - -EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}' gdisk fixparts ${PACKAGECONFIG_CONFARGS}" - -PACKAGECONFIG ??= "ncurses popt" -PACKAGECONFIG[ncurses] = "cgdisk,,ncurses" -PACKAGECONFIG[popt] = "sgdisk,,popt" - -do_install() { - install -d ${D}${sbindir} - for f in cgdisk sgdisk; do - if [ -x $f ]; then - install -m 0755 $f ${D}${sbindir} - fi - done - install -m 0755 gdisk ${D}${sbindir} - install -m 0755 fixparts ${D}${sbindir} -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.8.bb b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.8.bb new file mode 100644 index 000000000..16fe54096 --- /dev/null +++ b/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.8.bb @@ -0,0 +1,35 @@ +SUMMARY = "Utility for modifying GPT disk partitioning" +DESCRIPTION = "GPT fdisk is a disk partitioning tool loosely modeled on Linux fdisk, but used for modifying GUID Partition Table (GPT) disks. The related FixParts utility fixes some common problems on Master Boot Record (MBR) disks." +HOMEPAGE = "https://sourceforge.net/projects/gptfdisk/" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +DEPENDS = "util-linux" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${PV}/${BP}.tar.gz \ + file://0001-gptcurses-correctly-include-curses.h.patch \ + " +SRC_URI[sha256sum] = "95d19856f004dabc4b8c342b2612e8d0a9eebdd52004297188369f152e9dc6df" + +UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/" +UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P(\d+[\.\-_]*)+)/" + +EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}' gdisk fixparts ${PACKAGECONFIG_CONFARGS}" + +PACKAGECONFIG ??= "ncurses popt" +PACKAGECONFIG[ncurses] = "cgdisk,,ncurses" +PACKAGECONFIG[popt] = "sgdisk,,popt" + +do_install() { + install -d ${D}${sbindir} + for f in cgdisk sgdisk; do + if [ -x $f ]; then + install -m 0755 $f ${D}${sbindir} + fi + done + install -m 0755 gdisk ${D}${sbindir} + install -m 0755 fixparts ${D}${sbindir} +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/gcc/gcc-11.1.inc b/poky/meta/recipes-devtools/gcc/gcc-11.1.inc index bf29879de..c21242af5 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-11.1.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-11.1.inc @@ -68,7 +68,10 @@ SRC_URI = "\ file://0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ file://0036-mingw32-Enable-operation_not_supported.patch \ file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \ - file://0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch \ + file://0001-libstdc-Fix-installation-of-python-hooks-PR-99453.patch \ + file://0038-arc-Update-64bit-move-split-patterns.patch \ + file://0039-arc-Fix-u-maddhisi-patterns.patch \ + file://0040-arc-Update-doloop_end-patterns.patch \ " SRC_URI[sha256sum] = "4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf" SRC_URI[backports.sha256sum] = "69274bebd6c069a13443d4af61070e854740a639ec4d66eedf3e80070363587b" diff --git a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc index a64c4caf0..dc7f458b2 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -40,6 +40,7 @@ EXTRA_OECONF = "\ ${@get_gcc_mips_plt_setting(bb, d)} \ ${@get_gcc_ppc_plt_settings(bb, d)} \ ${@get_gcc_multiarch_setting(bb, d)} \ + --enable-standard-branch-protection \ " # glibc version is a minimum controlling whether features are enabled. diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch deleted file mode 100644 index a3e31e4f9..000000000 --- a/poky/meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch +++ /dev/null @@ -1,76 +0,0 @@ -This change breaks installation on baremetal targets, so whilst the cause is -investigated revert the commit. - -Upstream-Status: Inappropriate -Signed-off-by: Ross Burton - -From 8ec52bd0ba2141ef0bcc6f93e26a23d662b40f78 Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Wed, 26 May 2021 19:54:29 +0100 -Subject: [PATCH] Revert "libstdc++: Install libstdc++*-gdb.py more robustly - [PR 99453]" - -This reverts commit dbb87d6a9c37c8eca80d77782717a8144515c16d. ---- - libstdc++-v3/python/Makefile.am | 20 ++++++++++++++++---- - libstdc++-v3/python/Makefile.in | 14 ++++++++++++-- - 2 files changed, 28 insertions(+), 6 deletions(-) - -diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am -index 0c2b207b86e..01517a2a522 100644 ---- a/libstdc++-v3/python/Makefile.am -+++ b/libstdc++-v3/python/Makefile.am -@@ -44,9 +44,21 @@ gdb.py: hook.in Makefile - install-data-local: gdb.py - @$(mkdir_p) $(DESTDIR)$(toolexeclibdir) - ## We want to install gdb.py as SOMETHING-gdb.py. SOMETHING is the --## full name of the final library. We use the libtool .la file to get --## the correct name. -- @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ -- $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ -+## full name of the final library. We want to ignore symlinks, the -+## .la file, and any previous -gdb.py file. This is inherently -+## fragile, but there does not seem to be a better option, because -+## libtool hides the real names from us. -+ @here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \ -+ for file in libstdc++.*; do \ -+ case $$file in \ -+ *-gdb.py) ;; \ -+ *.la) ;; \ -+ *) if test -h $$file; then \ -+ continue; \ -+ fi; \ -+ libname=$$file;; \ -+ esac; \ -+ done; \ -+ cd $$here; \ - echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \ - $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py -diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefile.in -index 2efe0b96a19..c35dbe55961 100644 ---- a/libstdc++-v3/python/Makefile.in -+++ b/libstdc++-v3/python/Makefile.in -@@ -607,8 +607,18 @@ gdb.py: hook.in Makefile - - install-data-local: gdb.py - @$(mkdir_p) $(DESTDIR)$(toolexeclibdir) -- @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ -- $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ -+ @here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \ -+ for file in libstdc++.*; do \ -+ case $$file in \ -+ *-gdb.py) ;; \ -+ *.la) ;; \ -+ *) if test -h $$file; then \ -+ continue; \ -+ fi; \ -+ libname=$$file;; \ -+ esac; \ -+ done; \ -+ cd $$here; \ - echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \ - $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py - --- -2.25.1 - diff --git a/poky/meta/recipes-devtools/gcc/gcc/0001-libstdc-Fix-installation-of-python-hooks-PR-99453.patch b/poky/meta/recipes-devtools/gcc/gcc/0001-libstdc-Fix-installation-of-python-hooks-PR-99453.patch new file mode 100644 index 000000000..d82f533cb --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc/0001-libstdc-Fix-installation-of-python-hooks-PR-99453.patch @@ -0,0 +1,57 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From ad4c21f0f59b52357019148ec94d767aa2acd8f2 Mon Sep 17 00:00:00 2001 +From: Jonathan Wakely +Date: Tue, 1 Jun 2021 11:00:16 +0100 +Subject: [PATCH] libstdc++: Fix installation of python hooks [PR 99453] + +When no shared library is installed, the new code to determine the name +of the -gdb.py file yields an empty string. Use the name of the static +library in that case. + +libstdc++-v3/ChangeLog: + + PR libstdc++/99453 + * python/Makefile.am: Use archive name for printer hook if no + dynamic library name is available. + * python/Makefile.in: Regenerate. + +(cherry picked from commit 9f7bc160b4a0f27dce248d1226e3ae7104b0e67b) +--- + libstdc++-v3/python/Makefile.am | 4 ++++ + libstdc++-v3/python/Makefile.in | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am +index 0c2b207b86e..8efefa5725c 100644 +--- a/libstdc++-v3/python/Makefile.am ++++ b/libstdc++-v3/python/Makefile.am +@@ -48,5 +48,9 @@ install-data-local: gdb.py + ## the correct name. + @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ + $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ ++ if [ -z "$$libname" ]; then \ ++ libname=`sed -ne "/^old_library=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ ++ $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ ++ fi; \ + echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \ + $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py +diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefile.in +index 2efe0b96a19..9904a9197de 100644 +--- a/libstdc++-v3/python/Makefile.in ++++ b/libstdc++-v3/python/Makefile.in +@@ -609,6 +609,10 @@ install-data-local: gdb.py + @$(mkdir_p) $(DESTDIR)$(toolexeclibdir) + @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ + $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ ++ if [ -z "$$libname" ]; then \ ++ libname=`sed -ne "/^old_library=/{s/.*='//;s/'$$//;s/ .*//;p;}" \ ++ $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \ ++ fi; \ + echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \ + $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py + +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch index 789f57343..8184e6874 100644 --- a/poky/meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch +++ b/poky/meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch @@ -1,4 +1,4 @@ -From 28e7c312b1292ca216d4b54ec9f6b7ac055907a8 Mon Sep 17 00:00:00 2001 +From 2fa5c93641b75a662839c1b6eee172b6c481c70e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 29 Mar 2013 09:10:06 +0400 Subject: [PATCH] 64-bit multilib hack. @@ -19,7 +19,7 @@ and be able to patch these entries with a complete set of correct paths but this don't have such code at this point. This is something the target gcc recipe should do and override these platform defaults in its build config. -Do same for riscv64 and aarch64 +Do same for riscv64, aarch64 & arc RP 15/8/11 @@ -30,11 +30,12 @@ Signed-off-by: Elvis Dowson Signed-off-by: Mark Hatle --- gcc/config/aarch64/t-aarch64-linux | 8 ++++---- + gcc/config/arc/t-multilib-linux | 4 ++-- gcc/config/i386/t-linux64 | 6 ++---- gcc/config/mips/t-linux64 | 10 +++------- gcc/config/riscv/t-linux | 6 ++++-- gcc/config/rs6000/t-linux64 | 5 ++--- - 5 files changed, 15 insertions(+), 20 deletions(-) + 6 files changed, 17 insertions(+), 22 deletions(-) diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux index 241b0ef20b6..a7dadb2d64f 100644 @@ -53,6 +54,22 @@ index 241b0ef20b6..a7dadb2d64f 100644 -MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) +#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) +diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux +index fc3fff640a2..d58e28f6df8 100644 +--- a/gcc/config/arc/t-multilib-linux ++++ b/gcc/config/arc/t-multilib-linux +@@ -16,9 +16,9 @@ + # along with GCC; see the file COPYING3. If not see + # . + +-MULTILIB_OPTIONS = mcpu=hs/mcpu=archs/mcpu=hs38/mcpu=hs38_linux/mcpu=arc700/mcpu=nps400 ++#MULTILIB_OPTIONS = mcpu=hs/mcpu=archs/mcpu=hs38/mcpu=hs38_linux/mcpu=arc700/mcpu=nps400 + +-MULTILIB_DIRNAMES = hs archs hs38 hs38_linux arc700 nps400 ++#MULTILIB_DIRNAMES = hs archs hs38 hs38_linux arc700 nps400 + + # Aliases: + MULTILIB_MATCHES += mcpu?arc700=mA7 diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 index d288b093522..7b5980a9d21 100644 --- a/gcc/config/i386/t-linux64 diff --git a/poky/meta/recipes-devtools/gcc/gcc/0038-arc-Update-64bit-move-split-patterns.patch b/poky/meta/recipes-devtools/gcc/gcc/0038-arc-Update-64bit-move-split-patterns.patch new file mode 100644 index 000000000..37fe95d71 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc/0038-arc-Update-64bit-move-split-patterns.patch @@ -0,0 +1,290 @@ +From 0061fabeb9393c362601486105202cfe837a5a68 Mon Sep 17 00:00:00 2001 +From: Claudiu Zissulescu +Date: Wed, 9 Jun 2021 12:12:57 +0300 +Subject: [PATCH] arc: Update 64bit move split patterns. + +ARCv2HS can use a limited number of instructions to implement 64bit +moves. The VADD2 is used as a 64bit move, the LDD/STD are 64 bit loads +and stores. All those instructions are not baseline, hence we need to +provide alternatives when they are not available or cannot be generate +due to instruction restriction. + +This patch is cleaning up those move patterns, and updates splits +instruction lengths. + +This is a backport from mainline gcc. + +gcc/ +2021-06-09 Claudiu Zissulescu + + * config/arc/arc-protos.h (arc_split_move_p): New prototype. + * config/arc/arc.c (arc_split_move_p): New function. + (arc_split_move): Clean up. + * config/arc/arc.md (movdi_insn): Clean up, use arc_split_move_p. + (movdf_insn): Likewise. + * config/arc/simdext.md (mov_insn): Likewise. + +Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=0061fabeb9393c362601486105202cfe837a5a68] + +Signed-off-by: Claudiu Zissulescu +(cherry picked from commit c0ba7a8af5366c37241f20e8be41e362f7260389) +Signed-off-by: Alexey Brodkin +--- + gcc/config/arc/arc-protos.h | 1 + + gcc/config/arc/arc.c | 44 ++++++++++++---------- + gcc/config/arc/arc.md | 91 +++++++++------------------------------------ + gcc/config/arc/simdext.md | 38 ++++--------------- + 4 files changed, 52 insertions(+), 122 deletions(-) + +diff --git a/gcc/config/arc/arc-protos.h b/gcc/config/arc/arc-protos.h +index 1f56a0d82e4..62d7e45d29d 100644 +--- a/gcc/config/arc/arc-protos.h ++++ b/gcc/config/arc/arc-protos.h +@@ -50,6 +50,7 @@ extern void arc_split_ior (rtx *); + extern bool arc_check_mov_const (HOST_WIDE_INT ); + extern bool arc_split_mov_const (rtx *); + extern bool arc_can_use_return_insn (void); ++extern bool arc_split_move_p (rtx *); + #endif /* RTX_CODE */ + + extern bool arc_ccfsm_branch_deleted_p (void); +diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c +index 3201c3fefd7..db541bc11f5 100644 +--- a/gcc/config/arc/arc.c ++++ b/gcc/config/arc/arc.c +@@ -10129,6 +10129,31 @@ arc_process_double_reg_moves (rtx *operands) + return true; + } + ++ ++/* Check if we need to split a 64bit move. We do not need to split it if we can ++ use vadd2 or ldd/std instructions. */ ++ ++bool ++arc_split_move_p (rtx *operands) ++{ ++ machine_mode mode = GET_MODE (operands[0]); ++ ++ if (TARGET_LL64 ++ && ((memory_operand (operands[0], mode) ++ && (even_register_operand (operands[1], mode) ++ || satisfies_constraint_Cm3 (operands[1]))) ++ || (memory_operand (operands[1], mode) ++ && even_register_operand (operands[0], mode)))) ++ return false; ++ ++ if (TARGET_PLUS_QMACW ++ && even_register_operand (operands[0], mode) ++ && even_register_operand (operands[1], mode)) ++ return false; ++ ++ return true; ++} ++ + /* operands 0..1 are the operands of a 64 bit move instruction. + split it into two moves with operands 2/3 and 4/5. */ + +@@ -10146,25 +10171,6 @@ arc_split_move (rtx *operands) + return; + } + +- if (TARGET_LL64 +- && ((memory_operand (operands[0], mode) +- && (even_register_operand (operands[1], mode) +- || satisfies_constraint_Cm3 (operands[1]))) +- || (memory_operand (operands[1], mode) +- && even_register_operand (operands[0], mode)))) +- { +- emit_move_insn (operands[0], operands[1]); +- return; +- } +- +- if (TARGET_PLUS_QMACW +- && even_register_operand (operands[0], mode) +- && even_register_operand (operands[1], mode)) +- { +- emit_move_insn (operands[0], operands[1]); +- return; +- } +- + if (TARGET_PLUS_QMACW + && GET_CODE (operands[1]) == CONST_VECTOR) + { +diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md +index 7a52551eef5..91a838a38e4 100644 +--- a/gcc/config/arc/arc.md ++++ b/gcc/config/arc/arc.md +@@ -1329,47 +1329,20 @@ core_3, archs4x, archs4xd, archs4xd_slow" + "register_operand (operands[0], DImode) + || register_operand (operands[1], DImode) + || (satisfies_constraint_Cm3 (operands[1]) +- && memory_operand (operands[0], DImode))" +- "* +-{ +- switch (which_alternative) +- { +- default: +- return \"#\"; +- +- case 0: +- if (TARGET_PLUS_QMACW +- && even_register_operand (operands[0], DImode) +- && even_register_operand (operands[1], DImode)) +- return \"vadd2%?\\t%0,%1,0\"; +- return \"#\"; +- +- case 2: +- if (TARGET_LL64 +- && memory_operand (operands[1], DImode) +- && even_register_operand (operands[0], DImode)) +- return \"ldd%U1%V1 %0,%1%&\"; +- return \"#\"; +- +- case 3: +- if (TARGET_LL64 +- && memory_operand (operands[0], DImode) +- && (even_register_operand (operands[1], DImode) +- || satisfies_constraint_Cm3 (operands[1]))) +- return \"std%U0%V0 %1,%0\"; +- return \"#\"; +- } +-}" +- "&& reload_completed" ++ && memory_operand (operands[0], DImode))" ++ "@ ++ vadd2\\t%0,%1,0 ++ # ++ ldd%U1%V1\\t%0,%1 ++ std%U0%V0\\t%1,%0" ++ "&& reload_completed && arc_split_move_p (operands)" + [(const_int 0)] + { + arc_split_move (operands); + DONE; + } + [(set_attr "type" "move,move,load,store") +- ;; ??? The ld/st values could be 4 if it's [reg,bignum]. +- (set_attr "length" "8,16,*,*")]) +- ++ (set_attr "length" "8,16,16,16")]) + + ;; Floating point move insns. + +@@ -1408,50 +1381,22 @@ core_3, archs4x, archs4xd, archs4xd_slow" + (define_insn_and_split "*movdf_insn" + [(set (match_operand:DF 0 "move_dest_operand" "=D,r,r,r,r,m") + (match_operand:DF 1 "move_double_src_operand" "r,D,r,E,m,r"))] +- "register_operand (operands[0], DFmode) +- || register_operand (operands[1], DFmode)" +- "* +-{ +- switch (which_alternative) +- { +- default: +- return \"#\"; +- +- case 2: +- if (TARGET_PLUS_QMACW +- && even_register_operand (operands[0], DFmode) +- && even_register_operand (operands[1], DFmode)) +- return \"vadd2%?\\t%0,%1,0\"; +- return \"#\"; +- +- case 4: +- if (TARGET_LL64 +- && ((even_register_operand (operands[0], DFmode) +- && memory_operand (operands[1], DFmode)) +- || (memory_operand (operands[0], DFmode) +- && even_register_operand (operands[1], DFmode)))) +- return \"ldd%U1%V1 %0,%1%&\"; +- return \"#\"; +- +- case 5: +- if (TARGET_LL64 +- && ((even_register_operand (operands[0], DFmode) +- && memory_operand (operands[1], DFmode)) +- || (memory_operand (operands[0], DFmode) +- && even_register_operand (operands[1], DFmode)))) +- return \"std%U0%V0 %1,%0\"; +- return \"#\"; +- } +-}" +- "reload_completed" ++ "(register_operand (operands[0], DFmode) ++ || register_operand (operands[1], DFmode))" ++ "@ ++ # ++ # ++ vadd2\\t%0,%1,0 ++ # ++ ldd%U1%V1\\t%0,%1 ++ std%U0%V0\\t%1,%0" ++ "&& reload_completed && arc_split_move_p (operands)" + [(const_int 0)] + { + arc_split_move (operands); + DONE; + } + [(set_attr "type" "move,move,move,move,load,store") +- (set_attr "predicable" "no,no,no,yes,no,no") +- ;; ??? The ld/st values could be 16 if it's [reg,bignum]. + (set_attr "length" "4,16,8,16,16,16")]) + + (define_insn_and_split "*movdf_insn_nolrsr" +diff --git a/gcc/config/arc/simdext.md b/gcc/config/arc/simdext.md +index f0900757452..36f41a5c3d0 100644 +--- a/gcc/config/arc/simdext.md ++++ b/gcc/config/arc/simdext.md +@@ -1402,41 +1402,19 @@ + (match_operand:VWH 1 "general_operand" "i,r,m,r"))] + "(register_operand (operands[0], mode) + || register_operand (operands[1], mode))" +- "* +-{ +- switch (which_alternative) +- { +- default: +- return \"#\"; +- +- case 1: +- if (TARGET_PLUS_QMACW +- && even_register_operand (operands[0], mode) +- && even_register_operand (operands[1], mode)) +- return \"vadd2%?\\t%0,%1,0\"; +- return \"#\"; +- +- case 2: +- if (TARGET_LL64) +- return \"ldd%U1%V1 %0,%1\"; +- return \"#\"; +- +- case 3: +- if (TARGET_LL64) +- return \"std%U0%V0 %1,%0\"; +- return \"#\"; +- } +-}" +- "reload_completed" ++ "@ ++ # ++ vadd2\\t%0,%1,0 ++ ldd%U1%V1\\t%0,%1 ++ std%U0%V0\\t%1,%0" ++ "&& reload_completed && arc_split_move_p (operands)" + [(const_int 0)] + { + arc_split_move (operands); + DONE; + } +- [(set_attr "type" "move,multi,load,store") +- (set_attr "predicable" "no,no,no,no") +- (set_attr "iscompact" "false,false,false,false") +- ]) ++ [(set_attr "type" "move,move,load,store") ++ (set_attr "length" "16,8,16,16")]) + + (define_expand "movmisalign" + [(set (match_operand:VWH 0 "general_operand" "") +-- +2.16.2 + diff --git a/poky/meta/recipes-devtools/gcc/gcc/0039-arc-Fix-u-maddhisi-patterns.patch b/poky/meta/recipes-devtools/gcc/gcc/0039-arc-Fix-u-maddhisi-patterns.patch new file mode 100644 index 000000000..9c5a2b8b3 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc/0039-arc-Fix-u-maddhisi-patterns.patch @@ -0,0 +1,127 @@ +From 4186b7e93be73f8d68dc0fcc00a4cc8cc83e99a8 Mon Sep 17 00:00:00 2001 +From: Claudiu Zissulescu +Date: Wed, 9 Jun 2021 12:12:57 +0300 +Subject: [PATCH] arc: Fix (u)maddhisi patterns + +Rework the (u)maddhisi4 patterns and use VMAC2H(U) instruction instead +of the 64bit MAC(U) instruction. +This fixes the next execute.exp failures: + arith-rand-ll.c -O2 execution test + arith-rand-ll.c -O3 execution test + pr78726.c -O2 execution test + pr78726.c -O3 execution test + +gcc/ +2021-06-09 Claudiu Zissulescu + + * config/arc/arc.md (maddhisi4): Use VMAC2H instruction. + (machi): New pattern. + (umaddhisi4): Use VMAC2HU instruction. + (umachi): New pattern. + +Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=4186b7e93be73f8d68dc0fcc00a4cc8cc83e99a8] + +Signed-off-by: Claudiu Zissulescu +(cherry picked from commit dd4778a59b4693777c732075021375e19eee6a76) +Signed-off-by: Alexey Brodkin +--- + gcc/config/arc/arc.md | 66 ++++++++++++++++++++++++++++++++------------------- + 1 file changed, 41 insertions(+), 25 deletions(-) + +diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md +index 91a838a38e4..2a7e087ff72 100644 +--- a/gcc/config/arc/arc.md ++++ b/gcc/config/arc/arc.md +@@ -6053,48 +6053,64 @@ core_3, archs4x, archs4xd, archs4xd_slow" + + ;; MAC and DMPY instructions + +-; Use MAC instruction to emulate 16bit mac. ++; Use VMAC2H(U) instruction to emulate scalar 16bit mac. + (define_expand "maddhisi4" + [(match_operand:SI 0 "register_operand" "") + (match_operand:HI 1 "register_operand" "") + (match_operand:HI 2 "extend_operand" "") + (match_operand:SI 3 "register_operand" "")] +- "TARGET_PLUS_DMPY" ++ "TARGET_PLUS_MACD" + "{ +- rtx acc_reg = gen_rtx_REG (DImode, ACC_REG_FIRST); +- rtx tmp1 = gen_reg_rtx (SImode); +- rtx tmp2 = gen_reg_rtx (SImode); +- rtx accl = gen_lowpart (SImode, acc_reg); +- +- emit_move_insn (accl, operands[3]); +- emit_insn (gen_rtx_SET (tmp1, gen_rtx_SIGN_EXTEND (SImode, operands[1]))); +- emit_insn (gen_rtx_SET (tmp2, gen_rtx_SIGN_EXTEND (SImode, operands[2]))); +- emit_insn (gen_mac (tmp1, tmp2)); +- emit_move_insn (operands[0], accl); ++ rtx acc_reg = gen_rtx_REG (SImode, ACC_REG_FIRST); ++ ++ emit_move_insn (acc_reg, operands[3]); ++ emit_insn (gen_machi (operands[1], operands[2])); ++ emit_move_insn (operands[0], acc_reg); + DONE; + }") + +-; The same for the unsigned variant, but using MACU instruction. ++(define_insn "machi" ++ [(set (reg:SI ARCV2_ACC) ++ (plus:SI ++ (mult:SI (sign_extend:SI (match_operand:HI 0 "register_operand" "%r")) ++ (sign_extend:SI (match_operand:HI 1 "register_operand" "r"))) ++ (reg:SI ARCV2_ACC)))] ++ "TARGET_PLUS_MACD" ++ "vmac2h\\t0,%0,%1" ++ [(set_attr "length" "4") ++ (set_attr "type" "multi") ++ (set_attr "predicable" "no") ++ (set_attr "cond" "nocond")]) ++ ++; The same for the unsigned variant, but using VMAC2HU instruction. + (define_expand "umaddhisi4" + [(match_operand:SI 0 "register_operand" "") + (match_operand:HI 1 "register_operand" "") +- (match_operand:HI 2 "extend_operand" "") ++ (match_operand:HI 2 "register_operand" "") + (match_operand:SI 3 "register_operand" "")] +- "TARGET_PLUS_DMPY" ++ "TARGET_PLUS_MACD" + "{ +- rtx acc_reg = gen_rtx_REG (DImode, ACC_REG_FIRST); +- rtx tmp1 = gen_reg_rtx (SImode); +- rtx tmp2 = gen_reg_rtx (SImode); +- rtx accl = gen_lowpart (SImode, acc_reg); +- +- emit_move_insn (accl, operands[3]); +- emit_insn (gen_rtx_SET (tmp1, gen_rtx_ZERO_EXTEND (SImode, operands[1]))); +- emit_insn (gen_rtx_SET (tmp2, gen_rtx_ZERO_EXTEND (SImode, operands[2]))); +- emit_insn (gen_macu (tmp1, tmp2)); +- emit_move_insn (operands[0], accl); ++ rtx acc_reg = gen_rtx_REG (SImode, ACC_REG_FIRST); ++ ++ emit_move_insn (acc_reg, operands[3]); ++ emit_insn (gen_umachi (operands[1], operands[2])); ++ emit_move_insn (operands[0], acc_reg); + DONE; + }") + ++(define_insn "umachi" ++ [(set (reg:SI ARCV2_ACC) ++ (plus:SI ++ (mult:SI (zero_extend:SI (match_operand:HI 0 "register_operand" "%r")) ++ (zero_extend:SI (match_operand:HI 1 "register_operand" "r"))) ++ (reg:SI ARCV2_ACC)))] ++ "TARGET_PLUS_MACD" ++ "vmac2hu\\t0,%0,%1" ++ [(set_attr "length" "4") ++ (set_attr "type" "multi") ++ (set_attr "predicable" "no") ++ (set_attr "cond" "nocond")]) ++ + (define_expand "maddsidi4" + [(match_operand:DI 0 "register_operand" "") + (match_operand:SI 1 "register_operand" "") +-- +2.16.2 + diff --git a/poky/meta/recipes-devtools/gcc/gcc/0040-arc-Update-doloop_end-patterns.patch b/poky/meta/recipes-devtools/gcc/gcc/0040-arc-Update-doloop_end-patterns.patch new file mode 100644 index 000000000..5f0bf8df8 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc/0040-arc-Update-doloop_end-patterns.patch @@ -0,0 +1,105 @@ +From 5a9b6a004f89fdd95b0470e1324dc4dee8c41d24 Mon Sep 17 00:00:00 2001 +From: Claudiu Zissulescu +Date: Wed, 9 Jun 2021 12:12:57 +0300 +Subject: [PATCH] arc: Update doloop_end patterns + +ARC processor can use LP instruction to implement zero overlay loops. +The current inplementation doesn't handle the unlikely situation when +the loop iterator is located in memory. Refurbish the loop_end insn +pattern into a define_insn_and_split pattern. + +gcc/ +2021-07-09 Claudiu Zissulescu + + * config/arc/arc.md (loop_end): Change it to + define_insn_and_split. + +Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5a9b6a004f89fdd95b0470e1324dc4dee8c41d24] + +Signed-off-by: Claudiu Zissulescu +(cherry picked from commit 174e75a210753b68de0f2c398a13ace0f512e35b) +Signed-off-by: Alexey Brodkin +--- + gcc/config/arc/arc.md | 46 ++++++++++++++++++++-------------------------- + 1 file changed, 20 insertions(+), 26 deletions(-) + +diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md +index 2a7e087ff72..d704044c13f 100644 +--- a/gcc/config/arc/arc.md ++++ b/gcc/config/arc/arc.md +@@ -4986,7 +4986,7 @@ core_3, archs4x, archs4xd, archs4xd_slow" + (define_expand "doloop_end" + [(parallel [(set (pc) + (if_then_else +- (ne (match_operand 0 "" "") ++ (ne (match_operand 0 "nonimmediate_operand") + (const_int 1)) + (label_ref (match_operand 1 "" "")) + (pc))) +@@ -5012,44 +5012,38 @@ core_3, archs4x, archs4xd, archs4xd_slow" + + ;; if by any chance the lp_count is not used, then use an 'r' + ;; register, instead of going to memory. +-(define_insn "loop_end" +- [(set (pc) +- (if_then_else (ne (match_operand:SI 2 "nonimmediate_operand" "0,m") +- (const_int 1)) +- (label_ref (match_operand 1 "" "")) +- (pc))) +- (set (match_operand:SI 0 "nonimmediate_operand" "=r,m") +- (plus (match_dup 2) (const_int -1))) +- (unspec [(const_int 0)] UNSPEC_ARC_LP) +- (clobber (match_scratch:SI 3 "=X,&r"))] +- "" +- "; ZOL_END, begins @%l1" +- [(set_attr "length" "0") +- (set_attr "predicable" "no") +- (set_attr "type" "loop_end")]) +- + ;; split pattern for the very slim chance when the loop register is + ;; memory. +-(define_split ++(define_insn_and_split "loop_end" + [(set (pc) +- (if_then_else (ne (match_operand:SI 0 "memory_operand") ++ (if_then_else (ne (match_operand:SI 0 "nonimmediate_operand" "+r,!m") + (const_int 1)) +- (label_ref (match_operand 1 "")) ++ (label_ref (match_operand 1 "" "")) + (pc))) + (set (match_dup 0) (plus (match_dup 0) (const_int -1))) + (unspec [(const_int 0)] UNSPEC_ARC_LP) +- (clobber (match_scratch:SI 2))] +- "memory_operand (operands[0], SImode)" ++ (clobber (match_scratch:SI 2 "=X,&r"))] ++ "" ++ "@ ++ ; ZOL_END, begins @%l1 ++ #" ++ "reload_completed && memory_operand (operands[0], Pmode)" + [(set (match_dup 2) (match_dup 0)) +- (set (match_dup 2) (plus:SI (match_dup 2) (const_int -1))) ++ (parallel ++ [(set (reg:CC_ZN CC_REG) ++ (compare:CC_ZN (plus:SI (match_dup 2) (const_int -1)) ++ (const_int 0))) ++ (set (match_dup 2) (plus:SI (match_dup 2) (const_int -1)))]) + (set (match_dup 0) (match_dup 2)) +- (set (reg:CC CC_REG) (compare:CC (match_dup 2) (const_int 0))) + (set (pc) +- (if_then_else (ne (reg:CC CC_REG) ++ (if_then_else (ne (reg:CC_ZN CC_REG) + (const_int 0)) + (label_ref (match_dup 1)) + (pc)))] +- "") ++ "" ++ [(set_attr "length" "0,24") ++ (set_attr "predicable" "no") ++ (set_attr "type" "loop_end")]) + + (define_insn "loop_fail" + [(set (reg:SI LP_COUNT) +-- +2.16.2 + diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial.inc b/poky/meta/recipes-devtools/gcc/libgcc-initial.inc index f7d804122..06bf224f7 100644 --- a/poky/meta/recipes-devtools/gcc/libgcc-initial.inc +++ b/poky/meta/recipes-devtools/gcc/libgcc-initial.inc @@ -51,8 +51,6 @@ do_configure_prepend () { do_configure_append () { sed -i -e 's#thread_header = .*#thread_header = gthr-single.h#' ${B}/${BPN}/Makefile - sed -i -e '/^libgcc_tm_defines = $/a fp128_dec_funcs =' ${B}/${BPN}/Makefile - sed -i -e '/^libgcc_tm_defines = $/a fp128_decstr_funcs =' ${B}/${BPN}/Makefile } do_install_append () { diff --git a/poky/meta/recipes-devtools/gdb/gdb-10.2.inc b/poky/meta/recipes-devtools/gdb/gdb-10.2.inc index 0a7df54e9..0d275075e 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-10.2.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-10.2.inc @@ -15,5 +15,9 @@ SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \ file://0009-resolve-restrict-keyword-conflict.patch \ file://0010-Fix-invalid-sigprocmask-call.patch \ file://0011-gdbserver-ctrl-c-handling.patch \ + file://0012-arc-Add-support-for-signal-handlers.patch \ + file://0013-arc-Add-support-for-signal-frames-for-Linux-targets.patch \ + file://0014-arc-Take-into-account-the-REGNUM-in-supply-collect-g.patch \ + file://0015-gdb-Add-native-support-for-ARC-in-GNU-Linux.patch \ " SRC_URI[sha256sum] = "aaa1223d534c9b700a8bec952d9748ee1977513f178727e1bee520ee000b4f29" diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc index c9daf25a4..edb05b6f1 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc @@ -11,12 +11,13 @@ DEPENDS = "nativesdk-ncurses nativesdk-expat nativesdk-gettext \ GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'" # Overrides PACKAGECONFIG variables in gdb-common.inc -PACKAGECONFIG ??= "python readline" +PACKAGECONFIG ??= "python readline ${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}" PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,nativesdk-python3, \ nativesdk-python3-core \ nativesdk-python3-codecs nativesdk-python3-netclient \ " PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,nativesdk-readline" +PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod, nativesdk-elfutils" SSTATE_DUPWHITELIST += "${STAGING_DATADIR}/gdb" diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross.inc b/poky/meta/recipes-devtools/gdb/gdb-cross.inc index ebe329f6d..f8a113da8 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-cross.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-cross.inc @@ -5,9 +5,10 @@ DEPENDS = "expat-native ncurses-native flex-native bison-native" inherit python3native # Overrides PACKAGECONFIG variables in gdb-common.inc -PACKAGECONFIG ??= "python readline" +PACKAGECONFIG ??= "python readline ${@bb.utils.filter('DISTRO_FEATURES', 'debuginfod', d)}" PACKAGECONFIG[python] = "--with-python=${PYTHON},--without-python,python3-native" PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,readline-native" +PACKAGECONFIG[debuginfod] = "--with-debuginfod, --without-debuginfod, elfutils-native" do_compile_prepend() { export STAGING_LIBDIR="${STAGING_LIBDIR_NATIVE}" diff --git a/poky/meta/recipes-devtools/gdb/gdb/0012-arc-Add-support-for-signal-handlers.patch b/poky/meta/recipes-devtools/gdb/gdb/0012-arc-Add-support-for-signal-handlers.patch new file mode 100644 index 000000000..6a98b6576 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/0012-arc-Add-support-for-signal-handlers.patch @@ -0,0 +1,218 @@ +From bfee93403b46ae4f050282b7721ba39073905c69 Mon Sep 17 00:00:00 2001 +From: Anton Kolesov +Date: Mon, 22 Aug 2016 19:39:46 +0300 +Subject: [PATCH 1/4] arc: Add support for signal handlers + +This patch adds the necessary infrastructure to handle signal frames for +ARC architecture. It is fairly similar to what any other architecture +would have. Linux specific parts will be in a separate patch. + +v2 [1]: +- Make the logic of "arc_sigtramp_frame_sniffer ()" simpler. + +[1] Tom's remark for the first version +https://sourceware.org/pipermail/gdb-patches/2020-November/173221.html + +gdb/ChangeLog: + + * arc-tdep.c (arc_make_sigtramp_frame_cache): New function. + (arc_sigtramp_frame_this_id): Likewise. + (arc_sigtramp_frame_prev_register): Likewise. + (arc_sigtramp_frame_sniffer): Likewise. + (arc_siftramp_frame_unwind): New global variable. + (arc_gdbarch_init): Use sigtramp capabilities. + (arc_dump_tdep): Print sigtramp fields. + * arc-tdep.h (gdbarch_tdep): Add sigtramp fields. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=b4e3cd0440109d0a5552d3313ccbd35c8103335b] + +Signed-off-by: Anton Kolesov +Signed-off-by: Shahab Vahedi +Signed-off-by: Alexey Brodkin +--- + gdb/arc-tdep.c | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + gdb/arc-tdep.h | 13 ++++++ + 2 files changed, 136 insertions(+) + +diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c +index 93e2fd88a9a..3356252525d 100644 +--- a/gdb/arc-tdep.c ++++ b/gdb/arc-tdep.c +@@ -1843,6 +1843,104 @@ arc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, + reg->how = DWARF2_FRAME_REG_CFA; + } + ++/* Signal trampoline frame unwinder. Allows frame unwinding to happen ++ from within signal handlers. */ ++ ++static struct arc_frame_cache * ++arc_make_sigtramp_frame_cache (struct frame_info *this_frame) ++{ ++ if (arc_debug) ++ debug_printf ("arc: sigtramp_frame_cache\n"); ++ ++ struct gdbarch_tdep *tdep = gdbarch_tdep (get_frame_arch (this_frame)); ++ ++ /* Allocate new frame cache instance and space for saved register info. */ ++ struct arc_frame_cache *cache = FRAME_OBSTACK_ZALLOC (struct arc_frame_cache); ++ cache->saved_regs = trad_frame_alloc_saved_regs (this_frame); ++ ++ /* Get the stack pointer and use it as the frame base. */ ++ cache->prev_sp = arc_frame_base_address (this_frame, NULL); ++ ++ /* If the ARC-private target-dependent info doesn't have a table of ++ offsets of saved register contents within an OS signal context ++ structure, then there is nothing to analyze. */ ++ if (tdep->sc_reg_offset == NULL) ++ return cache; ++ ++ /* Find the address of the sigcontext structure. */ ++ CORE_ADDR addr = tdep->sigcontext_addr (this_frame); ++ ++ /* For each register, if its contents have been saved within the ++ sigcontext structure, determine the address of those contents. */ ++ gdb_assert (tdep->sc_num_regs <= (ARC_LAST_REGNUM + 1)); ++ for (int i = 0; i < tdep->sc_num_regs; i++) ++ { ++ if (tdep->sc_reg_offset[i] != ARC_OFFSET_NO_REGISTER) ++ cache->saved_regs[i].addr = addr + tdep->sc_reg_offset[i]; ++ } ++ ++ return cache; ++} ++ ++/* Implement the "this_id" frame_unwind method for signal trampoline ++ frames. */ ++ ++static void ++arc_sigtramp_frame_this_id (struct frame_info *this_frame, ++ void **this_cache, struct frame_id *this_id) ++{ ++ if (arc_debug) ++ debug_printf ("arc: sigtramp_frame_this_id\n"); ++ ++ if (*this_cache == NULL) ++ *this_cache = arc_make_sigtramp_frame_cache (this_frame); ++ ++ struct gdbarch *gdbarch = get_frame_arch (this_frame); ++ struct arc_frame_cache *cache = (struct arc_frame_cache *) *this_cache; ++ CORE_ADDR stack_addr = cache->prev_sp; ++ CORE_ADDR code_addr ++ = get_frame_register_unsigned (this_frame, gdbarch_pc_regnum (gdbarch)); ++ *this_id = frame_id_build (stack_addr, code_addr); ++} ++ ++/* Get a register from a signal handler frame. */ ++ ++static struct value * ++arc_sigtramp_frame_prev_register (struct frame_info *this_frame, ++ void **this_cache, int regnum) ++{ ++ if (arc_debug) ++ debug_printf ("arc: sigtramp_frame_prev_register (regnum = %d)\n", regnum); ++ ++ /* Make sure we've initialized the cache. */ ++ if (*this_cache == NULL) ++ *this_cache = arc_make_sigtramp_frame_cache (this_frame); ++ ++ struct arc_frame_cache *cache = (struct arc_frame_cache *) *this_cache; ++ return trad_frame_get_prev_register (this_frame, cache->saved_regs, regnum); ++} ++ ++/* Frame sniffer for signal handler frame. Only recognize a frame if we ++ have a sigcontext_addr handler in the target dependency. */ ++ ++static int ++arc_sigtramp_frame_sniffer (const struct frame_unwind *self, ++ struct frame_info *this_frame, ++ void **this_cache) ++{ ++ struct gdbarch_tdep *tdep; ++ ++ if (arc_debug) ++ debug_printf ("arc: sigtramp_frame_sniffer\n"); ++ ++ tdep = gdbarch_tdep (get_frame_arch (this_frame)); ++ ++ /* If we have a sigcontext_addr handler, then just return 1 (same as the ++ "default_frame_sniffer ()"). */ ++ return (tdep->sigcontext_addr != NULL && tdep->is_sigtramp != NULL ++ && tdep->is_sigtramp (this_frame)); ++} ++ + /* Structure defining the ARC ordinary frame unwind functions. Since we are + the fallback unwinder, we use the default frame sniffer, which always + accepts the frame. */ +@@ -1858,6 +1956,21 @@ static const struct frame_unwind arc_frame_unwind = { + NULL + }; + ++/* Structure defining the ARC signal frame unwind functions. Custom ++ sniffer is used, because this frame must be accepted only in the right ++ context. */ ++ ++static const struct frame_unwind arc_sigtramp_frame_unwind = { ++ SIGTRAMP_FRAME, ++ default_frame_unwind_stop_reason, ++ arc_sigtramp_frame_this_id, ++ arc_sigtramp_frame_prev_register, ++ NULL, ++ arc_sigtramp_frame_sniffer, ++ NULL, ++ NULL ++}; ++ + + static const struct frame_base arc_normal_base = { + &arc_frame_unwind, +@@ -2272,6 +2385,7 @@ arc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) + /* Frame unwinders and sniffers. */ + dwarf2_frame_set_init_reg (gdbarch, arc_dwarf2_frame_init_reg); + dwarf2_append_unwinders (gdbarch); ++ frame_unwind_append_unwinder (gdbarch, &arc_sigtramp_frame_unwind); + frame_unwind_append_unwinder (gdbarch, &arc_frame_unwind); + frame_base_set_default (gdbarch, &arc_normal_base); + +@@ -2350,6 +2464,15 @@ arc_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file) + struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); + + fprintf_unfiltered (file, "arc_dump_tdep: jb_pc = %i\n", tdep->jb_pc); ++ ++ fprintf_unfiltered (file, "arc_dump_tdep: is_sigtramp = <%s>\n", ++ host_address_to_string (tdep->is_sigtramp)); ++ fprintf_unfiltered (file, "arc_dump_tdep: sigcontext_addr = <%s>\n", ++ host_address_to_string (tdep->sigcontext_addr)); ++ fprintf_unfiltered (file, "arc_dump_tdep: sc_reg_offset = <%s>\n", ++ host_address_to_string (tdep->sc_reg_offset)); ++ fprintf_unfiltered (file, "arc_dump_tdep: sc_num_regs = %d\n", ++ tdep->sc_num_regs); + } + + /* This command accepts single argument - address of instruction to +diff --git a/gdb/arc-tdep.h b/gdb/arc-tdep.h +index 50b14905134..70fc3d95c48 100644 +--- a/gdb/arc-tdep.h ++++ b/gdb/arc-tdep.h +@@ -124,6 +124,19 @@ struct gdbarch_tdep + + /* Whether target has hardware (aka zero-delay) loops. */ + bool has_hw_loops; ++ ++ /* Detect sigtramp. */ ++ bool (*is_sigtramp) (struct frame_info *); ++ ++ /* Get address of sigcontext for sigtramp. */ ++ CORE_ADDR (*sigcontext_addr) (struct frame_info *); ++ ++ /* Offset of registers in `struct sigcontext'. */ ++ const int *sc_reg_offset; ++ ++ /* Number of registers in sc_reg_offsets. Most likely a ARC_LAST_REGNUM, ++ but in theory it could be less, so it is kept separate. */ ++ int sc_num_regs; + }; + + /* Utility functions used by other ARC-specific modules. */ +-- +2.16.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0013-arc-Add-support-for-signal-frames-for-Linux-targets.patch b/poky/meta/recipes-devtools/gdb/gdb/0013-arc-Add-support-for-signal-frames-for-Linux-targets.patch new file mode 100644 index 000000000..f699a5888 --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/0013-arc-Add-support-for-signal-frames-for-Linux-targets.patch @@ -0,0 +1,232 @@ +From 16ddc17b4f403a38701e0108b02aff967900cc66 Mon Sep 17 00:00:00 2001 +From: Anton Kolesov +Date: Thu, 22 Dec 2016 21:52:16 +0300 +Subject: [PATCH 2/4] arc: Add support for signal frames for Linux targets + +Implement functions needed to unwind signal frames on ARC Linux targets. + +gdb/ChangeLog + + * arc-linux-tdep.c (arc_linux_sc_reg_offsets): New static variable. + (arc_linux_is_sigtramp): New function. + (arc_linux_sigcontext_addr): Likewise. + (arc_linux_init_osabi): Use them. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=d4af727286e3a9f177ba11677fbd3a012d36558a] + +Signed-off-by: Anton Kolesov +Signed-off-by: Shahab Vahedi +Signed-off-by: Alexey Brodkin +--- + gdb/arc-linux-tdep.c | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 181 insertions(+) + +diff --git a/gdb/arc-linux-tdep.c b/gdb/arc-linux-tdep.c +index a7bace12623..17bb3e7b276 100644 +--- a/gdb/arc-linux-tdep.c ++++ b/gdb/arc-linux-tdep.c +@@ -33,6 +33,60 @@ + + #define REGOFF(offset) (offset * ARC_REGISTER_SIZE) + ++/* arc_linux_sc_reg_offsets[i] is the offset of register i in the `struct ++ sigcontext'. Array index is an internal GDB register number, as defined in ++ arc-tdep.h:arc_regnum. ++ ++ From and . ++ ++ The layout of this struct is tightly bound to "arc_regnum" enum ++ in arc-tdep.h. Any change of order in there, must be reflected ++ here as well. */ ++static const int arc_linux_sc_reg_offsets[] = { ++ /* R0 - R12. */ ++ REGOFF (22), REGOFF (21), REGOFF (20), REGOFF (19), ++ REGOFF (18), REGOFF (17), REGOFF (16), REGOFF (15), ++ REGOFF (14), REGOFF (13), REGOFF (12), REGOFF (11), ++ REGOFF (10), ++ ++ /* R13 - R25. */ ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ++ ++ REGOFF (9), /* R26 (GP) */ ++ REGOFF (8), /* FP */ ++ REGOFF (23), /* SP */ ++ ARC_OFFSET_NO_REGISTER, /* ILINK */ ++ ARC_OFFSET_NO_REGISTER, /* R30 */ ++ REGOFF (7), /* BLINK */ ++ ++ /* R32 - R59. */ ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ARC_OFFSET_NO_REGISTER, ++ ARC_OFFSET_NO_REGISTER, ++ ++ REGOFF (4), /* LP_COUNT */ ++ ARC_OFFSET_NO_REGISTER, /* RESERVED */ ++ ARC_OFFSET_NO_REGISTER, /* LIMM */ ++ ARC_OFFSET_NO_REGISTER, /* PCL */ ++ ++ REGOFF (6), /* PC */ ++ REGOFF (5), /* STATUS32 */ ++ REGOFF (2), /* LP_START */ ++ REGOFF (3), /* LP_END */ ++ REGOFF (1), /* BTA */ ++}; ++ + /* arc_linux_core_reg_offsets[i] is the offset in the .reg section of GDB + regnum i. Array index is an internal GDB register number, as defined in + arc-tdep.h:arc_regnum. +@@ -87,6 +141,127 @@ static const int arc_linux_core_reg_offsets[] = { + REGOFF (6) /* ERET */ + }; + ++/* Is THIS_FRAME a sigtramp function - the function that returns from ++ signal handler into normal execution flow? This is the case if the PC is ++ either at the start of, or in the middle of the two instructions: ++ ++ mov r8, __NR_rt_sigreturn ; __NR_rt_sigreturn == 139 ++ trap_s 0 ; `swi' for ARC700 ++ ++ On ARC uClibc Linux this function is called __default_rt_sa_restorer. ++ ++ Returns TRUE if this is a sigtramp frame. */ ++ ++static bool ++arc_linux_is_sigtramp (struct frame_info *this_frame) ++{ ++ struct gdbarch *gdbarch = get_frame_arch (this_frame); ++ CORE_ADDR pc = get_frame_pc (this_frame); ++ ++ if (arc_debug) ++ { ++ debug_printf ("arc-linux: arc_linux_is_sigtramp, pc=%s\n", ++ paddress(gdbarch, pc)); ++ } ++ ++ static const gdb_byte insns_be_hs[] = { ++ 0x20, 0x8a, 0x12, 0xc2, /* mov r8,nr_rt_sigreturn */ ++ 0x78, 0x1e /* trap_s 0 */ ++ }; ++ static const gdb_byte insns_be_700[] = { ++ 0x20, 0x8a, 0x12, 0xc2, /* mov r8,nr_rt_sigreturn */ ++ 0x22, 0x6f, 0x00, 0x3f /* swi */ ++ }; ++ ++ gdb_byte arc_sigtramp_insns[sizeof (insns_be_700)]; ++ size_t insns_sz; ++ if (arc_mach_is_arcv2 (gdbarch)) ++ { ++ insns_sz = sizeof (insns_be_hs); ++ memcpy (arc_sigtramp_insns, insns_be_hs, insns_sz); ++ } ++ else ++ { ++ insns_sz = sizeof (insns_be_700); ++ memcpy (arc_sigtramp_insns, insns_be_700, insns_sz); ++ } ++ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_LITTLE) ++ { ++ /* On little endian targets, ARC code section is in what is called ++ "middle endian", where half-words are in the big-endian order, ++ only bytes inside the halfwords are in the little endian order. ++ As a result it is very easy to convert big endian instruction to ++ little endian, since it is needed to swap bytes in the halfwords, ++ so there is no need to have information on whether that is a ++ 4-byte instruction or 2-byte. */ ++ gdb_assert ((insns_sz % 2) == 0); ++ for (int i = 0; i < insns_sz; i += 2) ++ std::swap (arc_sigtramp_insns[i], arc_sigtramp_insns[i+1]); ++ } ++ ++ gdb_byte buf[insns_sz]; ++ ++ /* Read the memory at the PC. Since we are stopped, any breakpoint must ++ have been removed. */ ++ if (!safe_frame_unwind_memory (this_frame, pc, buf, insns_sz)) ++ { ++ /* Failed to unwind frame. */ ++ return FALSE; ++ } ++ ++ /* Is that code the sigtramp instruction sequence? */ ++ if (memcmp (buf, arc_sigtramp_insns, insns_sz) == 0) ++ return TRUE; ++ ++ /* No - look one instruction earlier in the code... */ ++ if (!safe_frame_unwind_memory (this_frame, pc - 4, buf, insns_sz)) ++ { ++ /* Failed to unwind frame. */ ++ return FALSE; ++ } ++ ++ return (memcmp (buf, arc_sigtramp_insns, insns_sz) == 0); ++} ++ ++/* Get sigcontext structure of sigtramp frame - it contains saved ++ registers of interrupted frame. ++ ++ Stack pointer points to the rt_sigframe structure, and sigcontext can ++ be found as in: ++ ++ struct rt_sigframe { ++ struct siginfo info; ++ struct ucontext uc; ++ ... ++ }; ++ ++ struct ucontext { ++ unsigned long uc_flags; ++ struct ucontext *uc_link; ++ stack_t uc_stack; ++ struct sigcontext uc_mcontext; ++ sigset_t uc_sigmask; ++ }; ++ ++ sizeof (struct siginfo) == 0x80 ++ offsetof (struct ucontext, uc_mcontext) == 0x14 ++ ++ GDB cannot include linux headers and use offsetof () because those are ++ target headers and GDB might be built for a different run host. There ++ doesn't seem to be an established mechanism to figure out those offsets ++ via gdbserver, so the only way is to hardcode values in the GDB, ++ meaning that GDB will be broken if values will change. That seems to ++ be a very unlikely scenario and other arches (aarch64, alpha, amd64, ++ etc) in GDB hardcode values. */ ++ ++static CORE_ADDR ++arc_linux_sigcontext_addr (struct frame_info *this_frame) ++{ ++ const int ucontext_offset = 0x80; ++ const int sigcontext_offset = 0x14; ++ return get_frame_sp (this_frame) + ucontext_offset + sigcontext_offset; ++} ++ + /* Implement the "cannot_fetch_register" gdbarch method. */ + + static int +@@ -504,6 +679,12 @@ arc_linux_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch) + if (arc_debug) + debug_printf ("arc-linux: GNU/Linux OS/ABI initialization.\n"); + ++ /* Fill in target-dependent info in ARC-private structure. */ ++ tdep->is_sigtramp = arc_linux_is_sigtramp; ++ tdep->sigcontext_addr = arc_linux_sigcontext_addr; ++ tdep->sc_reg_offset = arc_linux_sc_reg_offsets; ++ tdep->sc_num_regs = ARRAY_SIZE (arc_linux_sc_reg_offsets); ++ + /* If we are using Linux, we have in uClibc + (libc/sysdeps/linux/arc/bits/setjmp.h): + +-- +2.16.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0014-arc-Take-into-account-the-REGNUM-in-supply-collect-g.patch b/poky/meta/recipes-devtools/gdb/gdb/0014-arc-Take-into-account-the-REGNUM-in-supply-collect-g.patch new file mode 100644 index 000000000..a7256065c --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/0014-arc-Take-into-account-the-REGNUM-in-supply-collect-g.patch @@ -0,0 +1,104 @@ +From 5eb97d5e92ad23ee81cebc1ebd5eafe0aa55fc17 Mon Sep 17 00:00:00 2001 +From: Shahab Vahedi +Date: Tue, 10 Nov 2020 19:34:57 +0100 +Subject: [PATCH 3/4] arc: Take into account the REGNUM in supply/collect gdb + hooks + +All the arc_linux_supply_*() target operations and the +arc_linux_collect_v2_regset() in arc-linux-tdep.c were +supplying/collecting all the registers in regcache as if the +REGNUM was set to -1. + +The more efficient behavior is to examine the REGNUM and act +accordingly. That is what this patch does. + +gdb/ChangeLog: + + * arc-linux-tdep.c (supply_register): New. + (arc_linux_supply_gregset, arc_linux_supply_v2_regset, + arc_linux_collect_v2_regset): Consider REGNUM. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=46023bbe81355230b4e7b76d3084337823d02362] + +Signed-off-by: Shahab Vahedi +Signed-off-by: Alexey Brodkin +--- + gdb/arc-linux-tdep.c | 41 ++++++++++++++++++++++++++++++++--------- + 1 file changed, 32 insertions(+), 9 deletions(-) + +diff --git a/gdb/arc-linux-tdep.c b/gdb/arc-linux-tdep.c +index 17bb3e7b276..e83d82b6f5c 100644 +--- a/gdb/arc-linux-tdep.c ++++ b/gdb/arc-linux-tdep.c +@@ -535,6 +535,18 @@ arc_linux_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc) + } + } + ++/* Populate REGCACHE with register REGNUM from BUF. */ ++ ++static void ++supply_register (struct regcache *regcache, int regnum, const gdb_byte *buf) ++{ ++ /* Skip non-existing registers. */ ++ if ((arc_linux_core_reg_offsets[regnum] == ARC_OFFSET_NO_REGISTER)) ++ return; ++ ++ regcache->raw_supply (regnum, buf + arc_linux_core_reg_offsets[regnum]); ++} ++ + void + arc_linux_supply_gregset (const struct regset *regset, + struct regcache *regcache, +@@ -545,9 +557,14 @@ arc_linux_supply_gregset (const struct regset *regset, + + const bfd_byte *buf = (const bfd_byte *) gregs; + +- for (int reg = 0; reg <= ARC_LAST_REGNUM; reg++) +- if (arc_linux_core_reg_offsets[reg] != ARC_OFFSET_NO_REGISTER) +- regcache->raw_supply (reg, buf + arc_linux_core_reg_offsets[reg]); ++ /* regnum == -1 means writing all the registers. */ ++ if (regnum == -1) ++ for (int reg = 0; reg <= ARC_LAST_REGNUM; reg++) ++ supply_register (regcache, reg, buf); ++ else if (regnum <= ARC_LAST_REGNUM) ++ supply_register (regcache, regnum, buf); ++ else ++ gdb_assert_not_reached ("Invalid regnum in arc_linux_supply_gregset."); + } + + void +@@ -558,9 +575,12 @@ arc_linux_supply_v2_regset (const struct regset *regset, + const bfd_byte *buf = (const bfd_byte *) v2_regs; + + /* user_regs_arcv2 is defined in linux arch/arc/include/uapi/asm/ptrace.h. */ +- regcache->raw_supply (ARC_R30_REGNUM, buf); +- regcache->raw_supply (ARC_R58_REGNUM, buf + REGOFF (1)); +- regcache->raw_supply (ARC_R59_REGNUM, buf + REGOFF (2)); ++ if (regnum == -1 || regnum == ARC_R30_REGNUM) ++ regcache->raw_supply (ARC_R30_REGNUM, buf); ++ if (regnum == -1 || regnum == ARC_R58_REGNUM) ++ regcache->raw_supply (ARC_R58_REGNUM, buf + REGOFF (1)); ++ if (regnum == -1 || regnum == ARC_R59_REGNUM) ++ regcache->raw_supply (ARC_R59_REGNUM, buf + REGOFF (2)); + } + + /* Populate BUF with register REGNUM from the REGCACHE. */ +@@ -618,9 +638,12 @@ arc_linux_collect_v2_regset (const struct regset *regset, + { + bfd_byte *buf = (bfd_byte *) v2_regs; + +- regcache->raw_collect (ARC_R30_REGNUM, buf); +- regcache->raw_collect (ARC_R58_REGNUM, buf + REGOFF (1)); +- regcache->raw_collect (ARC_R59_REGNUM, buf + REGOFF (2)); ++ if (regnum == -1 || regnum == ARC_R30_REGNUM) ++ regcache->raw_collect (ARC_R30_REGNUM, buf); ++ if (regnum == -1 || regnum == ARC_R58_REGNUM) ++ regcache->raw_collect (ARC_R58_REGNUM, buf + REGOFF (1)); ++ if (regnum == -1 || regnum == ARC_R59_REGNUM) ++ regcache->raw_collect (ARC_R59_REGNUM, buf + REGOFF (2)); + } + + /* Linux regset definitions. */ +-- +2.16.2 + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0015-gdb-Add-native-support-for-ARC-in-GNU-Linux.patch b/poky/meta/recipes-devtools/gdb/gdb/0015-gdb-Add-native-support-for-ARC-in-GNU-Linux.patch new file mode 100644 index 000000000..31cf0b0be --- /dev/null +++ b/poky/meta/recipes-devtools/gdb/gdb/0015-gdb-Add-native-support-for-ARC-in-GNU-Linux.patch @@ -0,0 +1,414 @@ +From 32b366249fd42d74cbc4a91039431554ebadcfd0 Mon Sep 17 00:00:00 2001 +From: Anton Kolesov +Date: Fri, 14 Feb 2014 11:56:23 +0400 +Subject: [PATCH 4/4] gdb: Add native support for ARC in GNU/Linux + +With this patch in place it is possible to build a GDB that +can run on ARC (GNU/Linux) hosts for debugging ARC targets. + +The "arc-linux-nat.c" is a rather small one that mostly deals +with registers and a few thread related hooks. + +v2 [1]: +- Remove "void" from the input of "_initialize_arc_linux_nat ()" + +[1] Tom's remark after the first patch +https://sourceware.org/pipermail/gdb-patches/2020-November/173223.html + +gdb/ChangeLog: + + * Makefile.in (ALLDEPFILES): Add arc-linux-nat.c. + * configure.host (host to gdb names): Add arc*-*-linux*. + * configure.nat (gdb_host_cpu): Add arc. + * arc-linux-nat.c: New. + +Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=04c9f85efcd8df5fc482ce97c0104cc7dd5d19e6] + +Signed-off-by: Anton Kolesov +Signed-off-by: Shahab Vahedi +Signed-off-by: Alexey Brodkin +--- + gdb/Makefile.in | 1 + + gdb/arc-linux-nat.c | 320 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + gdb/configure.host | 3 + + gdb/configure.nat | 4 + + 4 files changed, 328 insertions(+) + create mode 100644 gdb/arc-linux-nat.c + +diff --git a/gdb/Makefile.in b/gdb/Makefile.in +index ec371fc7e52..c76136907ae 100644 +--- a/gdb/Makefile.in ++++ b/gdb/Makefile.in +@@ -2136,6 +2136,7 @@ ALLDEPFILES = \ + amd64-obsd-tdep.c \ + amd64-sol2-tdep.c \ + amd64-tdep.c \ ++ arc-linux-nat.c \ + arc-tdep.c \ + arm.c \ + arm-bsd-tdep.c \ +diff --git a/gdb/arc-linux-nat.c b/gdb/arc-linux-nat.c +new file mode 100644 +index 00000000000..41301fd4fed +--- /dev/null ++++ b/gdb/arc-linux-nat.c +@@ -0,0 +1,320 @@ ++/* Native-dependent code for GNU/Linux ARC. ++ ++ Copyright 2020 Free Software Foundation, Inc. ++ ++ This file is part of GDB. ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program 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 General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . */ ++ ++#include "defs.h" ++#include "frame.h" ++#include "inferior.h" ++#include "gdbcore.h" ++#include "regcache.h" ++#include "gdbsupport/gdb_assert.h" ++#include "target.h" ++#include "linux-nat.h" ++#include "nat/gdb_ptrace.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include "gdbsupport/gdb_wait.h" ++#include ++#include ++#include ++ ++#include "gregset.h" ++#include "arc-tdep.h" ++#include "arc-linux-tdep.h" ++#include "arch/arc.h" ++ ++/* Defines ps_err_e, struct ps_prochandle. */ ++#include "gdb_proc_service.h" ++ ++/* Linux starting with 4.12 supports NT_ARC_V2 note type, which adds R30, ++ R58 and R59 registers, which are specific to ARC HS and aren't ++ available in ARC 700. */ ++#if defined (NT_ARC_V2) && defined (__ARCHS__) ++#define ARC_HAS_V2_REGSET ++#endif ++ ++class arc_linux_nat_target final : public linux_nat_target ++{ ++public: ++ /* Add ARC register access methods. */ ++ void fetch_registers (struct regcache *, int) override; ++ void store_registers (struct regcache *, int) override; ++ ++ const struct target_desc *read_description () override; ++ ++ /* Handle threads */ ++ void low_prepare_to_resume (struct lwp_info *lp) override; ++}; ++ ++static arc_linux_nat_target the_arc_linux_nat_target; ++ ++/* Read general registers from target process/thread (via ptrace) ++ into REGCACHE. */ ++ ++static void ++fetch_gregs (struct regcache *regcache, int regnum) ++{ ++ const int tid = get_ptrace_pid (regcache->ptid ()); ++ struct iovec iov; ++ gdb_gregset_t regs; ++ ++ iov.iov_base = ®s; ++ iov.iov_len = sizeof (gdb_gregset_t); ++ ++ if (ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, (void *) &iov) < 0) ++ perror_with_name (_("Couldn't get general registers")); ++ else ++ arc_linux_supply_gregset (NULL, regcache, regnum, ®s, 0); ++} ++ ++#ifdef ARC_HAS_V2_REGSET ++/* Read ARC v2 registers from target process/thread (via ptrace) ++ into REGCACHE. */ ++ ++static void ++fetch_v2_regs (struct regcache *regcache, int regnum) ++{ ++ const int tid = get_ptrace_pid (regcache->ptid ()); ++ struct iovec iov; ++ bfd_byte v2_buffer[ARC_LINUX_SIZEOF_V2_REGSET]; ++ ++ iov.iov_base = &v2_buffer; ++ iov.iov_len = ARC_LINUX_SIZEOF_V2_REGSET; ++ ++ if (ptrace (PTRACE_GETREGSET, tid, NT_ARC_V2, (void *) &iov) < 0) ++ perror_with_name (_("Couldn't get ARC HS registers")); ++ else ++ arc_linux_supply_v2_regset (NULL, regcache, regnum, v2_buffer, 0); ++} ++#endif ++ ++/* Store general registers from REGCACHE into the target process/thread. */ ++ ++static void ++store_gregs (const struct regcache *regcache, int regnum) ++{ ++ const int tid = get_ptrace_pid (regcache->ptid ()); ++ struct iovec iov; ++ gdb_gregset_t regs; ++ ++ iov.iov_base = ®s; ++ iov.iov_len = sizeof (gdb_gregset_t); ++ ++ if (ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, (void *) &iov) < 0) ++ perror_with_name (_("Couldn't get general registers")); ++ else ++ { ++ arc_linux_collect_gregset (NULL, regcache, regnum, regs, 0); ++ ++ if (ptrace (PTRACE_SETREGSET, tid, NT_PRSTATUS, (void *) &iov) < 0) ++ perror_with_name (_("Couldn't write general registers")); ++ } ++} ++ ++#ifdef ARC_HAS_V2_REGSET ++/* Store ARC v2 registers from REGCACHE into the target process/thread. */ ++ ++static void ++store_v2_regs (const struct regcache *regcache, int regnum) ++{ ++ const int tid = get_ptrace_pid (regcache->ptid ()); ++ struct iovec iov; ++ bfd_byte v2_buffer[ARC_LINUX_SIZEOF_V2_REGSET]; ++ ++ iov.iov_base = &v2_buffer; ++ iov.iov_len = ARC_LINUX_SIZEOF_V2_REGSET; ++ ++ if (ptrace (PTRACE_GETREGSET, tid, NT_ARC_V2, (void *) &iov) < 0) ++ perror_with_name (_("Couldn't get ARC HS registers")); ++ else ++ { ++ arc_linux_collect_v2_regset (NULL, regcache, regnum, v2_buffer, 0); ++ ++ if (ptrace (PTRACE_SETREGSET, tid, NT_ARC_V2, (void *) &iov) < 0) ++ perror_with_name (_("Couldn't write ARC HS registers")); ++ } ++} ++#endif ++ ++/* Target operation: Read REGNUM register (all registers if REGNUM == -1) ++ from target process into REGCACHE. */ ++ ++void ++arc_linux_nat_target::fetch_registers (struct regcache *regcache, int regnum) ++{ ++ ++ if (regnum == -1 || regnum <= ARC_LAST_REGNUM) ++ fetch_gregs (regcache, regnum); ++ ++#ifdef ARC_HAS_V2_REGSET ++ if (regnum == -1 ++ || regnum == ARC_R30_REGNUM ++ || regnum == ARC_R58_REGNUM ++ || regnum == ARC_R59_REGNUM) ++ fetch_v2_regs (regcache, regnum); ++#endif ++} ++ ++/* Target operation: Store REGNUM register (all registers if REGNUM == -1) ++ to the target process from REGCACHE. */ ++ ++void ++arc_linux_nat_target::store_registers (struct regcache *regcache, int regnum) ++{ ++ if (regnum == -1 || regnum <= ARC_LAST_REGNUM) ++ store_gregs (regcache, regnum); ++ ++#ifdef ARC_HAS_V2_REGSET ++ if (regnum == -1 ++ || regnum == ARC_R30_REGNUM ++ || regnum == ARC_R58_REGNUM ++ || regnum == ARC_R59_REGNUM) ++ store_v2_regs (regcache, regnum); ++#endif ++} ++ ++/* Copy general purpose register(s) from REGCACHE into regset GREGS. ++ This function is exported to proc-service.c */ ++ ++void ++fill_gregset (const struct regcache *regcache, ++ gdb_gregset_t *gregs, int regnum) ++{ ++ arc_linux_collect_gregset (NULL, regcache, regnum, gregs, 0); ++} ++ ++/* Copy all the general purpose registers from regset GREGS into REGCACHE. ++ This function is exported to proc-service.c. */ ++ ++void ++supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregs) ++{ ++ arc_linux_supply_gregset (NULL, regcache, -1, gregs, 0); ++} ++ ++/* ARC doesn't have separate FP registers. This function is exported ++ to proc-service.c. */ ++ ++void ++fill_fpregset (const struct regcache *regcache, ++ gdb_fpregset_t *fpregsetp, int regnum) ++{ ++ if (arc_debug) ++ debug_printf ("arc-linux-nat: fill_fpregset called."); ++ return; ++} ++ ++/* ARC doesn't have separate FP registers. This function is exported ++ to proc-service.c. */ ++ ++void ++supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp) ++{ ++ if (arc_debug) ++ debug_printf ("arc-linux-nat: supply_fpregset called."); ++ return; ++} ++ ++/* Implement the "read_description" method of linux_nat_target. */ ++ ++const struct target_desc * ++arc_linux_nat_target::read_description () ++{ ++ /* This is a native target, hence description is hardcoded. */ ++#ifdef __ARCHS__ ++ arc_arch_features features (4, ARC_ISA_ARCV2); ++#else ++ arc_arch_features features (4, ARC_ISA_ARCV1); ++#endif ++ return arc_lookup_target_description (features); ++} ++ ++/* As described in arc_linux_collect_gregset(), we need to write resume-PC ++ to ERET. However by default GDB for native targets doesn't write ++ registers if they haven't been changed. This is a callback called by ++ generic GDB, and in this callback we have to rewrite PC value so it ++ would force rewrite of register on target. It seems that the only ++ other arch that utilizes this hook is x86/x86-64 for HW breakpoint ++ support. But then, AFAIK no other arch has this stop_pc/eret ++ complexity. ++ ++ No better way was found, other than this fake write of register value, ++ to force GDB into writing register to target. Is there any? */ ++ ++void ++arc_linux_nat_target::low_prepare_to_resume (struct lwp_info *lwp) ++{ ++ /* When new processes and threads are created we do not have the address ++ space for them and calling get_thread_regcache will cause an internal ++ error in GDB. It looks like that checking for last_resume_kind is the ++ sensible way to determine processes for which we cannot get regcache. ++ Ultimately, a better way would be removing the need for ++ low_prepare_to_resume in the first place. */ ++ if (lwp->last_resume_kind == resume_stop) ++ return; ++ ++ struct regcache *regcache = get_thread_regcache (this, lwp->ptid); ++ struct gdbarch *gdbarch = regcache->arch (); ++ ++ /* Read current PC value, then write it back. It is required to call ++ invalidate(), otherwise GDB will note that new value is equal to old ++ value and will skip write. */ ++ ULONGEST new_pc; ++ regcache_cooked_read_unsigned (regcache, gdbarch_pc_regnum (gdbarch), ++ &new_pc); ++ regcache->invalidate (gdbarch_pc_regnum (gdbarch)); ++ regcache_cooked_write_unsigned (regcache, gdbarch_pc_regnum (gdbarch), ++ new_pc); ++} ++ ++/* Fetch the thread-local storage pointer for libthread_db. Note that ++ this function is not called from GDB, but is called from libthread_db. ++ This is required to debug multithreaded applications with NPTL. */ ++ ++ps_err_e ++ps_get_thread_area (struct ps_prochandle *ph, lwpid_t lwpid, int idx, ++ void **base) ++{ ++ if (arc_debug >= 2) ++ debug_printf ("arc-linux-nat: ps_get_thread_area called"); ++ ++ if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) ++ return PS_ERR; ++ ++ /* IDX is the bias from the thread pointer to the beginning of the ++ thread descriptor. It has to be subtracted due to implementation ++ quirks in libthread_db. */ ++ *base = (void *) ((char *) *base - idx); ++ ++ return PS_OK; ++} ++ ++/* Suppress warning from -Wmissing-prototypes. */ ++void _initialize_arc_linux_nat (); ++void ++_initialize_arc_linux_nat () ++{ ++ /* Register the target. */ ++ linux_target = &the_arc_linux_nat_target; ++ add_inf_child_target (&the_arc_linux_nat_target); ++} +diff --git a/gdb/configure.host b/gdb/configure.host +index ce528237291..e94a19b0332 100644 +--- a/gdb/configure.host ++++ b/gdb/configure.host +@@ -60,6 +60,7 @@ case "${host_cpu}" in + + aarch64*) gdb_host_cpu=aarch64 ;; + alpha*) gdb_host_cpu=alpha ;; ++arc*) gdb_host_cpu=arc ;; + arm*) gdb_host_cpu=arm ;; + hppa*) gdb_host_cpu=pa ;; + i[34567]86*) gdb_host_cpu=i386 ;; +@@ -91,6 +92,8 @@ alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu) + gdb_host=nbsd ;; + alpha*-*-openbsd*) gdb_host=nbsd ;; + ++arc*-*-linux*) gdb_host=linux ;; ++ + arm*-*-freebsd*) gdb_host=fbsd ;; + arm*-*-linux*) gdb_host=linux ;; + arm*-*-netbsdelf* | arm*-*-knetbsd*-gnu) +diff --git a/gdb/configure.nat b/gdb/configure.nat +index bb70e303384..cd11bc86dca 100644 +--- a/gdb/configure.nat ++++ b/gdb/configure.nat +@@ -238,6 +238,10 @@ case ${gdb_host} in + nat/aarch64-linux.o \ + nat/aarch64-sve-linux-ptrace.o" + ;; ++ arc) ++ # Host: ARC based machine running GNU/Linux ++ NATDEPFILES="${NATDEPFILES} arc-linux-nat.o" ++ ;; + arm) + # Host: ARM based machine running GNU/Linux + NATDEPFILES="${NATDEPFILES} arm-linux-nat.o \ +-- +2.16.2 + diff --git a/poky/meta/recipes-devtools/git/git_2.31.1.bb b/poky/meta/recipes-devtools/git/git_2.31.1.bb deleted file mode 100644 index 6bfa1f7a1..000000000 --- a/poky/meta/recipes-devtools/git/git_2.31.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -require git.inc - -EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ - ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ - " -EXTRA_OEMAKE += "NO_GETTEXT=1" - -SRC_URI[tarball.sha256sum] = "46d37c229e9d786510e0c53b60065704ce92d5aedc16f2c5111e3ed35093bfa7" -SRC_URI[manpages.sha256sum] = "d330498aaaea6928b0abbbbb896f6f605efd8d35f23cbbb2de38c87a737d4543" diff --git a/poky/meta/recipes-devtools/git/git_2.32.0.bb b/poky/meta/recipes-devtools/git/git_2.32.0.bb new file mode 100644 index 000000000..f45737b09 --- /dev/null +++ b/poky/meta/recipes-devtools/git/git_2.32.0.bb @@ -0,0 +1,9 @@ +require git.inc + +EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \ + ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \ + " +EXTRA_OEMAKE += "NO_GETTEXT=1" + +SRC_URI[tarball.sha256sum] = "6038f06d396ba9dab2eee541c7db6e7f9f847f181ec62f3d8441893f8c469398" +SRC_URI[manpages.sha256sum] = "b5533c40ea1688231c0e2df51cc0d1c0272e17fe78a45ba6e60cb8f61fa4a53c" diff --git a/poky/meta/recipes-devtools/go/go-1.16.4.inc b/poky/meta/recipes-devtools/go/go-1.16.4.inc deleted file mode 100644 index 71c17de31..000000000 --- a/poky/meta/recipes-devtools/go/go-1.16.4.inc +++ /dev/null @@ -1,20 +0,0 @@ -require go-common.inc - -GO_BASEVERSION = "1.16" -PV = "1.16.4" -FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" - -SRC_URI += "\ - file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \ - file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \ - file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \ - file://0004-ld-add-soname-to-shareable-objects.patch \ - file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \ - file://0006-cmd-dist-separate-host-and-target-builds.patch \ - file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ - file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ - file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \ -" -SRC_URI[main.sha256sum] = "ae4f6b6e2a1677d31817984655a762074b5356da50fb58722b99104870d43503" diff --git a/poky/meta/recipes-devtools/go/go-1.16.5.inc b/poky/meta/recipes-devtools/go/go-1.16.5.inc new file mode 100644 index 000000000..bd928e44f --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-1.16.5.inc @@ -0,0 +1,20 @@ +require go-common.inc + +GO_BASEVERSION = "1.16" +PV = "1.16.5" +FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" + +SRC_URI += "\ + file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \ + file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \ + file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \ + file://0004-ld-add-soname-to-shareable-objects.patch \ + file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \ + file://0006-cmd-dist-separate-host-and-target-builds.patch \ + file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ + file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ + file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \ +" +SRC_URI[main.sha256sum] = "7bfa7e5908c7cc9e75da5ddf3066d7cbcf3fd9fa51945851325eebc17f50ba80" diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb deleted file mode 100644 index 8c046e8e5..000000000 --- a/poky/meta/recipes-devtools/go/go-binary-native_1.16.4.bb +++ /dev/null @@ -1,46 +0,0 @@ -# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org. - -SUMMARY = "Go programming language compiler (upstream binary for bootstrap)" -HOMEPAGE = " http://golang.org/" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" - -PROVIDES = "go-native" - -SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" -SRC_URI[go_linux_amd64.sha256sum] = "7154e88f5a8047aad4b80ebace58a059e36e7e2e4eb3b383127a28c711b4ff59" -SRC_URI[go_linux_arm64.sha256sum] = "8b18eb05ddda2652d69ab1b1dd1f40dd731799f43c6a58b512ad01ae5b5bba21" - -UPSTREAM_CHECK_URI = "https://golang.org/dl/" -UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" - -S = "${WORKDIR}/go" - -inherit goarch native - -do_compile() { - : -} - -make_wrapper() { - rm -f ${D}${bindir}/$1 - cat <${D}${bindir}/$1 -#!/bin/bash -here=\`dirname \$0\` -export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" -\$here/../lib/go/bin/$1 "\$@" -END - chmod +x ${D}${bindir}/$1 -} - -do_install() { - find ${S} -depth -type d -name testdata -exec rm -rf {} + - - install -d ${D}${bindir} ${D}${libdir}/go - cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/ - - for f in ${S}/bin/* - do - make_wrapper `basename $f` - done -} diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.16.5.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.16.5.bb new file mode 100644 index 000000000..b3e2b6a60 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-binary-native_1.16.5.bb @@ -0,0 +1,46 @@ +# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org. + +SUMMARY = "Go programming language compiler (upstream binary for bootstrap)" +HOMEPAGE = " http://golang.org/" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" + +PROVIDES = "go-native" + +SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" +SRC_URI[go_linux_amd64.sha256sum] = "b12c23023b68de22f74c0524f10b753e7b08b1504cb7e417eccebdd3fae49061" +SRC_URI[go_linux_arm64.sha256sum] = "d5446b46ef6f36fdffa852f73dfbbe78c1ddf010b99fa4964944b9ae8b4d6799" + +UPSTREAM_CHECK_URI = "https://golang.org/dl/" +UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" + +S = "${WORKDIR}/go" + +inherit goarch native + +do_compile() { + : +} + +make_wrapper() { + rm -f ${D}${bindir}/$1 + cat <${D}${bindir}/$1 +#!/bin/bash +here=\`dirname \$0\` +export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" +\$here/../lib/go/bin/$1 "\$@" +END + chmod +x ${D}${bindir}/$1 +} + +do_install() { + find ${S} -depth -type d -name testdata -exec rm -rf {} + + + install -d ${D}${bindir} ${D}${libdir}/go + cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/ + + for f in ${S}/bin/* + do + make_wrapper `basename $f` + done +} diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb deleted file mode 100644 index 7ac9449e4..000000000 --- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.4.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross-canadian.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb new file mode 100644 index 000000000..7ac9449e4 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb @@ -0,0 +1,2 @@ +require go-cross-canadian.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.4.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.4.bb deleted file mode 100644 index 80b5a03f6..000000000 --- a/poky/meta/recipes-devtools/go/go-cross_1.16.4.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross_1.16.5.bb b/poky/meta/recipes-devtools/go/go-cross_1.16.5.bb new file mode 100644 index 000000000..80b5a03f6 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-cross_1.16.5.bb @@ -0,0 +1,2 @@ +require go-cross.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb deleted file mode 100644 index 1857c8a57..000000000 --- a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.4.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-crosssdk.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.16.5.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.5.bb new file mode 100644 index 000000000..1857c8a57 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-crosssdk_1.16.5.bb @@ -0,0 +1,2 @@ +require go-crosssdk.inc +require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.4.bb b/poky/meta/recipes-devtools/go/go-native_1.16.4.bb deleted file mode 100644 index f14892cdb..000000000 --- a/poky/meta/recipes-devtools/go/go-native_1.16.4.bb +++ /dev/null @@ -1,59 +0,0 @@ -# This recipe builds a native Go (written in Go) by first building an old Go 1.4 -# (written in C). However this old Go does not support all hosts platforms. - -require go-${PV}.inc - -inherit native - -SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4" -SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52" - -export GOOS = "${BUILD_GOOS}" -export GOARCH = "${BUILD_GOARCH}" -CC = "${@d.getVar('BUILD_CC').strip()}" - -GOMAKEARGS ?= "--no-banner" - -do_configure() { - cd ${WORKDIR}/go1.4/go/src - CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash -} - -do_compile() { - export GOROOT_FINAL="${libdir_native}/go" - export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go" - - cd src - ./make.bash ${GOMAKEARGS} - cd ${B} -} -do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin" -do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin" - -make_wrapper() { - rm -f ${D}${bindir}/$2$3 - cat <${D}${bindir}/$2$3 -#!/bin/bash -here=\`dirname \$0\` -export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" -\$here/../lib/go/bin/$1 "\$@" -END - chmod +x ${D}${bindir}/$2 -} - -do_install() { - install -d ${D}${libdir}/go - cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/ - install -d ${D}${libdir}/go/src - (cd ${S}/src; for d in *; do \ - [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \ - done) - find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \; - install -d ${D}${bindir} ${D}${libdir}/go/bin - for f in ${B}/bin/* - do - base=`basename $f` - install -m755 $f ${D}${libdir}/go/bin - make_wrapper $base $base - done -} diff --git a/poky/meta/recipes-devtools/go/go-native_1.16.5.bb b/poky/meta/recipes-devtools/go/go-native_1.16.5.bb new file mode 100644 index 000000000..f14892cdb --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-native_1.16.5.bb @@ -0,0 +1,59 @@ +# This recipe builds a native Go (written in Go) by first building an old Go 1.4 +# (written in C). However this old Go does not support all hosts platforms. + +require go-${PV}.inc + +inherit native + +SRC_URI_append = " https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz;name=bootstrap;subdir=go1.4" +SRC_URI[bootstrap.sha256sum] = "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52" + +export GOOS = "${BUILD_GOOS}" +export GOARCH = "${BUILD_GOARCH}" +CC = "${@d.getVar('BUILD_CC').strip()}" + +GOMAKEARGS ?= "--no-banner" + +do_configure() { + cd ${WORKDIR}/go1.4/go/src + CGO_ENABLED=0 GOROOT=${WORKDIR}/go1.4/go ./make.bash +} + +do_compile() { + export GOROOT_FINAL="${libdir_native}/go" + export GOROOT_BOOTSTRAP="${WORKDIR}/go1.4/go" + + cd src + ./make.bash ${GOMAKEARGS} + cd ${B} +} +do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin" +do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin" + +make_wrapper() { + rm -f ${D}${bindir}/$2$3 + cat <${D}${bindir}/$2$3 +#!/bin/bash +here=\`dirname \$0\` +export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}" +\$here/../lib/go/bin/$1 "\$@" +END + chmod +x ${D}${bindir}/$2 +} + +do_install() { + install -d ${D}${libdir}/go + cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/ + install -d ${D}${libdir}/go/src + (cd ${S}/src; for d in *; do \ + [ -d $d ] && cp -a ${S}/src/$d ${D}${libdir}/go/src/; \ + done) + find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \; + install -d ${D}${bindir} ${D}${libdir}/go/bin + for f in ${B}/bin/* + do + base=`basename $f` + install -m755 $f ${D}${libdir}/go/bin + make_wrapper $base $base + done +} diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb deleted file mode 100644 index 63464a150..000000000 --- a/poky/meta/recipes-devtools/go/go-runtime_1.16.4.bb +++ /dev/null @@ -1,3 +0,0 @@ -require go-${PV}.inc -require go-runtime.inc - diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.16.5.bb b/poky/meta/recipes-devtools/go/go-runtime_1.16.5.bb new file mode 100644 index 000000000..63464a150 --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-runtime_1.16.5.bb @@ -0,0 +1,3 @@ +require go-${PV}.inc +require go-runtime.inc + diff --git a/poky/meta/recipes-devtools/go/go_1.16.4.bb b/poky/meta/recipes-devtools/go/go_1.16.4.bb deleted file mode 100644 index 4e9e0ebec..000000000 --- a/poky/meta/recipes-devtools/go/go_1.16.4.bb +++ /dev/null @@ -1,17 +0,0 @@ -require go-${PV}.inc -require go-target.inc - -inherit linuxloader - -export GOBUILDMODE="" -export GO_LDSO = "${@get_linuxloader(d)}" -export CC_FOR_TARGET = "gcc" -export CXX_FOR_TARGET = "g++" - -# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its -# variants. -python() { - if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True): - d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel") -} - diff --git a/poky/meta/recipes-devtools/go/go_1.16.5.bb b/poky/meta/recipes-devtools/go/go_1.16.5.bb new file mode 100644 index 000000000..4e9e0ebec --- /dev/null +++ b/poky/meta/recipes-devtools/go/go_1.16.5.bb @@ -0,0 +1,17 @@ +require go-${PV}.inc +require go-target.inc + +inherit linuxloader + +export GOBUILDMODE="" +export GO_LDSO = "${@get_linuxloader(d)}" +export CC_FOR_TARGET = "gcc" +export CXX_FOR_TARGET = "g++" + +# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its +# variants. +python() { + if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True): + d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel") +} + diff --git a/poky/meta/recipes-devtools/libcomps/libcomps/0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/poky/meta/recipes-devtools/libcomps/libcomps/0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch index 3e9102605..6cd052889 100644 --- a/poky/meta/recipes-devtools/libcomps/libcomps/0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch +++ b/poky/meta/recipes-devtools/libcomps/libcomps/0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch @@ -10,18 +10,18 @@ Signed-off-by: Alexander Kanavin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcomps/src/python/src/CMakeLists.txt b/libcomps/src/python/src/CMakeLists.txt -index b9b96ab..6d44567 100644 +index f813af4..9eebb6c 100644 --- a/libcomps/src/python/src/CMakeLists.txt +++ b/libcomps/src/python/src/CMakeLists.txt -@@ -115,7 +115,7 @@ IF (SKBUILD) +@@ -85,7 +85,7 @@ IF (SKBUILD) INSTALL(FILES libcomps/__init__.py DESTINATION libcomps/src/python/src/libcomps) INSTALL(TARGETS pycomps LIBRARY DESTINATION libcomps/src/python/src/libcomps) ELSE () -- EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) -+ #EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(True))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) +- EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) ++ #EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from sysconfig import get_path; stdout.write(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_INSTALL_DIR) INSTALL(FILES ${pycomps_SRCDIR}/libcomps/__init__.py DESTINATION ${PYTHON_INSTALL_DIR}/libcomps) #INSTALL(FILES ${pycomps_SRCDIR}/tests/__test.py DESTINATION -- -2.26.2 +2.25.1 diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.16.bb b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.16.bb deleted file mode 100644 index 851ec5b81..000000000 --- a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.16.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Libcomps is alternative for yum.comps library (which is for managing rpm package groups)." -HOMEPAGE = "https://github.com/rpm-software-management/libcomps" -DESCRIPTION = "Libcomps is alternative for yum.comps library. It's written in pure C as library and there's bindings for python2 and python3." -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/rpm-software-management/libcomps.git \ - file://0001-Add-crc32.c-to-sources-list.patch \ - file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ - " - -SRCREV = "f3289ed1d812648558ab48ade4fae850b375fa65" - -S = "${WORKDIR}/git" - -inherit cmake distutils3-base - -DEPENDS += "libxml2 expat libcheck" - -EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" -OECMAKE_SOURCEPATH = "${S}/libcomps" - -BBCLASSEXTEND = "native nativesdk" - diff --git a/poky/meta/recipes-devtools/libcomps/libcomps_0.1.17.bb b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.17.bb new file mode 100644 index 000000000..502bc4688 --- /dev/null +++ b/poky/meta/recipes-devtools/libcomps/libcomps_0.1.17.bb @@ -0,0 +1,24 @@ +SUMMARY = "Libcomps is alternative for yum.comps library (which is for managing rpm package groups)." +HOMEPAGE = "https://github.com/rpm-software-management/libcomps" +DESCRIPTION = "Libcomps is alternative for yum.comps library. It's written in pure C as library and there's bindings for python2 and python3." +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "git://github.com/rpm-software-management/libcomps.git \ + file://0001-Add-crc32.c-to-sources-list.patch \ + file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ + " + +SRCREV = "dfaffdce1969042bda4a184865861573bb07a5a3" + +S = "${WORKDIR}/git" + +inherit cmake distutils3-base + +DEPENDS += "libxml2 expat libcheck" + +EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" +OECMAKE_SOURCEPATH = "${S}/libcomps" + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch new file mode 100644 index 000000000..d483dd410 --- /dev/null +++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch @@ -0,0 +1,42 @@ +From c0a465ccae395871ab10932975e37894220bc6a1 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Tue, 1 Jun 2021 10:23:59 +0800 +Subject: [PATCH] drop FindPythonInstDir.cmake + +Since commit [1] applied, PYTHON_INSTALL_DIR is not right +on nativesdk build +... +|Building for python3 +|-- Python install dir is +|tmp-glibc/work/x86_64-nativesdk-wrlinuxsdk-linux/nativesdk-libdnf/0.63.0-r0/ +recipe-sysroot-native/usr/lib/python3.9/site-packages +... + +Yocto manually set PYTHON_INSTALL_DIR from recipe, it is not +necessary to call FindPythonInstDir.cmake which will override +Yocto setting + +[1] https://github.com/rpm-software-management/libdnf/commit/f1cffbfb9f338da827e233c2d8ac3a25a6a59a69 + +Upstream-Status: Inappropriate [Yocto specific] + +Signed-off-by: Hongxu Jia +--- + cmake/modules/FindPythonInstDir.cmake | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/cmake/modules/FindPythonInstDir.cmake b/cmake/modules/FindPythonInstDir.cmake +index ed098ded..8b137891 100644 +--- a/cmake/modules/FindPythonInstDir.cmake ++++ b/cmake/modules/FindPythonInstDir.cmake +@@ -1,6 +1 @@ +-EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c " +-from sys import stdout +-from sysconfig import get_path +-path=get_path(name='platlib', vars={'platbase':'${CMAKE_INSTALL_PREFIX}'}) +-stdout.write(path)" +-OUTPUT_VARIABLE PYTHON_INSTALL_DIR) ++ +-- +2.18.1 + diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb index 79e886545..a26ee55cb 100644 --- a/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb +++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb @@ -12,6 +12,7 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \ file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \ file://enable_test_data_dir_set.patch \ file://0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch \ + file://0001-drop-FindPythonInstDir.cmake.patch \ " SRCREV = "669a5c691acba91693d238d6262ac99a440aa9b3" diff --git a/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch b/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch index 46ab9a113..2ea50f00f 100644 --- a/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch +++ b/poky/meta/recipes-devtools/librepo/librepo/0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Do not try to obtain PYTHON_INSTALL_DIR by running python. Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin - +Signed-off-by: Wang Mingyu --- librepo/python/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/librepo/python/CMakeLists.txt b/librepo/python/CMakeLists.txt -index 52fc39e..2024407 100644 +index 8523ca7..06e5f7b 100644 --- a/librepo/python/CMakeLists.txt +++ b/librepo/python/CMakeLists.txt @@ -16,12 +16,12 @@ SET (librepomodule_SRCS @@ -20,16 +20,19 @@ index 52fc39e..2024407 100644 -EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c " -from sys import stdout --from distutils import sysconfig --path=sysconfig.get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}') +-from sysconfig import get_path +-path=get_path(name='platlib', vars={'platbase':'${CMAKE_INSTALL_PREFIX}'}) -stdout.write(path)" -OUTPUT_VARIABLE PYTHON_INSTALL_DIR) +#EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c " +#from sys import stdout -+#from distutils import sysconfig -+#path=sysconfig.get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}') ++#from sysconfig import get_path ++#path=get_path(name='platlib', vars={'platbase':'${CMAKE_INSTALL_PREFIX}'}) +#stdout.write(path)" +#OUTPUT_VARIABLE PYTHON_INSTALL_DIR) INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH}) MESSAGE(STATUS "Python3 install dir is ${PYTHON_INSTALL_DIR}") +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.14.0.bb b/poky/meta/recipes-devtools/librepo/librepo_1.14.0.bb deleted file mode 100644 index 109b40ce3..000000000 --- a/poky/meta/recipes-devtools/librepo/librepo_1.14.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "A library providing C and Python (libcURL like) API \ - for downloading linux repository metadata and packages." -HOMEPAGE = "https://github.com/rpm-software-management/librepo" -DESCRIPTION = "${SUMMARY}" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI = "git://github.com/rpm-software-management/librepo.git \ - file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ - file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ - " - -SRCREV = "88b769eceefc1b151937e6b54d108b48f2177d87" - -S = "${WORKDIR}/git" - -DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" - -inherit cmake distutils3-base pkgconfig - -EXTRA_OECMAKE = " \ - -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \ - -DPYTHON_DESIRED=3 \ - -DENABLE_TESTS=OFF \ - -DENABLE_DOCS=OFF \ - -DWITH_ZCHUNK=OFF \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.14.1.bb b/poky/meta/recipes-devtools/librepo/librepo_1.14.1.bb new file mode 100644 index 000000000..867645258 --- /dev/null +++ b/poky/meta/recipes-devtools/librepo/librepo_1.14.1.bb @@ -0,0 +1,29 @@ +SUMMARY = "A library providing C and Python (libcURL like) API \ + for downloading linux repository metadata and packages." +HOMEPAGE = "https://github.com/rpm-software-management/librepo" +DESCRIPTION = "${SUMMARY}" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "git://github.com/rpm-software-management/librepo.git \ + file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \ + file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ + " + +SRCREV = "c5fe6b85b47f2e4f7a37cff3f3214205d1b54db5" + +S = "${WORKDIR}/git" + +DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2" + +inherit cmake distutils3-base pkgconfig + +EXTRA_OECMAKE = " \ + -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \ + -DPYTHON_DESIRED=3 \ + -DENABLE_TESTS=OFF \ + -DENABLE_DOCS=OFF \ + -DWITH_ZCHUNK=OFF \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc deleted file mode 100644 index 6475b02f8..000000000 --- a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "Traditional Unix macro processor" -HOMEPAGE = "https://www.gnu.org/software/m4/m4.html" -DESCRIPTION = "GNU m4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 \ -compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). \ -GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc." - -inherit autotools texinfo ptest - -SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \ - file://ac_config_links.patch \ - file://m4-1.4.18-glibc-change-work-around.patch \ - file://0001-c-stack-stop-using-SIGSTKSZ.patch \ - " -SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ - file://run-ptest \ - file://serial-tests-config.patch \ - file://0001-test-getopt-posix-fix.patch \ - " - -SRC_URI[md5sum] = "a077779db287adf4e12a035029002d28" -SRC_URI[sha256sum] = "ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab" - -LICENSE = "GPLv3" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ - file://examples/COPYING;md5=4031593b2166d6c47cae282d944a7ede" - -# Fix "Argument list too long" error when len(TMPDIR) = 410 -acpaths = "-I ./m4" - -EXTRA_OECONF += "--without-libsigsegv-prefix" - -EXTRA_OEMAKE += "'infodir=${infodir}'" - -do_compile_ptest() { - cd ${B}/tests - sed -i '/^buildtest-TESTS: /c buildtest-TESTS: $(TESTS) $(check_LIBRARIES) $(check_PROGRAMS)' Makefile - oe_runmake buildtest-TESTS -} - -do_install_ptest() { - cp -r ${B}/tests ${D}${PTEST_PATH} - cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/ - sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile - sed -i -e "s;LOCALE_FR='fr_FR';LOCALE_FR='fr_FR.iso88591';g" \ - -e "s;LOCALE_FR_UTF8='none';LOCALE_FR_UTF8='fr_FR.utf8';g" ${D}${PTEST_PATH}/tests/Makefile - find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {} - cp ${S}/build-aux/update-copyright ${D}${PTEST_PATH}/tests/ - sed -i 's;update-copyright;./update-copyright;g' ${D}${PTEST_PATH}/tests/test-update-copyright.sh - chmod 0755 ${D}${PTEST_PATH}/tests/test-mbrtowc-w32-1.sh ${D}${PTEST_PATH}/tests/test-spawn-pipe-main \ - ${D}${PTEST_PATH}/tests/test-spawn-pipe-child ${D}${PTEST_PATH}/tests/test-version-etc \ - ${D}${PTEST_PATH}/tests/test-xalloc-die -} - - -RDEPENDS_${PN}-ptest += "make coreutils diffutils" -RDEPENDS_${PN}-ptest_append_libc-glibc = "\ - locale-base-fr-fr.iso-8859-1 \ -" - -INSANE_SKIP_${PN}-ptest += "ldflags" -INSANE_SKIP_${PN}-ptest += "rpaths" - diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.19.inc b/poky/meta/recipes-devtools/m4/m4-1.4.19.inc new file mode 100644 index 000000000..5f3d59226 --- /dev/null +++ b/poky/meta/recipes-devtools/m4/m4-1.4.19.inc @@ -0,0 +1,61 @@ +SUMMARY = "Traditional Unix macro processor" +HOMEPAGE = "https://www.gnu.org/software/m4/m4.html" +DESCRIPTION = "GNU m4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 \ +compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). \ +GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc." + +inherit autotools texinfo ptest gettext + +SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \ + file://ac_config_links.patch \ + " +SRC_URI_append_class-target = " file://run-ptest \ + file://serial-tests-config.patch \ + " + +SRC_URI[md5sum] = "f4a2b0284d80353b995f8ef2385ed73c" +SRC_URI[sha256sum] = "3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70" + +LICENSE = "GPLv3" + +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464\ + file://examples/COPYING;md5=4031593b2166d6c47cae282d944a7ede" + +# Fix "Argument list too long" error when len(TMPDIR) = 410 +acpaths = "-I ./m4" + +EXTRA_OECONF += "--without-libsigsegv-prefix" + +EXTRA_OEMAKE += "'infodir=${infodir}'" + +do_compile_ptest() { + cd ${B}/tests + sed -i '/^buildtest-TESTS: /c buildtest-TESTS: $(TESTS) $(check_LIBRARIES) $(check_PROGRAMS)' Makefile + oe_runmake buildtest-TESTS +} + +do_install_ptest() { + cp -r ${B}/tests ${D}${PTEST_PATH} + cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/ + sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile + sed -i -e "s;LOCALE_FR='fr_FR';LOCALE_FR='fr_FR.iso88591';g" \ + -e "s;LOCALE_FR_UTF8='none';LOCALE_FR_UTF8='fr_FR.utf8';g" ${D}${PTEST_PATH}/tests/Makefile + find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {} + cp ${S}/build-aux/update-copyright ${D}${PTEST_PATH}/tests/ + sed -i 's;update-copyright;./update-copyright;g' ${D}${PTEST_PATH}/tests/test-update-copyright.sh + chmod 0755 ${D}${PTEST_PATH}/tests/test-mbrtowc-w32-1.sh ${D}${PTEST_PATH}/tests/test-spawn-pipe-main \ + ${D}${PTEST_PATH}/tests/test-spawn-pipe-child ${D}${PTEST_PATH}/tests/test-version-etc \ + ${D}${PTEST_PATH}/tests/test-xalloc-die + + ln -s ptest ${D}${libdir}/${BPN}/${BP} +} + + +RDEPENDS_${PN}-ptest += "make coreutils diffutils" +RDEPENDS_${PN}-ptest_append_libc-glibc = "\ + locale-base-fr-fr.iso-8859-1 \ +" + +INSANE_SKIP_${PN}-ptest += "ldflags" +INSANE_SKIP_${PN}-ptest += "rpaths" + diff --git a/poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb b/poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb deleted file mode 100644 index 407ad8933..000000000 --- a/poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb +++ /dev/null @@ -1,14 +0,0 @@ -require m4-${PV}.inc - -inherit native - -INHIBIT_AUTOTOOLS_DEPS = "1" -DEPENDS += "gnu-config-native" - -do_configure() { - install -m 0644 ${STAGING_DATADIR}/gnu-config/config.sub . - install -m 0644 ${STAGING_DATADIR}/gnu-config/config.guess . - oe_runconf -} - -UPSTREAM_CHECK_URI = "${GNU_MIRROR}/m4/" diff --git a/poky/meta/recipes-devtools/m4/m4-native_1.4.19.bb b/poky/meta/recipes-devtools/m4/m4-native_1.4.19.bb new file mode 100644 index 000000000..407ad8933 --- /dev/null +++ b/poky/meta/recipes-devtools/m4/m4-native_1.4.19.bb @@ -0,0 +1,14 @@ +require m4-${PV}.inc + +inherit native + +INHIBIT_AUTOTOOLS_DEPS = "1" +DEPENDS += "gnu-config-native" + +do_configure() { + install -m 0644 ${STAGING_DATADIR}/gnu-config/config.sub . + install -m 0644 ${STAGING_DATADIR}/gnu-config/config.guess . + oe_runconf +} + +UPSTREAM_CHECK_URI = "${GNU_MIRROR}/m4/" diff --git a/poky/meta/recipes-devtools/m4/m4/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-devtools/m4/m4/0001-Unset-need_charset_alias-when-building-for-musl.patch deleted file mode 100644 index ba1a4bab4..000000000 --- a/poky/meta/recipes-devtools/m4/m4/0001-Unset-need_charset_alias-when-building-for-musl.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 13 Apr 2015 17:02:13 -0700 -Subject: [PATCH] Unset need_charset_alias when building for musl - -localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4 -which actually shoudl be fixed in gnulib and then all downstream -projects will get it eventually. For now we apply the fix to -coreutils - -Upstream-Status: Pending - -Signed-off-by: Khem Raj ---- - lib/gnulib.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/gnulib.mk b/lib/gnulib.mk -index e1d74db..c0e92dd 100644 ---- a/lib/gnulib.mk -+++ b/lib/gnulib.mk -@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ -- darwin* | cygwin* | mingw* | pw32* | cegcc*) \ -+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch b/poky/meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch deleted file mode 100644 index 883b8a207..000000000 --- a/poky/meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 69238f15129f35eb4756ad8e2004e0d7907cb175 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 30 Apr 2021 17:40:36 -0700 -Subject: [PATCH] c-stack: stop using SIGSTKSZ - -This patch is required with glibc 2.34+ -based on gnulib [1] - -[1] https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=f9e2b20a12a230efa30f1d479563ae07d276a94b - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - lib/c-stack.c | 22 +++++++++++++--------- - 1 file changed, 13 insertions(+), 9 deletions(-) - -diff --git a/lib/c-stack.c b/lib/c-stack.c -index 5353c08..863f764 100644 ---- a/lib/c-stack.c -+++ b/lib/c-stack.c -@@ -51,13 +51,14 @@ - typedef struct sigaltstack stack_t; - #endif - #ifndef SIGSTKSZ --# define SIGSTKSZ 16384 --#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384 -+#define get_sigstksz() (16384) -+#elif HAVE_LIBSIGSEGV - /* libsigsegv 2.6 through 2.8 have a bug where some architectures use - more than the Linux default of an 8k alternate stack when deciding - if a fault was caused by stack overflow. */ --# undef SIGSTKSZ --# define SIGSTKSZ 16384 -+#define get_sigstksz() ((SIGSTKSZ) < 16384 ? 16384 : (SIGSTKSZ)) -+#else -+#define get_sigstksz() ((SIGSTKSZ)) - #endif - - #include -@@ -131,7 +132,8 @@ die (int signo) - /* Storage for the alternate signal stack. */ - static union - { -- char buffer[SIGSTKSZ]; -+ /* allocate buffer with size from get_sigstksz() */ -+ char *buffer; - - /* These other members are for proper alignment. There's no - standard way to guarantee stack alignment, but this seems enough -@@ -203,10 +205,11 @@ c_stack_action (void (*action) (int)) - program_error_message = _("program error"); - stack_overflow_message = _("stack overflow"); - -+ alternate_signal_stack.buffer = malloc(get_sigstksz()); - /* Always install the overflow handler. */ - if (stackoverflow_install_handler (overflow_handler, - alternate_signal_stack.buffer, -- sizeof alternate_signal_stack.buffer)) -+ get_sigstksz())) - { - errno = ENOTSUP; - return -1; -@@ -279,14 +282,15 @@ c_stack_action (void (*action) (int)) - stack_t st; - struct sigaction act; - st.ss_flags = 0; -+ alternate_signal_stack.buffer = malloc(get_sigstksz()); - # if SIGALTSTACK_SS_REVERSED - /* Irix mistakenly treats ss_sp as the upper bound, rather than - lower bound, of the alternate stack. */ -- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *); -- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *); -+ st.ss_sp = alternate_signal_stack.buffer + get_sigstksz() - sizeof (void *); -+ st.ss_size = get_sigstksz() - sizeof (void *); - # else - st.ss_sp = alternate_signal_stack.buffer; -- st.ss_size = sizeof alternate_signal_stack.buffer; -+ st.ss_size = get_sigstksz(); - # endif - r = sigaltstack (&st, NULL); - if (r != 0) --- -2.31.1 - diff --git a/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch b/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch deleted file mode 100644 index 11508ee0e..000000000 --- a/poky/meta/recipes-devtools/m4/m4/0001-test-getopt-posix-fix.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 75bea7c72a919859674f493548653de88f96c798 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Mon, 22 Apr 2019 10:36:13 +0800 -Subject: [PATCH] test-getopt-posix fix - -fix below problem: -test-getopt.h:754: assertion 'strcmp (argv[1], "donald") == 0' failed - -get this patch from -https://github.com/habitat-sh/core-plans/blob/master/m4/fix-test-getopt-posix-with-glibc-2.26.patch - -Upstream-Status: Pending - -have report this bug to m4-discuss@gnu.org - -Signed-off-by: Changqing Li ---- - tests/test-getopt-posix.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/tests/test-getopt-posix.c b/tests/test-getopt-posix.c -index 5532271..2a3d511 100644 ---- a/tests/test-getopt-posix.c -+++ b/tests/test-getopt-posix.c -@@ -22,6 +22,13 @@ - ftell link warning if we are not using the gnulib ftell module. */ - #define _GL_NO_LARGE_FILES - -+/* -+ * Glibc 2.26 does hard include bits/getopt_posix.h which causes the system -+ * to use glibc's getopt but the tests expect gnulib behavior. Until a better -+ * fix is available this avoids that mis-resolution. -+ */ -+#include -+ - /* POSIX and glibc provide the getopt() function in , see - http://pubs.opengroup.org/onlinepubs/9699919799/functions/getopt.html - https://www.gnu.org/software/libc/manual/html_node/Using-Getopt.html --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/m4/m4/ac_config_links.patch b/poky/meta/recipes-devtools/m4/m4/ac_config_links.patch index 71edf5951..39fcd9189 100644 --- a/poky/meta/recipes-devtools/m4/m4/ac_config_links.patch +++ b/poky/meta/recipes-devtools/m4/m4/ac_config_links.patch @@ -12,20 +12,26 @@ source, and what we want is to is to not touch it. Tested on x86_64_linux (Ubuntu 8.04 and 9.10). -2009-11-10 Esben Haabendal +2009-11-10 Esben Haabendal +--- + configure | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) -Index: m4-1.4.18/configure -=================================================================== ---- m4-1.4.18.orig/configure -+++ m4-1.4.18/configure -@@ -24415,8 +24415,8 @@ $as_echo "#define GNULIB_TEST_GETTIMEOFD +diff --git a/configure b/configure +index 883336a..6343a34 100755 +--- a/configure ++++ b/configure +@@ -37061,8 +37061,8 @@ printf "%s\n" "#define GNULIB_TEST_GETRANDOM 1" >>confdefs.h # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. - GNUmakefile=GNUmakefile - ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" -+ # GNUmakefile=GNUmakefile -+ # ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" ++# GNUmakefile=GNUmakefile ++# ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" - : + LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch b/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch deleted file mode 100644 index c10bcbf69..000000000 --- a/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch +++ /dev/null @@ -1,130 +0,0 @@ -update for glibc libio.h removal in 2.28+ - -see -https://src.fedoraproject.org/rpms/m4/c/814d592134fad36df757f9a61422d164ea2c6c9b?branch=master - -Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a718] -Signed-off-by: Khem Raj - -Index: m4-1.4.18/lib/fflush.c -=================================================================== ---- m4-1.4.18.orig/lib/fflush.c -+++ m4-1.4.18/lib/fflush.c -@@ -33,7 +33,7 @@ - #undef fflush - - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ - static void -@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) - - #endif - --#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) -+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) - - # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) - if (stream == NULL || ! freading (stream)) - return fflush (stream); - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - clear_ungetc_buffer_preserving_position (stream); - -Index: m4-1.4.18/lib/fpending.c -=================================================================== ---- m4-1.4.18.orig/lib/fpending.c -+++ m4-1.4.18/lib/fpending.c -@@ -32,7 +32,7 @@ __fpending (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return fp->_IO_write_ptr - fp->_IO_write_base; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -Index: m4-1.4.18/lib/fpurge.c -=================================================================== ---- m4-1.4.18.orig/lib/fpurge.c -+++ m4-1.4.18/lib/fpurge.c -@@ -62,7 +62,7 @@ fpurge (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_IO_read_end = fp->_IO_read_ptr; - fp->_IO_write_ptr = fp->_IO_write_base; - /* Avoid memory leak when there is an active ungetc buffer. */ -Index: m4-1.4.18/lib/freadahead.c -=================================================================== ---- m4-1.4.18.orig/lib/freadahead.c -+++ m4-1.4.18/lib/freadahead.c -@@ -25,7 +25,7 @@ - size_t - freadahead (FILE *fp) - { --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - return 0; - return (fp->_IO_read_end - fp->_IO_read_ptr) -Index: m4-1.4.18/lib/freading.c -=================================================================== ---- m4-1.4.18.orig/lib/freading.c -+++ m4-1.4.18/lib/freading.c -@@ -31,7 +31,7 @@ freading (FILE *fp) - /* Most systems provide FILE as a struct and the necessary bitmask in - , because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return ((fp->_flags & _IO_NO_WRITES) != 0 - || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 - && fp->_IO_read_base != NULL)); -Index: m4-1.4.18/lib/fseeko.c -=================================================================== ---- m4-1.4.18.orig/lib/fseeko.c -+++ m4-1.4.18/lib/fseeko.c -@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when - return -1; - } - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ -Index: m4-1.4.18/lib/stdio-impl.h -=================================================================== ---- m4-1.4.18.orig/lib/stdio-impl.h -+++ m4-1.4.18/lib/stdio-impl.h -@@ -18,6 +18,12 @@ - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - -+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this -+ problem by defining it ourselves. FIXME: Do not rely on glibc -+ internals. */ -+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN -+# define _IO_IN_BACKUP 0x100 -+#endif - - /* BSD stdio derived implementations. */ - diff --git a/poky/meta/recipes-devtools/m4/m4_1.4.18.bb b/poky/meta/recipes-devtools/m4/m4_1.4.18.bb deleted file mode 100644 index b12c0adf3..000000000 --- a/poky/meta/recipes-devtools/m4/m4_1.4.18.bb +++ /dev/null @@ -1,3 +0,0 @@ -require m4-${PV}.inc - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/m4/m4_1.4.19.bb b/poky/meta/recipes-devtools/m4/m4_1.4.19.bb new file mode 100644 index 000000000..b12c0adf3 --- /dev/null +++ b/poky/meta/recipes-devtools/m4/m4_1.4.19.bb @@ -0,0 +1,3 @@ +require m4-${PV}.inc + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc index f60381453..7ddfccf2d 100644 --- a/poky/meta/recipes-devtools/meson/meson.inc +++ b/poky/meta/recipes-devtools/meson/meson.inc @@ -16,9 +16,8 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P file://gi-target-dep.patch \ file://0001-Make-CPU-family-warnings-fatal.patch \ file://0002-Support-building-allarch-recipes-again.patch \ - file://4e312c19e693a69b0650ce6c8a8903163c959996.patch \ " -SRC_URI[sha256sum] = "f4820df0bc969c99019fd4af8ca5f136ee94c63d8a5ad67e7eb73bdbc9182fdd" +SRC_URI[sha256sum] = "3144a3da662fcf79f1e5602fa929f2821cba4eba28c2c923fe0a7d3e3db04d5d" UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases" UPSTREAM_CHECK_REGEX = "meson-(?P\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch b/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch deleted file mode 100644 index 76daf019b..000000000 --- a/poky/meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch +++ /dev/null @@ -1,412 +0,0 @@ -From 4e312c19e693a69b0650ce6c8a8903163c959996 Mon Sep 17 00:00:00 2001 -From: Xavier Claessens -Date: Tue, 11 May 2021 09:18:47 -0400 -Subject: [PATCH] gnome: Fix gtkdoc generation - -install_scripts used to replace @BUILD_ROOT@ and @SOURCE_ROOT@ but it -was not documented and got removed in Meson 0.58.0. gnome.gtkdoc() was -relying on that behaviour, but it has always been broken in the case the -source or build directory contains spaces. - -Fix this by changing get_include_args() to substitue paths directly -which will then get escaped correctly. - -Add a unit test that builds GObject documentation which is where this -issue has been spotted. - -Fixes: #8744 -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin ---- - mesonbuild/modules/__init__.py | 54 +++++++++---------- - mesonbuild/modules/gnome.py | 15 +++--- - mesonbuild/modules/hotdoc.py | 3 +- - mesonbuild/modules/qt.py | 4 +- - mesonbuild/modules/windows.py | 5 +- - .../10 gtk-doc/doc/foobar1/foobar-docs.sgml | 2 +- - .../doc/foobar1/foobar-sections.txt | 16 ++++++ - .../10 gtk-doc/doc/foobar1/foobar.types | 4 ++ - .../10 gtk-doc/doc/foobar1/meson.build | 6 ++- - test cases/frameworks/10 gtk-doc/foo.c | 30 +++++++++++ - .../frameworks/10 gtk-doc/include/foo.h | 18 +++++++ - test cases/frameworks/10 gtk-doc/meson.build | 12 +++++ - test cases/frameworks/10 gtk-doc/test.json | 4 +- - 13 files changed, 127 insertions(+), 46 deletions(-) - create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt - create mode 100644 test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types - create mode 100644 test cases/frameworks/10 gtk-doc/foo.c - -diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py -index ddb5e3e6cf3..c0970294c34 100644 ---- a/mesonbuild/modules/__init__.py -+++ b/mesonbuild/modules/__init__.py -@@ -56,6 +56,33 @@ def __init__(self, interpreter: 'Interpreter') -> None: - self.target_machine = interpreter.builtin['target_machine'].held_object - self.current_node = interpreter.current_node - -+ def get_include_args(self, include_dirs, prefix='-I'): -+ if not include_dirs: -+ return [] -+ -+ srcdir = self.environment.get_source_dir() -+ builddir = self.environment.get_build_dir() -+ -+ dirs_str = [] -+ for dirs in unholder(include_dirs): -+ if isinstance(dirs, str): -+ dirs_str += [f'{prefix}{dirs}'] -+ continue -+ -+ # Should be build.IncludeDirs object. -+ basedir = dirs.get_curdir() -+ for d in dirs.get_incdirs(): -+ expdir = os.path.join(basedir, d) -+ srctreedir = os.path.join(srcdir, expdir) -+ buildtreedir = os.path.join(builddir, expdir) -+ dirs_str += [f'{prefix}{buildtreedir}', -+ f'{prefix}{srctreedir}'] -+ for d in dirs.get_extra_build_dirs(): -+ dirs_str += [f'{prefix}{d}'] -+ -+ return dirs_str -+ -+ - class ModuleObject: - """Base class for all objects returned by modules - """ -@@ -71,33 +98,6 @@ def __init__(self, interpreter: T.Optional['Interpreter'] = None) -> None: - class ExtensionModule(ModuleObject): - pass - --def get_include_args(include_dirs, prefix='-I'): -- ''' -- Expand include arguments to refer to the source and build dirs -- by using @SOURCE_ROOT@ and @BUILD_ROOT@ for later substitution -- ''' -- if not include_dirs: -- return [] -- -- dirs_str = [] -- for dirs in unholder(include_dirs): -- if isinstance(dirs, str): -- dirs_str += [f'{prefix}{dirs}'] -- continue -- -- # Should be build.IncludeDirs object. -- basedir = dirs.get_curdir() -- for d in dirs.get_incdirs(): -- expdir = os.path.join(basedir, d) -- srctreedir = os.path.join('@SOURCE_ROOT@', expdir) -- buildtreedir = os.path.join('@BUILD_ROOT@', expdir) -- dirs_str += [f'{prefix}{buildtreedir}', -- f'{prefix}{srctreedir}'] -- for d in dirs.get_extra_build_dirs(): -- dirs_str += [f'{prefix}{d}'] -- -- return dirs_str -- - def is_module_library(fname): - ''' - Check if the file is a library-like file generated by a module-specific -diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py -index d0b053d4f76..c91cda66f8b 100644 ---- a/mesonbuild/modules/gnome.py -+++ b/mesonbuild/modules/gnome.py -@@ -26,7 +26,6 @@ - from .. import mesonlib - from .. import interpreter - from . import GResourceTarget, GResourceHeaderTarget, GirTarget, TypelibTarget, VapiTarget --from . import get_include_args - from . import ExtensionModule - from . import ModuleReturnValue - from ..mesonlib import ( -@@ -394,7 +393,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False, - gi_includes.update([girdir]) - if isinstance(dep, InternalDependency): - cflags.update(dep.get_compile_args()) -- cflags.update(get_include_args(dep.include_directories)) -+ cflags.update(state.get_include_args(dep.include_directories)) - for lib in unholder(dep.libraries): - if isinstance(lib, build.SharedLibrary): - internal_ldflags.update(self._get_link_args(state, lib, depends, include_rpath)) -@@ -443,7 +442,7 @@ def _get_dependencies_flags(self, deps, state, depends, include_rpath=False, - else: - external_ldflags.update([lib]) - elif isinstance(dep, (build.StaticLibrary, build.SharedLibrary)): -- cflags.update(get_include_args(dep.get_include_dirs())) -+ cflags.update(state.get_include_args(dep.get_include_dirs())) - depends.append(dep) - else: - mlog.log(f'dependency {dep!r} not handled to build gir files') -@@ -853,7 +852,7 @@ def generate_gir(self, state, args, kwargs): - scan_command += self._scan_header(kwargs) - scan_command += self._scan_extra_args(kwargs) - scan_command += ['-I' + srcdir, '-I' + builddir] -- scan_command += get_include_args(girtargets_inc_dirs) -+ scan_command += state.get_include_args(girtargets_inc_dirs) - scan_command += ['--filelist=' + self._make_gir_filelist(state, srcdir, ns, nsversion, girtargets, libsources)] - scan_command += self._scan_link_withs(state, depends, kwargs) - scan_command += self._scan_include(state, depends, gir_inc_dirs, kwargs) -@@ -863,8 +862,8 @@ def generate_gir(self, state, args, kwargs): - scan_command += ['--cflags-begin'] - scan_command += cflags - scan_command += ['--cflags-end'] -- scan_command += get_include_args(inc_dirs) -- scan_command += get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=') -+ scan_command += state.get_include_args(inc_dirs) -+ scan_command += state.get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=') - scan_command += list(internal_ldflags) - scan_command += self._scan_gir_targets(state, girtargets) - scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers]) -@@ -886,7 +885,7 @@ def generate_gir(self, state, args, kwargs): - - typelib_output = f'{ns}-{nsversion}.typelib' - typelib_cmd = [gicompiler, scan_target, '--output', '@OUTPUT@'] -- typelib_cmd += get_include_args(gir_inc_dirs, prefix='--includedir=') -+ typelib_cmd += state.get_include_args(gir_inc_dirs, prefix='--includedir=') - - for incdir in typelib_includes: - typelib_cmd += ["--includedir=" + incdir] -@@ -1127,7 +1126,7 @@ def _get_build_args(self, kwargs, state, depends): - 'Gir include dirs should be include_directories().') - - cflags.extend(deps_cflags) -- cflags.extend(get_include_args(inc_dirs)) -+ cflags.extend(state.get_include_args(inc_dirs)) - ldflags = [] - ldflags.extend(internal_ldflags) - ldflags.extend(external_ldflags) -diff --git a/mesonbuild/modules/hotdoc.py b/mesonbuild/modules/hotdoc.py -index bf8cd229c0d..89a5d938ea7 100644 ---- a/mesonbuild/modules/hotdoc.py -+++ b/mesonbuild/modules/hotdoc.py -@@ -22,7 +22,6 @@ - from mesonbuild.coredata import MesonException - from . import ModuleReturnValue - from . import ExtensionModule --from . import get_include_args - from ..dependencies import Dependency, InternalDependency - from ..interpreterbase import FeatureNew, InvalidArguments, noPosargs, noKwargs - from ..interpreter import CustomTargetHolder -@@ -191,7 +190,7 @@ def process_dependencies(self, deps): - for dep in mesonlib.listify(ensure_list(deps)): - dep = getattr(dep, "held_object", dep) - if isinstance(dep, InternalDependency): -- inc_args = get_include_args(dep.include_directories) -+ inc_args = self.state.get_include_args(dep.include_directories) - cflags.update([self.replace_dirs_in_string(x) - for x in inc_args]) - cflags.update(self.process_dependencies(dep.libraries)) -diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py -index b7389bd59af..1bf0099d1df 100644 ---- a/mesonbuild/modules/qt.py -+++ b/mesonbuild/modules/qt.py -@@ -23,7 +23,7 @@ - from ..mesonlib import MesonException, extract_as_list, File, unholder, version_compare - from ..dependencies import Dependency - import xml.etree.ElementTree as ET --from . import ModuleReturnValue, get_include_args, ExtensionModule -+from . import ModuleReturnValue, ExtensionModule - from ..interpreterbase import noPosargs, permittedKwargs, FeatureNew, FeatureNewKwargs - from ..interpreter import extract_required_kwarg - from ..programs import NonExistingExternalProgram -@@ -239,7 +239,7 @@ def preprocess(self, state, args, kwargs): - ui_gen = build.Generator([self.uic], ui_kwargs) - ui_output = ui_gen.process_files(f'Qt{self.qt_version} ui', ui_files, state) - sources.append(ui_output) -- inc = get_include_args(include_dirs=include_directories) -+ inc = state.get_include_args(include_dirs=include_directories) - compile_args = [] - for dep in unholder(dependencies): - if isinstance(dep, Dependency): -diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py -index d7a86380885..c4fdc196681 100644 ---- a/mesonbuild/modules/windows.py -+++ b/mesonbuild/modules/windows.py -@@ -19,7 +19,6 @@ - from .. import mlog - from .. import mesonlib, build - from ..mesonlib import MachineChoice, MesonException, extract_as_list, unholder --from . import get_include_args - from . import ModuleReturnValue - from . import ExtensionModule - from ..interpreter import CustomTargetHolder -@@ -83,12 +82,12 @@ def compile_resources(self, state, args, kwargs): - wrc_depends = extract_as_list(kwargs, 'depends', pop = True) - for d in wrc_depends: - if isinstance(d, CustomTargetHolder): -- extra_args += get_include_args([d.outdir_include()]) -+ extra_args += state.get_include_args([d.outdir_include()]) - inc_dirs = extract_as_list(kwargs, 'include_directories', pop = True) - for incd in inc_dirs: - if not isinstance(incd.held_object, (str, build.IncludeDirs)): - raise MesonException('Resource include dirs should be include_directories().') -- extra_args += get_include_args(inc_dirs) -+ extra_args += state.get_include_args(inc_dirs) - - rescomp, rescomp_type = self._find_resource_compiler(state) - if rescomp_type == ResourceCompilerType.rc: -diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml -index 95f73efdf45..6ccd087dc18 100644 ---- a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml -+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-docs.sgml -@@ -35,7 +35,7 @@ - - - -- -+ - - - -diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt -new file mode 100644 -index 00000000000..d14c8dab010 ---- /dev/null -+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar-sections.txt -@@ -0,0 +1,16 @@ -+
-+foo -+FooObj -+FooObj -+FooObjClass -+foo_do_something -+
-+ -+
-+version -+version -+FOO_MAJOR_VERSION -+FOO_MINOR_VERSION -+FOO_MICRO_VERSION -+
-+ -diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types -new file mode 100644 -index 00000000000..0a9c046f3ed ---- /dev/null -+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/foobar.types -@@ -0,0 +1,4 @@ -+% This include is useless it's a regression test for https://github.com/mesonbuild/meson/issues/8744 -+#include -+ -+foo_obj_get_type -diff --git a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build -index 149c6e956aa..f4b3724dbae 100644 ---- a/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build -+++ b/test cases/frameworks/10 gtk-doc/doc/foobar1/meson.build -@@ -1,5 +1,9 @@ - gnome.gtkdoc('foobar', -- src_dir : inc, -+ src_dir : [inc, '.'], - main_sgml : 'foobar-docs.sgml', - content_files : [docbook, version_xml], -+ dependencies: foo_dep, -+ # Manually written types file for regression test: -+ # https://github.com/mesonbuild/meson/issues/8744 -+ gobject_typesfile: 'foobar.types', - install : true) -diff --git a/test cases/frameworks/10 gtk-doc/foo.c b/test cases/frameworks/10 gtk-doc/foo.c -new file mode 100644 -index 00000000000..36c0639ec08 ---- /dev/null -+++ b/test cases/frameworks/10 gtk-doc/foo.c -@@ -0,0 +1,30 @@ -+#include -+ -+ -+struct _FooObj { -+ GObject parent; -+ int dummy; -+}; -+ -+G_DEFINE_TYPE(FooObj, foo_obj, G_TYPE_OBJECT) -+ -+static void foo_obj_init (FooObj *self) -+{ -+} -+ -+static void foo_obj_class_init (FooObjClass *klass) -+{ -+} -+ -+/** -+ * foo_do_something: -+ * @self: self -+ * -+ * Useless function. -+ * -+ * Returns: 0. -+ */ -+int foo_do_something(FooObj *self) -+{ -+ return 0; -+} -diff --git a/test cases/frameworks/10 gtk-doc/include/foo.h b/test cases/frameworks/10 gtk-doc/include/foo.h -index 7b8946b6a86..510f3d1ecb5 100644 ---- a/test cases/frameworks/10 gtk-doc/include/foo.h -+++ b/test cases/frameworks/10 gtk-doc/include/foo.h -@@ -1,5 +1,7 @@ - #pragma once - -+#include -+ - /** - * FooIndecision: - * @FOO_MAYBE: Something maybe -@@ -13,3 +15,19 @@ typedef enum { - FOO_POSSIBLY, - } FooIndecision; - -+/** -+ * FooObjClass: -+ * -+ * The class -+ */ -+ -+/** -+ * FooObj: -+ * -+ * The instance -+ */ -+ -+#define FOO_TYPE_OBJ foo_obj_get_type() -+G_DECLARE_FINAL_TYPE(FooObj, foo_obj, FOO, OBJ, GObject) -+ -+int foo_do_something(FooObj *self); -diff --git a/test cases/frameworks/10 gtk-doc/meson.build b/test cases/frameworks/10 gtk-doc/meson.build -index 5c22ad0afa4..292980fafa7 100644 ---- a/test cases/frameworks/10 gtk-doc/meson.build -+++ b/test cases/frameworks/10 gtk-doc/meson.build -@@ -24,4 +24,16 @@ if gtkdoc_ver.version_compare('<1.26') - error('MESON_SKIP_TEST gtk-doc test requires gtkdoc >= 1.26.') - endif - -+gobject = dependency('gobject-2.0') -+ -+libfoo = library('foo', 'foo.c', -+ include_directories: inc, -+ dependencies: gobject, -+) -+ -+foo_dep = declare_dependency( -+ link_with: libfoo, -+ include_directories: inc, -+) -+ - subdir('doc') -diff --git a/test cases/frameworks/10 gtk-doc/test.json b/test cases/frameworks/10 gtk-doc/test.json -index c44126cc741..03ad0595817 100644 ---- a/test cases/frameworks/10 gtk-doc/test.json -+++ b/test cases/frameworks/10 gtk-doc/test.json -@@ -4,8 +4,8 @@ - {"type": "file", "file": "usr/share/gtk-doc/html/foobar/BAR.html"}, - {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.devhelp2"}, - {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar.html"}, -- {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo.html"}, -- {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foobar-foo-version.html"}, -+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/FooObj.html"}, -+ {"type": "file", "file": "usr/share/gtk-doc/html/foobar/foo-version.html"}, - {"type": "file", "file": "usr/share/gtk-doc/html/foobar/home.png"}, - {"type": "file", "file": "usr/share/gtk-doc/html/foobar/index.html"}, - {"type": "file", "file": "usr/share/gtk-doc/html/foobar/left.png"}, diff --git a/poky/meta/recipes-devtools/meson/meson_0.58.0.bb b/poky/meta/recipes-devtools/meson/meson_0.58.0.bb deleted file mode 100644 index de9b905c1..000000000 --- a/poky/meta/recipes-devtools/meson/meson_0.58.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -include meson.inc - -BBCLASSEXTEND = "native" - diff --git a/poky/meta/recipes-devtools/meson/meson_0.58.1.bb b/poky/meta/recipes-devtools/meson/meson_0.58.1.bb new file mode 100644 index 000000000..de9b905c1 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson_0.58.1.bb @@ -0,0 +1,4 @@ +include meson.inc + +BBCLASSEXTEND = "native" + diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb deleted file mode 100644 index 74e1a7104..000000000 --- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb +++ /dev/null @@ -1,56 +0,0 @@ -include meson.inc - -inherit meson-routines -inherit nativesdk - -SRC_URI += "file://meson-setup.py \ - file://meson-wrapper" - -# The cross file logic is similar but not identical to that in meson.bbclass, -# since it's generating for an SDK rather than a cross-compile. Important -# differences are: -# - We can't set vars like CC, CXX, etc. yet because they will be filled in with -# real paths by meson-setup.sh when the SDK is extracted. -# - Some overrides aren't needed, since the SDK injects paths that take care of -# them. -do_install_append() { - install -d ${D}${datadir}/meson - cat >${D}${datadir}/meson/meson.cross.template <${D}${datadir}/meson/meson.cross.template < -Date: Tue, 15 Dec 2020 15:17:54 -0600 -Subject: [opkg][opkg-0.4.4 PATCH] tests: let the OS negotiate relative package - dirs - -In cases where a regression test requires that a package be installed to -a subdirectory in the test feed, the opk.py module will attempt to -resolve the subdirectory and rebase it to the root of the test feed. - -This is unnecessary, since all operations which make use of the -subdirectory path do so from the perspective of the test feed already. -Further, the rebase implementation breaks in cases where the test feed -is beyond a symlink. - -Remove the resolve-and-rebase logic, and allow the OS to negotiate the -relative path. - -Upstream-Status: Submitted [https://groups.google.com/g/opkg-devel/c/dE1o7_OVQSY] - -Signed-off-by: Alex Stewart ---- - tests/opk.py | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/tests/opk.py b/tests/opk.py -index 692339567f72441766c8e658edc5bdf6a339f77d..711abacaeb328283e31524f6a49305fc7d39696a 100644 ---- a/tests/opk.py -+++ b/tests/opk.py -@@ -58,9 +58,7 @@ class Opk: - if 'Version' not in control.keys(): - control['Version'] = '1.0' - if subdirectory is not None: -- subdir = Path(subdirectory).resolve() -- opkdir = Path(cfg.opkdir) -- self._relative_dir = subdir.relative_to(opkdir) -+ self._relative_dir = Path(subdirectory) - else: - self._relative_dir = None - self.control = control --- -2.29.2 - diff --git a/poky/meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch b/poky/meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch deleted file mode 100644 index 4578fa33b..000000000 --- a/poky/meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch +++ /dev/null @@ -1,24 +0,0 @@ -Having CLEAN_DATE come from the current date doesn't allow for build -reproducibility. Add the option of using SOURCE_DATE_EPOCH if set -which for OE, it will be. - -Upstream-Status: Pending -RP 2021/2/2 - -Index: opkg-0.4.4/configure.ac -=================================================================== ---- opkg-0.4.4.orig/configure.ac -+++ opkg-0.4.4/configure.ac -@@ -281,7 +281,11 @@ AC_FUNC_UTIME_NULL - AC_FUNC_VPRINTF - AC_CHECK_FUNCS([memmove memset mkdir regcomp strchr strcspn strdup strerror strndup strrchr strstr strtol strtoul sysinfo utime]) - --CLEAN_DATE=`date +"%B %Y" | tr -d '\n'` -+if ! test -z "$SOURCE_DATE_EPOCH" ; then -+ CLEAN_DATE=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH +"%B %Y" | tr -d '\n'` -+else -+ CLEAN_DATE=`date +"%B %Y" | tr -d '\n'` -+fi - - AC_SUBST([CLEAN_DATE]) - diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.4.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.4.bb deleted file mode 100644 index 9eca61be2..000000000 --- a/poky/meta/recipes-devtools/opkg/opkg_0.4.4.bb +++ /dev/null @@ -1,77 +0,0 @@ -SUMMARY = "Open Package Manager" -SUMMARY_libopkg = "Open Package Manager library" -SECTION = "base" -HOMEPAGE = "http://code.google.com/p/opkg/" -DESCRIPTION = "Opkg is a lightweight package management system based on Ipkg." -BUGTRACKER = "http://code.google.com/p/opkg/issues/list" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://src/opkg.c;beginline=4;endline=18;md5=d6200b0f2b41dee278aa5fad333eecae" - -DEPENDS = "libarchive" - -PE = "1" - -SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ - file://opkg.conf \ - file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ - file://0001-tests-let-the-OS-negotiate-relative-package-dirs.patch \ - file://sourcedateepoch.patch \ - file://run-ptest \ -" - -SRC_URI[md5sum] = "345900c1d4747d58455867f9fe88ca43" -SRC_URI[sha256sum] = "2217acc58b8eb31300631ebae75e222ebc700c9c1cf6408088705d19a472c839" - -# This needs to be before ptest inherit, otherwise all ptest files end packaged -# in libopkg package if OPKGLIBDIR == libdir, because default -# PTEST_PATH ?= "${libdir}/${BPN}/ptest" -PACKAGES =+ "libopkg" - -inherit autotools pkgconfig ptest - -target_localstatedir := "${localstatedir}" -OPKGLIBDIR ??= "${target_localstatedir}/lib" - -PACKAGECONFIG ??= "libsolv" - -PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,\ - gnupg gpgme libgpg-error,\ - ${@ "gnupg" if ("native" in d.getVar("PN")) else "gnupg-gpg"}\ - " -PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" -PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl" -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" -PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256" -PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv" - -EXTRA_OECONF += " --disable-pathfinder" -EXTRA_OECONF_class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}" - -do_install_append () { - install -d ${D}${sysconfdir}/opkg - install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf - echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf - - # We need to create the lock directory - install -d ${D}${OPKGLIBDIR}/opkg -} - -do_install_ptest () { - sed -i -e '/@echo $^/d' ${D}${PTEST_PATH}/tests/Makefile - sed -i -e '/@PYTHONPATH=. $(PYTHON) $^/a\\t@if [ "$$?" != "0" ];then echo "FAIL:"$^;else echo "PASS:"$^;fi' ${D}${PTEST_PATH}/tests/Makefile -} - -RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive" -RDEPENDS_${PN}_class-native = "" -RDEPENDS_${PN}_class-nativesdk = "" -RDEPENDS_${PN}-ptest += "make binutils python3-core python3-compression" -RREPLACES_${PN} = "opkg-nogpg opkg-collateral" -RCONFLICTS_${PN} = "opkg-collateral" -RPROVIDES_${PN} = "opkg-collateral" - -FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/" - -BBCLASSEXTEND = "native nativesdk" - -CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf" diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.5.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.5.bb new file mode 100644 index 000000000..56d6211ae --- /dev/null +++ b/poky/meta/recipes-devtools/opkg/opkg_0.4.5.bb @@ -0,0 +1,88 @@ +SUMMARY = "Open Package Manager" +SUMMARY_libopkg = "Open Package Manager library" +SECTION = "base" +HOMEPAGE = "http://code.google.com/p/opkg/" +DESCRIPTION = "Opkg is a lightweight package management system based on Ipkg." +BUGTRACKER = "http://code.google.com/p/opkg/issues/list" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://src/opkg.c;beginline=4;endline=18;md5=d6200b0f2b41dee278aa5fad333eecae" + +DEPENDS = "libarchive" + +PE = "1" + +SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \ + file://opkg.conf \ + file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ + file://run-ptest \ +" + +SRC_URI[md5sum] = "5dc41ad37d88803b5e0f456a9c5a0811" +SRC_URI[sha256sum] = "a1214a75fa34fb9228db8da47308e0e711b1c93fd8938cf164c10fd28eb50f1e" + +# This needs to be before ptest inherit, otherwise all ptest files end packaged +# in libopkg package if OPKGLIBDIR == libdir, because default +# PTEST_PATH ?= "${libdir}/${BPN}/ptest" +PACKAGES =+ "libopkg" + +inherit autotools pkgconfig ptest + +target_localstatedir := "${localstatedir}" +OPKGLIBDIR ??= "${target_localstatedir}/lib" + +PACKAGECONFIG ??= "libsolv" + +PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,\ + gnupg gpgme libgpg-error,\ + ${@ "gnupg" if ("native" in d.getVar("PN")) else "gnupg-gpg"}\ + " +PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" +PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl" +PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" +PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256" +PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv" + +EXTRA_OECONF += " --disable-pathfinder" +EXTRA_OECONF_class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}" + +do_install_append () { + install -d ${D}${sysconfdir}/opkg + install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf + echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf + + # We need to create the lock directory + install -d ${D}${OPKGLIBDIR}/opkg +} + +do_install_ptest () { + sed -i -e '/@echo $^/d' ${D}${PTEST_PATH}/tests/Makefile + sed -i -e '/@PYTHONPATH=. $(PYTHON) $^/a\\t@if [ "$$?" != "0" ];then echo "FAIL:"$^;else echo "PASS:"$^;fi' ${D}${PTEST_PATH}/tests/Makefile +} + +WARN_QA_append += "openssl-deprecation" +QAPKGTEST[openssl-deprecation] = "package_qa_check_openssl_deprecation" +def package_qa_check_openssl_deprecation (package, d, messages): + sane = True + + pkgconfig = (d.getVar("PACKAGECONFIG") or "").split() + if pkgconfig and 'openssl' in pkgconfig: + package_qa_add_message(messages, 'openssl-deprecation', '"openssl" in opkg.bb PACKAGECONFIG. Feed signature checking with OpenSSL will be deprecated in the next opkg release. Consider using GPG checking instead.') + sane = False + + return sane + + +RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive" +RDEPENDS_${PN}_class-native = "" +RDEPENDS_${PN}_class-nativesdk = "" +RDEPENDS_${PN}-ptest += "make binutils python3-core python3-compression" +RREPLACES_${PN} = "opkg-nogpg opkg-collateral" +RCONFLICTS_${PN} = "opkg-collateral" +RPROVIDES_${PN} = "opkg-collateral" + +FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/" + +BBCLASSEXTEND = "native nativesdk" + +CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf" diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch new file mode 100644 index 000000000..744e4e09c --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch @@ -0,0 +1,27 @@ +From d22f2bb5afcd278b68999f5ce0362328fc8c7723 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Thu, 3 Jun 2021 18:50:56 +0200 +Subject: [PATCH] cnf/configure_func_sel.sh: disable thread_safe_nl_langinfo_l + +Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/115] +Signed-off-by: Alexander Kanavin +--- + cnf/configure_func_sel.sh | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/cnf/configure_func_sel.sh b/cnf/configure_func_sel.sh +index f48294f..90d350d 100644 +--- a/cnf/configure_func_sel.sh ++++ b/cnf/configure_func_sel.sh +@@ -97,5 +97,9 @@ else + result "irrelevant" + fi + +-# Assume nl_langinfo_l is threadsafe if available +-define d_thread_safe_nl_langinfo_l "$d_nl_langinfo_l" ++# thread_safe_nl_langinfo_l is not enabled by default ++# by upstream, and causes t/Langinfo.t to fail when it is ++# (starting from 5.34.0). This means the configuration is ++# either not well tested, or not at all tested, so we should ++# pick a safer option. ++define d_thread_safe_nl_langinfo_l "undef" diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch new file mode 100644 index 000000000..3b0fc453e --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch @@ -0,0 +1,69 @@ +From 19c1987b455998d2959a5fdf3d1ed911d35e70f2 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Wed, 2 Jan 2019 17:55:35 +0100 +Subject: [PATCH] configure_path.sh: do not hardcode $prefix/lib as library + path + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin + +--- + cnf/configure_args.sh | 2 +- + cnf/configure_path.sh | 11 ++++++----- + 2 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/cnf/configure_args.sh b/cnf/configure_args.sh +index 29ca4f5..3297fb3 100644 +--- a/cnf/configure_args.sh ++++ b/cnf/configure_args.sh +@@ -155,7 +155,7 @@ while [ $i -le $# -o -n "$n" ]; do + help) mode="help" ;; + regen|regenerate) mode="regen" ;; + keeplog) defuser "$a" 1 ;; +- prefix|html[13]dir|libsdir) defuser $a "$v" ;; ++ prefix|html[13]dir|libsdir|libdir) defuser $a "$v" ;; + man[13]dir|otherlibsdir) defuser $a "$v" ;; + siteprefix|sitehtml[13]dir) defuser $a "$v" ;; + siteman[13]dir|vendorman[13]dir)defuser $a "$v" ;; +diff --git a/cnf/configure_path.sh b/cnf/configure_path.sh +index fe7eac7..bcba8b8 100644 +--- a/cnf/configure_path.sh ++++ b/cnf/configure_path.sh +@@ -30,6 +30,7 @@ definst() { + define "$1" "$installpath$v" + } + ++define libdir "$prefix/lib" + define sharedir "$prefix/share" + define html1dir "$sharedir/doc/$perlname/html" + define html3dir "$sharedir/doc/$perlname/html" +@@ -38,16 +39,16 @@ define man1ext "1" + define man3dir "$sharedir/man/man3" + define man3ext "3" + define bin "$prefix/bin" +-define lib "$prefix/lib" ++define lib "$libdir" + define scriptdir "$prefix/bin" + define libsdirs ' ' +-defrel privlib "$prefix/lib/$package/$version" +-defrel archlib "$prefix/lib/$package/$version/$archname" ++defrel privlib "$libdir/$package/$version" ++defrel archlib "$libdir/$package/$version/$archname" + define perlpath "$prefix/bin/$perlname" + define d_archlib 'define' + + define sitebin "$prefix/bin" +-defrel sitelib_stem "$prefix/lib/$package/site_perl" ++defrel sitelib_stem "$libdir/$package/site_perl" + define sitelib "$sitelib_stem/$version" + define sitearch "$sitelib_stem/$version/$archname" + define siteprefix "$prefix" +@@ -145,7 +146,7 @@ vendortest() { + } + + vendorpath vendorbin "$vendorprefix/bin" +-vendorpath vendorlib_stem "$vendorprefix/lib/$package/vendor_perl" ++vendorpath vendorlib_stem "$libdir/$package/vendor_perl" + vendorpath vendorlib "$vendorlib_stem/$version" + vendorpath vendorarch "$vendorlib_stem/$version/$archname" + vendorpath vendorscript "$vendorprefix/bin" diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch new file mode 100644 index 000000000..0aaeaa29e --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch @@ -0,0 +1,29 @@ +From a66811c487ecf8ba8724879c253bb10dfa82aeb5 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Fri, 1 Jun 2018 19:57:32 +0300 +Subject: [PATCH] configure_tool.sh: do not quote the argument to 'command' + +As it seems to break things if the argument has spaces and arguments in it. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + cnf/configure_tool.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cnf/configure_tool.sh b/cnf/configure_tool.sh +index 32201c0..461bc68 100644 +--- a/cnf/configure_tool.sh ++++ b/cnf/configure_tool.sh +@@ -2,7 +2,7 @@ + + tryprog() { + log "trying $1=$2" +- if command -v "$2" 1>/dev/null 2>/dev/null; then ++ if command -v $2 1>/dev/null 2>/dev/null; then + define "$1" "$2" + result "$2" + return 0 +-- +2.17.0 + diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch new file mode 100644 index 000000000..e7985036a --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch @@ -0,0 +1,27 @@ +From f824cbec9ac8f113a4ae35d57bd18625d415a71b Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 27 Nov 2018 15:37:40 +0100 +Subject: [PATCH] perl-cross: add LDFLAGS when linking libperl + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 01644cd..be811a7 100644 +--- a/Makefile ++++ b/Makefile +@@ -180,7 +180,7 @@ endif + + ifeq ($(useshrplib),true) + $(LIBPERL): +- $(CC) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) ++ $(CC) $(LDFLAGS) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) + else + $(LIBPERL): + $(AR) cru $@ $(filter %$o,$^) +-- +2.17.1 + diff --git a/poky/meta/recipes-devtools/perl-cross/files/README.md b/poky/meta/recipes-devtools/perl-cross/files/README.md new file mode 100644 index 000000000..93217245c --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/files/README.md @@ -0,0 +1,29 @@ +**perl-cross** provides configure script, top-level Makefile +and some auxiliary files for [perl](http://www.perl.org), +with the primary emphasis on cross-compiling the source. + + # Get perl and perl-cross sources + curl -L -O http://www.cpan.org/src/5.0/perl-5.24.1.tar.gz + curl -L -O https://github.com/arsv/perl-cross/releases/download/1.1.3/perl-cross-1.1.3.tar.gz + + # Unpack perl-cross over perl, overwriting Makefile + tar -zxf perl-5.24.1.tar.gz + cd perl-5.24.1 + tar --strip-components=1 -zxf ../perl-cross-1.1.3.tar.gz + + # Proceed as usual with most autoconfed packages + ./configure --target=arm-linux-gnueabi --prefix=/usr -Duseshrplib + make -j4 + make DESTDIR=/path/to/staging/dir install + +Unlike mainline Perl, this configure never runs any target executables, +relying solely on compile/link tests and pre-defined hints. +On the flip side, it is only meant to run on resonably sane modern unix systems. + +Check [project pages](http://arsv.github.io/perl-cross/) for more info. +In particular, [configure usage](http://arsv.github.io/perl-cross/usage.html) +lists available configure options. + +Perl-cross is a free software licensed under the same terms +as the original perl source. +See LICENSE, Copying and Artistic files. diff --git a/poky/meta/recipes-devtools/perl-cross/files/determinism.patch b/poky/meta/recipes-devtools/perl-cross/files/determinism.patch new file mode 100644 index 000000000..e9bf752bc --- /dev/null +++ b/poky/meta/recipes-devtools/perl-cross/files/determinism.patch @@ -0,0 +1,46 @@ +Fixes to make the perl build reproducible: + +a) Remove the \n from configure_attr.sh since it gets quoted differently depending on + whether the shell is bash or dash which can cause the test result to be incorrect. + Reported upstream: https://github.com/arsv/perl-cross/issues/87 + +b) Sort the order of the module lists from configure_mods.sh since otherwise + the result isn't the same leading to makefile differences. + Reported upstream: https://github.com/arsv/perl-cross/issues/88 + +c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst + there for good measure) + This needs to go to upstream perl (not done) + +d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash + and "" with dash + Reported upstream: https://github.com/arsv/perl-cross/issues/87 + +RP 2020/2/7 + +Upstream-Status: Pending [75% submitted] +Signed-off-by: Richard Purdie -Date: Wed, 2 Jan 2019 17:55:35 +0100 -Subject: [PATCH] configure_path.sh: do not hardcode $prefix/lib as library - path - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin - ---- - cnf/configure_args.sh | 2 +- - cnf/configure_path.sh | 11 ++++++----- - 2 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/cnf/configure_args.sh b/cnf/configure_args.sh -index 29ca4f5..3297fb3 100644 ---- a/cnf/configure_args.sh -+++ b/cnf/configure_args.sh -@@ -155,7 +155,7 @@ while [ $i -le $# -o -n "$n" ]; do - help) mode="help" ;; - regen|regenerate) mode="regen" ;; - keeplog) defuser "$a" 1 ;; -- prefix|html[13]dir|libsdir) defuser $a "$v" ;; -+ prefix|html[13]dir|libsdir|libdir) defuser $a "$v" ;; - man[13]dir|otherlibsdir) defuser $a "$v" ;; - siteprefix|sitehtml[13]dir) defuser $a "$v" ;; - siteman[13]dir|vendorman[13]dir)defuser $a "$v" ;; -diff --git a/cnf/configure_path.sh b/cnf/configure_path.sh -index fe7eac7..bcba8b8 100644 ---- a/cnf/configure_path.sh -+++ b/cnf/configure_path.sh -@@ -30,6 +30,7 @@ definst() { - define "$1" "$installpath$v" - } - -+define libdir "$prefix/lib" - define sharedir "$prefix/share" - define html1dir "$sharedir/doc/$perlname/html" - define html3dir "$sharedir/doc/$perlname/html" -@@ -38,16 +39,16 @@ define man1ext "1" - define man3dir "$sharedir/man/man3" - define man3ext "3" - define bin "$prefix/bin" --define lib "$prefix/lib" -+define lib "$libdir" - define scriptdir "$prefix/bin" - define libsdirs ' ' --defrel privlib "$prefix/lib/$package/$version" --defrel archlib "$prefix/lib/$package/$version/$archname" -+defrel privlib "$libdir/$package/$version" -+defrel archlib "$libdir/$package/$version/$archname" - define perlpath "$prefix/bin/$perlname" - define d_archlib 'define' - - define sitebin "$prefix/bin" --defrel sitelib_stem "$prefix/lib/$package/site_perl" -+defrel sitelib_stem "$libdir/$package/site_perl" - define sitelib "$sitelib_stem/$version" - define sitearch "$sitelib_stem/$version/$archname" - define siteprefix "$prefix" -@@ -145,7 +146,7 @@ vendortest() { - } - - vendorpath vendorbin "$vendorprefix/bin" --vendorpath vendorlib_stem "$vendorprefix/lib/$package/vendor_perl" -+vendorpath vendorlib_stem "$libdir/$package/vendor_perl" - vendorpath vendorlib "$vendorlib_stem/$version" - vendorpath vendorarch "$vendorlib_stem/$version/$archname" - vendorpath vendorscript "$vendorprefix/bin" diff --git a/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch deleted file mode 100644 index 0aaeaa29e..000000000 --- a/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch +++ /dev/null @@ -1,29 +0,0 @@ -From a66811c487ecf8ba8724879c253bb10dfa82aeb5 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 1 Jun 2018 19:57:32 +0300 -Subject: [PATCH] configure_tool.sh: do not quote the argument to 'command' - -As it seems to break things if the argument has spaces and arguments in it. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - cnf/configure_tool.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cnf/configure_tool.sh b/cnf/configure_tool.sh -index 32201c0..461bc68 100644 ---- a/cnf/configure_tool.sh -+++ b/cnf/configure_tool.sh -@@ -2,7 +2,7 @@ - - tryprog() { - log "trying $1=$2" -- if command -v "$2" 1>/dev/null 2>/dev/null; then -+ if command -v $2 1>/dev/null 2>/dev/null; then - define "$1" "$2" - result "$2" - return 0 --- -2.17.0 - diff --git a/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch b/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch deleted file mode 100644 index e7985036a..000000000 --- a/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f824cbec9ac8f113a4ae35d57bd18625d415a71b Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 27 Nov 2018 15:37:40 +0100 -Subject: [PATCH] perl-cross: add LDFLAGS when linking libperl - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 01644cd..be811a7 100644 ---- a/Makefile -+++ b/Makefile -@@ -180,7 +180,7 @@ endif - - ifeq ($(useshrplib),true) - $(LIBPERL): -- $(CC) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) -+ $(CC) $(LDFLAGS) $(LDDLFLAGS) -o $@ $(filter %$o,$^) $(LIBS) - else - $(LIBPERL): - $(AR) cru $@ $(filter %$o,$^) --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/perl/files/determinism.patch b/poky/meta/recipes-devtools/perl/files/determinism.patch index ccdd52a0d..aa85ccef1 100644 --- a/poky/meta/recipes-devtools/perl/files/determinism.patch +++ b/poky/meta/recipes-devtools/perl/files/determinism.patch @@ -21,19 +21,6 @@ RP 2020/2/7 Upstream-Status: Pending [75% submitted] Signed-off-by: Richard Purdie catfile($dir,$file) . "\n"; } -Index: perl-5.30.1/cnf/configure -=================================================================== ---- perl-5.30.1.orig/cnf/configure -+++ perl-5.30.1/cnf/configure -@@ -1,4 +1,4 @@ --#!/bin/sh -+#!/bin/bash - - base=${0%/*}; test -z "$base" && base=. - diff --git a/poky/meta/recipes-devtools/perl/perl_5.32.1.bb b/poky/meta/recipes-devtools/perl/perl_5.32.1.bb deleted file mode 100644 index b28040c7f..000000000 --- a/poky/meta/recipes-devtools/perl/perl_5.32.1.bb +++ /dev/null @@ -1,393 +0,0 @@ -SUMMARY = "Perl scripting language" -HOMEPAGE = "http://www.perl.org/" -DESCRIPTION = "Perl is a highly capable, feature-rich programming language" -SECTION = "devel" -LICENSE = "Artistic-1.0 | GPL-1.0+" -LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ - file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \ - " - - -SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ - https://github.com/arsv/perl-cross/releases/download/1.3.5/perl-cross-1.3.5.tar.gz;name=perl-cross \ - file://perl-rdepends.txt \ - file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \ - file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \ - file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ - file://errno_ver.diff \ - file://native-perlinc.patch \ - file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ - file://perl-dynloader.patch \ - file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \ - file://0002-Constant-Fix-up-shebang.patch \ - file://determinism.patch \ - " -SRC_URI_append_class-native = " \ - file://perl-configpm-switch.patch \ -" -SRC_URI_append_class-target = " \ - file://encodefix.patch \ -" - -SRC_URI[perl.sha256sum] = "03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c" -SRC_URI[perl-cross.sha256sum] = "91c66f6b2b99fccfd4fee14660b677380b0c98f9456359e91449798c2ad2ef25" - -S = "${WORKDIR}/perl-${PV}" - -inherit upstream-version-is-even update-alternatives - -DEPENDS += "zlib virtual/crypt" - -PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" - -PACKAGECONFIG ??= "bdb gdbm" -PACKAGECONFIG[bdb] = ",-Ui_db,db" -PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm" - -# Don't generate comments in enc2xs output files. They are not reproducible -export ENC2XS_NO_COMMENTS = "1" - -do_unpack_append() { - bb.build.exec_func('do_copy_perlcross', d) -} - -do_copy_perlcross() { - cp -rfp ${WORKDIR}/perl-cross*/* ${S} -} - -do_configure_class-target() { - ./configure --prefix=${prefix} --libdir=${libdir} \ - --target=${TARGET_SYS} \ - -Duseshrplib \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ - ${PACKAGECONFIG_CONFARGS} - - #perl.c uses an ARCHLIB_EXP define to generate compile-time code that - #adds the archlibexp path to @INC during run-time initialization of a - #new perl interpreter. - - #Because we've changed this value in a temporary way to make it - #possible to use ExtUtils::Embed in the target build (the temporary - #value in config.sh gets re-stripped out during packaging), the - #ARCHLIB_EXP value that gets generated still uses the temporary version - #instead of the original expected version (i.e. becauses it's in the - #generated config.h, it doesn't get stripped out during packaging like - #the others in config.sh). - - sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h -} - -do_configure_class-nativesdk() { - ./configure --prefix=${prefix} \ - --target=${TARGET_SYS} \ - -Duseshrplib \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ - ${PACKAGECONFIG_CONFARGS} - - # See the comment above - sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h -} - -do_configure_class-native() { - ./configure --prefix=${prefix} \ - -Dbin=${bindir}/perl-native \ - -Duseshrplib \ - -Dsoname=libperl.so.5 \ - -Dvendorprefix=${prefix} \ - -Ui_xlocale \ - ${PACKAGECONFIG_CONFARGS} -} - -do_configure_append() { - if [ -n "$SOURCE_DATE_EPOCH" ]; then - PERL_BUILD_DATE="$(${PYTHON} -c "\ -from datetime import datetime, timezone; \ -print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \ - ")" - echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h - fi -} - -do_compile() { - oe_runmake - # This isn't generated reliably so delete and re-generate. - # https://github.com/arsv/perl-cross/issues/86 - - if [ -e pod/perltoc.pod ]; then - bbnote Rebuilding perltoc.pod - rm -f pod/perltoc.pod - oe_runmake pod/perltoc.pod - fi -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install - - install -d ${D}${libdir}/perl5 - install -d ${D}${libdir}/perl5/${PV}/ - install -d ${D}${libdir}/perl5/${PV}/ExtUtils/ - - # Save native config - install config.sh ${D}${libdir}/perl5 - install lib/Config.pm ${D}${libdir}/perl5/${PV}/ - install lib/ExtUtils/typemap ${D}${libdir}/perl5/${PV}/ExtUtils/ - - # Fix up shared library - dir=$(echo ${D}/${libdir}/perl5/${PV}/*/CORE) - rm $dir/libperl.so - ln -sf ../../../../libperl.so.${PERL_LIB_VER} $dir/libperl.so - - # Try to catch Bug #13946 - if [ -e ${D}/${libdir}/perl5/${PV}/Storable.pm ]; then - bbfatal 'non-arch specific Storable.pm found! See https://bugzilla.yoctoproject.org/show_bug.cgi?id=13946' - fi -} - -do_install_append_class-target() { - # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch - ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl - - # This contains host-specific information used for building miniperl (a helper executable built with host compiler) - # and therefore isn't reproducible. I believe the file isn't actually needed on target. - rm ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h -} - -do_install_append_class-nativesdk() { - # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch - ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl - - create_wrapper ${D}${bindir}/perl \ - PERL5LIB='$PERL5LIB:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/site_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/vendor_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/${PV}' -} - -do_install_append_class-native () { - # Those wrappers mean that perl installed from sstate (which may change - # path location) works and that in the nativesdk case, the SDK can be - # installed to a different location from the one it was built for. - create_wrapper ${D}${bindir}/perl-native/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl5/site_perl/${PV}:${STAGING_LIBDIR}/perl5/vendor_perl/${PV}:${STAGING_LIBDIR}/perl5/${PV}' - - # Use /usr/bin/env nativeperl for the perl script. - for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do - sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f - done -} - -PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess" - -perl_package_preprocess () { - # Fix up installed configuration - sed -i -e "s,${D},,g" \ - -e "s,${DEBUG_PREFIX_MAP},,g" \ - -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ - -e "s,-isystem${STAGING_INCDIR} ,,g" \ - -e "s,${STAGING_LIBDIR},${libdir},g" \ - -e "s,${STAGING_BINDIR},${bindir},g" \ - -e "s,${STAGING_INCDIR},${includedir},g" \ - -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ - -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ - -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ - -e 's:${RECIPE_SYSROOT}::g' \ - ${PKGD}${bindir}/h2xs.perl \ - ${PKGD}${bindir}/h2ph.perl \ - ${PKGD}${bindir}/pod2man.perl \ - ${PKGD}${bindir}/pod2text.perl \ - ${PKGD}${bindir}/pod2usage.perl \ - ${PKGD}${bindir}/podchecker.perl \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \ - ${PKGD}${libdir}/perl5/${PV}/Config.pm \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_git.pl \ - ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \ - ${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \ - ${PKGD}${libdir}/perl5/${PV}/FileCache.pm \ - ${PKGD}${libdir}/perl5/${PV}/pod/*.pod \ - ${PKGD}${libdir}/perl5/config.sh -} - -inherit update-alternatives - -ALTERNATIVE_PRIORITY = "100" - -ALTERNATIVE_${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \ - piconv pl2pm pod2html pod2man pod2text pod2usage podchecker \ - prove ptar ptardiff ptargrep shasum splain xsubpp zipdetails" -ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist" -ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan" -ALTERNATIVE_LINK_NAME[enc2xs] = "${bindir}/enc2xs" -ALTERNATIVE_LINK_NAME[encguess] = "${bindir}/encguess" -ALTERNATIVE_LINK_NAME[h2ph] = "${bindir}/h2ph" -ALTERNATIVE_LINK_NAME[h2xs] = "${bindir}/h2xs" -ALTERNATIVE_LINK_NAME[instmodsh] = "${bindir}/instmodsh" -ALTERNATIVE_LINK_NAME[json_pp] = "${bindir}/json_pp" -ALTERNATIVE_LINK_NAME[libnetcfg] = "${bindir}/libnetcfg" -ALTERNATIVE_LINK_NAME[piconv] = "${bindir}/piconv" -ALTERNATIVE_LINK_NAME[pl2pm] = "${bindir}/pl2pm" -ALTERNATIVE_LINK_NAME[pod2html] = "${bindir}/pod2html" -ALTERNATIVE_LINK_NAME[pod2man] = "${bindir}/pod2man" -ALTERNATIVE_LINK_NAME[pod2text] = "${bindir}/pod2text" -ALTERNATIVE_LINK_NAME[pod2usage] = "${bindir}/pod2usage" -ALTERNATIVE_LINK_NAME[podchecker] = "${bindir}/podchecker" -ALTERNATIVE_LINK_NAME[prove] = "${bindir}/prove" -ALTERNATIVE_LINK_NAME[ptar] = "${bindir}/ptar" -ALTERNATIVE_LINK_NAME[ptardiff] = "${bindir}/ptardiff" -ALTERNATIVE_LINK_NAME[ptargrep] = "${bindir}/ptargrep" -ALTERNATIVE_LINK_NAME[shasum] = "${bindir}/shasum" -ALTERNATIVE_LINK_NAME[splain] = "${bindir}/splain" -ALTERNATIVE_LINK_NAME[xsubpp] = "${bindir}/xsubpp" -ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails" - -require perl-ptest.inc - -FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \ - ${libdir}/perl5/site_perl \ - ${libdir}/perl5/${PV}/Config.pm \ - ${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ - ${libdir}/perl5/${PV}/*/Config_git.pl \ - ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \ - ${libdir}/perl5/config.sh \ - ${libdir}/perl5/${PV}/strict.pm \ - ${libdir}/perl5/${PV}/warnings.pm \ - ${libdir}/perl5/${PV}/warnings \ - ${libdir}/perl5/${PV}/vars.pm \ - ${libdir}/perl5/site_perl \ - ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \ - ${libdir}/perl5/${PV}/ExtUtils/xsubpp \ - ${libdir}/perl5/${PV}/ExtUtils/typemap \ - " -RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \ - perl-module-warnings-register" - -FILES_${PN}-staticdev_append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a" - -FILES_${PN}-dev_append = " ${libdir}/perl5/${PV}/*/CORE" - -FILES_${PN}-doc_append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \ - ${libdir}/perl5/${PV}/*/.packlist \ - ${libdir}/perl5/${PV}/Encode/encode.h \ - " -PACKAGES += "${PN}-misc" - -FILES_${PN}-misc = "${bindir}/*" - -PACKAGES += "${PN}-pod" - -FILES_${PN}-pod = "${libdir}/perl5/${PV}/pod \ - ${libdir}/perl5/${PV}/*.pod \ - ${libdir}/perl5/${PV}/*/*.pod \ - ${libdir}/perl5/${PV}/*/*/*.pod \ - ${libdir}/perl5/${PV}/*/*/*/*.pod \ - " - -PACKAGES += "${PN}-module-cpan ${PN}-module-unicore" - -FILES_${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \ - " -FILES_${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore" - -ALTERNATIVE_PRIORITY = "40" -ALTERNATIVE_${PN}-doc = "Thread.3" -ALTERNATIVE_LINK_NAME[Thread.3] = "${mandir}/man3/Thread.3" - -# Create a perl-modules package recommending all the other perl -# packages (actually the non modules packages and not created too) -ALLOW_EMPTY_${PN}-modules = "1" -PACKAGES += "${PN}-modules " - -PACKAGESPLITFUNCS_prepend = "split_perl_packages " - -python split_perl_packages () { - libdir = d.expand('${libdir}/perl5/${PV}') - do_split_packages(d, libdir, r'.*/auto/([^.]*)/[^/]*\.(so|ld|ix|al)', '${PN}-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False) - do_split_packages(d, libdir, r'.*linux/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'Module/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'Module/([^\/]*)/.*', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'.*linux/([^\/].*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - do_split_packages(d, libdir, r'(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/|.*linux\/)[^\/]).*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) - - # perl-modules should recommend every perl module, and only the - # modules. Don't attempt to use the result of do_split_packages() as some - # modules are manually split (eg. perl-module-unicore). - packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split()) - d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages)) - - # Read the pre-generated dependency file, and use it to set module dependecies - for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines(): - splitline = line.split() - # Filter empty lines and comments - if len(splitline) == 0 or splitline[0].startswith("#"): - continue - if bb.data.inherits_class('native', d): - module = splitline[0] + '-native' - depends = "perl-native" - else: - module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}") - depends = splitline[2].strip('"').replace("perl-module", "${PN}-module") - d.appendVar(d.expand(module), " " + depends) -} - -python() { - if d.getVar('CLASSOVERRIDE') == "class-target": - d.setVar("PACKAGES_DYNAMIC", "^${MLPREFIX}perl-module-.*(? ${WORKDIR}/perl-rdepends.inc - -# Some additional dependencies that the above doesn't manage to figure out -RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix" -RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc" -RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes" -RDEPENDS_${PN}-module-overload += "${PN}-module-overloading" - -# Generated depends list beyond this line -EOPREAMBLE - test -e packages-split.new && rm -rf packages-split.new - cp -r packages-split packages-split.new && cd packages-split.new - find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d' - egrep -r "^\s*(\ */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;" | tr [:upper:] [:lower:] | \ - awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'| \ - grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix | \ - sort -u | \ - sed 's/^/RDEPENDS_/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;' | \ - egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-socket-inet6|module-io-socket-ssl|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-test2|module-text-unidecode|module-unicore|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' | \ - egrep -wv '=>|module-algorithm-diff|module-carp|module-c|module-l|module-encode-hanextra|module-extutils-makemaker-version-regex|module-file-spec|module-io-compress-lzma|module-io-uncompress-unxz|module-locale-maketext-lexicon|module-log-agent|module-meta-notation|module-net-localcfg|module-net-ping-external|module-b-deparse|module-scalar-util|module-some-module|module-symbol|module-uri|module-win32api-file' > ${WORKDIR}/perl-rdepends.generated - cat ${WORKDIR}/perl-rdepends.inc ${WORKDIR}/perl-rdepends.generated > ${THISDIR}/files/perl-rdepends.txt -} - -# bitbake perl -c create_rdepends_inc -addtask do_create_rdepends_inc - -SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper" - -perl_sysroot_create_wrapper () { - mkdir -p ${SYSROOT_DESTDIR}${bindir} - # Create a wrapper that /usr/bin/env perl will use to get perl-native. - # This MUST live in the normal bindir. - cat > ${SYSROOT_DESTDIR}${bindir}/nativeperl << EOF -#!/bin/sh -realpath=\`readlink -fn \$0\` -exec \`dirname \$realpath\`/perl-native/perl "\$@" -EOF - chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl - cat ${SYSROOT_DESTDIR}${bindir}/nativeperl -} diff --git a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb new file mode 100644 index 000000000..7935a5872 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb @@ -0,0 +1,384 @@ +SUMMARY = "Perl scripting language" +HOMEPAGE = "http://www.perl.org/" +DESCRIPTION = "Perl is a highly capable, feature-rich programming language" +SECTION = "devel" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ + file://Artistic;md5=71a4d5d9acc18c0952a6df2218bb68da \ + " + + +SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ + file://perl-rdepends.txt \ + file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \ + file://0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch \ + file://errno_ver.diff \ + file://native-perlinc.patch \ + file://perl-dynloader.patch \ + file://0002-Constant-Fix-up-shebang.patch \ + file://determinism.patch \ + " +SRC_URI_append_class-native = " \ + file://perl-configpm-switch.patch \ +" +SRC_URI_append_class-target = " \ + file://encodefix.patch \ +" + +SRC_URI[perl.sha256sum] = "551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a" + +S = "${WORKDIR}/perl-${PV}" + +inherit upstream-version-is-even update-alternatives + +DEPENDS += "perlcross-native zlib virtual/crypt" + +PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0" + +PACKAGECONFIG ??= "bdb gdbm" +PACKAGECONFIG[bdb] = ",-Ui_db,db" +PACKAGECONFIG[gdbm] = ",-Ui_gdbm,gdbm" + +# Don't generate comments in enc2xs output files. They are not reproducible +export ENC2XS_NO_COMMENTS = "1" + +do_configure_prepend() { + cp -rfp ${STAGING_DATADIR_NATIVE}/perl-cross/* ${S} +} + +do_configure_class-target() { + ./configure --prefix=${prefix} --libdir=${libdir} \ + --target=${TARGET_SYS} \ + -Duseshrplib \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ + ${PACKAGECONFIG_CONFARGS} + + #perl.c uses an ARCHLIB_EXP define to generate compile-time code that + #adds the archlibexp path to @INC during run-time initialization of a + #new perl interpreter. + + #Because we've changed this value in a temporary way to make it + #possible to use ExtUtils::Embed in the target build (the temporary + #value in config.sh gets re-stripped out during packaging), the + #ARCHLIB_EXP value that gets generated still uses the temporary version + #instead of the original expected version (i.e. becauses it's in the + #generated config.h, it doesn't get stripped out during packaging like + #the others in config.sh). + + sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h +} + +do_configure_class-nativesdk() { + ./configure --prefix=${prefix} \ + --target=${TARGET_SYS} \ + -Duseshrplib \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \ + ${PACKAGECONFIG_CONFARGS} + + # See the comment above + sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h +} + +do_configure_class-native() { + ./configure --prefix=${prefix} \ + -Dbin=${bindir}/perl-native \ + -Duseshrplib \ + -Dsoname=libperl.so.5 \ + -Dvendorprefix=${prefix} \ + -Ui_xlocale \ + ${PACKAGECONFIG_CONFARGS} +} + +do_configure_append() { + if [ -n "$SOURCE_DATE_EPOCH" ]; then + PERL_BUILD_DATE="$(${PYTHON} -c "\ +from datetime import datetime, timezone; \ +print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \ + ")" + echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h + fi +} + +do_compile() { + oe_runmake + # This isn't generated reliably so delete and re-generate. + # https://github.com/arsv/perl-cross/issues/86 + + if [ -e pod/perltoc.pod ]; then + bbnote Rebuilding perltoc.pod + rm -f pod/perltoc.pod + oe_runmake pod/perltoc.pod + fi +} + +do_install() { + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${libdir}/perl5 + install -d ${D}${libdir}/perl5/${PV}/ + install -d ${D}${libdir}/perl5/${PV}/ExtUtils/ + + # Save native config + install config.sh ${D}${libdir}/perl5 + install lib/Config.pm ${D}${libdir}/perl5/${PV}/ + install lib/ExtUtils/typemap ${D}${libdir}/perl5/${PV}/ExtUtils/ + + # Fix up shared library + dir=$(echo ${D}/${libdir}/perl5/${PV}/*/CORE) + rm $dir/libperl.so + ln -sf ../../../../libperl.so.${PERL_LIB_VER} $dir/libperl.so + + # Try to catch Bug #13946 + if [ -e ${D}/${libdir}/perl5/${PV}/Storable.pm ]; then + bbfatal 'non-arch specific Storable.pm found! See https://bugzilla.yoctoproject.org/show_bug.cgi?id=13946' + fi +} + +do_install_append_class-target() { + # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch + ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl + + # This contains host-specific information used for building miniperl (a helper executable built with host compiler) + # and therefore isn't reproducible. I believe the file isn't actually needed on target. + rm ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h +} + +do_install_append_class-nativesdk() { + # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch + ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl + + create_wrapper ${D}${bindir}/perl \ + PERL5LIB='$PERL5LIB:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/site_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/vendor_perl/${PV}:${SDKPATHNATIVE}/${libdir_nativesdk}/perl5/${PV}' +} + +do_install_append_class-native () { + # Those wrappers mean that perl installed from sstate (which may change + # path location) works and that in the nativesdk case, the SDK can be + # installed to a different location from the one it was built for. + create_wrapper ${D}${bindir}/perl-native/perl PERL5LIB='$PERL5LIB:${STAGING_LIBDIR}/perl5/site_perl/${PV}:${STAGING_LIBDIR}/perl5/vendor_perl/${PV}:${STAGING_LIBDIR}/perl5/${PV}' + + # Use /usr/bin/env nativeperl for the perl script. + for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do + sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f + done +} + +PACKAGE_PREPROCESS_FUNCS += "perl_package_preprocess" + +perl_package_preprocess () { + # Fix up installed configuration + sed -i -e "s,${D},,g" \ + -e "s,${DEBUG_PREFIX_MAP},,g" \ + -e "s,--sysroot=${STAGING_DIR_HOST},,g" \ + -e "s,-isystem${STAGING_INCDIR} ,,g" \ + -e "s,${STAGING_LIBDIR},${libdir},g" \ + -e "s,${STAGING_BINDIR},${bindir},g" \ + -e "s,${STAGING_INCDIR},${includedir},g" \ + -e "s,${STAGING_BINDIR_NATIVE}/perl-native/,${bindir}/,g" \ + -e "s,${STAGING_BINDIR_NATIVE}/,,g" \ + -e "s,${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX},${bindir},g" \ + -e 's:${RECIPE_SYSROOT}::g' \ + ${PKGD}${bindir}/h2xs.perl \ + ${PKGD}${bindir}/h2ph.perl \ + ${PKGD}${bindir}/pod2man.perl \ + ${PKGD}${bindir}/pod2text.perl \ + ${PKGD}${bindir}/pod2usage.perl \ + ${PKGD}${bindir}/podchecker.perl \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \ + ${PKGD}${libdir}/perl5/${PV}/Config.pm \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_git.pl \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \ + ${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \ + ${PKGD}${libdir}/perl5/${PV}/FileCache.pm \ + ${PKGD}${libdir}/perl5/${PV}/pod/*.pod \ + ${PKGD}${libdir}/perl5/config.sh +} + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \ + piconv pl2pm pod2html pod2man pod2text pod2usage podchecker \ + prove ptar ptardiff ptargrep shasum splain xsubpp zipdetails" +ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist" +ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan" +ALTERNATIVE_LINK_NAME[enc2xs] = "${bindir}/enc2xs" +ALTERNATIVE_LINK_NAME[encguess] = "${bindir}/encguess" +ALTERNATIVE_LINK_NAME[h2ph] = "${bindir}/h2ph" +ALTERNATIVE_LINK_NAME[h2xs] = "${bindir}/h2xs" +ALTERNATIVE_LINK_NAME[instmodsh] = "${bindir}/instmodsh" +ALTERNATIVE_LINK_NAME[json_pp] = "${bindir}/json_pp" +ALTERNATIVE_LINK_NAME[libnetcfg] = "${bindir}/libnetcfg" +ALTERNATIVE_LINK_NAME[piconv] = "${bindir}/piconv" +ALTERNATIVE_LINK_NAME[pl2pm] = "${bindir}/pl2pm" +ALTERNATIVE_LINK_NAME[pod2html] = "${bindir}/pod2html" +ALTERNATIVE_LINK_NAME[pod2man] = "${bindir}/pod2man" +ALTERNATIVE_LINK_NAME[pod2text] = "${bindir}/pod2text" +ALTERNATIVE_LINK_NAME[pod2usage] = "${bindir}/pod2usage" +ALTERNATIVE_LINK_NAME[podchecker] = "${bindir}/podchecker" +ALTERNATIVE_LINK_NAME[prove] = "${bindir}/prove" +ALTERNATIVE_LINK_NAME[ptar] = "${bindir}/ptar" +ALTERNATIVE_LINK_NAME[ptardiff] = "${bindir}/ptardiff" +ALTERNATIVE_LINK_NAME[ptargrep] = "${bindir}/ptargrep" +ALTERNATIVE_LINK_NAME[shasum] = "${bindir}/shasum" +ALTERNATIVE_LINK_NAME[splain] = "${bindir}/splain" +ALTERNATIVE_LINK_NAME[xsubpp] = "${bindir}/xsubpp" +ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails" + +require perl-ptest.inc + +FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \ + ${libdir}/perl5/site_perl \ + ${libdir}/perl5/${PV}/Config.pm \ + ${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ + ${libdir}/perl5/${PV}/*/Config_git.pl \ + ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \ + ${libdir}/perl5/config.sh \ + ${libdir}/perl5/${PV}/strict.pm \ + ${libdir}/perl5/${PV}/warnings.pm \ + ${libdir}/perl5/${PV}/warnings \ + ${libdir}/perl5/${PV}/vars.pm \ + ${libdir}/perl5/site_perl \ + ${libdir}/perl5/${PV}/ExtUtils/MANIFEST.SKIP \ + ${libdir}/perl5/${PV}/ExtUtils/xsubpp \ + ${libdir}/perl5/${PV}/ExtUtils/typemap \ + " +RPROVIDES_${PN} += "perl-module-strict perl-module-vars perl-module-config perl-module-warnings \ + perl-module-warnings-register" + +FILES_${PN}-staticdev_append = " ${libdir}/perl5/${PV}/*/CORE/libperl.a" + +FILES_${PN}-dev_append = " ${libdir}/perl5/${PV}/*/CORE" + +FILES_${PN}-doc_append = " ${libdir}/perl5/${PV}/Unicode/Collate/*.txt \ + ${libdir}/perl5/${PV}/*/.packlist \ + ${libdir}/perl5/${PV}/Encode/encode.h \ + " +PACKAGES += "${PN}-misc" + +FILES_${PN}-misc = "${bindir}/*" + +PACKAGES += "${PN}-pod" + +FILES_${PN}-pod = "${libdir}/perl5/${PV}/pod \ + ${libdir}/perl5/${PV}/*.pod \ + ${libdir}/perl5/${PV}/*/*.pod \ + ${libdir}/perl5/${PV}/*/*/*.pod \ + ${libdir}/perl5/${PV}/*/*/*/*.pod \ + " + +PACKAGES += "${PN}-module-cpan ${PN}-module-unicore" + +FILES_${PN}-module-cpan += "${libdir}/perl5/${PV}/CPAN \ + " +FILES_${PN}-module-unicore += "${libdir}/perl5/${PV}/unicore" + +ALTERNATIVE_PRIORITY = "40" +ALTERNATIVE_${PN}-doc = "Thread.3" +ALTERNATIVE_LINK_NAME[Thread.3] = "${mandir}/man3/Thread.3" + +# Create a perl-modules package recommending all the other perl +# packages (actually the non modules packages and not created too) +ALLOW_EMPTY_${PN}-modules = "1" +PACKAGES += "${PN}-modules " + +PACKAGESPLITFUNCS_prepend = "split_perl_packages " + +python split_perl_packages () { + libdir = d.expand('${libdir}/perl5/${PV}') + do_split_packages(d, libdir, r'.*/auto/([^.]*)/[^/]*\.(so|ld|ix|al)', '${PN}-module-%s', 'perl module %s', recursive=True, match_path=True, prepend=False) + do_split_packages(d, libdir, r'.*linux/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'Module/([^\/]*)\.pm', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'Module/([^\/]*)/.*', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'.*linux/([^\/].*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + do_split_packages(d, libdir, r'(^(?!(CPAN\/|CPANPLUS\/|Module\/|unicore\/|.*linux\/)[^\/]).*)\.(pm|pl|e2x)', '${PN}-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True, prepend=False) + + # perl-modules should recommend every perl module, and only the + # modules. Don't attempt to use the result of do_split_packages() as some + # modules are manually split (eg. perl-module-unicore). + packages = filter(lambda p: 'perl-module-' in p, d.getVar('PACKAGES').split()) + d.setVar(d.expand("RRECOMMENDS_${PN}-modules"), ' '.join(packages)) + + # Read the pre-generated dependency file, and use it to set module dependecies + for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines(): + splitline = line.split() + # Filter empty lines and comments + if len(splitline) == 0 or splitline[0].startswith("#"): + continue + if bb.data.inherits_class('native', d): + module = splitline[0] + '-native' + depends = "perl-native" + else: + module = splitline[0].replace("RDEPENDS_perl", "RDEPENDS_${PN}") + depends = splitline[2].strip('"').replace("perl-module", "${PN}-module") + d.appendVar(d.expand(module), " " + depends) +} + +python() { + if d.getVar('CLASSOVERRIDE') == "class-target": + d.setVar("PACKAGES_DYNAMIC", "^${MLPREFIX}perl-module-.*(? ${WORKDIR}/perl-rdepends.inc + +# Some additional dependencies that the above doesn't manage to figure out +RDEPENDS_${PN}-module-file-spec += "${PN}-module-file-spec-unix" +RDEPENDS_${PN}-module-math-bigint += "${PN}-module-math-bigint-calc" +RDEPENDS_${PN}-module-thread-queue += "${PN}-module-attributes" +RDEPENDS_${PN}-module-overload += "${PN}-module-overloading" + +# Generated depends list beyond this line +EOPREAMBLE + test -e packages-split.new && rm -rf packages-split.new + cp -r packages-split packages-split.new && cd packages-split.new + find . -name \*.pm | xargs sed -i '/^=head/,/^=cut/d' + egrep -r "^\s*(\ */+= \"perl-module-/g;s/CPANPLUS::.*/cpanplus/g;s/CPAN::.*/cpan/g;s/::/-/g;s/ [^+\"].*//g;s/_/-/g;s/\.pl\"$/\"/;s/\"\?\$/\"/;s/(//;" | tr [:upper:] [:lower:] | \ + awk '{if ($3 != "\x22"$1"\x22"){ print $0}}'| \ + grep -v -e "\-vms\-" -e module-5 -e "^$" -e "\\$" -e your -e tk -e autoperl -e html -e http -e parse-cpan -e perl-ostype -e ndbm-file -e module-mac -e fcgi -e lwp -e dbd -e dbix | \ + sort -u | \ + sed 's/^/RDEPENDS_/;s/perl-module-/${PN}-module-/g;s/module-\(module-\)/\1/g;s/\(module-load\)-conditional/\1/g;s/encode-configlocal/&-pm/;' | \ + egrep -wv '=>|module-a|module-apache.?|module-apr|module-authen-sasl|module-b-asmdata|module-convert-ebcdic|module-devel-size|module-digest-perl-md5|module-dumpvalue|module-extutils-constant-aaargh56hash|module-extutils-xssymset|module-file-bsdglob|module-for|module-it|module-io-socket-inet6|module-io-socket-ssl|module-io-string|module-ipc-system-simple|module-lexical|module-local-lib|metadata|module-modperl-util|module-pluggable-object|module-test-builder-io-scalar|module-test2|module-text-unidecode|module-unicore|module-win32|objects\sload|syscall.ph|systeminfo.ph|%s' | \ + egrep -wv '=>|module-algorithm-diff|module-carp|module-c|module-l|module-encode-hanextra|module-extutils-makemaker-version-regex|module-file-spec|module-io-compress-lzma|module-io-uncompress-unxz|module-locale-maketext-lexicon|module-log-agent|module-meta-notation|module-net-localcfg|module-net-ping-external|module-b-deparse|module-scalar-util|module-some-module|module-symbol|module-uri|module-win32api-file' > ${WORKDIR}/perl-rdepends.generated + cat ${WORKDIR}/perl-rdepends.inc ${WORKDIR}/perl-rdepends.generated > ${THISDIR}/files/perl-rdepends.txt +} + +# bitbake perl -c create_rdepends_inc +addtask do_create_rdepends_inc + +SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper" + +perl_sysroot_create_wrapper () { + mkdir -p ${SYSROOT_DESTDIR}${bindir} + # Create a wrapper that /usr/bin/env perl will use to get perl-native. + # This MUST live in the normal bindir. + cat > ${SYSROOT_DESTDIR}${bindir}/nativeperl << EOF +#!/bin/sh +realpath=\`readlink -fn \$0\` +exec \`dirname \$realpath\`/perl-native/perl "\$@" +EOF + chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl + cat ${SYSROOT_DESTDIR}${bindir}/nativeperl +} diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.0.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.0.bb deleted file mode 100644 index 80990d8fb..000000000 --- a/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.0.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" -HOMEPAGE = "https://pypi.org/project/python-dbusmock/" - -LICENSE = "GPL-3.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" - -SRC_URI[sha256sum] = "8c0b873a3f23869b416b51deeec39b3d5ab4c9875b705fc90ae917e4969c2574" - -PYPI_PACKAGE = "python-dbusmock" - -inherit pypi setuptools3 - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-dbus \ - ${PYTHON_PN}-pygobject \ - ${PYTHON_PN}-unittest \ - ${PYTHON_PN}-xml \ - " diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb new file mode 100644 index 000000000..b5fa1868b --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" +HOMEPAGE = "https://pypi.org/project/python-dbusmock/" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" + +SRC_URI[sha256sum] = "b5c36a9c9935d1867cf79d8666b08ad906660e6d4d967e9fded4361ad7eef54f" + +PYPI_PACKAGE = "python-dbusmock" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "\ + ${PYTHON_PN}-dbus \ + ${PYTHON_PN}-pygobject \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ + " diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb deleted file mode 100644 index 7688ff6d1..000000000 --- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.13.7.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "A library for property-based testing" -HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python" -LICENSE = "MPL-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c" - -PYPI_PACKAGE = "hypothesis" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "262bb8cee0293ad06c453e78cf89bddcb613b91f82ea5587f3787611ee62861b" - -RDEPENDS_${PN} += "python3-attrs python3-core python3-sortedcontainers" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.0.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.0.bb new file mode 100644 index 000000000..89071b2a9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "A library for property-based testing" +HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c" + +PYPI_PACKAGE = "hypothesis" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "9bdee01ae260329b16117e9b0229a839b4a77747a985922653f595bd2a6a541a" + +RDEPENDS_${PN} += " \ + python3-attrs \ + python3-compression \ + python3-core \ + python3-json \ + python3-sortedcontainers \ + python3-statistics \ + python3-unittest \ + " + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb deleted file mode 100644 index f4ac3c44e..000000000 --- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.3.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "Read metadata from Python packages" -HOMEPAGE = "https://pypi.org/project/importlib-metadata/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" - -inherit pypi setuptools3 - -PYPI_PACKAGE = "importlib_metadata" -UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P(\d+[\.\-_]*)+)/" - -SRC_URI[sha256sum] = "c4646abbce80191bb548636f846e353ff1edc46a06bc536ea0a60d53211dc690" - -S = "${WORKDIR}/importlib_metadata-${PV}" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" -RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2" -RDEPENDS_${PN}_append_class-target = " python3-misc" -RDEPENDS_${PN}_append_class-nativesdk = " python3-misc" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.5.0.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.5.0.bb new file mode 100644 index 000000000..7c156787a --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.5.0.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Read metadata from Python packages" +HOMEPAGE = "https://pypi.org/project/importlib-metadata/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" + +inherit pypi setuptools3 + +PYPI_PACKAGE = "importlib_metadata" +UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P(\d+[\.\-_]*)+)/" + +SRC_URI[sha256sum] = "b142cc1dd1342f31ff04bb7d022492b09920cb64fed867cd3ea6f80fe3ebd139" + +S = "${WORKDIR}/importlib_metadata-${PV}" + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native ${PYTHON_PN}-toml-native" +RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2" +RDEPENDS_${PN}_append_class-target = " python3-misc" +RDEPENDS_${PN}_append_class-nativesdk = " python3-misc" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb deleted file mode 100644 index d29195545..000000000 --- a/poky/meta/recipes-devtools/python/python3-libarchive-c_3.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Python interface to libarchive" -DESCRIPTION = "A Python interface to libarchive. It uses the standard ctypes module to \ - dynamically load and access the C library." -HOMEPAGE = "https://github.com/Changaco/python-libarchive-c" -LICENSE = "CC0-1.0" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bcab380227a83bc147350b40a81e6ffc" - -PYPI_PACKAGE = "libarchive-c" - -inherit pypi setuptools3 - -SRC_URI[md5sum] = "920885f5910aa8245e30896996e0415b" -SRC_URI[sha256sum] = "6f12fa9cf0e44579e5f45bbf11aa455a930fbfdb13ea0ce3c3dfe7b9b9a452ba" - -RDEPENDS_${PN} += "\ - libarchive \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-mmap \ -" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb new file mode 100644 index 000000000..d8f7862f9 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_3.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python interface to libarchive" +DESCRIPTION = "A Python interface to libarchive. It uses the standard ctypes module to \ + dynamically load and access the C library." +HOMEPAGE = "https://github.com/Changaco/python-libarchive-c" +LICENSE = "CC0-1.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bcab380227a83bc147350b40a81e6ffc" + +PYPI_PACKAGE = "libarchive-c" + +inherit pypi setuptools3 + +SRC_URI[md5sum] = "8c62da42a8b9bd24642e5430427e6f5a" +SRC_URI[sha256sum] = "618a7ecfbfb58ca15e11e3138d4a636498da3b6bc212811af158298530fbb87e" + +RDEPENDS_${PN} += "\ + libarchive \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-mmap \ + ${PYTHON_PN}-logging \ +" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.22.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.22.bb deleted file mode 100644 index b82892759..000000000 --- a/poky/meta/recipes-devtools/python/python3-magic_0.4.22.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "File type identification using libmagic" -DESCRIPTION = "This module uses ctypes to access the libmagic file type \ - identification library. It makes use of the local magic database and supports \ - both textual and MIME-type output." -HOMEPAGE = "http://github.com/ahupp/python-magic" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3" - -PYPI_PACKAGE = "python-magic" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "ca884349f2c92ce830e3f498c5b7c7051fe2942c3ee4332f65213b8ebff15a62" - -RDEPENDS_${PN} += "file \ - ${PYTHON_PN}-ctypes \ - ${PYTHON_PN}-io \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-shell" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.24.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.24.bb new file mode 100644 index 000000000..a54bf2431 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-magic_0.4.24.bb @@ -0,0 +1,22 @@ +SUMMARY = "File type identification using libmagic" +DESCRIPTION = "This module uses ctypes to access the libmagic file type \ + identification library. It makes use of the local magic database and supports \ + both textual and MIME-type output." +HOMEPAGE = "http://github.com/ahupp/python-magic" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3" + +PYPI_PACKAGE = "python-magic" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "de800df9fb50f8ec5974761054a708af6e4246b03b4bdaee993f948947b0ebcf" + +RDEPENDS_${PN} += "file \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-shell" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb deleted file mode 100644 index 8987b7a42..000000000 --- a/poky/meta/recipes-devtools/python/python3-pycairo_1.20.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Python bindings for the Cairo canvas library" -HOMEPAGE = "http://cairographics.org/pycairo" -BUGTRACKER = "http://bugs.freedesktop.org" -SECTION = "python-devel" -LICENSE = "LGPLv2.1 & MPLv1.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=f3713ca2c28d9312ad718520b6dc3eee \ - file://COPYING-LGPL-2.1;md5=fad9b3332be894bab9bc501572864b29 \ - file://COPYING-MPL-1.1;md5=bfe1f75d606912a4111c90743d6c7325" - -# cairo >= 1.14 -DEPENDS = "cairo python3" - -SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz" -UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/" - -SRC_URI[md5sum] = "a1f9b661a0000c2f42281db933284451" -SRC_URI[sha256sum] = "5695a10cb7f9ae0d01f665b56602a845b0a8cb17e2123bfece10c2e58552468c" - -S = "${WORKDIR}/pycairo-${PV}" - -inherit meson pkgconfig python3targetconfig - -CFLAGS += "-fPIC" - -BBCLASSEXTEND = "native" - -FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb new file mode 100644 index 000000000..d169a3ca7 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb @@ -0,0 +1,27 @@ +SUMMARY = "Python bindings for the Cairo canvas library" +HOMEPAGE = "http://cairographics.org/pycairo" +BUGTRACKER = "http://bugs.freedesktop.org" +SECTION = "python-devel" +LICENSE = "LGPLv2.1 & MPLv1.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=f3713ca2c28d9312ad718520b6dc3eee \ + file://COPYING-LGPL-2.1;md5=fad9b3332be894bab9bc501572864b29 \ + file://COPYING-MPL-1.1;md5=bfe1f75d606912a4111c90743d6c7325" + +# cairo >= 1.14 +DEPENDS = "cairo python3" + +SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz" +UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/" + +SRC_URI[md5sum] = "fa88a28cadbfb34192fe743d32c0ee33" +SRC_URI[sha256sum] = "1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b" + +S = "${WORKDIR}/pycairo-${PV}" + +inherit meson pkgconfig python3targetconfig + +CFLAGS += "-fPIC" + +BBCLASSEXTEND = "native" + +FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_3.1.2.bb b/poky/meta/recipes-devtools/python/python3-scons-native_3.1.2.bb deleted file mode 100644 index 9e127304d..000000000 --- a/poky/meta/recipes-devtools/python/python3-scons-native_3.1.2.bb +++ /dev/null @@ -1,7 +0,0 @@ -require python3-scons_${PV}.bb -inherit native python3native -DEPENDS = "python3-native python3-setuptools-native" - -do_install_append() { - create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' -} diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb b/poky/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb new file mode 100644 index 000000000..9e127304d --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons-native_4.1.0.bb @@ -0,0 +1,7 @@ +require python3-scons_${PV}.bb +inherit native python3native +DEPENDS = "python3-native python3-setuptools-native" + +do_install_append() { + create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' +} diff --git a/poky/meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch b/poky/meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch new file mode 100644 index 000000000..ff212b85e --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch @@ -0,0 +1,46 @@ +From 82be2b7b9758a2f62ee11931da674cd541076041 Mon Sep 17 00:00:00 2001 +From: Tim Orling +Date: Sat, 22 May 2021 11:20:46 -0700 +Subject: [PATCH] Fix man page installation + +Fixes: + error: can't copy 'build/doc/man/scons.1': doesn't exist or not a regular file + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Tim Orling +--- + MANIFEST.in | 2 +- + setup.cfg | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/MANIFEST.in b/MANIFEST.in +index 04ec000..937f6f3 100644 +--- a/MANIFEST.in ++++ b/MANIFEST.in +@@ -4,7 +4,7 @@ recursive-include SCons/Tool/docbook * + include LICENSE + + include scons.1 sconsign.1 scons-time.1 +-recursive-include build/doc/man *.1 ++#recursive-include build/doc/man *.1 + + + +diff --git a/setup.cfg b/setup.cfg +index 37e5204..677c00a 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -56,9 +56,9 @@ console_scripts = + scons.tool.docbook = *.* + + [options.data_files] +-. = build/doc/man/scons.1 +- build/doc/man/scons-time.1 +- build/doc/man/sconsign.1 ++. = scons.1 ++ scons-time.1 ++ sconsign.1 + + [sdist] + dist-dir = build/dist diff --git a/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb b/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb deleted file mode 100644 index 12122131a..000000000 --- a/poky/meta/recipes-devtools/python/python3-scons_3.1.2.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Software Construction tool (make/autotools replacement)" -HOMEPAGE = "https://github.com/SCons/scons" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-python3-scons-${PV};md5=e14e1b33428df24a40a782ae142785d0" - -# pypi package does not have a valid license file -SRC_URI += "https://raw.githubusercontent.com/SCons/scons/${PV}/LICENSE;downloadfilename=LICENSE-python3-scons-${PV};name=license" - -SRC_URI[md5sum] = "f9c4ad06dcf1427be95472eaf380c81a" -SRC_URI[sha256sum] = "8aaa483c303efeb678e6f7c776c8444a482f8ddc3ad891f8b6cdd35264da9a1f" -SRC_URI[license.md5sum] = "e14e1b33428df24a40a782ae142785d0" -SRC_URI[license.sha256sum] = "72ed889165fb28378cadac14552be4a959f1ebab6b148abb5dd2b49712c3c6f6" - -S = "${WORKDIR}/scons-${PV}" - -UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html" -UPSTREAM_CHECK_REGEX = "(?P\d+(\.\d+)+)\.tar" - -inherit pypi setuptools3 - -do_install_prepend() { - sed -i -e "1s,#!.*python.*,#!${USRBINPATH}/env python3," ${S}/script/* -} - -RDEPENDS_${PN}_class-target = "\ - python3-core \ - python3-fcntl \ - python3-io \ - python3-json \ - python3-shell \ - python3-pickle \ - python3-pprint \ - " diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.1.0.bb b/poky/meta/recipes-devtools/python/python3-scons_4.1.0.bb new file mode 100644 index 000000000..5894a5ef3 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons_4.1.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Software Construction tool (make/autotools replacement)" +HOMEPAGE = "https://github.com/SCons/scons" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b94c6e2be9670c62b38f7118c12866d2" + +SRC_URI += " file://0001-Fix-man-page-installation.patch" +SRC_URI[sha256sum] = "accb8035be2c9cfbab06471286eaeff86a10037a8064cf4ef4c3df04ea5a7387" + +PYPI_PACKAGE = "SCons" + +inherit pypi setuptools3 + +RDEPENDS_${PN}_class-target = "\ + python3-core \ + python3-compression \ + python3-fcntl \ + python3-importlib-metadata \ + python3-io \ + python3-json \ + python3-shell \ + python3-pickle \ + python3-pkg-resources \ + python3-pprint \ + " + +FILES_${PN}-doc += "${datadir}/scons*.1" diff --git a/poky/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch b/poky/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch new file mode 100644 index 000000000..7d684b3c4 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch @@ -0,0 +1,33 @@ +From 7a2bddfa437be633bb6945d0e6b7d6f27da870ad Mon Sep 17 00:00:00 2001 +From: Tim Orling +Date: Fri, 18 Jun 2021 11:56:50 -0700 +Subject: [PATCH] test_ctypes.test_find: skip without tools-sdk + +These tests need full packagegroup-core-buildessential, the +easiest way to dynamically check for that is looking for +'tools-sdk' in IMAGE_FEATURES. + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Tim Orling +--- + Lib/ctypes/test/test_find.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py +index 92ac184..0d009d1 100644 +--- a/Lib/ctypes/test/test_find.py ++++ b/Lib/ctypes/test/test_find.py +@@ -112,10 +112,12 @@ class FindLibraryLinux(unittest.TestCase): + # LD_LIBRARY_PATH) + self.assertEqual(find_library(libname), 'lib%s.so' % libname) + ++ @unittest.skip("Needs IMAGE_FEATURE += \"tools-sdk\"") + def test_find_library_with_gcc(self): + with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None): + self.assertNotEqual(find_library('c'), None) + ++ @unittest.skip("Needs IMAGE_FEATURE += \"tools-sdk\"") + def test_find_library_with_ld(self): + with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \ + unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None): diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json index 615dc3a5e..d65cf49cb 100644 --- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json +++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json @@ -814,6 +814,7 @@ "shell", "smtpd", "sqlite3", + "statistics", "stringold", "syslog", "terminal", @@ -1085,6 +1086,20 @@ ], "cached": [] }, + "statistics": { + "summary": "Basic statistics module", + "rdepends": [ + "core", + "math", + "numbers" + ], + "files": [ + "${libdir}/python${PYTHON_MAJMIN}/statistics.py" + ], + "cached": [ + "${libdir}/python${PYTHON_MAJMIN}/__pycache__/statistics.*.pyc" + ] + }, "stringold": { "summary": "Python string APIs [deprecated]", "rdepends": [ diff --git a/poky/meta/recipes-devtools/python/python3_3.9.5.bb b/poky/meta/recipes-devtools/python/python3_3.9.5.bb index f4002f251..1717ff737 100644 --- a/poky/meta/recipes-devtools/python/python3_3.9.5.bb +++ b/poky/meta/recipes-devtools/python/python3_3.9.5.bb @@ -31,6 +31,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \ file://0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch \ file://0001-Skip-failing-tests-due-to-load-variability-on-YP-AB.patch \ + ${@bb.utils.contains('IMAGE_FEATURES', 'tools-sdk', '', 'file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch', d)} \ " SRC_URI_append_class-native = " \ diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index 0cbd66301..6674936fe 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -29,6 +29,14 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://determinism.patch \ file://0001-tests-meson.build-use-relative-path-to-refer-to-file.patch \ file://0001-configure-fix-detection-of-gdbus-codegen.patch \ + file://0001-vhost-user-gpu-fix-memory-disclosure-in-virgl_cmd_ge.patch \ + file://0002-vhost-user-gpu-fix-resource-leak-in-vg_resource_crea.patch \ + file://0003-vhost-user-gpu-fix-memory-leak-in-vg_resource_attach.patch \ + file://0004-vhost-user-gpu-fix-memory-leak-while-calling-vg_reso.patch \ + file://0005-vhost-user-gpu-fix-memory-leak-in-virgl_cmd_resource.patch \ + file://0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch \ + file://0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch \ + file://0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch new file mode 100644 index 000000000..11b6e3c67 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch @@ -0,0 +1,35 @@ +From c5844a4cdee37268c9b65a65e6968ee129bb742d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 14 Jun 2021 10:27:17 -0700 +Subject: [PATCH] linux-user: Tag vsx with ieee128 fpbits + +In OE we need this for ppc64le usermode to work since we generate 128bit +long doubles and glibc 2.34 is now checking for this in hwcaps at +runtime and failing to run the binary if machine does not support 128bit +IEEE fp + +Fixes +Fatal glibc error: CPU lacks float128 support (POWER 9 or later required) + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + linux-user/elfload.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/linux-user/elfload.c b/linux-user/elfload.c +index 17ab06f612..e7dd18fd40 100644 +--- a/linux-user/elfload.c ++++ b/linux-user/elfload.c +@@ -830,7 +830,7 @@ static uint32_t get_elf_hwcap2(void) + PPC2_ISA207S), QEMU_PPC_FEATURE2_ARCH_2_07 | + QEMU_PPC_FEATURE2_VEC_CRYPTO); + GET_FEATURE2(PPC2_ISA300, QEMU_PPC_FEATURE2_ARCH_3_00 | +- QEMU_PPC_FEATURE2_DARN); ++ QEMU_PPC_FEATURE2_DARN | QEMU_PPC_FEATURE2_HAS_IEEE128); + + #undef GET_FEATURE + #undef GET_FEATURE2 +-- +2.32.0 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-vhost-user-gpu-fix-memory-disclosure-in-virgl_cmd_ge.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-vhost-user-gpu-fix-memory-disclosure-in-virgl_cmd_ge.patch new file mode 100644 index 000000000..981c23729 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0001-vhost-user-gpu-fix-memory-disclosure-in-virgl_cmd_ge.patch @@ -0,0 +1,43 @@ +CVE: CVE-2021-3545 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 121841b25d72d13f8cad554363138c360f1250ea Mon Sep 17 00:00:00 2001 +From: Li Qiang +Date: Sat, 15 May 2021 20:03:56 -0700 +Subject: [PATCH 1/7] vhost-user-gpu: fix memory disclosure in + virgl_cmd_get_capset_info (CVE-2021-3545) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Otherwise some of the 'resp' will be leaked to guest. + +Fixes: CVE-2021-3545 +Reported-by: Li Qiang +virtio-gpu fix: 42a8dadc74 ("virtio-gpu: fix information leak +in getting capset info dispatch") + +Signed-off-by: Li Qiang +Reviewed-by: Marc-André Lureau +Message-Id: <20210516030403.107723-2-liq3ea@163.com> +Signed-off-by: Gerd Hoffmann +--- + contrib/vhost-user-gpu/virgl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/contrib/vhost-user-gpu/virgl.c b/contrib/vhost-user-gpu/virgl.c +index 9e6660c7ab..6a332d601f 100644 +--- a/contrib/vhost-user-gpu/virgl.c ++++ b/contrib/vhost-user-gpu/virgl.c +@@ -128,6 +128,7 @@ virgl_cmd_get_capset_info(VuGpu *g, + + VUGPU_FILL_CMD(info); + ++ memset(&resp, 0, sizeof(resp)); + if (info.capset_index == 0) { + resp.capset_id = VIRTIO_GPU_CAPSET_VIRGL; + virgl_renderer_get_cap_set(resp.capset_id, +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-vhost-user-gpu-fix-resource-leak-in-vg_resource_crea.patch b/poky/meta/recipes-devtools/qemu/qemu/0002-vhost-user-gpu-fix-resource-leak-in-vg_resource_crea.patch new file mode 100644 index 000000000..a9aee47e3 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0002-vhost-user-gpu-fix-resource-leak-in-vg_resource_crea.patch @@ -0,0 +1,41 @@ +CVE: CVE-2021-3544 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 86dd8fac2acc366930a5dc08d3fb1b1e816f4e1e Mon Sep 17 00:00:00 2001 +From: Li Qiang +Date: Sat, 15 May 2021 20:03:57 -0700 +Subject: [PATCH 2/7] vhost-user-gpu: fix resource leak in + 'vg_resource_create_2d' (CVE-2021-3544) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Call 'vugbm_buffer_destroy' in error path to avoid resource leak. + +Fixes: CVE-2021-3544 +Reported-by: Li Qiang +Reviewed-by: Prasad J Pandit +Signed-off-by: Li Qiang +Reviewed-by: Marc-André Lureau +Message-Id: <20210516030403.107723-3-liq3ea@163.com> +Signed-off-by: Gerd Hoffmann +--- + contrib/vhost-user-gpu/vhost-user-gpu.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-gpu/vhost-user-gpu.c +index f73f292c9f..b5e153d0d6 100644 +--- a/contrib/vhost-user-gpu/vhost-user-gpu.c ++++ b/contrib/vhost-user-gpu/vhost-user-gpu.c +@@ -349,6 +349,7 @@ vg_resource_create_2d(VuGpu *g, + g_critical("%s: resource creation failed %d %d %d", + __func__, c2d.resource_id, c2d.width, c2d.height); + g_free(res); ++ vugbm_buffer_destroy(&res->buffer); + cmd->error = VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY; + return; + } +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-vhost-user-gpu-fix-memory-leak-in-vg_resource_attach.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-vhost-user-gpu-fix-memory-leak-in-vg_resource_attach.patch new file mode 100644 index 000000000..171848640 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0003-vhost-user-gpu-fix-memory-leak-in-vg_resource_attach.patch @@ -0,0 +1,48 @@ +CVE: CVE-2021-3544 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From b9f79858a614d95f5de875d0ca31096eaab72c3b Mon Sep 17 00:00:00 2001 +From: Li Qiang +Date: Sat, 15 May 2021 20:03:58 -0700 +Subject: [PATCH 3/7] vhost-user-gpu: fix memory leak in + vg_resource_attach_backing (CVE-2021-3544) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Check whether the 'res' has already been attach_backing to avoid +memory leak. + +Fixes: CVE-2021-3544 +Reported-by: Li Qiang +virtio-gpu fix: 204f01b309 ("virtio-gpu: fix memory leak +in resource attach backing") + +Signed-off-by: Li Qiang +Reviewed-by: Marc-André Lureau +Message-Id: <20210516030403.107723-4-liq3ea@163.com> +Signed-off-by: Gerd Hoffmann +--- + contrib/vhost-user-gpu/vhost-user-gpu.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-gpu/vhost-user-gpu.c +index b5e153d0d6..0437e52b64 100644 +--- a/contrib/vhost-user-gpu/vhost-user-gpu.c ++++ b/contrib/vhost-user-gpu/vhost-user-gpu.c +@@ -489,6 +489,11 @@ vg_resource_attach_backing(VuGpu *g, + return; + } + ++ if (res->iov) { ++ cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC; ++ return; ++ } ++ + ret = vg_create_mapping_iov(g, &ab, cmd, &res->iov); + if (ret != 0) { + cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC; +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-vhost-user-gpu-fix-memory-leak-while-calling-vg_reso.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-vhost-user-gpu-fix-memory-leak-while-calling-vg_reso.patch new file mode 100644 index 000000000..9fc2fafe1 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0004-vhost-user-gpu-fix-memory-leak-while-calling-vg_reso.patch @@ -0,0 +1,50 @@ +CVE: CVE-2021-3544 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From b7afebcf9e6ecf3cf9b5a9b9b731ed04bca6aa3e Mon Sep 17 00:00:00 2001 +From: Li Qiang +Date: Sat, 15 May 2021 20:03:59 -0700 +Subject: [PATCH 4/7] vhost-user-gpu: fix memory leak while calling + 'vg_resource_unref' (CVE-2021-3544) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If the guest trigger following sequences, the attach_backing will be leaked: + + vg_resource_create_2d + vg_resource_attach_backing + vg_resource_unref + +This patch fix this by freeing 'res->iov' in vg_resource_destroy. + +Fixes: CVE-2021-3544 +Reported-by: Li Qiang +virtio-gpu fix: 5e8e3c4c75 ("virtio-gpu: fix resource leak +in virgl_cmd_resource_unref") + +Reviewed-by: Prasad J Pandit +Signed-off-by: Li Qiang +Reviewed-by: Marc-André Lureau +Message-Id: <20210516030403.107723-5-liq3ea@163.com> +Signed-off-by: Gerd Hoffmann +--- + contrib/vhost-user-gpu/vhost-user-gpu.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c b/contrib/vhost-user-gpu/vhost-user-gpu.c +index 0437e52b64..770dfad529 100644 +--- a/contrib/vhost-user-gpu/vhost-user-gpu.c ++++ b/contrib/vhost-user-gpu/vhost-user-gpu.c +@@ -400,6 +400,7 @@ vg_resource_destroy(VuGpu *g, + } + + vugbm_buffer_destroy(&res->buffer); ++ g_free(res->iov); + pixman_image_unref(res->image); + QTAILQ_REMOVE(&g->reslist, res, next); + g_free(res); +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-vhost-user-gpu-fix-memory-leak-in-virgl_cmd_resource.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-vhost-user-gpu-fix-memory-leak-in-virgl_cmd_resource.patch new file mode 100644 index 000000000..e70f3c02c --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0005-vhost-user-gpu-fix-memory-leak-in-virgl_cmd_resource.patch @@ -0,0 +1,58 @@ +CVE: CVE-2021-3544 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From f6091d86ba9ea05f4e111b9b42ee0005c37a6779 Mon Sep 17 00:00:00 2001 +From: Li Qiang +Date: Sat, 15 May 2021 20:04:00 -0700 +Subject: [PATCH 5/7] vhost-user-gpu: fix memory leak in + 'virgl_cmd_resource_unref' (CVE-2021-3544) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The 'res->iov' will be leaked if the guest trigger following sequences: + + virgl_cmd_create_resource_2d + virgl_resource_attach_backing + virgl_cmd_resource_unref + +This patch fixes this. + +Fixes: CVE-2021-3544 +Reported-by: Li Qiang +virtio-gpu fix: 5e8e3c4c75 ("virtio-gpu: fix resource leak +in virgl_cmd_resource_unref" + +Signed-off-by: Li Qiang +Reviewed-by: Marc-André Lureau +Message-Id: <20210516030403.107723-6-liq3ea@163.com> +Signed-off-by: Gerd Hoffmann +--- + contrib/vhost-user-gpu/virgl.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/contrib/vhost-user-gpu/virgl.c b/contrib/vhost-user-gpu/virgl.c +index 6a332d601f..c669d73a1d 100644 +--- a/contrib/vhost-user-gpu/virgl.c ++++ b/contrib/vhost-user-gpu/virgl.c +@@ -108,9 +108,16 @@ virgl_cmd_resource_unref(VuGpu *g, + struct virtio_gpu_ctrl_command *cmd) + { + struct virtio_gpu_resource_unref unref; ++ struct iovec *res_iovs = NULL; ++ int num_iovs = 0; + + VUGPU_FILL_CMD(unref); + ++ virgl_renderer_resource_detach_iov(unref.resource_id, ++ &res_iovs, ++ &num_iovs); ++ g_free(res_iovs); ++ + virgl_renderer_resource_unref(unref.resource_id); + } + +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch new file mode 100644 index 000000000..5efb87ca3 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch @@ -0,0 +1,49 @@ +CVE: CVE-2021-3544 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 63736af5a6571d9def93769431e0d7e38c6677bf Mon Sep 17 00:00:00 2001 +From: Li Qiang +Date: Sat, 15 May 2021 20:04:01 -0700 +Subject: [PATCH 6/7] vhost-user-gpu: fix memory leak in + 'virgl_resource_attach_backing' (CVE-2021-3544) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If 'virgl_renderer_resource_attach_iov' failed, the 'res_iovs' will +be leaked. + +Fixes: CVE-2021-3544 +Reported-by: Li Qiang +virtio-gpu fix: 33243031da ("virtio-gpu-3d: fix memory leak +in resource attach backing") + +Signed-off-by: Li Qiang +Reviewed-by: Marc-André Lureau +Message-Id: <20210516030403.107723-7-liq3ea@163.com> +Signed-off-by: Gerd Hoffmann +--- + contrib/vhost-user-gpu/virgl.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/contrib/vhost-user-gpu/virgl.c b/contrib/vhost-user-gpu/virgl.c +index c669d73a1d..a16a311d80 100644 +--- a/contrib/vhost-user-gpu/virgl.c ++++ b/contrib/vhost-user-gpu/virgl.c +@@ -287,8 +287,11 @@ virgl_resource_attach_backing(VuGpu *g, + return; + } + +- virgl_renderer_resource_attach_iov(att_rb.resource_id, ++ ret = virgl_renderer_resource_attach_iov(att_rb.resource_id, + res_iovs, att_rb.nr_entries); ++ if (ret != 0) { ++ g_free(res_iovs); ++ } + } + + static void +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch new file mode 100644 index 000000000..33e6a6619 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch @@ -0,0 +1,49 @@ +CVE: CVE-2021-3546 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 9f22893adcb02580aee5968f32baa2cd109b3ec2 Mon Sep 17 00:00:00 2001 +From: Li Qiang +Date: Sat, 15 May 2021 20:04:02 -0700 +Subject: [PATCH 7/7] vhost-user-gpu: fix OOB write in 'virgl_cmd_get_capset' + (CVE-2021-3546) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If 'virgl_cmd_get_capset' set 'max_size' to 0, +the 'virgl_renderer_fill_caps' will write the data after the 'resp'. +This patch avoid this by checking the returned 'max_size'. + +virtio-gpu fix: abd7f08b23 ("display: virtio-gpu-3d: check +virgl capabilities max_size") + +Fixes: CVE-2021-3546 +Reported-by: Li Qiang +Reviewed-by: Prasad J Pandit +Signed-off-by: Li Qiang +Reviewed-by: Marc-André Lureau +Message-Id: <20210516030403.107723-8-liq3ea@163.com> +Signed-off-by: Gerd Hoffmann +--- + contrib/vhost-user-gpu/virgl.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/contrib/vhost-user-gpu/virgl.c b/contrib/vhost-user-gpu/virgl.c +index a16a311d80..7172104b19 100644 +--- a/contrib/vhost-user-gpu/virgl.c ++++ b/contrib/vhost-user-gpu/virgl.c +@@ -177,6 +177,10 @@ virgl_cmd_get_capset(VuGpu *g, + + virgl_renderer_get_cap_set(gc.capset_id, &max_ver, + &max_size); ++ if (!max_size) { ++ cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; ++ return; ++ } + resp = g_malloc0(sizeof(*resp) + max_size); + + resp->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET; +-- +2.25.1 + diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch b/poky/meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch new file mode 100644 index 000000000..ed73808e9 --- /dev/null +++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch @@ -0,0 +1,56 @@ +From 20ac1f939a8a97b03abec55d865050fdaa0f343a Mon Sep 17 00:00:00 2001 +From: Eugene Tarassov +Date: Tue, 8 Jan 2019 21:56:16 -0800 +Subject: [oe-core][PATCH 1/1] Fixed copyright messages + +Upstream-Status: Backport [https://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/commit/?id=20ac1f939a8a97b03abec55d865050fdaa0f343a] + +Signed-off-by: Joe Slater +Signed-off-by: Mingli Yu +--- + agent/tcf/framework/channel_lws.c | 2 +- + agent/tcf/framework/cpudefs-mdep-mux.h | 19 +++++++++++++------ + 2 files changed, 14 insertions(+), 7 deletions(-) + +diff --git a/agent/tcf/framework/channel_lws.c b/agent/tcf/framework/channel_lws.c +index 0cb9585..d9352f3 100644 +--- a/tcf/framework/channel_lws.c ++++ b/tcf/framework/channel_lws.c +@@ -1,5 +1,5 @@ + /******************************************************************************* +- * Copyright (c) 2016-2017 Wind River Systems, Inc. ++ * Copyright (c) 2016-2018 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and Eclipse Distribution License v1.0 which accompany this distribution. +diff --git a/agent/tcf/framework/cpudefs-mdep-mux.h b/agent/tcf/framework/cpudefs-mdep-mux.h +index c9e0db7..0397a6a 100644 +--- a/tcf/framework/cpudefs-mdep-mux.h ++++ b/tcf/framework/cpudefs-mdep-mux.h +@@ -1,10 +1,17 @@ +-/* +- * Copyright (c) 2013 Wind River Systems, Inc. ++/******************************************************************************* ++ * Copyright (c) 2013 Wind River Systems, Inc. and others. ++ * All rights reserved. This program and the accompanying materials ++ * are made available under the terms of the Eclipse Public License v1.0 ++ * and Eclipse Distribution License v1.0 which accompany this distribution. ++ * The Eclipse Public License is available at ++ * http://www.eclipse.org/legal/epl-v10.html ++ * and the Eclipse Distribution License is available at ++ * http://www.eclipse.org/org/documents/edl-v10.php. ++ * You may elect to redistribute this code under either of these licenses. + * +- * The right to copy, distribute, modify or otherwise make use +- * of this software may be licensed only pursuant to the terms +- * of an applicable Wind River license agreement. +- */ ++ * Contributors: ++ * Wind River Systems - initial API and implementation ++ *******************************************************************************/ + + #include + +-- +2.7.4 + diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb index 854269a0f..87369c47d 100644 --- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb +++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb @@ -15,6 +15,7 @@ SRC_URI = "git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent \ file://ldflags.patch \ file://tcf-agent.init \ file://tcf-agent.service \ + file://0001-Fixed-copyright-messages.patch \ " DEPENDS = "util-linux openssl" diff --git a/poky/meta/recipes-devtools/vala/vala_0.52.3.bb b/poky/meta/recipes-devtools/vala/vala_0.52.3.bb deleted file mode 100644 index 133dc9efa..000000000 --- a/poky/meta/recipes-devtools/vala/vala_0.52.3.bb +++ /dev/null @@ -1,5 +0,0 @@ -require ${BPN}.inc - -SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch" - -SRC_URI[sha256sum] = "037ea1a92bf0f1ab04a71b52a01d50aca1945ad1017b6189d9614f84f5c9b2d9" diff --git a/poky/meta/recipes-devtools/vala/vala_0.52.4.bb b/poky/meta/recipes-devtools/vala/vala_0.52.4.bb new file mode 100644 index 000000000..8e2869d40 --- /dev/null +++ b/poky/meta/recipes-devtools/vala/vala_0.52.4.bb @@ -0,0 +1,5 @@ +require ${BPN}.inc + +SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch" + +SRC_URI[sha256sum] = "ecde520e5160e659ee699f8b1cdc96065edbd44bbd08eb48ef5f2506751fdf31" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 index a3a0c6e50..b4fc8af33 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 +++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 @@ -235,3 +235,4 @@ memcheck/tests/wrapmalloc memcheck/tests/wrapmallocstatic memcheck/tests/writev1 memcheck/tests/xml1 +memcheck/tests/linux/stack_changes diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest b/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest index 60d243276..caeae84d4 100755 --- a/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest +++ b/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest @@ -32,12 +32,19 @@ if [ "$arch" = "aarch64" ]; then done fi +echo "Run flaky tests using taskset to limit them to a single core." +for i in `cat taskset_nondeterministic_tests`; do + taskset 0x00000001 perl tests/vg_regtest --valgrind=${VALGRIND_BIN} --valgrind-lib=${VALGRIND_LIBEXECDIR} --yocto-ptest $i 2>&1|tee -a ${LOG} + mv $i.vgtest $i.IGNORE +done + + cd ${VALGRIND_LIB}/ptest && ./tests/vg_regtest \ --valgrind=${VALGRIND_BIN} \ --valgrind-lib=${VALGRIND_LIBEXECDIR} \ --yocto-ptest \ gdbserver_tests ${TOOLS} ${EXP_TOOLS} \ - 2>&1|tee ${LOG} + 2>&1|tee -a ${LOG} cd ${VALGRIND_LIB}/ptest && \ ./tests/post_regtest_checks $(pwd) \ @@ -56,6 +63,11 @@ for i in `cat remove-for-all`; do mv $i.IGNORE $i.vgtest; done +echo "Restore flaky and other non-deterministic tests" +for i in `cat taskset_nondeterministic_tests`; do + mv $i.IGNORE $i.vgtest; +done + echo "Failed test details..." failed_tests=`grep FAIL: ${LOG} | awk '{print $2}'` for test in $failed_tests; do diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/taskset_nondeterministic_tests b/poky/meta/recipes-devtools/valgrind/valgrind/taskset_nondeterministic_tests new file mode 100644 index 000000000..e15100ade --- /dev/null +++ b/poky/meta/recipes-devtools/valgrind/valgrind/taskset_nondeterministic_tests @@ -0,0 +1,2 @@ +helgrind/tests/hg05_race2 +helgrind/tests/tc09_bad_unlock diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb index d0c60d0a3..60b248681 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.17.0.bb @@ -18,6 +18,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://run-ptest \ file://remove-for-aarch64 \ file://remove-for-all \ + file://taskset_nondeterministic_tests \ file://0004-Fix-out-of-tree-builds.patch \ file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \ @@ -120,7 +121,7 @@ VALGRINDARCH_mipsel = "mips32" VALGRINDARCH_mips64el = "mips64" VALGRINDARCH_powerpc = "ppc" VALGRINDARCH_powerpc64 = "ppc64" -VALGRINDARCH_powerpc64el = "ppc64le" +VALGRINDARCH_powerpc64le = "ppc64le" INHIBIT_PACKAGE_STRIP_FILES = "${PKGD}${libexecdir}/valgrind/vgpreload_memcheck-${VALGRINDARCH}-linux.so" @@ -187,6 +188,7 @@ do_install_ptest() { cp ${B}/config.h ${D}${PTEST_PATH} install -D ${WORKDIR}/remove-for-aarch64 ${D}${PTEST_PATH} install -D ${WORKDIR}/remove-for-all ${D}${PTEST_PATH} + install -D ${WORKDIR}/taskset_nondeterministic_tests ${D}${PTEST_PATH} # Add an executable need by none/tests/bigcode mkdir ${D}${PTEST_PATH}/perf diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch index 54aec0128..b3f3de4a1 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch +++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch @@ -19,7 +19,7 @@ index 13c2bc0..0b6ca1d 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_INIT(ethtool, 5.10, netdev@vger.kernel.org) + AC_INIT(ethtool, 5.12, netdev@vger.kernel.org) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([ethtool.c]) -AM_INIT_AUTOMAKE([gnu subdir-objects]) diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.10.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.10.bb deleted file mode 100644 index 5c0df3acb..000000000 --- a/poky/meta/recipes-extended/ethtool/ethtool_5.10.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Display or change ethernet card settings" -DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces." -HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/" -SECTION = "console/network" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216" - -SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ - file://run-ptest \ - file://avoid_parallel_tests.patch \ - " - -SRC_URI[sha256sum] = "4b86adb3ed913c1ef14a276301981f696ab4ec360c19f0a5b68235c4756abae5" - -UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/" - -inherit autotools ptest bash-completion pkgconfig - -RDEPENDS_${PN}-ptest += "make" - -PACKAGECONFIG ?= "netlink" -PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl," - -do_compile_ptest() { - oe_runmake buildtest-TESTS -} - -do_install_ptest () { - cp ${B}/Makefile ${D}${PTEST_PATH} - install ${B}/test-cmdline ${D}${PTEST_PATH} - if ${@bb.utils.contains('PACKAGECONFIG', 'netlink', 'false', 'true', d)}; then - install ${B}/test-features ${D}${PTEST_PATH} - fi - install ${B}/ethtool ${D}${PTEST_PATH}/ethtool - sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile -} diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.12.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.12.bb new file mode 100644 index 000000000..df7dd4774 --- /dev/null +++ b/poky/meta/recipes-extended/ethtool/ethtool_5.12.bb @@ -0,0 +1,37 @@ +SUMMARY = "Display or change ethernet card settings" +DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces." +HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/" +SECTION = "console/network" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216" + +SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ + file://run-ptest \ + file://avoid_parallel_tests.patch \ + " + +SRC_URI[sha256sum] = "7ca623cc1dd25ba66531573da6a11f1ecde9b62b00742d9ba54f9ba983439bfa" + +UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/" + +inherit autotools ptest bash-completion pkgconfig + +RDEPENDS_${PN}-ptest += "make" + +PACKAGECONFIG ?= "netlink" +PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl," + +do_compile_ptest() { + oe_runmake buildtest-TESTS +} + +do_install_ptest () { + cp ${B}/Makefile ${D}${PTEST_PATH} + install ${B}/test-cmdline ${D}${PTEST_PATH} + if ${@bb.utils.contains('PACKAGECONFIG', 'netlink', 'false', 'true', d)}; then + install ${B}/test-features ${D}${PTEST_PATH} + fi + install ${B}/ethtool ${D}${PTEST_PATH}/ethtool + sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile +} diff --git a/poky/meta/recipes-extended/less/less_586.bb b/poky/meta/recipes-extended/less/less_586.bb deleted file mode 100644 index b300f2bad..000000000 --- a/poky/meta/recipes-extended/less/less_586.bb +++ /dev/null @@ -1,42 +0,0 @@ -SUMMARY = "Text file viewer similar to more" -DESCRIPTION = "Less is a program similar to more, i.e. a terminal \ -based program for viewing text files and the output from other \ -programs. Less offers many features beyond those that more does." -HOMEPAGE = "http://www.greenwoodsoftware.com/" -SECTION = "console/utils" - -# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less -# Including email author giving permissing to use BSD -# -# From: Mark Nudelman -# To: Elizabeth Flanagan = 418)) | less +# Including email author giving permissing to use BSD +# +# From: Mark Nudelman +# To: Elizabeth Flanagan - -Index: git/runtest/controllers -=================================================================== ---- git.orig/runtest/controllers -+++ git/runtest/controllers -@@ -352,8 +352,6 @@ cpuset_memory_spread cpuset_memory_sprea - - cpuset_regression_test cpuset_regression_test.sh - --cgroup_xattr cgroup_xattr -- - pids_1_1 pids.sh 1 1 0 - pids_1_2 pids.sh 1 2 0 - pids_1_10 pids.sh 1 10 0 -Index: git/runtest/fs -=================================================================== ---- git.orig/runtest/fs -+++ git/runtest/fs -@@ -64,11 +64,6 @@ writetest01 writetest - #Also run the fs_di (Data Integrity tests) - fs_di fs_di -d $TMPDIR - --# Read every file in /proc. Not likely to crash, but does enough --# to disturb the kernel. A good kernel latency killer too. --# Was not sure why it should reside in runtest/crashme and won't get tested ever --proc01 proc01 -m 128 -- - read_all_dev read_all -d /dev -p -q -r 3 - read_all_proc read_all -d /proc -q -r 3 - read_all_sys read_all -d /sys -q -r 3 diff --git a/poky/meta/recipes-extended/ltp/ltp_20210524.bb b/poky/meta/recipes-extended/ltp/ltp_20210524.bb index 4328b1efe..26fd9ac04 100644 --- a/poky/meta/recipes-extended/ltp/ltp_20210524.bb +++ b/poky/meta/recipes-extended/ltp/ltp_20210524.bb @@ -31,7 +31,6 @@ SRCREV = "0fb171f2beddaf64bd27597577c206c0f892b3cd" SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0001-Remove-OOM-tests-from-runtest-mm.patch \ - file://disable_hanging_tests.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb deleted file mode 100644 index f7e5f03e7..000000000 --- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "System load testing utility" -DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \ -imposes a configurable amount of CPU, memory, I/O, and disk stress on the system." -HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ - file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \ - file://no_daddr_t.patch \ - " -SRC_URI[sha256sum] = "cffac091082c7adbfec649be3c66941c3d622f8b96795656bcce2e20d669cfeb" - -DEPENDS = "coreutils-native" - -PROVIDES = "stress" -RPROVIDES_${PN} = "stress" -RREPLACES_${PN} = "stress" -RCONFLICTS_${PN} = "stress" - -inherit bash-completion - -do_install() { - oe_runmake DESTDIR=${D} install - ln -s stress-ng ${D}${bindir}/stress -} - diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.10.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.10.bb new file mode 100644 index 000000000..7b06f0061 --- /dev/null +++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.10.bb @@ -0,0 +1,27 @@ +SUMMARY = "System load testing utility" +DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \ +imposes a configurable amount of CPU, memory, I/O, and disk stress on the system." +HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \ + file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \ + file://no_daddr_t.patch \ + " +SRC_URI[sha256sum] = "bd167b6559fa8a28680371b1defd3ffe2344eb550129d58dd7d5e2d568f2786e" + +DEPENDS = "coreutils-native" + +PROVIDES = "stress" +RPROVIDES_${PN} = "stress" +RREPLACES_${PN} = "stress" +RCONFLICTS_${PN} = "stress" + +inherit bash-completion + +do_install() { + oe_runmake DESTDIR=${D} install + ln -s stress-ng ${D}${bindir}/stress +} + diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.7.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.7.bb deleted file mode 100644 index 4685ca10b..000000000 --- a/poky/meta/recipes-extended/sudo/sudo_1.9.7.bb +++ /dev/null @@ -1,59 +0,0 @@ -require sudo.inc - -SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \ - " - -PAM_SRC_URI = "file://sudo.pam" - -SRC_URI[sha256sum] = "2bbe7c2d6699b84d950ef9a43f09d4d967b8bc244b73bc095c4202068ddbe549" - -DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" - -CACHED_CONFIGUREVARS = " \ - ac_cv_type_rsize_t=no \ - ac_cv_path_MVPROG=${base_bindir}/mv \ - ac_cv_path_BSHELLPROG=${base_bindir}/sh \ - ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \ - ac_cv_path_VIPROG=${base_bindir}/vi \ - " - -EXTRA_OECONF += " \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \ - --with-rundir=/run/sudo \ - --with-vardir=/var/lib/sudo \ - --libexecdir=${libdir} \ - " - -do_install_append () { - if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then - install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo - if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then - echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo - sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers - fi - fi - - chmod 4111 ${D}${bindir}/sudo - chmod 0440 ${D}${sysconfdir}/sudoers - - # Explicitly remove the /sudo directory to avoid QA error - rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo -} - -FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \ - ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la" - -SUDO_PACKAGES = "${PN}-sudo\ - ${PN}-lib" - -PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}" - -RDEPENDS_${PN}-sudo = "${PN}-lib" -RDEPENDS_${PN} += "${SUDO_PACKAGES}" - -FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit" -FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}" diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb new file mode 100644 index 000000000..aba6f4a59 --- /dev/null +++ b/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb @@ -0,0 +1,59 @@ +require sudo.inc + +SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \ + " + +PAM_SRC_URI = "file://sudo.pam" + +SRC_URI[sha256sum] = "391431f454e55121b60c6ded0fcf30ddb80d623d7d16a6d1907cfa6a0b91d8cf" + +DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" + +CACHED_CONFIGUREVARS = " \ + ac_cv_type_rsize_t=no \ + ac_cv_path_MVPROG=${base_bindir}/mv \ + ac_cv_path_BSHELLPROG=${base_bindir}/sh \ + ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \ + ac_cv_path_VIPROG=${base_bindir}/vi \ + " + +EXTRA_OECONF += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \ + --with-rundir=/run/sudo \ + --with-vardir=/var/lib/sudo \ + --libexecdir=${libdir} \ + " + +do_install_append () { + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then + install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo + if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then + echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo + sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers + fi + fi + + chmod 4111 ${D}${bindir}/sudo + chmod 0440 ${D}${sysconfdir}/sudoers + + # Explicitly remove the /sudo directory to avoid QA error + rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo +} + +FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \ + ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la" + +SUDO_PACKAGES = "${PN}-sudo\ + ${PN}-lib" + +PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}" + +RDEPENDS_${PN}-sudo = "${PN}-lib" +RDEPENDS_${PN} += "${SUDO_PACKAGES}" + +FILES_${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit" +FILES_${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}" diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc index e5e134c03..f97b88d49 100644 --- a/poky/meta/recipes-extended/sysstat/sysstat.inc +++ b/poky/meta/recipes-extended/sysstat/sysstat.inc @@ -23,6 +23,10 @@ PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}" EXTRA_OECONF += "--disable-stripping" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "sysstat.service" +SYSTEMD_AUTO_ENABLE = "enable" + do_configure_prepend() { export sa_lib_dir=${libexecdir}/sa } diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb b/poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb deleted file mode 100644 index 2242e9d01..000000000 --- a/poky/meta/recipes-gnome/epiphany/epiphany_40.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "WebKit based web browser for GNOME" -DESCRIPTION = "Epiphany is an open source web browser for the Linux desktop environment. \ -It provides a simple and easy-to-use internet browsing experience." -HOMEPAGE = "https://wiki.gnome.org/Apps/Web" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany" -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr gnutls \ - gsettings-desktop-schemas libxml2-native \ - glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal \ - libarchive" - -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings features_check gettext mime-xdg -REQUIRED_DISTRO_FEATURES = "x11 opengl" - -SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ - file://0002-help-meson.build-disable-the-use-of-yelp.patch \ - file://migrator.patch \ - file://distributor.patch \ - " -SRC_URI[archive.sha256sum] = "696a426b1702774af8d0f056828f5d9ff9350507aba7f4c7e3e499f07a581ad0" - -# Developer mode enables debugging -PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false" - -FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" -RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb new file mode 100644 index 000000000..abd4ad057 --- /dev/null +++ b/poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb @@ -0,0 +1,29 @@ +SUMMARY = "WebKit based web browser for GNOME" +DESCRIPTION = "Epiphany is an open source web browser for the Linux desktop environment. \ +It provides a simple and easy-to-use internet browsing experience." +HOMEPAGE = "https://wiki.gnome.org/Apps/Web" +BUGTRACKER = "https://gitlab.gnome.org/GNOME/epiphany" +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr gnutls \ + gsettings-desktop-schemas libxml2-native \ + glib-2.0 glib-2.0-native json-glib libdazzle libhandy libportal \ + libarchive" + +GNOMEBASEBUILDCLASS = "meson" +inherit gnomebase gsettings features_check gettext mime-xdg +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \ + file://0002-help-meson.build-disable-the-use-of-yelp.patch \ + file://migrator.patch \ + file://distributor.patch \ + " +SRC_URI[archive.sha256sum] = "75119e22065657cf70ef2b603d4f73835573bd034f1e618c0f662478fd6c6835" + +# Developer mode enables debugging +PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false" + +FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" +RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0.inc b/poky/meta/recipes-graphics/clutter/clutter-1.0.inc deleted file mode 100644 index 80472178b..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-1.0.inc +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Graphics library for creating hardware-accelerated user interfaces" -DESCRIPTION = "Clutter is an Open GL based interactive canvas library, \ -designed for creating fast, mainly 2D single window applications such as media \ -box UIs, presentations, kiosk style applications and so on." -HOMEPAGE = "http://www.clutter-project.org/" -LICENSE = "LGPLv2.1+" - -inherit clutter ptest-gnome features_check upstream-version-is-even gobject-introspection -# depends on cogl-1.0 which needs opengl -REQUIRED_DISTRO_FEATURES ?= "opengl" - -DEPENDS = "pango glib-2.0 json-glib atk udev cogl-1.0" -PACKAGE_BEFORE_PN += "${PN}-examples" -AUTOTOOLS_AUXDIR = "${S}/build-aux" - -EDEPENDS_X11 = "virtual/libx11 libxi libxfixes" -EDEPENDS_GLX = "virtual/libgl" -EDEPENDS_EGL = "virtual/egl" -EDEPENDS_WAYLAND = "wayland libxkbcommon gdk-pixbuf" - -EDEPENDS_EVDEV = "libxkbcommon" -ERDEPENDS_EVDEV = "xkeyboard-config" - -# Disable pretty much everything, override in platform specific set up -EXTRA_OECONF += "--disable-quartz-backend \ - --disable-win32-backend \ - --disable-cex100-backend \ - --disable-tslib-input \ - " - -PACKAGECONFIG[gdk] = "--enable-gdk-backend,--disable-gdk-backend,gtk+3" -PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,${EDEPENDS_X11}" -PACKAGECONFIG[glx] = ",,${EDEPENDS_X11} ${EDEPENDS_GLX}" -PACKAGECONFIG[egl] = "--enable-egl-backend,--disable-egl-backend,${EDEPENDS_EGL}" -PACKAGECONFIG[evdev] = "--enable-evdev-input,--disable-evdev-input,${EDEPENDS_EVDEV},${ERDEPENDS_EVDEV}" -PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,${EDEPENDS_WAYLAND}" -PACKAGECONFIG[wayland-compositor] = "--enable-wayland-compositor,--disable-wayland-compositor,wayland" - -# Default configuration, distros might want to override -PACKAGECONFIG ??= "egl gdk \ - ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11', '', d)}" - -FILES_${PN}-examples = "${libdir}/clutter/examples" - -do_configure_prepend() { - # see https://bugzilla.gnome.org/show_bug.cgi?id=661128 for this - touch -t 200001010000 ${S}/po/clutter-1.0.pot -} diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch b/poky/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch deleted file mode 100644 index 7b3c1980b..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 3a0404dfbc65c6a864e01d1200a48074e19d5def Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 2 Sep 2016 14:28:38 +0300 -Subject: [PATCH] Remove clutter.types as it is build configuration-specific. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - doc/reference/clutter.types | 122 -------------------------------------------- - 1 file changed, 122 deletions(-) - delete mode 100644 doc/reference/clutter.types - -diff --git a/doc/reference/clutter.types b/doc/reference/clutter.types -deleted file mode 100644 -index 0037acc..0000000 ---- a/doc/reference/clutter.types -+++ /dev/null -@@ -1,122 +0,0 @@ --cally_actor_get_type --cally_clone_get_type --cally_group_get_type --cally_rectangle_get_type --cally_root_get_type --cally_stage_get_type --cally_text_get_type --cally_texture_get_type --cally_util_get_type --clutter_action_get_type --clutter_actor_box_get_type --clutter_actor_get_type --clutter_actor_meta_get_type --clutter_align_constraint_get_type --clutter_alpha_get_type --clutter_animatable_get_type --clutter_animation_get_type --clutter_animator_get_type --clutter_animator_key_get_type --clutter_backend_get_type --clutter_behaviour_depth_get_type --clutter_behaviour_ellipse_get_type --clutter_behaviour_get_type --clutter_behaviour_opacity_get_type --clutter_behaviour_path_get_type --clutter_behaviour_rotate_get_type --clutter_behaviour_scale_get_type --clutter_bin_layout_get_type --clutter_bind_constraint_get_type --clutter_binding_pool_get_type --clutter_blur_effect_get_type --clutter_box_get_type --clutter_box_layout_get_type --clutter_brightness_contrast_effect_get_type --clutter_cairo_texture_get_type --clutter_canvas_get_type --clutter_child_meta_get_type --clutter_click_action_get_type --clutter_clip_node_get_type --clutter_clone_get_type --clutter_color_get_type --clutter_color_node_get_type --clutter_colorize_effect_get_type --clutter_constraint_get_type --clutter_container_get_type --clutter_content_get_type --clutter_deform_effect_get_type --clutter_desaturate_effect_get_type --clutter_device_manager_get_type --clutter_drag_action_get_type --clutter_drop_action_get_type --clutter_effect_get_type --clutter_event_get_type --clutter_event_sequence_get_type --clutter_fixed_layout_get_type --clutter_flow_layout_get_type --clutter_fog_get_type --clutter_geometry_get_type --clutter_gesture_action_get_type --clutter_glx_texture_pixmap_get_type --clutter_grid_layout_get_type --clutter_group_get_type --clutter_image_get_type --clutter_input_device_get_type --clutter_interval_get_type --clutter_keyframe_transition_get_type --clutter_knot_get_type --clutter_layout_manager_get_type --clutter_layout_meta_get_type --clutter_list_model_get_type --clutter_margin_get_type --clutter_media_get_type --clutter_model_get_type --clutter_model_iter_get_type --clutter_offscreen_effect_get_type --clutter_page_turn_effect_get_type --clutter_paint_node_get_type --clutter_paint_volume_get_type --clutter_pan_action_get_type --clutter_param_color_get_type --clutter_param_fixed_get_type --clutter_param_units_get_type --clutter_path_constraint_get_type --clutter_path_get_type --clutter_path_node_get_type --clutter_perspective_get_type --clutter_pipeline_node_get_type --clutter_point_get_type --clutter_property_transition_get_type --clutter_rect_get_type --clutter_rectangle_get_type --clutter_rotate_action_get_type --clutter_score_get_type --clutter_script_get_type --clutter_scriptable_get_type --clutter_scroll_actor_get_type --clutter_settings_get_type --clutter_shader_effect_get_type --clutter_shader_float_get_type --clutter_shader_get_type --clutter_shader_int_get_type --clutter_shader_matrix_get_type --clutter_size_get_type --clutter_snap_constraint_get_type --clutter_stage_get_type --clutter_stage_manager_get_type --clutter_state_get_type --clutter_state_key_get_type --clutter_swipe_action_get_type --clutter_table_layout_get_type --clutter_tap_action_get_type --clutter_text_buffer_get_type --clutter_text_get_type --clutter_text_node_get_type --clutter_texture_get_type --clutter_texture_node_get_type --clutter_timeline_get_type --clutter_transition_get_type --clutter_transition_group_get_type --clutter_units_get_type --clutter_vertex_get_type --clutter_zoom_action_get_type --- -2.9.3 - diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch b/poky/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch deleted file mode 100644 index ce9ab3a24..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch +++ /dev/null @@ -1,19 +0,0 @@ -Install the examples to $libdir/clutter/. - -Signed-off-by: Ross Burton -Upstream-Status: Inappropriate - -Index: clutter-1.26.2/examples/Makefile.am -=================================================================== ---- clutter-1.26.2.orig/examples/Makefile.am -+++ clutter-1.26.2/examples/Makefile.am -@@ -33,7 +33,8 @@ AM_CPPFLAGS = \ - -I$(top_srcdir)/clutter \ - -I$(top_builddir)/clutter - --noinst_PROGRAMS = $(all_examples) -+exampledir = $(pkglibdir)/examples -+example_PROGRAMS = $(all_examples) - - EXTRA_DIST = redhand.png - diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch b/poky/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch deleted file mode 100644 index fef82eaf9..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d6ceb5a44b28e0e50ede22b84984d8516897de4b Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen -Date: Mon, 27 Apr 2015 20:12:33 +0300 -Subject: [PATCH] Run installed tests with tap output - -Configure output from installed-tests to be TAP compliant such that -gnome-desktop-testing-runner properly interprets the results. - -Upstream-Status: Pending - -Signed-off-by: Tim Orling - ---- - build-aux/autotools/glib-tap.mk | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/build-aux/autotools/glib-tap.mk b/build-aux/autotools/glib-tap.mk -index a4f0dad..51cfa31 100644 ---- a/build-aux/autotools/glib-tap.mk -+++ b/build-aux/autotools/glib-tap.mk -@@ -127,7 +127,8 @@ installed_test_meta_DATA = $(installed_testcases:=.test) - %.test: %$(EXEEXT) Makefile - $(AM_V_GEN) (echo '[Test]' > $@.tmp; \ - echo 'Type=session' >> $@.tmp; \ -- echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$<' >> $@.tmp; \ -+ echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$< --tap' >> $@.tmp; \ -+ echo 'Output=TAP' >> $@.tmp; \ - mv $@.tmp $@) - - CLEANFILES += $(installed_test_meta_DATA) diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0/run-ptest b/poky/meta/recipes-graphics/clutter/clutter-1.0/run-ptest deleted file mode 100644 index 98877e522..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-1.0/run-ptest +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh - -gnome-desktop-testing-runner clutter diff --git a/poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb b/poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb deleted file mode 100644 index ee549fbdd..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -require clutter-1.0.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -SRC_URI[archive.md5sum] = "624dd776a5159de0267587b1df6b97b2" -SRC_URI[archive.sha256sum] = "8b48fac159843f556d0a6be3dbfc6b083fc6d9c58a20a49a6b4919ab4263c4e6" -SRC_URI += "file://install-examples.patch \ - file://run-installed-tests-with-tap-output.patch \ - file://0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch \ - file://run-ptest" diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc deleted file mode 100644 index 73315c97e..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0.inc +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "GStreamer integration library for Clutter" -DESCRIPTION = "Clutter-Gst is an integration library for using GStreamer with Clutter. \ -It provides a GStreamer sink to upload frames to GL and an actor that \ -implements the ClutterGstPlayer interface using playbin." -HOMEPAGE = "http://www.clutter-project.org/" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/clutter-gst/-/issues" -LICENSE = "LGPLv2+" - -inherit clutter features_check upstream-version-is-even gobject-introspection -# depends on clutter-1.0 which depends on cogl-1.0 -REQUIRED_DISTRO_FEATURES ?= "opengl" - -export GST_PLUGIN_SCANNER_1_0="${S}/gst-plugin-scanner-dummy" - -SRC_URI += "file://0001-Install-example-binary-needed-for-core-image-clutter.patch" - -DEPENDS = "gstreamer1.0-plugins-base gstreamer1.0-plugins-bad clutter-1.0 libgudev" -RDEPENDS_${PN} += "gstreamer1.0-meta-base" -PACKAGES =+ "${PN}-examples" - -FILES_${PN} += "${libdir}/gstreamer-1.0/lib*.so" -FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la" -FILES_${PN}-examples = "${bindir}/video-player ${bindir}/video-sink" diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch deleted file mode 100644 index 0b26b990d..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d77c711277bf075ce0545c19b322f040c49c778a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 30 Apr 2015 12:19:13 +0300 -Subject: [PATCH] Install example binary needed for core-image-clutter - -Signed-off-by: Zhai Edwin - -Upstream-Status: Inappropriate [configuration] - -Imported from clutter-gst-1.8 package, git://git.openembedded.org/openembedded, -commit ae28ee3f7a060b9e0d13154a84f2444a98490b5b, updated for clutter-gst 3.0 - -Signed-off-by: Tomas Frydrych -Signed-off-by: Alexander Kanavin ---- - examples/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/examples/Makefile.am b/examples/Makefile.am -index bfbc1b5..09655e3 100644 ---- a/examples/Makefile.am -+++ b/examples/Makefile.am -@@ -1,6 +1,6 @@ - NULL = # - --noinst_PROGRAMS = camera-player video-player video-sink video-sink-navigation video-content -+bin_PROGRAMS = camera-player video-player video-sink video-sink-navigation video-content - - AM_CPPFLAGS = -I$(top_srcdir) \ - $(MAINTAINER_CFLAGS) \ --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb b/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb deleted file mode 100644 index 35382453c..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb +++ /dev/null @@ -1,7 +0,0 @@ -require clutter-gst-3.0.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ - file://clutter-gst/clutter-gst.h;beginline=1;endline=24;md5=95baacba194e814c110ea3bdf25ddbf4" - -SRC_URI[archive.md5sum] = "2bf9d7ca146c9d71e86c45cd00e9a28e" -SRC_URI[archive.sha256sum] = "fe69bd6c659d24ab30da3f091eb91cd1970026d431179b0724f13791e8ad9f9d" diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc deleted file mode 100644 index 9a28b5219..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0.inc +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "Library for embedding a Clutter canvas in a GTK+ application" -DESCRIPTION = "Clutter-GTK is a library providing facilities to integrate Clutter into GTK+ \ -applications and vice versa. It provides a GTK+ widget, GtkClutterEmbed, for embedding the \ -a Clutter stage into any GtkContainer; and GtkClutterActor, a Clutter \ -actor for embedding any GtkWidget inside a Clutter stage." -HOMEPAGE = "http://www.clutter-project.org/" -BUGTRACKER = "https://gitlab.gnome.org/GNOME/clutter/-/issues" -LICENSE = "LGPLv2+" - -CLUTTERBASEBUILDCLASS = "meson" -inherit clutter features_check upstream-version-is-even gobject-introspection gtk-doc - -# depends on clutter-1.0 which depends on cogl-1.0 -REQUIRED_DISTRO_FEATURES ?= "opengl" -# depends on gtk+3 -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -DEPENDS = "clutter-1.0 gtk+3" -PACKAGES =+ "${PN}-examples" - -GTKDOC_MESON_OPTION = "enable_docs" - -GIR_MESON_OPTION = 'enable_gi' diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch deleted file mode 100644 index e21c6fd90..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 7233883c6bd4e80c0e91b29b5c76fe798023e9fe Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Mon, 11 Feb 2019 16:41:13 +0100 -Subject: [PATCH] Add a config variable for enabling/disabling introspection - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin ---- - clutter-gtk/meson.build | 2 +- - meson_options.txt | 4 ++++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/clutter-gtk/meson.build b/clutter-gtk/meson.build -index 5d6847d..5d934b6 100644 ---- a/clutter-gtk/meson.build -+++ b/clutter-gtk/meson.build -@@ -49,7 +49,7 @@ clutter_gtk_dep = declare_dependency(link_with: clutter_gtk, - dependencies: [ mathlib_dep, clutter_dep, gtk_dep ], - include_directories: include_directories('.')) - --if not meson.is_cross_build() -+if get_option('enable_gi') - gnome.generate_gir(clutter_gtk, - sources: clutter_gtk_headers + clutter_gtk_sources, - namespace: 'GtkClutter', -diff --git a/meson_options.txt b/meson_options.txt -index aaf59f1..b7e51c3 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -2,3 +2,7 @@ option('enable_docs', - type: 'boolean', - value: false, - description: 'Enable generating the API reference (depends on GTK-Doc)') -+option('enable_gi', -+ type: 'boolean', -+ value: false, -+ description: 'Enable gobject introspection') diff --git a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb b/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb deleted file mode 100644 index 53948c894..000000000 --- a/poky/meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb +++ /dev/null @@ -1,7 +0,0 @@ -require clutter-gtk-1.0.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" - -SRC_URI += " file://0001-Add-a-config-variable-for-enabling-disabling-introsp.patch" -SRC_URI[archive.md5sum] = "b363ac9878e2337be887b8ee9e1da00e" -SRC_URI[archive.sha256sum] = "521493ec038973c77edcb8bc5eac23eed41645117894aaee7300b2487cb42b06" diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc deleted file mode 100644 index d581ad1c0..000000000 --- a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc +++ /dev/null @@ -1,84 +0,0 @@ -SUMMARY = "Modern 3D graphics API with associated utility APIs" -DESCRIPTION = "Cogl is a small open source library for using 3D graphics \ -hardware for rendering. The API departs from the flat state machine style of \ -OpenGL and is designed to make it easy to write orthogonal components that \ -can render without stepping on each others toes." -HOMEPAGE = "https://gitlab.gnome.org/GNOME/cogl" -LICENSE = "MIT" - -inherit clutter features_check upstream-version-is-even gobject-introspection -# cogl-1.0 needs opengl to build -REQUIRED_DISTRO_FEATURES ?= "opengl" - -DEPENDS = "glib-2.0 gdk-pixbuf" -PACKAGES =+ "${PN}-examples \ - libcogl libcogl-gles2 libcogl-pango libcogl-path \ - " -AUTOTOOLS_AUXDIR = "${S}/build" - -# Extra DEPENDS for PACKAGECONFIG -EDEPENDS_GL = "virtual/libgl libdrm" -EDEPENDS_GLES2 = "virtual/libgles2" -EDEPENDS_KMS = "libdrm virtual/egl" -EDEPENDS_EGL = "virtual/egl" -EDEPENDS_X11 = "virtual/libx11 libxcomposite libxdamage libxfixes libxrandr" -EDEPENDS_WAYLAND = "virtual/egl virtual/libgles2 wayland" - -# Extra RDEPENDS for PACKAGECONFIG -# This has to be explictly listed, because cogl dlopens the backends -ERDEPENDS_GL = "libgl" -ERDEPENDS_GLES2 = "libgles2" - -# GLESv1 is rarely tested, so disable it -EXTRA_OECONF += "--enable-examples-install \ - --enable-debug \ - --disable-gles1 \ - --disable-cairo \ - " -DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized" - -# OpenGL/GLX -PACKAGECONFIG[glx] = "--enable-gl --enable-glx,--disable-gl --disable-glx,${EDEPENDS_GL} ${EDEPENDS_X11},${ERDEPENDS_GL}" - -# GLESv2 -PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,${EDEPENDS_GLES2}, ${ERDEPENDS_GLES2}" - -# EGL backends -PACKAGECONFIG[egl-kms] = "--enable-kms-egl-platform,--disable-kms-egl-platform,${EDEPENDS_KMS}" -PACKAGECONFIG[egl-null] = "--enable-null-egl-platform,--disable-null-egl-platform" -PACKAGECONFIG[egl-x11] = "--enable-xlib-egl-platform,--disable-xlib-egl-platform,${EDEPENDS_X11} ${EDEPENDS_EGL}" -PACKAGECONFIG[egl-wayland] = "--enable-wayland-egl-platform,--disable-wayland-egl-platform,${EDEPENDS_WAYLAND}" - -# Wayland (server-side) -PACKAGECONFIG[wayland-server] = "--enable-wayland-egl-server,--disable-wayland-egl-server,${EDEPENDS_WAYLAND}" - -# Support rendering text directly with Pango -PACKAGECONFIG[cogl-pango] = "--enable-cogl-pango,--disable-cogl-pango,pango" - -# Respect the DISTRO_FEATURES to pull in GLX or Wayland as appropriate by -# default. -PACKAGECONFIG ??= "cogl-pango gles2 \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx egl-x11', '', d)} \ - " - -do_compile_prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/cogl/.libs" -} - -FILES_${PN} = "" -FILES_${PN}-examples = "${bindir}/* ${datadir}/cogl/examples-data/*" -FILES_libcogl = "${libdir}/libcogl${SOLIBS} ${libdir}/girepository-1.0/Cogl-*.typelib" -FILES_libcogl-gles2 = "${libdir}/libcogl-gles2${SOLIBS}" -FILES_libcogl-pango = "${libdir}/libcogl-pango${SOLIBS} ${libdir}/girepository-1.0/CoglPango*.typelib" - -FILES_libcogl-path = "${libdir}/libcogl-path${SOLIBS}" - -# For backwards compatibility after Debian-renaming -RPROVIDES_libcogl = "cogl-1.0" -RCONFLICTS_libcogl = "cogl-1.0" -RREPLACES_libcogl = "cogl-1.0" - -RDEPENDS_${PN}-dev = "libcogl" - -COMPATIBLE_HOST_armv4 = 'null' diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch b/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch deleted file mode 100644 index 328984a63..000000000 --- a/poky/meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch +++ /dev/null @@ -1,92 +0,0 @@ -From bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001 -From: Max Krummenacher -Date: Thu, 25 Jun 2020 11:27:40 +0000 -Subject: [PATCH] configure.ac: don't require eglmesaext.h - -E.g. the Vivante EGL implementation does not provide eglmesaext.h. - -The commit moves the check for header file existence outside of the -check for existence of a egl packageconfig and makes the existence -of eglmesaext.h optional. - -fixes commit fb1acfec ("Fix building against libglvnd-provided EGL headers") -Signed-off-by: Max Krummenacher - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28] -Signed-off-by: Max Krummenacher ---- - configure.ac | 51 ++++++++++++++++++++++++++++++++------------------- - 1 file changed, 32 insertions(+), 19 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b7ba95d..0d1d8de 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1212,22 +1212,6 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"], - PKG_CHECK_EXISTS([egl], - [COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"], - [ -- AC_CHECK_HEADERS( -- [EGL/egl.h], -- [], -- [AC_MSG_ERROR([Unable to locate required EGL headers])]) -- AC_CHECK_HEADERS( -- [EGL/eglext.h], -- [], -- [AC_MSG_ERROR([Unable to locate required EGL headers])], -- [#include ]) -- AC_CHECK_HEADERS( -- [EGL/eglmesaext.h], -- [], -- [AC_MSG_ERROR([Unable to locate required EGL headers])], -- [#include --#include ]) -- - AC_CHECK_LIB(EGL, [eglInitialize], - [COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"], - [AC_MSG_ERROR([Unable to locate required EGL library])]) -@@ -1236,9 +1220,38 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"], - ] - ) - -- COGL_EGL_INCLUDES="#include --#include --#include " -+dnl Test for the existence of egl headers. -+dnl egl*.h includes eglplatform.h which on __unix__ defaults to a X11 platform. -+dnl In that case AC_CHECK_HEADERS failes if X11 headers are not available. -+dnl Set the usual include guard define and, if the EGL implementation doesn't -+dnl use that guard fall back to USE_OZONE and EGL_NO_X11 platforms which don't -+dnl require additional headers. -+ AC_CHECK_HEADERS( -+ [EGL/egl.h], -+ [COGL_EGL_INCLUDES="#include "], -+ [AC_MSG_ERROR([Unable to locate required EGL headers])], -+ [#define __egl_h_ -+ #define USE_OZONE -+ #define EGL_NO_X11]) -+ AC_CHECK_HEADERS( -+ [EGL/eglext.h], -+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES -+#include "], -+ [AC_MSG_ERROR([Unable to locate required EGL headers])], -+ [#define __eglext_h_ -+ #define USE_OZONE -+ #define EGL_NO_X11 -+$COGL_EGL_INCLUDES]) -+ AC_CHECK_HEADERS( -+ [EGL/eglmesaext.h], -+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES -+#include "], -+ [], -+ [#define __eglmesaext_h_ -+#define USE_OZONE -+#define EGL_NO_X11 -+$COGL_EGL_INCLUDES]) -+ - AC_SUBST([COGL_EGL_INCLUDES]) - ]) - --- -2.20.1 - diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb b/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb deleted file mode 100644 index b9446fab3..000000000 --- a/poky/meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb +++ /dev/null @@ -1,6 +0,0 @@ -require cogl-1.0.inc - -SRC_URI += "file://0001-configure.ac-don-t-require-eglmesaext.h.patch" -SRC_URI[archive.sha256sum] = "a805b2b019184710ff53d0496f9f0ce6dcca420c141a0f4f6fcc02131581d759" - -LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84" diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch b/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch new file mode 100644 index 000000000..c1d4df42a --- /dev/null +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz/0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch @@ -0,0 +1,44 @@ +From f96b2b653c605679b83a820b38f49a0a0f4baf42 Mon Sep 17 00:00:00 2001 +From: Andi-Bogdan Postelnicu +Date: Wed, 2 Jun 2021 14:08:11 +0300 +Subject: [PATCH] Removed unused variable `supp_size` from + plan_subset_encoding(...). + +Upstream-Status: Backport [https://github.com/harfbuzz/harfbuzz/commit/243d056ff1c2af583ceb67e5dfbfaac51dc96e63] +Signed-off-by: Khem Raj +--- + src/hb-subset-cff1.cc | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/src/hb-subset-cff1.cc b/src/hb-subset-cff1.cc +index df322f8..35dae7b 100644 +--- a/src/hb-subset-cff1.cc ++++ b/src/hb-subset-cff1.cc +@@ -402,7 +402,7 @@ struct cff_subset_plan { + void plan_subset_encoding (const OT::cff1::accelerator_subset_t &acc, hb_subset_plan_t *plan) + { + const Encoding *encoding = acc.encoding; +- unsigned int size0, size1, supp_size; ++ unsigned int size0, size1; + hb_codepoint_t code, last_code = CFF_UNDEF_CODE; + hb_vector_t supp_codes; + +@@ -412,7 +412,6 @@ struct cff_subset_plan { + return; + } + +- supp_size = 0; + supp_codes.init (); + + subset_enc_num_codes = plan->num_output_glyphs () - 1; +@@ -448,7 +447,6 @@ struct cff_subset_plan { + code_pair_t pair = { supp_codes[i], sid }; + subset_enc_supp_codes.push (pair); + } +- supp_size += SuppEncoding::static_size * supp_codes.length; + } + } + supp_codes.fini (); +-- +2.31.1 + diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb index 235363307..1a0e651f6 100644 --- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb +++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb @@ -11,6 +11,7 @@ UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases" UPSTREAM_CHECK_REGEX = "harfbuzz-(?P\d+(\.\d+)+).tar" SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \ + file://0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch \ " SRC_URI[sha256sum] = "4124f663ec4bf4e294d9cf230668370b4249a48ff34deaf0f06e8fc82d891300" diff --git a/poky/meta/recipes-graphics/images/core-image-clutter.bb b/poky/meta/recipes-graphics/images/core-image-clutter.bb deleted file mode 100644 index a59446102..000000000 --- a/poky/meta/recipes-graphics/images/core-image-clutter.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "An image with support for the Open GL-based toolkit Clutter, \ -which enables development of rich and animated graphical user interfaces." - -IMAGE_FEATURES += "splash package-management x11-base x11-sato ssh-server-dropbear" - -LICENSE = "MIT" - -IMAGE_INSTALL = "\ - ${CORE_IMAGE_BASE_INSTALL} \ - packagegroup-core-clutter-core \ - " - -inherit core-image - -QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}' diff --git a/poky/meta/recipes-graphics/images/core-image-weston.bb b/poky/meta/recipes-graphics/images/core-image-weston.bb index e82e4fbb3..62305cc1c 100644 --- a/poky/meta/recipes-graphics/images/core-image-weston.bb +++ b/poky/meta/recipes-graphics/images/core-image-weston.bb @@ -6,7 +6,7 @@ LICENSE = "MIT" inherit core-image -CORE_IMAGE_BASE_INSTALL += "gtk+3-demo clutter-1.0-examples" +CORE_IMAGE_BASE_INSTALL += "gtk+3-demo" CORE_IMAGE_BASE_INSTALL += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'weston-xwayland matchbox-terminal', '', d)}" QB_MEM = "-m 512" diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb index 0bd6af8db..7d0c4340f 100644 --- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb +++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb @@ -41,6 +41,9 @@ EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx3 # Work around missing non-floating point ABI support in MIPS EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}" +EXTRA_OECMAKE_append_class-target_arm = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}" +EXTRA_OECMAKE_append_class-target_armeb = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "", "-DWITH_SIMD=False", d)}" + # Provide a workaround if Altivec unit is not present in PPC EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}" diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb deleted file mode 100644 index dff79f0be..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -require mesa.inc - -SUMMARY += " (OpenGL only, no EGL/GLES)" - -PROVIDES = "virtual/libgl virtual/mesa" - -S = "${WORKDIR}/mesa-${PV}" - -# At least one DRI rendering engine is required to build mesa. -# When no X11 is available, use osmesa for the rendering engine. -PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" -PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" - -# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS -# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system -DRIDRIVERS ?= "" diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.3.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.3.bb new file mode 100644 index 000000000..dff79f0be --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.3.bb @@ -0,0 +1,16 @@ +require mesa.inc + +SUMMARY += " (OpenGL only, no EGL/GLES)" + +PROVIDES = "virtual/libgl virtual/mesa" + +S = "${WORKDIR}/mesa-${PV}" + +# At least one DRI rendering engine is required to build mesa. +# When no X11 is available, use osmesa for the rendering engine. +PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" +PACKAGECONFIG_class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}" + +# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS +# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system +DRIDRIVERS ?= "" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index 32cc997c9..b7e42a9d7 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -21,7 +21,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \ " -SRC_URI[sha256sum] = "eec25ea379054e8911bc5de816aeb50f581b5b708414725003d2f00386b38dd2" +SRC_URI[sha256sum] = "cbe221282670875ffd762247b6a2c95dcee91d0a34c29802c75ef761fc891e69" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" @@ -131,6 +131,9 @@ PACKAGECONFIG[v3d] = "" GALLIUMDRIVERS = "swrast" # gallium swrast was found to crash Xorg on startup in x32 qemu GALLIUMDRIVERS_x86-x32 = "" +# Add crocus when 21.2 is out to the list below to support the full range of Intel GPUs +GALLIUMDRIVERS_append_x86_class-target = ",i915,iris" +GALLIUMDRIVERS_append_x86-64_class-target = ",i915,iris" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb b/poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb deleted file mode 100644 index 1993d6cbd..000000000 --- a/poky/meta/recipes-graphics/mesa/mesa_21.1.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -require ${BPN}.inc - -DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" -DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" - diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.1.3.bb b/poky/meta/recipes-graphics/mesa/mesa_21.1.3.bb new file mode 100644 index 000000000..28abc91a8 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/mesa_21.1.3.bb @@ -0,0 +1,5 @@ +require ${BPN}.inc + +DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965" +DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965" + diff --git a/poky/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch b/poky/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch deleted file mode 100644 index 82c93dd60..000000000 --- a/poky/meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fix missing include directory when building tests - -This patch is currently required for all versions of mx -Upstream-Status: Submitted @ https://github.com/clutter-project/mx/issues/82 -Signed-off-by: Tomas Frydrych --- -Index: git/tests/Makefile.am -=================================================================== ---- git.orig/tests/Makefile.am 2013-05-08 15:18:56.918596425 +0100 -+++ git/tests/Makefile.am 2013-05-08 15:23:26.864781401 +0100 -@@ -10,7 +10,8 @@ - - INCLUDES = \ - -I$(top_srcdir) \ -- -I$(top_builddir) -+ -I$(top_builddir)\ -+ -I$(top_builddir)/mx - - noinst_PROGRAMS = \ - test-deform-texture \ diff --git a/poky/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb b/poky/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb deleted file mode 100644 index 58a6997ff..000000000 --- a/poky/meta/recipes-graphics/mx/mx-1.0_1.4.7.bb +++ /dev/null @@ -1,16 +0,0 @@ -require mx.inc - -# The 1.4.7 tag does not build against cogl 1.14, pull in a revision with a fix -SRCREV = "9b1db6b8060bd00b121a692f942404a24ae2960f" -PV = "1.4.7+git${SRCPV}" - -# Exclude x.99.x versions from upstream checks -UPSTREAM_CHECK_GITTAGREGEX = "(?P^\d+(\.(?!99)\d+)+)" - -SRC_URI = "git://github.com/clutter-project/mx.git;branch=mx-1.4 \ - file://fix-test-includes.patch \ - " -S = "${WORKDIR}/git" - -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ - file://mx/mx-widget.c;beginline=8;endline=20;md5=13bba3c973a72414a701e1e87b5ee879" diff --git a/poky/meta/recipes-graphics/mx/mx.inc b/poky/meta/recipes-graphics/mx/mx.inc deleted file mode 100644 index c977849c9..000000000 --- a/poky/meta/recipes-graphics/mx/mx.inc +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "Clutter based UI widget library" -DESCRIPTION = "Mx is a widget toolkit using Clutter that provides a set of standard interface \ -elements, including buttons, progress bars, scroll bars and others. It also \ -implements some standard managers. One other interesting feature is the \ -possibility setting style properties from a CSS format file." -HOMEPAGE = "https://github.com/clutter-project/mx" -BUGTRACKER = "https://github.com/clutter-project/mx/issues" -LICENSE = "LGPLv2.1" - -inherit clutter autotools features_check gobject-introspection gtk-doc -# depends on clutter-1.0 which depends on cogl-1.0 -REQUIRED_DISTRO_FEATURES = "opengl" - -DEPENDS = "intltool-native clutter-1.0 dbus-glib gdk-pixbuf" - -SRC_URI = "http://source.clutter-project.org/sources/mx/${@get_verdir("${PV}")}/mx-${PV}.tar.xz" - -EXTRA_OECONF = "--disable-gtk-widgets \ - --with-dbus \ - --with-winsys=none \ - --without-clutter-imcontext \ - --without-clutter-gesture \ - --without-startup-notification \ - --without-glade \ - " - -FILES_${PN} += "${datadir}" diff --git a/poky/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb b/poky/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb deleted file mode 100644 index 2e7b47dd4..000000000 --- a/poky/meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Copyright (C) 2007 OpenedHand Ltd. -# - -SUMMARY = "Clutter package groups" - -PR = "r6" - -inherit packagegroup features_check -# rdepends on clutter-* -REQUIRED_DISTRO_FEATURES = "opengl" - -PACKAGES = "\ - ${PN}-core \ - " - -SUMMARY_${PN}-core = "Clutter graphics library" -RDEPENDS_${PN}-core = "\ - clutter-1.0 \ - clutter-gst-3.0 \ - clutter-gtk-1.0 \ - " diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb index 399189582..65bd1af94 100644 --- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb +++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb @@ -8,7 +8,7 @@ HOMEPAGE = "https://virgil3d.github.io/" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10" -DEPENDS = "libdrm virtual/libgl libepoxy" +DEPENDS = "libdrm virtual/libgl virtual/libgbm libepoxy" SRCREV = "363915595e05fb252e70d6514be2f0c0b5ca312b" SRC_URI = "git://anongit.freedesktop.org/virglrenderer;branch=branch-0.9.1 \ file://0001-meson.build-use-python3-directly-for-python.patch \ diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.17.3.bb b/poky/meta/recipes-graphics/wayland/libinput_1.17.3.bb deleted file mode 100644 index ef19146f7..000000000 --- a/poky/meta/recipes-graphics/wayland/libinput_1.17.3.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Library to handle input devices in Wayland compositors" -DESCRIPTION = "libinput is a library to handle input devices in Wayland \ -compositors and to provide a generic X.Org input driver. It provides \ -device detection, device handling, input device event processing and \ -abstraction so minimize the amount of custom input code compositors need to \ -provide the common set of functionality that users expect." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" - -DEPENDS = "libevdev udev mtdev libcheck" - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ - file://run-ptest \ - file://determinism.patch \ - " -SRC_URI[sha256sum] = "0d010e0bf601b5d3a06b3c4d77d67751cf554f3e6448e57aa046ea9ee8f818ac" - -UPSTREAM_CHECK_REGEX = "libinput-(?P\d+\.\d+\.(?!9\d+)\d+)" - -inherit meson pkgconfig lib_package ptest - -# Patch out build directory, otherwise it leaks into ptest binary -do_configure_append() { - sed -i -e "s,${WORKDIR},,g" config.h - if [ -e "litest-config.h" ]; then - sed -i -e "s,${WORKDIR},,g" litest-config.h - fi -} - -PACKAGECONFIG ??= "" -PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" -PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" - -UDEVDIR = "`pkg-config --variable=udevdir udev`" - -EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \ - -Ddocumentation=false \ - ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true -Dinstall-tests=true', '-Dtests=false -Dinstall-tests=false', d)} \ - -Dzshcompletiondir=no" - -# package name changed in 1.8.1 upgrade: make sure package upgrades work -RPROVIDES_${PN} = "libinput" -RREPLACES_${PN} = "libinput" -RCONFLICTS_${PN} = "libinput" - -FILES_${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite" diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.18.0.bb b/poky/meta/recipes-graphics/wayland/libinput_1.18.0.bb new file mode 100644 index 000000000..e46071c67 --- /dev/null +++ b/poky/meta/recipes-graphics/wayland/libinput_1.18.0.bb @@ -0,0 +1,49 @@ +SUMMARY = "Library to handle input devices in Wayland compositors" +DESCRIPTION = "libinput is a library to handle input devices in Wayland \ +compositors and to provide a generic X.Org input driver. It provides \ +device detection, device handling, input device event processing and \ +abstraction so minimize the amount of custom input code compositors need to \ +provide the common set of functionality that users expect." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=bab4ac7dc1c10bc0fb037dc76c46ef8a" + +DEPENDS = "libevdev udev mtdev libcheck" + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ + file://run-ptest \ + file://determinism.patch \ + " +SRC_URI[sha256sum] = "18c6a286583268d39841348e561fbb4713bde0c643b360f5d8a3f27800afdb9a" + +UPSTREAM_CHECK_REGEX = "libinput-(?P\d+\.\d+\.(?!9\d+)\d+)" + +inherit meson pkgconfig lib_package ptest + +# Patch out build directory, otherwise it leaks into ptest binary +do_configure_append() { + sed -i -e "s,${WORKDIR},,g" config.h + if [ -e "litest-config.h" ]; then + sed -i -e "s,${WORKDIR},,g" litest-config.h + fi +} + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" +PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" + +UDEVDIR = "`pkg-config --variable=udevdir udev`" + +EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \ + -Ddocumentation=false \ + ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true -Dinstall-tests=true', '-Dtests=false -Dinstall-tests=false', d)} \ + -Dzshcompletiondir=no" + +# package name changed in 1.8.1 upgrade: make sure package upgrades work +RPROVIDES_${PN} = "libinput" +RREPLACES_${PN} = "libinput" +RCONFLICTS_${PN} = "libinput" + +FILES_${PN}-ptest += "${libexecdir}/libinput/libinput-test-suite" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb deleted file mode 100644 index d02988caa..000000000 --- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-driver-input.inc - -SUMMARY = "Generic input driver for the X.Org server based on libinput" -LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0" - -DEPENDS += "libinput" - -SRC_URI[md5sum] = "11dcfa2cc39f790731a9545fcdeea717" -SRC_URI[sha256sum] = "f9c7f9fd41ae14061e0e9c3bd45fa170e5e21027a2bc5810034e1e748db996c0" - -FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.0.1.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.0.1.bb new file mode 100644 index 000000000..1777492ed --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.0.1.bb @@ -0,0 +1,11 @@ +require xorg-driver-input.inc + +SUMMARY = "Generic input driver for the X.Org server based on libinput" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=a22925127bd3c827c384cedd23ed2309" + +DEPENDS += "libinput" + +SRC_URI[sha256sum] = "fddec49c115591918475155bf16aaf23017d7f814cee7823a0c11f867aca245b" + +FILES_${PN} += "${datadir}/X11/xorg.conf.d" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb deleted file mode 100644 index b5f0445e1..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "Xlib: C Language X Interface library" - -DESCRIPTION = "This package provides a client interface to the X Window \ -System, otherwise known as 'Xlib'. It provides a complete API for the \ -basic functions of the window system." - -require xorg-lib-common.inc - -FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:" - -PE = "1" - -SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \ - file://disable_tests.patch \ - " - -SRC_URI[sha256sum] = "e64e43deaa562cbfb0d5ada64670ec09c6fac7935262dcd77bbc6d984a535d47" - -PROVIDES = "virtual/libx11" - -XORG_PN = "libX11" -LICENSE = "MIT & MIT-style & BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" - -DEPENDS += "xorgproto xtrans libxcb" -DEPENDS += "xorgproto-native" - -EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont" -EXTRA_OEMAKE += 'CWARNFLAGS=""' - -PACKAGECONFIG ??= "xcms" -PACKAGECONFIG[xcms] = "--enable-xcms,--disable-xcms" - -# src/util/makekeys is built natively but needs -D_GNU_SOURCE defined. -CPPFLAGS_FOR_BUILD += "-D_GNU_SOURCE" - -PACKAGES =+ "${PN}-xcb" - -inherit gettext - -FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt" -FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" -FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb new file mode 100644 index 000000000..5d7e9e378 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb @@ -0,0 +1,42 @@ +SUMMARY = "Xlib: C Language X Interface library" + +DESCRIPTION = "This package provides a client interface to the X Window \ +System, otherwise known as 'Xlib'. It provides a complete API for the \ +basic functions of the window system." + +require xorg-lib-common.inc + +FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:" + +PE = "1" + +SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \ + file://disable_tests.patch \ + " + +SRC_URI[sha256sum] = "1cfa35e37aaabbe4792e9bb690468efefbfbf6b147d9c69d6f90d13c3092ea6c" + +PROVIDES = "virtual/libx11" + +XORG_PN = "libX11" +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +DEPENDS += "xorgproto xtrans libxcb" +DEPENDS += "xorgproto-native" + +EXTRA_OECONF += "--with-keysymdefdir=${STAGING_INCDIR}/X11/ --disable-xf86bigfont" +EXTRA_OEMAKE += 'CWARNFLAGS=""' + +PACKAGECONFIG ??= "xcms" +PACKAGECONFIG[xcms] = "--enable-xcms,--disable-xcms" + +PACKAGES =+ "${PN}-xcb" + +inherit gettext + +FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${datadir}/X11/Xcms.txt" +FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" +FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.32.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.32.bb deleted file mode 100644 index daa07a4d0..000000000 --- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.32.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "Keyboard configuration database for X Window" - -DESCRIPTION = "The non-arch keyboard configuration database for X \ -Window. The goal is to provide the consistent, well-structured, \ -frequently released open source of X keyboard configuration data for X \ -Window System implementations. The project is targeted to XKB-based \ -systems." - -HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config" - -LICENSE = "MIT & MIT-style" -LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" - -SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2" -SRC_URI[sha256sum] = "1feee317ba39b91902b0cbd2987c0c73e6afbfc8f4c096367a5c86c216c036a8" - -SECTION = "x11/libs" -DEPENDS = "util-macros libxslt-native" - -EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" - -FILES_${PN} += "${datadir}/X11/xkb" - -inherit autotools pkgconfig gettext python3native - -do_install_append () { - install -d ${D}${datadir}/X11/xkb/compiled - cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg -} diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb new file mode 100644 index 000000000..197a870e7 --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb @@ -0,0 +1,30 @@ +SUMMARY = "Keyboard configuration database for X Window" + +DESCRIPTION = "The non-arch keyboard configuration database for X \ +Window. The goal is to provide the consistent, well-structured, \ +frequently released open source of X keyboard configuration data for X \ +Window System implementations. The project is targeted to XKB-based \ +systems." + +HOMEPAGE = "http://freedesktop.org/wiki/Software/XKeyboardConfig" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xkeyboard-config" + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9" + +SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2" +SRC_URI[sha256sum] = "657fd790d6dcf781cd395de4cf726120a5b0f93ba91dfb2628bcc70ae8b1d3bc" + +SECTION = "x11/libs" +DEPENDS = "util-macros libxslt-native" + +EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps" + +FILES_${PN} += "${datadir}/X11/xkb" + +inherit autotools pkgconfig gettext python3native + +do_install_append () { + install -d ${D}${datadir}/X11/xkb/compiled + cd ${D}${datadir}/X11/xkb/rules && ln -sf base xorg +} diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb deleted file mode 100644 index f4b089515..000000000 --- a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "X Window System unified protocol definitions" -DESCRIPTION = "This package provides the headers and specification documents defining \ -the core protocol and (many) extensions for the X Window System" -HOMEPAGE = "http://www.x.org" -BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" - -SECTION = "x11/libs" -LICENSE = "MIT-style" -LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=dfc4bd2b0568b31725b85b0604e69b56" - -SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2" -SRC_URI[sha256sum] = "0bce7d4fe800dcb5581cc59a99946c12e6e0be292636544221ec73e96f1a28ed" - -inherit meson - -PACKAGECONFIG ??= "" -PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false" - -# Datadir only used to install pc files, $datadir/pkgconfig -datadir="${libdir}" -# ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb new file mode 100644 index 000000000..8db3e6d7a --- /dev/null +++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb @@ -0,0 +1,25 @@ +SUMMARY = "X Window System unified protocol definitions" +DESCRIPTION = "This package provides the headers and specification documents defining \ +the core protocol and (many) extensions for the X Window System" +HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" + +SECTION = "x11/libs" +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=dfc4bd2b0568b31725b85b0604e69b56" + +SRC_URI = "${XORG_MIRROR}/individual/proto/${BP}.tar.bz2" +SRC_URI[sha256sum] = "c38878053179c6f8bc2daeeeeb4710b5fbf0e46db5b3134aee4a1977ffb06e7a" + +inherit meson + +PACKAGECONFIG ??= "" +PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false" + +# Datadir only used to install pc files, $datadir/pkgconfig +datadir="${libdir}" +# ${PN} is empty so we need to tweak -dev and -dbg package dependencies +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-kernel/blktrace/blktrace/CVE-2018-10689.patch b/poky/meta/recipes-kernel/blktrace/blktrace/CVE-2018-10689.patch deleted file mode 100644 index 7b58568d5..000000000 --- a/poky/meta/recipes-kernel/blktrace/blktrace/CVE-2018-10689.patch +++ /dev/null @@ -1,150 +0,0 @@ -From d61ff409cb4dda31386373d706ea0cfb1aaac5b7 Mon Sep 17 00:00:00 2001 -From: Jens Axboe -Date: Wed, 2 May 2018 10:24:17 -0600 -Subject: [PATCH] btt: make device/devno use PATH_MAX to avoid overflow - -Herbo Zhang reports: - -I found a bug in blktrace/btt/devmap.c. The code is just as follows: - -https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/tree/btt/devmap.c?id=8349ad2f2d19422a6241f94ea84d696b21de4757 - - struct devmap { - -struct list_head head; -char device[32], devno[32]; // #1 -}; - -LIST_HEAD(all_devmaps); - -static int dev_map_add(char *line) -{ -struct devmap *dmp; - -if (strstr(line, "Device") != NULL) -return 1; - -dmp = malloc(sizeof(struct devmap)); -if (sscanf(line, "%s %s", dmp->device, dmp->devno) != 2) { //#2 -free(dmp); -return 1; -} - -list_add_tail(&dmp->head, &all_devmaps); -return 0; -} - -int dev_map_read(char *fname) -{ -char line[256]; // #3 -FILE *fp = my_fopen(fname, "r"); - -if (!fp) { -perror(fname); -return 1; -} - -while (fscanf(fp, "%255[a-zA-Z0-9 :.,/_-]\n", line) == 1) { -if (dev_map_add(line)) -break; -} - -fclose(fp); -return 0; -} - - The line length is 256, but the dmp->device, dmp->devno max length -is only 32. We can put strings longer than 32 into dmp->device and -dmp->devno , and then they will be overflowed. - - we can trigger this bug just as follows: - - $ python -c "print 'A'*256" > ./test - $ btt -M ./test - - *** Error in btt': free(): invalid next size (fast): 0x000055ad7349b250 *** - ======= Backtrace: ========= - /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f7f158ce7e5] - /lib/x86_64-linux-gnu/libc.so.6(+0x7fe0a)[0x7f7f158d6e0a] - /lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f7f158da98c] - btt(+0x32e0)[0x55ad7306f2e0] - btt(+0x2c5f)[0x55ad7306ec5f] - btt(+0x251f)[0x55ad7306e51f] - /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f7f15877830] - btt(+0x26b9)[0x55ad7306e6b9] - ======= Memory map: ======== - 55ad7306c000-55ad7307f000 r-xp 00000000 08:14 3698139 - /usr/bin/btt - 55ad7327e000-55ad7327f000 r--p 00012000 08:14 3698139 - /usr/bin/btt - 55ad7327f000-55ad73280000 rw-p 00013000 08:14 3698139 - /usr/bin/btt - 55ad73280000-55ad73285000 rw-p 00000000 00:00 0 - 55ad7349a000-55ad734bb000 rw-p 00000000 00:00 0 - [heap] - 7f7f10000000-7f7f10021000 rw-p 00000000 00:00 0 - 7f7f10021000-7f7f14000000 ---p 00000000 00:00 0 - 7f7f15640000-7f7f15656000 r-xp 00000000 08:14 14942237 - /lib/x86_64-linux-gnu/libgcc_s.so.1 - 7f7f15656000-7f7f15855000 ---p 00016000 08:14 14942237 - /lib/x86_64-linux-gnu/libgcc_s.so.1 - 7f7f15855000-7f7f15856000 r--p 00015000 08:14 14942237 - /lib/x86_64-linux-gnu/libgcc_s.so.1 - 7f7f15856000-7f7f15857000 rw-p 00016000 08:14 14942237 - /lib/x86_64-linux-gnu/libgcc_s.so.1 - 7f7f15857000-7f7f15a16000 r-xp 00000000 08:14 14948477 - /lib/x86_64-linux-gnu/libc-2.23.so - 7f7f15a16000-7f7f15c16000 ---p 001bf000 08:14 14948477 - /lib/x86_64-linux-gnu/libc-2.23.so - 7f7f15c16000-7f7f15c1a000 r--p 001bf000 08:14 14948477 - /lib/x86_64-linux-gnu/libc-2.23.so - 7f7f15c1a000-7f7f15c1c000 rw-p 001c3000 08:14 14948477 - /lib/x86_64-linux-gnu/libc-2.23.so - 7f7f15c1c000-7f7f15c20000 rw-p 00000000 00:00 0 - 7f7f15c20000-7f7f15c46000 r-xp 00000000 08:14 14948478 - /lib/x86_64-linux-gnu/ld-2.23.so - 7f7f15e16000-7f7f15e19000 rw-p 00000000 00:00 0 - 7f7f15e42000-7f7f15e45000 rw-p 00000000 00:00 0 - 7f7f15e45000-7f7f15e46000 r--p 00025000 08:14 14948478 - /lib/x86_64-linux-gnu/ld-2.23.so - 7f7f15e46000-7f7f15e47000 rw-p 00026000 08:14 14948478 - /lib/x86_64-linux-gnu/ld-2.23.so - 7f7f15e47000-7f7f15e48000 rw-p 00000000 00:00 0 - 7ffdebe5c000-7ffdebe7d000 rw-p 00000000 00:00 0 - [stack] - 7ffdebebc000-7ffdebebe000 r--p 00000000 00:00 0 - [vvar] - 7ffdebebe000-7ffdebec0000 r-xp 00000000 00:00 0 - [vdso] - ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 - [vsyscall] - [1] 6272 abort btt -M test - -Signed-off-by: Jens Axboe - -Upstream-Status: Backport -[https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/commit/?id=d61ff409cb4dda31386373d706ea0cfb1aaac5b7] - -CVE: CVE-2018-10689 - -Signed-off-by: Yi Zhao ---- - btt/devmap.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/btt/devmap.c b/btt/devmap.c -index 0553a9e..5fc1cb2 100644 ---- a/btt/devmap.c -+++ b/btt/devmap.c -@@ -23,7 +23,7 @@ - - struct devmap { - struct list_head head; -- char device[32], devno[32]; -+ char device[PATH_MAX], devno[PATH_MAX]; - }; - - LIST_HEAD(all_devmaps); --- -2.7.4 - diff --git a/poky/meta/recipes-kernel/blktrace/blktrace/ldflags.patch b/poky/meta/recipes-kernel/blktrace/blktrace/ldflags.patch deleted file mode 100644 index ab905cf0d..000000000 --- a/poky/meta/recipes-kernel/blktrace/blktrace/ldflags.patch +++ /dev/null @@ -1,114 +0,0 @@ -blktrace: obey LDFLAGS - -Upstream-Status: Pending - -Signed-off-by: Christopher Larson - -the patch was imported from meta-mentor layer on yoctoproject git server -http://git.yoctoproject.org/cgit/cgit.cgi/meta-mentor as of commit id -aed463414e2e2bf8ca44ba54ee5973e7ed599e57 - -Signed-off-by: Fahad Usman - -Index: git/Makefile -=================================================================== ---- git.orig/Makefile -+++ git/Makefile -@@ -1,5 +1,6 @@ - CC = gcc - CFLAGS = -Wall -O2 -g -W -+LDFLAGS = - ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 - PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon - LIBS = -lpthread -@@ -26,19 +27,19 @@ btreplay/btreplay: - $(CC) -o $*.o -c $(ALL_CFLAGS) $< - - blkparse: blkparse.o blkparse_fmt.o rbtree.o act_mask.o -- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LDFLAGS) - - blktrace: blktrace.o act_mask.o -- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) $(LDFLAGS) - - verify_blkparse: verify_blkparse.o -- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LDFLAGS) - - blkrawverify: blkrawverify.o -- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LDFLAGS) - - blkiomon: blkiomon.o rbtree.o -- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt -+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -lrt $(LDFLAGS) - - $(PROGS): | depend - -Index: git/btreplay/Makefile -=================================================================== ---- git.orig/btreplay/Makefile -+++ git/btreplay/Makefile -@@ -7,6 +7,7 @@ - - CC = gcc - CFLAGS = -Wall -W -O2 -g -+LDFLAGS = - INCS = -I. -I.. -I../btt - OCFLAGS = -UCOUNT_IOS -UDEBUG -DNDEBUG - XCFLAGS = -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -@@ -32,10 +33,10 @@ clean: docsclean - $(CC) $(CFLAGS) -c -o $*.o $< - - btrecord: btrecord.o -- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) -+ $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LDFLAGS) - - btreplay: btreplay.o -- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -+ $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) $(LDFLAGS) - - depend: - @$(CC) -MM $(CFLAGS) *.c 1> .depend -Index: git/btt/Makefile -=================================================================== ---- git.orig/btt/Makefile -+++ git/btt/Makefile -@@ -7,6 +7,7 @@ - - CC = gcc - CFLAGS = -Wall -W -O2 -g -+LDFLAGS = - INCS = -I. -I.. - XCFLAGS = -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 - override CFLAGS += $(INCS) $(XCFLAGS) -@@ -38,7 +39,7 @@ clean: docsclean - $(CC) $(CFLAGS) -c -o $*.o $< - - btt: $(OBJS) -- $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) -+ $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS) $(LDFLAGS) - - ifneq ($(wildcard .depend),) - include .depend -Index: git/iowatcher/Makefile -=================================================================== ---- git.orig/iowatcher/Makefile -+++ git/iowatcher/Makefile -@@ -1,5 +1,6 @@ - CC = gcc - CFLAGS = -Wall -O2 -g -W -Wunused-result -+LDFLAGS = - ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 - - PROGS = iowatcher -@@ -19,7 +20,7 @@ all: $(ALL) - $(CC) -o $*.o -c $(ALL_CFLAGS) $< - - iowatcher: blkparse.o plot.o main.o tracers.o mpstat.o fio.o -- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm -lrt -+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm $(LDFLAGS) -lrt - - depend: - @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend diff --git a/poky/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch b/poky/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch deleted file mode 100644 index 3b0c1c692..000000000 --- a/poky/meta/recipes-kernel/blktrace/blktrace/make-btt-scripts-python3-ready.patch +++ /dev/null @@ -1,197 +0,0 @@ -From 70d5ca2d5f3d6b97c11c641b7e0c5836983219a0 Mon Sep 17 00:00:00 2001 -From: Eric Sandeen -Date: Wed, 28 Mar 2018 15:26:36 -0500 -Subject: [oe-core][PATCH 1/1] make btt scripts python3-ready - -Many distributions are moving to python3 by default. Here's -an attempt to make the python scripts in blktrace python3-ready. - -Most of this was done with automated tools. I hand fixed some -space-vs tab issues, and cast an array index to integer. It -passes rudimentary testing when run under python2.7 as well -as python3. - -This doesn't do anything with the shebangs, it leaves them both -invoking whatever "env python" coughs up on the system. - -Signed-off-by: Eric Sandeen -Signed-off-by: Jens Axboe - -Unchanged except to modify shebangs to use python3 since -oe-core does not support python2 anymore. - -Upstream-Status: Backport [git://git.kernel.dk/blktrace.git commit 70d5ca2d5...] - -Signed-off-by: Joe Slater - ---- - btt/bno_plot.py | 28 +++++++++++++++------------- - btt/btt_plot.py | 22 +++++++++++++--------- - 2 files changed, 28 insertions(+), 22 deletions(-) - ---- git.orig/btt/bno_plot.py -+++ git/btt/bno_plot.py -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/env python3 - # - # btt blkno plotting interface - # -@@ -38,6 +38,8 @@ automatically push the keys under the gr - To exit the plotter, enter 'quit' or ^D at the 'gnuplot> ' prompt. - """ - -+from __future__ import absolute_import -+from __future__ import print_function - import getopt, glob, os, sys, tempfile - - verbose = 0 -@@ -60,14 +62,14 @@ def parse_args(in_args): - - try: - (opts, args) = getopt.getopt(in_args, s_opts, l_opts) -- except getopt.error, msg: -- print >>sys.stderr, msg -- print >>sys.stderr, __doc__ -+ except getopt.error as msg: -+ print(msg, file=sys.stderr) -+ print(__doc__, file=sys.stderr) - sys.exit(1) - - for (o, a) in opts: - if o in ('-h', '--help'): -- print __doc__ -+ print(__doc__) - sys.exit(0) - elif o in ('-v', '--verbose'): - verbose += 1 -@@ -84,10 +86,10 @@ if __name__ == '__main__': - (bnos, keys_below) = parse_args(sys.argv[1:]) - - if verbose: -- print 'Using files:', -- for bno in bnos: print bno, -- if keys_below: print '\nKeys are to be placed below graph' -- else: print '' -+ print('Using files:', end=' ') -+ for bno in bnos: print(bno, end=' ') -+ if keys_below: print('\nKeys are to be placed below graph') -+ else: print('') - - tmpdir = tempfile.mktemp() - os.mkdir(tmpdir) -@@ -99,7 +101,7 @@ if __name__ == '__main__': - fo = open(t, 'w') - for line in open(f, 'r'): - fld = line.split(None) -- print >>fo, fld[0], fld[1], int(fld[2])-int(fld[1]) -+ print(fld[0], fld[1], int(fld[2])-int(fld[1]), file=fo) - fo.close() - - t = t[t.rfind('/')+1:] -@@ -107,16 +109,16 @@ if __name__ == '__main__': - else: plot_cmd = "%s,'%s'" % (plot_cmd, t) - - fo = open('%s/plot.cmds' % tmpdir, 'w') -- print >>fo, cmds -- if len(bnos) > 10 or keys_below: print >>fo, 'set key below' -- print >>fo, plot_cmd -+ print(cmds, file=fo) -+ if len(bnos) > 10 or keys_below: print('set key below', file=fo) -+ print(plot_cmd, file=fo) - fo.close() - - pid = os.fork() - if pid == 0: - cmd = 'gnuplot %s/plot.cmds -' % tmpdir - -- if verbose: print 'Executing %s' % cmd -+ if verbose: print('Executing %s' % cmd) - - os.chdir(tmpdir) - os.system(cmd) ---- git.orig/btt/btt_plot.py -+++ git/btt/btt_plot.py -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/env python3 - # - # btt_plot.py: Generate matplotlib plots for BTT generate data files - # -@@ -55,6 +55,10 @@ Arguments: - but the -o (--output) and -T (--title) options will be ignored. - """ - -+from __future__ import absolute_import -+from __future__ import print_function -+import six -+from six.moves import range - __author__ = 'Alan D. Brunelle ' - - #------------------------------------------------------------------------------ -@@ -82,7 +86,7 @@ get_base = lambda file: file[file.find( - def fatal(msg): - """Generate fatal error message and exit""" - -- print >>sys.stderr, 'FATAL: %s' % msg -+ print('FATAL: %s' % msg, file=sys.stderr) - sys.exit(1) - - #------------------------------------------------------------------------------ -@@ -163,7 +167,7 @@ def get_data(files): - if not os.path.exists(file): - fatal('%s not found' % file) - elif verbose: -- print 'Processing %s' % file -+ print('Processing %s' % file) - - xs = [] - ys = [] -@@ -214,8 +218,8 @@ def parse_args(args): - - try: - (opts, args) = getopt.getopt(args[1:], s_opts, l_opts) -- except getopt.error, msg: -- print >>sys.stderr, msg -+ except getopt.error as msg: -+ print(msg, file=sys.stderr) - fatal(__doc__) - - for (o, a) in opts: -@@ -293,15 +297,15 @@ def generate_output(type, db): - def color(idx, style): - """Returns a color/symbol type based upon the index passed.""" - -- colors = [ 'b', 'g', 'r', 'c', 'm', 'y', 'k' ] -+ colors = [ 'b', 'g', 'r', 'c', 'm', 'y', 'k' ] - l_styles = [ '-', ':', '--', '-.' ] - m_styles = [ 'o', '+', '.', ',', 's', 'v', 'x', '<', '>' ] - - color = colors[idx % len(colors)] - if style == 'line': -- style = l_styles[(idx / len(l_styles)) % len(l_styles)] -+ style = l_styles[int((idx / len(l_styles)) % len(l_styles))] - elif style == 'marker': -- style = m_styles[(idx / len(m_styles)) % len(m_styles)] -+ style = m_styles[int((idx / len(m_styles)) % len(m_styles))] - - return '%s%s' % (color, style) - -@@ -314,7 +318,7 @@ def generate_output(type, db): - ofile = '%s.png' % type - - if verbose: -- print 'Generating plot into %s' % ofile -+ print('Generating plot into %s' % ofile) - - fig = plt.figure(figsize=plot_size) - ax = fig.add_subplot(111) -@@ -329,7 +333,7 @@ def generate_output(type, db): - legends = None - - keys = [] -- for file in db.iterkeys(): -+ for file in six.iterkeys(db): - if not file in ['min_x', 'max_x', 'min_y', 'max_y']: - keys.append(file) - diff --git a/poky/meta/recipes-kernel/blktrace/blktrace_git.bb b/poky/meta/recipes-kernel/blktrace/blktrace_git.bb index 7ccc022b9..d00b1bd0b 100644 --- a/poky/meta/recipes-kernel/blktrace/blktrace_git.bb +++ b/poky/meta/recipes-kernel/blktrace/blktrace_git.bb @@ -10,15 +10,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" DEPENDS = "libaio" -SRCREV = "cca113f2fe0759b91fd6a0e10fdcda2c28f18a7e" +SRCREV = "366d30b9cdb20345c5d064af850d686da79b89eb" -PV = "1.2.0+git${SRCPV}" +PV = "1.3.0+git${SRCPV}" -SRC_URI = "git://git.kernel.dk/blktrace.git \ - file://ldflags.patch \ - file://CVE-2018-10689.patch \ - file://make-btt-scripts-python3-ready.patch \ -" +SRC_URI = "git://git.kernel.dk/blktrace.git" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch b/poky/meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch deleted file mode 100644 index ec825cbf7..000000000 --- a/poky/meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4827e0db6c4f7dea7f4094f49d3bb48ef6dfdc2d Mon Sep 17 00:00:00 2001 -From: David Gibson -Date: Wed, 6 Jan 2021 14:52:26 +1100 -Subject: [PATCH] fdtdump: Fix gcc11 warning - -In one place, fdtdump abuses fdt_set_magic(), passing it just a small char -array instead of the full fdt header it expects. That's relying on the -fact that in fact fdt_set_magic() will only actually access the first 4 -bytes of the buffer. - -This trips a new warning in GCC 11 - and it's entirely possible it was -always UB. So, don't do that. - -Upstream-Status: Backport [https://git.kernel.org/pub/scm/utils/dtc/dtc.git/patch/?id=ca16a723fa9dde9c5da80dba567f48715000e77c] -Signed-off-by: David Gibson ---- - fdtdump.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/fdtdump.c b/fdtdump.c -index 9613bef..d9fb374 100644 ---- a/fdtdump.c -+++ b/fdtdump.c -@@ -217,7 +217,7 @@ int main(int argc, char *argv[]) - char *p = buf; - char *endp = buf + len; - -- fdt_set_magic(smagic, FDT_MAGIC); -+ fdt32_st(smagic, FDT_MAGIC); - - /* poor man's memmem */ - while ((endp - p) >= FDT_MAGIC_SIZE) { --- -2.30.1 - diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.6.0.bb b/poky/meta/recipes-kernel/dtc/dtc_1.6.0.bb deleted file mode 100644 index a40713785..000000000 --- a/poky/meta/recipes-kernel/dtc/dtc_1.6.0.bb +++ /dev/null @@ -1,12 +0,0 @@ -require dtc.inc - -LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://libfdt/libfdt.h;beginline=4;endline=7;md5=05bb357cfb75cae7d2b01d2ee8d76407" - -SRCREV = "2525da3dba9beceb96651dc2986581871dbeca30" - -SRC_URI += "file://0001-fdtdump-Fix-gcc11-warning.patch" - -S = "${WORKDIR}/git" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.6.1.bb b/poky/meta/recipes-kernel/dtc/dtc_1.6.1.bb new file mode 100644 index 000000000..de9a46d3e --- /dev/null +++ b/poky/meta/recipes-kernel/dtc/dtc_1.6.1.bb @@ -0,0 +1,10 @@ +require dtc.inc + +LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://libfdt/libfdt.h;beginline=4;endline=7;md5=05bb357cfb75cae7d2b01d2ee8d76407" + +SRCREV = "b6910bec11614980a21e46fbccc35934b671bd81" + +S = "${WORKDIR}/git" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb index 11d8928ad..877e8d294 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "d25690cb34d3b9d67089b318c48b89163058608c" -SRCREV_meta ?= "48a13749dcfa21864b5cdf5f02a1c210a4b6046b" +SRCREV_machine ?= "6186341e981ad4fd3941c7c9af509923bbe2a2a5" +SRCREV_meta ?= "67dad5ca86bd47dbbaa2194b9854c228055dfd37" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.10.41" +LINUX_VERSION ?= "5.10.43" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb index a55d84f2b..432289292 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "c279b45a44858da788a13f23130ed06663e77c57" -SRCREV_meta ?= "aa019cb8e4af653d6e136f1b8720884b97ddde49" +SRCREV_machine ?= "08b154b1c1f1c85db88295a4169dff6826c2e383" +SRCREV_meta ?= "656383210d369bbd49a7a278c6c7c7313f0df825" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.4.123" +LINUX_VERSION ?= "5.4.125" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb index 8fe019419..b44deb6f3 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.10.41" +LINUX_VERSION ?= "5.10.43" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "c5b462a67540b3364a21999b601d08b837ee95a2" -SRCREV_machine ?= "bb3f40e801fed14f9233749f7eaa27b105979059" -SRCREV_meta ?= "48a13749dcfa21864b5cdf5f02a1c210a4b6046b" +SRCREV_machine_qemuarm ?= "9c63dda7dd5834bf731747d6ae03ae13d48e20e3" +SRCREV_machine ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_meta ?= "67dad5ca86bd47dbbaa2194b9854c228055dfd37" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb index cf8e81e0f..6c93e2b16 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.4.123" +LINUX_VERSION ?= "5.4.125" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "445028ae9ec9a904122bb5c60995def98d2b1ddc" -SRCREV_machine ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" -SRCREV_meta ?= "aa019cb8e4af653d6e136f1b8720884b97ddde49" +SRCREV_machine_qemuarm ?= "35f9751972b9fba920b1666228a35e5ce0b04440" +SRCREV_machine ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee" +SRCREV_meta ?= "656383210d369bbd49a7a278c6c7c7313f0df825" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb index 24f856603..f99782c1b 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb @@ -13,17 +13,17 @@ KBRANCH_qemux86 ?= "v5.10/standard/base" KBRANCH_qemux86-64 ?= "v5.10/standard/base" KBRANCH_qemumips64 ?= "v5.10/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "d1a5dc63766ef3b2dfc79ac2965af69b33203520" -SRCREV_machine_qemuarm64 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" -SRCREV_machine_qemumips ?= "03dd9a4bb1b030a89f56712c3d724f0219fd16a3" -SRCREV_machine_qemuppc ?= "bb3f40e801fed14f9233749f7eaa27b105979059" -SRCREV_machine_qemuriscv64 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" -SRCREV_machine_qemuriscv32 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" -SRCREV_machine_qemux86 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" -SRCREV_machine_qemux86-64 ?= "bb3f40e801fed14f9233749f7eaa27b105979059" -SRCREV_machine_qemumips64 ?= "9292051c510e6bf1452ead867c8f8050556cfae3" -SRCREV_machine ?= "bb3f40e801fed14f9233749f7eaa27b105979059" -SRCREV_meta ?= "48a13749dcfa21864b5cdf5f02a1c210a4b6046b" +SRCREV_machine_qemuarm ?= "2fc3409cf8c2a6d684929576fd409949060a0bd9" +SRCREV_machine_qemuarm64 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_machine_qemumips ?= "5cec6d1ab35feb99f023b233871cafa29e3c3682" +SRCREV_machine_qemuppc ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_machine_qemuriscv64 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_machine_qemuriscv32 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_machine_qemux86 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_machine_qemux86-64 ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_machine_qemumips64 ?= "769a7118662a2256e20df60be9c9727f9c5878b0" +SRCREV_machine ?= "ab49d2db98bdee2c8c6e17fb59ded9e5292b0f41" +SRCREV_meta ?= "67dad5ca86bd47dbbaa2194b9854c228055dfd37" # remap qemuarm to qemuarma15 for the 5.8 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -32,7 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.10.41" +LINUX_VERSION ?= "5.10.43" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb index ddd019861..7edab4931 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb @@ -12,16 +12,16 @@ KBRANCH_qemux86 ?= "v5.4/standard/base" KBRANCH_qemux86-64 ?= "v5.4/standard/base" KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "c292705386cfec860dad5e1dee74f22407fb7f94" -SRCREV_machine_qemuarm64 ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" -SRCREV_machine_qemumips ?= "d4c949dc0b88dba72f9f94a18fd994aa8482ff8e" -SRCREV_machine_qemuppc ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" -SRCREV_machine_qemuriscv64 ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" -SRCREV_machine_qemux86 ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" -SRCREV_machine_qemux86-64 ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" -SRCREV_machine_qemumips64 ?= "417e8e4e101314f02439a88c78d4cf2ab98df209" -SRCREV_machine ?= "edc1395a32f99faaebc6b48769c4bd02a8b074be" -SRCREV_meta ?= "aa019cb8e4af653d6e136f1b8720884b97ddde49" +SRCREV_machine_qemuarm ?= "b523a950c926e2d7475768b504e46fa618a3b891" +SRCREV_machine_qemuarm64 ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee" +SRCREV_machine_qemumips ?= "bff59892e827bc85e85fef518305007a787812aa" +SRCREV_machine_qemuppc ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee" +SRCREV_machine_qemuriscv64 ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee" +SRCREV_machine_qemux86 ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee" +SRCREV_machine_qemux86-64 ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee" +SRCREV_machine_qemumips64 ?= "e25b97140f5d46ac437cd8a1d9ecc235cbf462b5" +SRCREV_machine ?= "bcd119e358de95fb4b8ff6d560e5dab8b8a5ecee" +SRCREV_meta ?= "656383210d369bbd49a7a278c6c7c7313f0df825" # remap qemuarm to qemuarma15 for the 5.4 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.4.123" +LINUX_VERSION ?= "5.4.125" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb deleted file mode 100644 index 6132daf1a..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb +++ /dev/null @@ -1,174 +0,0 @@ -SECTION = "devel" -SUMMARY = "Linux Trace Toolkit Control" -DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \ -to extract program execution details from the Linux operating system \ -and interpret them." -HOMEPAGE = "https://github.com/lttng/lttng-tools" - -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \ - file://LICENSES/GPL-2.0;md5=e68f69a54b44ba526ad7cb963e18fbce \ - file://LICENSES/LGPL-2.1;md5=9920968d0f2ff585ce61fae30344dd95" - -include lttng-platforms.inc - -DEPENDS = "liburcu popt libxml2 util-linux" -RDEPENDS_${PN} = "libgcc" -RRECOMMENDS_${PN} += "${LTTNGMODULES}" -RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core" -RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" -RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" -# babelstats.pl wants getopt-long -RDEPENDS_${PN}-ptest += "perl-module-getopt-long" - -PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ - am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ - PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ -" -PACKAGECONFIG ??= "${LTTNGUST}" -PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native" -PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust" -PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod" -PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" - -SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ - file://0001-tests-do-not-strip-a-helper-library.patch \ - file://run-ptest \ - file://lttng-sessiond.service \ - file://0001-tests-regression-disable-the-tools-live-tests.patch \ - file://determinism.patch \ - " - -SRC_URI[sha256sum] = "2890da230edd523fcf497e9eb28133b7606d64fa01bcbffadbfcba42104db153" - -inherit autotools ptest pkgconfig useradd python3-dir manpages systemd - -SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service" -SYSTEMD_AUTO_ENABLE = "disable" - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "tracing" - -FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \ - ${PYTHON_SITEPACKAGES_DIR}/*" -FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" -FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" - -# Since files are installed into ${libdir}/lttng/libexec we match -# the libexec insane test so skip it. -# Python module needs to keep _lttng.so -INSANE_SKIP_${PN} = "libexec dev-so" -INSANE_SKIP_${PN}-dbg = "libexec" - -PRIVATE_LIBS_${PN}-ptest = "libfoo.so" - -do_install_append () { - # install systemd unit file - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system -} - -do_install_ptest () { - for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/*.lttng tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh; do - install -D "${B}/$f" "${D}${PTEST_PATH}/$f" - done - - for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.0.xsd; do - install -D "${S}/$f" "${D}${PTEST_PATH}/$f" - done - - # Prevent 'make check' from recursing into non-test subdirectories. - sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile" - - # We don't need these - sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile" - - # We shouldn't need to build anything in tests/utils - sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \ - "${D}${PTEST_PATH}/tests/Makefile" - - # Copy the tests directory tree and the executables and - # Makefiles found within. - for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do - install -d "${D}${PTEST_PATH}/tests/$d" - find "${B}/tests/$d" -maxdepth 1 -executable -type f \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + - # Take all .py scripts for tests using the python bindings. - find "${B}/tests/$d" -maxdepth 1 -type f -name "*.py" \ - -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + - test -r "${B}/tests/$d/Makefile" && \ - install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile" - done - - for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do - for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do - cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f - case $f in - *.so) - install -d ${D}${PTEST_PATH}/tests/$d/ - ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f - # Remove any rpath/runpath to pass QA check. - chrpath --delete ${D}${PTEST_PATH}/tests/$d/$f - ;; - esac - done - done - - chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary - chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libbar.so - chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libfoo.so - - # - # Use the versioned libs of liblttng-ust-dl. - # - ustdl="${D}${PTEST_PATH}/tests/regression/ust/ust-dl/test_ust-dl.py" - if [ -e $ustdl ]; then - sed -i -e 's!:liblttng-ust-dl.so!:liblttng-ust-dl.so.0!' $ustdl - fi - - install ${B}/tests/unit/ini_config/sample.ini ${D}${PTEST_PATH}/tests/unit/ini_config/ - - # We shouldn't need to build anything in tests/regression/tools - sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \ - "${D}${PTEST_PATH}/tests/regression/Makefile" - - # Prevent attempts to update Makefiles during test runs, and - # silence "Making check in $SUBDIR" messages. - find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ - sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \ - -e '/echo "Making $$target in $$subdir"; \\/d' \ - -e 's/^srcdir = \(.*\)/srcdir = ./' \ - -e 's/^builddir = \(.*\)/builddir = ./' \ - -e 's/^all-am:.*/all-am:/' \ - {} + - - find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ - touch -r "${B}/Makefile" {} + - - # - # Need to stop generated binaries from rebuilding by removing their source dependencies - # - sed -e 's#\(^test.*OBJECTS.=\)#disable\1#g' \ - -e 's#\(^test.*DEPENDENCIES.=\)#disable\1#g' \ - -e 's#\(^test.*SOURCES.=\)#disable\1#g' \ - -e 's#\(^test.*LDADD.=\)#disable\1#g' \ - -i ${D}${PTEST_PATH}/tests/unit/Makefile - - # Fix hardcoded build path - sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH="${PTEST_PATH}/tests/regression/#' \ - -i ${D}${PTEST_PATH}/tests/regression/ust/python-logging/test_python_logging - - # Substitute links to installed binaries. - for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd lttng-crash; do - exedir="${D}${PTEST_PATH}/src/bin/${prog}" - install -d "$exedir" - case "$prog" in - lttng-consumerd) - ln -s "${libdir}/lttng/libexec/$prog" "$exedir" - ;; - *) - ln -s "${bindir}/$prog" "$exedir" - ;; - esac - done -} diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb new file mode 100644 index 000000000..133d7561b --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb @@ -0,0 +1,177 @@ +SECTION = "devel" +SUMMARY = "Linux Trace Toolkit Control" +DESCRIPTION = "The Linux trace toolkit is a suite of tools designed \ +to extract program execution details from the Linux operating system \ +and interpret them." +HOMEPAGE = "https://github.com/lttng/lttng-tools" + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \ + file://LICENSES/GPL-2.0;md5=e68f69a54b44ba526ad7cb963e18fbce \ + file://LICENSES/LGPL-2.1;md5=9920968d0f2ff585ce61fae30344dd95" + +include lttng-platforms.inc + +DEPENDS = "liburcu popt libxml2 util-linux" +RDEPENDS_${PN} = "libgcc" +RRECOMMENDS_${PN} += "${LTTNGMODULES}" +RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep" +RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" +RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" +# babelstats.pl wants getopt-long +RDEPENDS_${PN}-ptest += "perl-module-getopt-long" + +PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ + am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ + PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ +" +PACKAGECONFIG ??= "${LTTNGUST}" +PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native" +PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust" +PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod" +PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native" + +SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ + file://0001-tests-do-not-strip-a-helper-library.patch \ + file://run-ptest \ + file://lttng-sessiond.service \ + file://0001-tests-regression-disable-the-tools-live-tests.patch \ + file://determinism.patch \ + " + +SRC_URI[sha256sum] = "d729f8c2373a41194f171aeb0da0a9bb35ac181f31afa7e260786d19a500dea1" + +inherit autotools ptest pkgconfig useradd python3-dir manpages systemd + +SYSTEMD_SERVICE_${PN} = "lttng-sessiond.service" +SYSTEMD_AUTO_ENABLE = "disable" + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "tracing" + +FILES_${PN} += "${libdir}/lttng/libexec/* ${datadir}/xml/lttng \ + ${PYTHON_SITEPACKAGES_DIR}/*" +FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a" +FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" + +# Since files are installed into ${libdir}/lttng/libexec we match +# the libexec insane test so skip it. +# Python module needs to keep _lttng.so +INSANE_SKIP_${PN} = "libexec dev-so" +INSANE_SKIP_${PN}-dbg = "libexec" + +PRIVATE_LIBS_${PN}-ptest = "libfoo.so" + +do_install_append () { + # install systemd unit file + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system +} + +do_install_ptest () { + for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/*.lttng \ + tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh \ + tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh \ + tests/regression/tools/base-path/*.lttng; do + install -D "${B}/$f" "${D}${PTEST_PATH}/$f" + done + + for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.0.xsd; do + install -D "${S}/$f" "${D}${PTEST_PATH}/$f" + done + + # Prevent 'make check' from recursing into non-test subdirectories. + sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile" + + # We don't need these + sed -i -e '/dist_noinst_SCRIPTS = /,/^$/d' "${D}${PTEST_PATH}/tests/Makefile" + + # We shouldn't need to build anything in tests/utils + sed -i -e 's!am__append_1 = . utils!am__append_1 = . !' \ + "${D}${PTEST_PATH}/tests/Makefile" + + # Copy the tests directory tree and the executables and + # Makefiles found within. + for d in $(find "${B}/tests" -type d -not -name .libs -printf '%P ') ; do + install -d "${D}${PTEST_PATH}/tests/$d" + find "${B}/tests/$d" -maxdepth 1 -executable -type f \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + # Take all .py scripts for tests using the python bindings. + find "${B}/tests/$d" -maxdepth 1 -type f -name "*.py" \ + -exec install -t "${D}${PTEST_PATH}/tests/$d" {} + + test -r "${B}/tests/$d/Makefile" && \ + install -t "${D}${PTEST_PATH}/tests/$d" "${B}/tests/$d/Makefile" + done + + for d in $(find "${B}/tests" -type d -name .libs -printf '%P ') ; do + for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do + cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f + case $f in + *.so) + install -d ${D}${PTEST_PATH}/tests/$d/ + ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f + # Remove any rpath/runpath to pass QA check. + chrpath --delete ${D}${PTEST_PATH}/tests/$d/$f + ;; + esac + done + done + + chrpath --delete ${D}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary + chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libbar.so + chrpath --delete ${D}${PTEST_PATH}/tests/regression/ust/ust-dl/libfoo.so + + # + # Use the versioned libs of liblttng-ust-dl. + # + ustdl="${D}${PTEST_PATH}/tests/regression/ust/ust-dl/test_ust-dl.py" + if [ -e $ustdl ]; then + sed -i -e 's!:liblttng-ust-dl.so!:liblttng-ust-dl.so.0!' $ustdl + fi + + install ${B}/tests/unit/ini_config/sample.ini ${D}${PTEST_PATH}/tests/unit/ini_config/ + + # We shouldn't need to build anything in tests/regression/tools + sed -i -e 's!^SUBDIRS = tools !SUBDIRS = !' \ + "${D}${PTEST_PATH}/tests/regression/Makefile" + + # Prevent attempts to update Makefiles during test runs, and + # silence "Making check in $SUBDIR" messages. + find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ + sed -i -e '/Makefile:/,/^$/d' -e '/%: %.in/,/^$/d' \ + -e '/echo "Making $$target in $$subdir"; \\/d' \ + -e 's/^srcdir = \(.*\)/srcdir = ./' \ + -e 's/^builddir = \(.*\)/builddir = ./' \ + -e 's/^all-am:.*/all-am:/' \ + {} + + + find "${D}${PTEST_PATH}" -name Makefile -type f -exec \ + touch -r "${B}/Makefile" {} + + + # + # Need to stop generated binaries from rebuilding by removing their source dependencies + # + sed -e 's#\(^test.*OBJECTS.=\)#disable\1#g' \ + -e 's#\(^test.*DEPENDENCIES.=\)#disable\1#g' \ + -e 's#\(^test.*SOURCES.=\)#disable\1#g' \ + -e 's#\(^test.*LDADD.=\)#disable\1#g' \ + -i ${D}${PTEST_PATH}/tests/unit/Makefile + + # Fix hardcoded build path + sed -e 's#TESTAPP_PATH=.*/tests/regression/#TESTAPP_PATH="${PTEST_PATH}/tests/regression/#' \ + -i ${D}${PTEST_PATH}/tests/regression/ust/python-logging/test_python_logging + + # Substitute links to installed binaries. + for prog in lttng lttng-relayd lttng-sessiond lttng-consumerd lttng-crash; do + exedir="${D}${PTEST_PATH}/src/bin/${prog}" + install -d "$exedir" + case "$prog" in + lttng-consumerd) + ln -s "${libdir}/lttng/libexec/$prog" "$exedir" + ;; + *) + ln -s "${bindir}/$prog" "$exedir" + ;; + esac + done +} diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb index 2dfd798ef..99808d636 100644 --- a/poky/meta/recipes-kernel/perf/perf.bb +++ b/poky/meta/recipes-kernel/perf/perf.bb @@ -48,7 +48,7 @@ PROVIDES = "virtual/perf" inherit linux-kernel-base kernel-arch manpages # needed for building the tools/perf Python bindings -inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'python3native', '', d)} +inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'python3targetconfig', '', d)} inherit python3-dir export PYTHON_SITEPACKAGES_DIR diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch b/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch deleted file mode 100644 index 98e2988dd..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Thu, 22 Oct 2020 20:57:32 +0200 -Subject: [PATCH] dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be - declared even for \!DL_ORIGIN_AVAILABLE - -Fixes: 8580c081c2 ("dlsym: add support for ALSA_PLUGIN_DIR environment variable") -BugLink: https://github.com/alsa-project/alsa-lib/issues/91 -Signed-off-by: Jaroslav Kysela -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin ---- - src/dlmisc.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/dlmisc.c b/src/dlmisc.c -index c9517c55..f20eb593 100644 ---- a/src/dlmisc.c -+++ b/src/dlmisc.c -@@ -42,11 +42,9 @@ - #ifndef PIC - struct snd_dlsym_link *snd_dlsym_start = NULL; - #endif --#ifdef DL_ORIGIN_AVAILABLE - static int snd_plugin_dir_set = 0; - static char *snd_plugin_dir = NULL; - #endif --#endif - - #if defined(DL_ORIGIN_AVAILABLE) && defined(HAVE_LIBPTHREAD) - static pthread_mutex_t snd_dlpath_mutex = PTHREAD_MUTEX_INITIALIZER; diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb deleted file mode 100644 index c49cc2a9b..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "ALSA sound library" -DESCRIPTION = "(Occasionally a.k.a. libasound) is a userspace library that \ -provides a level of abstraction over the /dev interfaces provided by the kernel modules." -HOMEPAGE = "http://www.alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "libs/multimedia" -LICENSE = "LGPLv2.1 & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ - file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \ - " - -SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2 \ - file://ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch" -SRC_URI[sha256sum] = "f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7" - -inherit autotools pkgconfig - -EXTRA_OECONF += " \ - ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \ - --disable-python \ -" - -PACKAGES =+ "alsa-server alsa-conf libatopology" - -FILES_alsa-server = "${bindir}/*" -FILES_alsa-conf = "${datadir}/alsa/" -FILES_libatopology = "${libdir}/libatopology.so.*" - -RDEPENDS_${PN}_class-target = "alsa-conf alsa-ucm-conf" -RDEPENDS_libatopology_class-target = "alsa-topology-conf" - -# upgrade path -RPROVIDES_${PN} = "libasound" -RREPLACES_${PN} = "libasound" -RCONFLICTS_${PN} = "libasound" - -RPROVIDES_${PN}-dev = "alsa-dev" -RREPLACES_${PN}-dev = "alsa-dev" -RCONFLICTS_${PN}-dev = "alsa-dev" - -RPROVIDES_alsa-conf = "alsa-conf-base" -RREPLACES_alsa-conf = "alsa-conf-base" -RCONFLICTS_alsa-conf = "alsa-conf-base" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb new file mode 100644 index 000000000..151d63c0e --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.2.5.1.bb @@ -0,0 +1,44 @@ +SUMMARY = "ALSA sound library" +DESCRIPTION = "(Occasionally a.k.a. libasound) is a userspace library that \ +provides a level of abstraction over the /dev interfaces provided by the kernel modules." +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "libs/multimedia" +LICENSE = "LGPLv2.1 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ + file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \ + " + +SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" +SRC_URI[sha256sum] = "628421d950cecaf234de3f899d520c0a6923313c964ad751ffac081df331438e" + +inherit autotools pkgconfig + +EXTRA_OECONF += " \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \ + --disable-python \ +" + +PACKAGES =+ "alsa-server alsa-conf libatopology" + +FILES_alsa-server = "${bindir}/*" +FILES_alsa-conf = "${datadir}/alsa/" +FILES_libatopology = "${libdir}/libatopology.so.*" + +RDEPENDS_${PN}_class-target = "alsa-conf alsa-ucm-conf" +RDEPENDS_libatopology_class-target = "alsa-topology-conf" + +# upgrade path +RPROVIDES_${PN} = "libasound" +RREPLACES_${PN} = "libasound" +RCONFLICTS_${PN} = "libasound" + +RPROVIDES_${PN}-dev = "alsa-dev" +RREPLACES_${PN}-dev = "alsa-dev" +RCONFLICTS_${PN}-dev = "alsa-dev" + +RPROVIDES_alsa-conf = "alsa-conf-base" +RREPLACES_alsa-conf = "alsa-conf-base" +RCONFLICTS_alsa-conf = "alsa-conf-base" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb deleted file mode 100644 index 1381896f3..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb +++ /dev/null @@ -1,175 +0,0 @@ -SUMMARY = "ALSA Plugins" -DESCRIPTION = "Used to create virtual devices that can be used like normal \ -hardware devices but cause extra processing of the sound stream to take place. \ -They are used while configuring ALSA in the .asoundrc file." -HOMEPAGE = "http://alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "multimedia" - -# The primary license of alsa-plugins is LGPLv2.1. -# -# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the -# build system, and doesn't affect the licensing of the build result. -# -# The samplerate plugin source code is licensed under GPLv2+ to be consistent -# with the libsamplerate license. However, if the licensee has a commercial -# license for libsamplerate, the samplerate plugin may be used under the terms -# of LGPLv2.1 like the rest of the plugins. -LICENSE = "LGPLv2.1 & GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ - file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://m4/attributes.m4;endline=33;md5=bb8c6b2a67ac15156961e242fec33e50 \ - file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \ - " - -SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2" -SRC_URI[md5sum] = "8455e3c6fbc47f62f070afabc14ba575" -SRC_URI[sha256sum] = "1c0f06450c928d711719686c9dbece2d480184f36fab11b8f0534cb7b41e337d" - -DEPENDS += "alsa-lib" - -inherit autotools pkgconfig - -PACKAGECONFIG ??= "\ - samplerate \ - speexdsp \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ -" -PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,avtp" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav" -PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin" -PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus" -PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" -PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0" -PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp" - -PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" - -PACKAGES_DYNAMIC = "^libasound-module-.*" - -# The alsa-plugins package doesn't itself contain anything, it just depends on -# all built plugins. -FILES_${PN} = "" -ALLOW_EMPTY_${PN} = "1" - -do_install_append() { - rm -f ${D}${libdir}/alsa-lib/*.la - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then - # We use the example as is. Upstream installs the file under - # /etc, but we move it under /usr/share and add a symlink under - # /etc to be consistent with other installed configuration - # files. - mv ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf - ln -s ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf - fi -} - -python populate_packages_prepend() { - plugindir = d.expand('${libdir}/alsa-lib/') - packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends='')) - d.setVar("RDEPENDS_alsa-plugins", packages) -} - -# Many plugins have a configuration file (plus a symlink in /etc) associated -# with them. We put the plugin and it's configuration usually in the same -# package, but that's problematic when the configuration file is related to -# multiple plugins, as is the case with the pulse, oss and maemo plugins. In -# case of the pulse plugins, we have a separate alsa-plugins-pulseaudio-conf -# package that depends on all the pulse plugins, which ensures that all plugins -# that the configuration references are installed. The oss and maemo -# configuration files, on the other hand, are in the respective pcm plugin -# packages. Therefore it's possible to install the configuration file without -# the ctl plugin that the configuration file references. This is unlikely to -# cause big problems, but some kind of improvement to the packaging could -# probably be done here (at least it would be good to handle the different -# plugins in a consistent way). -FILES_${MLPREFIX}libasound-module-ctl-arcam-av += "\ - ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \ - ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-a52 += "\ - ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \ - ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-alsa-dsp += "\ - ${datadir}/alsa/alsa.conf.d/98-maemo.conf \ - ${sysconfdir}/alsa/conf.d/98-maemo.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-jack += "\ - ${datadir}/alsa/alsa.conf.d/50-jack.conf \ - ${sysconfdir}/alsa/conf.d/50-jack.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-oss += "\ - ${datadir}/alsa/alsa.conf.d/50-oss.conf \ - ${sysconfdir}/alsa/conf.d/50-oss.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-speex += "\ - ${datadir}/alsa/alsa.conf.d/60-speex.conf \ - ${sysconfdir}/alsa/conf.d/60-speex.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-upmix += "\ - ${datadir}/alsa/alsa.conf.d/60-upmix.conf \ - ${sysconfdir}/alsa/conf.d/60-upmix.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-usb-stream += "\ - ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \ - ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \ -" -FILES_${MLPREFIX}libasound-module-pcm-vdownmix += "\ - ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \ - ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \ -" -FILES_${MLPREFIX}libasound-module-rate-lavrate += "\ - ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \ - ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \ -" -FILES_${MLPREFIX}libasound-module-rate-samplerate += "\ - ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \ - ${sysconfdir}/alsa/conf.d/10-samplerate.conf \ -" -FILES_${MLPREFIX}libasound-module-rate-speexrate += "\ - ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \ - ${sysconfdir}/alsa/conf.d/10-speexrate.conf \ -" - -# The rate plugins create some symlinks. For example, the samplerate plugin -# creates these links to the main plugin file: -# -# libasound_module_rate_samplerate_best.so -# libasound_module_rate_samplerate_linear.so -# libasound_module_rate_samplerate_medium.so -# libasound_module_rate_samplerate_order.so -# -# The other rate plugins create similar links. We have to add the links to -# FILES manually, because do_split_packages() skips the links (which is good, -# because we wouldn't want do_split_packages() to create separate packages for -# the symlinks). -# -# The symlinks cause QA errors, because usually it's a bug if a non -# -dev/-dbg/-nativesdk package contains links to .so files, but in this case -# the errors are false positives, so we disable the QA checks. -FILES_${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so" -FILES_${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so" -FILES_${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so" -INSANE_SKIP_${MLPREFIX}libasound-module-rate-lavrate = "dev-so" -INSANE_SKIP_${MLPREFIX}libasound-module-rate-samplerate = "dev-so" -INSANE_SKIP_${MLPREFIX}libasound-module-rate-speexrate = "dev-so" - -# 50-pulseaudio.conf defines a device named "pulse" that applications can use -# if they explicitly want to use the PulseAudio plugin. -# 99-pulseaudio-default.conf configures the "default" device to use the -# PulseAudio plugin. -FILES_${PN}-pulseaudio-conf += "\ - ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \ - ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \ - ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \ - ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \ -" - -RDEPENDS_${PN}-pulseaudio-conf += "\ - ${MLPREFIX}libasound-module-conf-pulse \ - ${MLPREFIX}libasound-module-ctl-pulse \ - ${MLPREFIX}libasound-module-pcm-pulse \ -" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb new file mode 100644 index 000000000..f940a4bd3 --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb @@ -0,0 +1,174 @@ +SUMMARY = "ALSA Plugins" +DESCRIPTION = "Used to create virtual devices that can be used like normal \ +hardware devices but cause extra processing of the sound stream to take place. \ +They are used while configuring ALSA in the .asoundrc file." +HOMEPAGE = "http://alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "multimedia" + +# The primary license of alsa-plugins is LGPLv2.1. +# +# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the +# build system, and doesn't affect the licensing of the build result. +# +# The samplerate plugin source code is licensed under GPLv2+ to be consistent +# with the libsamplerate license. However, if the licensee has a commercial +# license for libsamplerate, the samplerate plugin may be used under the terms +# of LGPLv2.1 like the rest of the plugins. +LICENSE = "LGPLv2.1 & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ + file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://m4/attributes.m4;endline=33;md5=bb8c6b2a67ac15156961e242fec33e50 \ + file://rate/rate_samplerate.c;endline=35;md5=fd77bce85f4a338c0e8ab18430b69fae \ + " + +SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2" +SRC_URI[sha256sum] = "42eef98433d2c8d11f1deeeb459643619215a75aa5a5bbdd06a794e4c413df20" + +DEPENDS += "alsa-lib" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "\ + samplerate \ + speexdsp \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ +" +PACKAGECONFIG[aaf] = "--enable-aaf,--disable-aaf,avtp" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[libav] = "--enable-libav,--disable-libav,libav" +PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin" +PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus" +PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" +PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0" +PACKAGECONFIG[speexdsp] = "--with-speex=lib,--with-speex=no,speexdsp" + +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}" + +PACKAGES_DYNAMIC = "^libasound-module-.*" + +# The alsa-plugins package doesn't itself contain anything, it just depends on +# all built plugins. +FILES_${PN} = "" +ALLOW_EMPTY_${PN} = "1" + +do_install_append() { + rm -f ${D}${libdir}/alsa-lib/*.la + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then + # We use the example as is. Upstream installs the file under + # /etc, but we move it under /usr/share and add a symlink under + # /etc to be consistent with other installed configuration + # files. + mv ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf + ln -s ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf + fi +} + +python populate_packages_prepend() { + plugindir = d.expand('${libdir}/alsa-lib/') + packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends='')) + d.setVar("RDEPENDS_alsa-plugins", packages) +} + +# Many plugins have a configuration file (plus a symlink in /etc) associated +# with them. We put the plugin and it's configuration usually in the same +# package, but that's problematic when the configuration file is related to +# multiple plugins, as is the case with the pulse, oss and maemo plugins. In +# case of the pulse plugins, we have a separate alsa-plugins-pulseaudio-conf +# package that depends on all the pulse plugins, which ensures that all plugins +# that the configuration references are installed. The oss and maemo +# configuration files, on the other hand, are in the respective pcm plugin +# packages. Therefore it's possible to install the configuration file without +# the ctl plugin that the configuration file references. This is unlikely to +# cause big problems, but some kind of improvement to the packaging could +# probably be done here (at least it would be good to handle the different +# plugins in a consistent way). +FILES_${MLPREFIX}libasound-module-ctl-arcam-av += "\ + ${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \ + ${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-a52 += "\ + ${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \ + ${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-alsa-dsp += "\ + ${datadir}/alsa/alsa.conf.d/98-maemo.conf \ + ${sysconfdir}/alsa/conf.d/98-maemo.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-jack += "\ + ${datadir}/alsa/alsa.conf.d/50-jack.conf \ + ${sysconfdir}/alsa/conf.d/50-jack.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-oss += "\ + ${datadir}/alsa/alsa.conf.d/50-oss.conf \ + ${sysconfdir}/alsa/conf.d/50-oss.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-speex += "\ + ${datadir}/alsa/alsa.conf.d/60-speex.conf \ + ${sysconfdir}/alsa/conf.d/60-speex.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-upmix += "\ + ${datadir}/alsa/alsa.conf.d/60-upmix.conf \ + ${sysconfdir}/alsa/conf.d/60-upmix.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-usb-stream += "\ + ${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \ + ${sysconfdir}/alsa/conf.d/98-usb-stream.conf \ +" +FILES_${MLPREFIX}libasound-module-pcm-vdownmix += "\ + ${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \ + ${sysconfdir}/alsa/conf.d/60-vdownmix.conf \ +" +FILES_${MLPREFIX}libasound-module-rate-lavrate += "\ + ${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \ + ${sysconfdir}/alsa/conf.d/10-rate-lav.conf \ +" +FILES_${MLPREFIX}libasound-module-rate-samplerate += "\ + ${datadir}/alsa/alsa.conf.d/10-samplerate.conf \ + ${sysconfdir}/alsa/conf.d/10-samplerate.conf \ +" +FILES_${MLPREFIX}libasound-module-rate-speexrate += "\ + ${datadir}/alsa/alsa.conf.d/10-speexrate.conf \ + ${sysconfdir}/alsa/conf.d/10-speexrate.conf \ +" + +# The rate plugins create some symlinks. For example, the samplerate plugin +# creates these links to the main plugin file: +# +# libasound_module_rate_samplerate_best.so +# libasound_module_rate_samplerate_linear.so +# libasound_module_rate_samplerate_medium.so +# libasound_module_rate_samplerate_order.so +# +# The other rate plugins create similar links. We have to add the links to +# FILES manually, because do_split_packages() skips the links (which is good, +# because we wouldn't want do_split_packages() to create separate packages for +# the symlinks). +# +# The symlinks cause QA errors, because usually it's a bug if a non +# -dev/-dbg/-nativesdk package contains links to .so files, but in this case +# the errors are false positives, so we disable the QA checks. +FILES_${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so" +FILES_${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so" +FILES_${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so" +INSANE_SKIP_${MLPREFIX}libasound-module-rate-lavrate = "dev-so" +INSANE_SKIP_${MLPREFIX}libasound-module-rate-samplerate = "dev-so" +INSANE_SKIP_${MLPREFIX}libasound-module-rate-speexrate = "dev-so" + +# 50-pulseaudio.conf defines a device named "pulse" that applications can use +# if they explicitly want to use the PulseAudio plugin. +# 99-pulseaudio-default.conf configures the "default" device to use the +# PulseAudio plugin. +FILES_${PN}-pulseaudio-conf += "\ + ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \ + ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \ + ${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \ + ${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \ +" + +RDEPENDS_${PN}-pulseaudio-conf += "\ + ${MLPREFIX}libasound-module-conf-pulse \ + ${MLPREFIX}libasound-module-ctl-pulse \ + ${MLPREFIX}libasound-module-pcm-pulse \ +" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-tools_1.2.2.bb b/poky/meta/recipes-multimedia/alsa/alsa-tools_1.2.2.bb deleted file mode 100644 index 0a25d809b..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-tools_1.2.2.bb +++ /dev/null @@ -1,89 +0,0 @@ -SUMMARY = "Advanced tools for certain ALSA sound card drivers" -DESCRIPTION = "Package containing a number of tools ranging from envy24control \ -which provides complete control over all devices with an envy24 chip, to \ -firmware loaders for pcmcia, USB and the hdsp devices." -HOMEPAGE = "http://www.alsa-project.org" -BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" -SECTION = "console/utils" -LICENSE = "GPLv2 & LGPLv2+" -DEPENDS = "alsa-lib" - -LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ - file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \ - " - -SRC_URI = "https://www.alsa-project.org/files/pub/tools/${BP}.tar.bz2" - -SRC_URI[md5sum] = "4e6187d2c3a8c73a9d75d66a72faed27" -SRC_URI[sha256sum] = "bfd3c7aae1289269605d3da02279159b10e3dabdd31e658cbceaa30170957349" - -inherit autotools-brokensep pkgconfig -# brokensep as as10k1 (and probably more) fail out of tree -CLEANBROKEN = "1" - -# Here we use PACKAGECONFIG options to pick which directories we configure/build. -# Remember on upgrades to check that no new tools have been added. -PACKAGECONFIG ??= "as10k1 hdajacksensetest hda-verb hdsploader ld10k1 mixartloader pcxhrloader \ - sb16_csp seq--sbiload sscape_ctl us428control usx2yloader vxloader \ - ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'hdajackretask', '', d)} \ - " - -PACKAGECONFIG[as10k1] = "" -PACKAGECONFIG[echomixer] = ",,gtk+" -PACKAGECONFIG[envy24control] = ",,gtk+" -PACKAGECONFIG[hda-verb] = "" -PACKAGECONFIG[hdajackretask] = ",,gtk+3" -PACKAGECONFIG[hdajacksensetest] = ",,glib-2.0" -PACKAGECONFIG[hdspconf] = ",,fltk" -PACKAGECONFIG[hdsploader] = "" -PACKAGECONFIG[hdspmixer] = ",,fltk" -PACKAGECONFIG[ld10k1] = "" -PACKAGECONFIG[mixartloader] = "" -PACKAGECONFIG[pcxhrloader] = "" -PACKAGECONFIG[qlo10k1] = ",,qt-x11-free" -PACKAGECONFIG[rmedigicontrol] = ",,gtk+" -PACKAGECONFIG[sb16_csp] = "" -PACKAGECONFIG[seq--sbiload] = "" -PACKAGECONFIG[sscape_ctl] = "" -PACKAGECONFIG[us428control] = "" -PACKAGECONFIG[usx2yloader] = "" -PACKAGECONFIG[vxloader] = "" - -# At the time of writing pyalsa is not packaged for OE, so this is not expected -# to work. -PACKAGECONFIG[hwmixvolume] = ",,,python-core python-pygobject pyalsa" - -python do_configure() { - for subdir in d.getVar("PACKAGECONFIG").split(): - subdir = subdir.replace("--", "/") - bb.note("Configuring %s" % subdir) - dd = d.createCopy() - dd.setVar("S", os.path.join(d.getVar("S"), subdir)) - bb.build.exec_func("autotools_do_configure", dd) -} - -python do_compile() { - for subdir in d.getVar("PACKAGECONFIG").split(): - subdir = subdir.replace("--", "/") - bb.note("Compiling %s" % subdir) - dd = d.createCopy() - dd.setVar("S", os.path.join(d.getVar("S"), subdir)) - bb.build.exec_func("autotools_do_compile", dd) -} - -python do_install() { - for subdir in d.getVar("PACKAGECONFIG").split(): - subdir = subdir.replace("--", "/") - bb.note("Installing %s" % subdir) - dd = d.createCopy() - dd.setVar("S", os.path.join(d.getVar("S"), subdir)) - bb.build.exec_func("autotools_do_install", dd) - - # Just remove bash-needing init script that isn't installed as an init script - try: - os.remove(oe.path.join(d.getVar("D"), d.getVar("sbindir"), "ld10k1d")) - except: - pass -} - -FILES_${PN} += "${datadir}" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb b/poky/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb new file mode 100644 index 000000000..8f9c77e4f --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb @@ -0,0 +1,88 @@ +SUMMARY = "Advanced tools for certain ALSA sound card drivers" +DESCRIPTION = "Package containing a number of tools ranging from envy24control \ +which provides complete control over all devices with an envy24 chip, to \ +firmware loaders for pcmcia, USB and the hdsp devices." +HOMEPAGE = "http://www.alsa-project.org" +BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" +SECTION = "console/utils" +LICENSE = "GPLv2 & LGPLv2+" +DEPENDS = "alsa-lib" + +LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ + file://ld10k1/COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7 \ + " + +SRC_URI = "https://www.alsa-project.org/files/pub/tools/${BP}.tar.bz2" + +SRC_URI[sha256sum] = "35a71027a01f4d7de4722e223520e940de68b3c570b6c671691567ae28f9893e" + +inherit autotools-brokensep pkgconfig +# brokensep as as10k1 (and probably more) fail out of tree +CLEANBROKEN = "1" + +# Here we use PACKAGECONFIG options to pick which directories we configure/build. +# Remember on upgrades to check that no new tools have been added. +PACKAGECONFIG ??= "as10k1 hdajacksensetest hda-verb hdsploader ld10k1 mixartloader pcxhrloader \ + sb16_csp seq--sbiload sscape_ctl us428control usx2yloader vxloader \ + ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'hdajackretask', '', d)} \ + " + +PACKAGECONFIG[as10k1] = "" +PACKAGECONFIG[echomixer] = ",,gtk+" +PACKAGECONFIG[envy24control] = ",,gtk+" +PACKAGECONFIG[hda-verb] = "" +PACKAGECONFIG[hdajackretask] = ",,gtk+3" +PACKAGECONFIG[hdajacksensetest] = ",,glib-2.0" +PACKAGECONFIG[hdspconf] = ",,fltk" +PACKAGECONFIG[hdsploader] = "" +PACKAGECONFIG[hdspmixer] = ",,fltk" +PACKAGECONFIG[ld10k1] = "" +PACKAGECONFIG[mixartloader] = "" +PACKAGECONFIG[pcxhrloader] = "" +PACKAGECONFIG[qlo10k1] = ",,qt-x11-free" +PACKAGECONFIG[rmedigicontrol] = ",,gtk+" +PACKAGECONFIG[sb16_csp] = "" +PACKAGECONFIG[seq--sbiload] = "" +PACKAGECONFIG[sscape_ctl] = "" +PACKAGECONFIG[us428control] = "" +PACKAGECONFIG[usx2yloader] = "" +PACKAGECONFIG[vxloader] = "" + +# At the time of writing pyalsa is not packaged for OE, so this is not expected +# to work. +PACKAGECONFIG[hwmixvolume] = ",,,python-core python-pygobject pyalsa" + +python do_configure() { + for subdir in d.getVar("PACKAGECONFIG").split(): + subdir = subdir.replace("--", "/") + bb.note("Configuring %s" % subdir) + dd = d.createCopy() + dd.setVar("S", os.path.join(d.getVar("S"), subdir)) + bb.build.exec_func("autotools_do_configure", dd) +} + +python do_compile() { + for subdir in d.getVar("PACKAGECONFIG").split(): + subdir = subdir.replace("--", "/") + bb.note("Compiling %s" % subdir) + dd = d.createCopy() + dd.setVar("S", os.path.join(d.getVar("S"), subdir)) + bb.build.exec_func("autotools_do_compile", dd) +} + +python do_install() { + for subdir in d.getVar("PACKAGECONFIG").split(): + subdir = subdir.replace("--", "/") + bb.note("Installing %s" % subdir) + dd = d.createCopy() + dd.setVar("S", os.path.join(d.getVar("S"), subdir)) + bb.build.exec_func("autotools_do_install", dd) + + # Just remove bash-needing init script that isn't installed as an init script + try: + os.remove(oe.path.join(d.getVar("D"), d.getVar("sbindir"), "ld10k1d")) + except: + pass +} + +FILES_${PN} += "${datadir}" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb deleted file mode 100644 index 26542fbbb..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "ALSA topology configuration files" -DESCRIPTION = "Provides a method for audio drivers to load their mixers, \ -routing, PCMs and capabilities from user space at runtime without changing \ -any driver source code." -HOMEPAGE = "https://alsa-project.org" -BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4" - -SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[sha256sum] = "55e0e6e42eca4cc7656c257af2440cdc65b83689dca49fc60ca0194db079ed07" - -inherit allarch - -do_install() { - install -d "${D}${datadir}/alsa" - cp -r "${S}/topology" "${D}${datadir}/alsa" -} - -PACKAGES = "${PN}" - -FILES_${PN} = "*" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb new file mode 100644 index 000000000..c96826c4b --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "ALSA topology configuration files" +DESCRIPTION = "Provides a method for audio drivers to load their mixers, \ +routing, PCMs and capabilities from user space at runtime without changing \ +any driver source code." +HOMEPAGE = "https://alsa-project.org" +BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4" + +SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" +SRC_URI[sha256sum] = "f7c5bae1545abcd73824bc97f4e72c340e11abea188ba0f1c06f5e0ad776b179" +# Something went wrong at upstream tarballing + +inherit allarch + +do_install() { + install -d "${D}${datadir}/alsa" + cp -r "${S}/topology" "${D}${datadir}/alsa" +} + +PACKAGES = "${PN}" + +FILES_${PN} = "*" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb deleted file mode 100644 index 32cf41c8f..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "ALSA Use Case Manager configuration" -DESCRIPTION = "This package contains ALSA Use Case Manager configuration \ -of audio input/output names and routing for specific audio hardware. \ -They can be used with the alsaucm tool. " -HOMEPAGE = "https://alsa-project.org" -BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4" - -SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[sha256sum] = "2c3b535c77dcb9aaf62a61f4f8324f1ab184162f105f7ec9ed1e37c742fcd340" - -inherit allarch - -do_install() { - install -d "${D}${datadir}/alsa" - cp -r "${S}/ucm" "${D}${datadir}/alsa" - cp -r "${S}/ucm2" "${D}${datadir}/alsa" -} - -PACKAGES = "${PN}" - -FILES_${PN} = "*" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.1.bb b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.1.bb new file mode 100644 index 000000000..4d5f3742f --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "ALSA Use Case Manager configuration" +DESCRIPTION = "This package contains ALSA Use Case Manager configuration \ +of audio input/output names and routing for specific audio hardware. \ +They can be used with the alsaucm tool. " +HOMEPAGE = "https://alsa-project.org" +BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4" + +SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" +SRC_URI[sha256sum] = "5841a444166dcbf479db751303dbc3556f685085ac7e00f0c9e7755676195d97" +# Something went wrong at upstream tarballing + +inherit allarch + +do_install() { + install -d "${D}${datadir}/alsa" + cp -r "${S}/ucm" "${D}${datadir}/alsa" + cp -r "${S}/ucm2" "${D}${datadir}/alsa" +} + +PACKAGES = "${PN}" + +FILES_${PN} = "*" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb deleted file mode 100644 index 048fef68a..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb +++ /dev/null @@ -1,25 +0,0 @@ -require alsa-utils.inc - -SUMMARY = "Shell scripts that show help info and create ALSA configuration files" -PROVIDES = "alsa-utils-alsaconf" - -FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-utils:" - -PACKAGES = "${PN}" -RDEPENDS_${PN} += "bash" - -FILES_${PN} = "${sbindir}/alsaconf \ - ${sbindir}/alsa-info.sh \ - ${sbindir}/alsabat-test.sh \ - " - -S = "${WORKDIR}/alsa-utils-${PV}" - -do_install() { - install -d ${D}${sbindir} - install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/ - install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/ - if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then - install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/ - fi -} diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.1.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.1.bb new file mode 100644 index 000000000..048fef68a --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.1.bb @@ -0,0 +1,25 @@ +require alsa-utils.inc + +SUMMARY = "Shell scripts that show help info and create ALSA configuration files" +PROVIDES = "alsa-utils-alsaconf" + +FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-utils:" + +PACKAGES = "${PN}" +RDEPENDS_${PN} += "bash" + +FILES_${PN} = "${sbindir}/alsaconf \ + ${sbindir}/alsa-info.sh \ + ${sbindir}/alsabat-test.sh \ + " + +S = "${WORKDIR}/alsa-utils-${PV}" + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/ + install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/ + if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then + install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/ + fi +} diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc index f2e8133d2..733bb2456 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc @@ -24,7 +24,7 @@ PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook # alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2" -SRC_URI[sha256sum] = "98ffc2d599de0577d423a48fa5f20a992ca0b82d812ed1f2e58ade49ac6da426" +SRC_URI[sha256sum] = "9c169ae37a49295f9b97b92ace772803daf6b6510a19574e0b78f87e562118d0" # On build machines with python-docutils (not python3-docutils !!) installed # rst2man (not rst2man.py) is detected and compile fails with diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb deleted file mode 100644 index 3430288da..000000000 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb +++ /dev/null @@ -1,2 +0,0 @@ -require alsa-utils.inc - diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.5.1.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.5.1.bb new file mode 100644 index 000000000..3430288da --- /dev/null +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.2.5.1.bb @@ -0,0 +1,2 @@ +require alsa-utils.inc + diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb index 664fc6066..3ed009bbb 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb @@ -129,6 +129,7 @@ EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', '--disable-mi EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mips64r2 --disable-mips32r2', '', d)}" EXTRA_OECONF_append_mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \ --disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2" +EXTRA_OECONF_append_riscv32 = " --extra-libs=-latomic" # gold crashes on x86, another solution is to --disable-asm but thats more hacky # ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684 diff --git a/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb b/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb deleted file mode 100644 index c4004619b..000000000 --- a/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "Ogg bitstream and framing libary" -DESCRIPTION = "libogg is the bitstream and framing library \ -for the Ogg project. It provides functions which are \ -necessary to codec libraries like libvorbis." -HOMEPAGE = "http://xiph.org/" -BUGTRACKER = "https://trac.xiph.org/newticket" -SECTION = "libs" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \ - file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b" - -SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz" - -SRC_URI[md5sum] = "eadef24aad6e3e8379ba0d14971fd64a" -SRC_URI[sha256sum] = "c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe" - -inherit autotools pkgconfig diff --git a/poky/meta/recipes-multimedia/libogg/libogg_1.3.5.bb b/poky/meta/recipes-multimedia/libogg/libogg_1.3.5.bb new file mode 100644 index 000000000..b4f02e404 --- /dev/null +++ b/poky/meta/recipes-multimedia/libogg/libogg_1.3.5.bb @@ -0,0 +1,17 @@ +SUMMARY = "Ogg bitstream and framing libary" +DESCRIPTION = "libogg is the bitstream and framing library \ +for the Ogg project. It provides functions which are \ +necessary to codec libraries like libvorbis." +HOMEPAGE = "http://xiph.org/" +BUGTRACKER = "https://trac.xiph.org/newticket" +SECTION = "libs" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \ + file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b" + +SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz" + +SRC_URI[md5sum] = "3178c98341559657a15b185bf5d700a5" +SRC_URI[sha256sum] = "c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705" + +inherit autotools pkgconfig diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb deleted file mode 100644 index 9a91cc89d..000000000 --- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb +++ /dev/null @@ -1,52 +0,0 @@ -SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" -DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ -mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ -and also can write the decoded audio to WAV." -HOMEPAGE = "http://mpg123.de/" -BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169" - -SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" -SRC_URI[sha256sum] = "52f6ceb962c05db0c043bb27acf5a721381f5f356ac4610e5221f50293891b04" - -UPSTREAM_CHECK_REGEX = "mpg123-(?P\d+(\.\d+)+)\.tar" - -inherit autotools pkgconfig - -# The options should be mutually exclusive for configuration script. -# If both alsa and pulseaudio are specified (as in the default distro features) -# pulseaudio takes precedence. -PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" - -PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" -PACKAGECONFIG[esd] = ",,esound" -PACKAGECONFIG[jack] = ",,jack" -PACKAGECONFIG[openal] = ",,openal-soft" -PACKAGECONFIG[portaudio] = ",,portaudio-v19" -PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" -PACKAGECONFIG[sdl] = ",,libsdl2" - -# Following are possible sound output modules: -# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi -AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}" -AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" - -EXTRA_OECONF = " \ - --enable-shared \ - --with-audio='${AUDIOMODS}' \ - ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ - ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-cpu=generic_nofpu', '', d)} \ -" -# Fails to build with thumb-1 (qemuarm) -#| {standard input}: Assembler messages: -#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' -#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24' -#... -#| make[3]: *** [equalizer.lo] Error 1 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.28.0.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.28.0.bb new file mode 100644 index 000000000..143a59ba6 --- /dev/null +++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.28.0.bb @@ -0,0 +1,52 @@ +SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3" +DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \ +mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \ +and also can write the decoded audio to WAV." +HOMEPAGE = "http://mpg123.de/" +BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169" + +SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2" +SRC_URI[sha256sum] = "e49466853685026da5d113dc7ff026b1b2ad0b57d78df693a446add9db88a7d5" + +UPSTREAM_CHECK_REGEX = "mpg123-(?P\d+(\.\d+)+)\.tar" + +inherit autotools pkgconfig + +# The options should be mutually exclusive for configuration script. +# If both alsa and pulseaudio are specified (as in the default distro features) +# pulseaudio takes precedence. +PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}" + +PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib" +PACKAGECONFIG[esd] = ",,esound" +PACKAGECONFIG[jack] = ",,jack" +PACKAGECONFIG[openal] = ",,openal-soft" +PACKAGECONFIG[portaudio] = ",,portaudio-v19" +PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio" +PACKAGECONFIG[sdl] = ",,libsdl2" + +# Following are possible sound output modules: +# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi +AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}" +AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}" + +EXTRA_OECONF = " \ + --enable-shared \ + --with-audio='${AUDIOMODS}' \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \ + ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-cpu=generic_nofpu', '', d)} \ +" +# Fails to build with thumb-1 (qemuarm) +#| {standard input}: Assembler messages: +#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4' +#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24' +#... +#| make[3]: *** [equalizer.lo] Error 1 +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb index 69c3faadc..44fa59700 100644 --- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb +++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb @@ -2,7 +2,7 @@ SUMMARY = "Simon Tatham's Portable Puzzle Collection" DESCRIPTION = "Collection of small computer programs which implement one-player puzzle games." HOMEPAGE = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENCE;md5=93c2525113e094a4a744cf14d4de07e2" +LIC_FILES_CHKSUM = "file://LICENCE;md5=6e7d24cf1c949887ee9447a1e2a4a24c" # gtk support includes a bunch of x11 headers REQUIRED_DISTRO_FEATURES = "x11" @@ -17,7 +17,7 @@ SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "c0da615a933a6676e2c6b957368067ca1bc10abd" +SRCREV = "8f3413c31ffd43c4ebde40894ac1b2f7cdf222c3" PE = "2" PV = "0.0+git${SRCPV}" diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb b/poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb deleted file mode 100644 index d90557e3a..000000000 --- a/poky/meta/recipes-sato/webkit/libwpe_1.10.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "General-purpose library specifically developed for the WPE-flavored port of WebKit." -HOMEPAGE = "https://github.com/WebPlatformForEmbedded/libwpe" -BUGTRACKER = "https://github.com/WebPlatformForEmbedded/libwpe/issues" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=371a616eb4903c6cb79e9893a5f615cc" -DEPENDS = "virtual/egl libxkbcommon" - -# Workaround build issue with RPi userland EGL libraries. -CFLAGS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '-D_GNU_SOURCE', d)}" - -inherit cmake features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "2415e270d45e3595ed4052bc105f733744dc2d3677e12ff4a831e5029841084d" - -# This is a tweak of upstream-version-is-even needed because -# ipstream directory contains tarballs for other components as well. -UPSTREAM_CHECK_REGEX = "libwpe-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb b/poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb new file mode 100644 index 000000000..4680c1e95 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/libwpe_1.10.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "General-purpose library specifically developed for the WPE-flavored port of WebKit." +HOMEPAGE = "https://github.com/WebPlatformForEmbedded/libwpe" +BUGTRACKER = "https://github.com/WebPlatformForEmbedded/libwpe/issues" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=371a616eb4903c6cb79e9893a5f615cc" +DEPENDS = "virtual/egl libxkbcommon" + +# Workaround build issue with RPi userland EGL libraries. +CFLAGS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', '-D_GNU_SOURCE', d)}" + +inherit cmake features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "a327b3ffcf2356dbe8148c1db4bbdc5359d7e7163d177f67551a8393b144adf0" + +# This is a tweak of upstream-version-is-even needed because +# ipstream directory contains tarballs for other components as well. +UPSTREAM_CHECK_REGEX = "libwpe-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb new file mode 100644 index 000000000..38a32dad1 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "WPE's backend based on a freedesktop.org stack." +HOMEPAGE = "https://github.com/Igalia/WPEBackend-fdo" +BUGTRACKER = "https://github.com/Igalia/WPEBackend-fdo/issues" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66" +DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy" + +DEPENDS_append_class-target = " wayland-native" + +inherit meson features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" +SRC_URI[sha256sum] = "b89dfd3500a4dec711132cd7bff72599e67d56a419d000730e14bb99547509cc" + +# This is a tweak of upstream-version-is-even needed because +# ipstream directory contains tarballs for other components as well. +UPSTREAM_CHECK_REGEX = "wpebackend-fdo-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb b/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb deleted file mode 100644 index 28b2a927a..000000000 --- a/poky/meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "WPE's backend based on a freedesktop.org stack." -HOMEPAGE = "https://github.com/Igalia/WPEBackend-fdo" -BUGTRACKER = "https://github.com/Igalia/WPEBackend-fdo/issues" - -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66" -DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy" - -DEPENDS_append_class-target = " wayland-native" - -inherit meson features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "def59bed5e8cdabb65ffa76ee2eef349fba7b42a75dac80f3da5954b17f4074a" - -# This is a tweak of upstream-version-is-even needed because -# ipstream directory contains tarballs for other components as well. -UPSTREAM_CHECK_REGEX = "wpebackend-fdo-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.40.1.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.40.1.bb deleted file mode 100644 index 83e1908ef..000000000 --- a/poky/meta/recipes-support/atk/at-spi2-core_2.40.1.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" - -DESCRIPTION = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked." - -HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" -BUGTRACKER = "http://bugzilla.gnome.org/" -LICENSE = "LGPL-2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "9f66e3a4ee42db897af478a826b1366d7011a6d55ddb7e9d4bfeb3300ab23856" - -X11DEPENDS = "virtual/libx11 libxi libxtst" - -DEPENDS = "dbus glib-2.0" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" - -inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection - -EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ - -Ddbus_daemon=${bindir}/dbus-daemon \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ -" - -GTKDOC_MESON_OPTION = "docs" - -GIR_MESON_OPTION = 'introspection' -GIR_MESON_ENABLE_FLAG = 'yes' -GIR_MESON_DISABLE_FLAG = 'no' - -FILES_${PN} += "${datadir}/dbus-1/services/*.service \ - ${datadir}/dbus-1/accessibility-services/*.service \ - ${datadir}/defaults/at-spi2 \ - ${systemd_user_unitdir}/at-spi-dbus-bus.service \ - " -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.40.2.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.40.2.bb new file mode 100644 index 000000000..ebd3ed49c --- /dev/null +++ b/poky/meta/recipes-support/atk/at-spi2-core_2.40.2.bb @@ -0,0 +1,39 @@ +SUMMARY = "Assistive Technology Service Provider Interface (dbus core)" + +DESCRIPTION = "It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform and a library against which applications can be linked." + +HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" +BUGTRACKER = "http://bugzilla.gnome.org/" +LICENSE = "LGPL-2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" + +SRC_URI[sha256sum] = "44dc17af943b0fd196c61c1e03b6c166960385cae96ccb5e95bdefffb6849f98" + +X11DEPENDS = "virtual/libx11 libxi libxtst" + +DEPENDS = "dbus glib-2.0" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" + +inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection + +EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ + -Ddbus_daemon=${bindir}/dbus-daemon \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ +" + +GTKDOC_MESON_OPTION = "docs" + +GIR_MESON_OPTION = 'introspection' +GIR_MESON_ENABLE_FLAG = 'yes' +GIR_MESON_DISABLE_FLAG = 'no' + +FILES_${PN} += "${datadir}/dbus-1/services/*.service \ + ${datadir}/dbus-1/accessibility-services/*.service \ + ${datadir}/defaults/at-spi2 \ + ${systemd_user_unitdir}/at-spi-dbus-bus.service \ + " +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch b/poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch new file mode 100644 index 000000000..a8305ff2e --- /dev/null +++ b/poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch @@ -0,0 +1,54 @@ +From 6064875bff2e52ba63f01911eb4deb79259c5e3b Mon Sep 17 00:00:00 2001 +From: Carlos Miguel Ferreira +Date: Thu, 3 Jun 2021 23:10:37 +0100 +Subject: [PATCH] Fixes wrong type for mutex in regex v5 + +With the Boost.Regex to ehader-only library, the declaration +of a mutex that should have been changed from boost::static_mutex +to std::mutex was left behind. This was preventing regex from +being built for older arm platforms [1] + +[1]: https://github.com/openwrt/packages/issues/15725 + +Upstream-Status: Submitted [https://github.com/boostorg/regex/pull/132] + +Signed-off-by: Carlos Miguel Ferreira +Signed-off-by: Mingli Yu +--- + boost/regex/v5/mem_block_cache.hpp | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/boost/regex/v5/mem_block_cache.hpp b/boost/regex/v5/mem_block_cache.hpp +index 0af4eae1..eb3ec776 100644 +--- a/boost/regex/v5/mem_block_cache.hpp ++++ b/boost/regex/v5/mem_block_cache.hpp +@@ -85,10 +85,10 @@ struct mem_block_node + struct mem_block_cache + { + // this member has to be statically initialsed: +- mem_block_node* next; +- unsigned cached_blocks; ++ mem_block_node* next { nullptr }; ++ unsigned cached_blocks { 0 }; + #ifdef BOOST_HAS_THREADS +- boost::static_mutex mut; ++ std::mutex mut; + #endif + + ~mem_block_cache() +@@ -133,11 +133,7 @@ struct mem_block_cache + } + static mem_block_cache& instance() + { +-#ifdef BOOST_HAS_THREADS +- static mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, }; +-#else +- static mem_block_cache block_cache = { 0, 0, }; +-#endif ++ static mem_block_cache block_cache; + return block_cache; + } + }; +-- +2.29.2 + diff --git a/poky/meta/recipes-support/boost/boost_1.76.0.bb b/poky/meta/recipes-support/boost/boost_1.76.0.bb index 23b0ffc67..ae91b1c87 100644 --- a/poky/meta/recipes-support/boost/boost_1.76.0.bb +++ b/poky/meta/recipes-support/boost/boost_1.76.0.bb @@ -7,4 +7,5 @@ SRC_URI += " \ file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \ file://0001-dont-setup-compiler-flags-m32-m64.patch \ file://0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch \ + file://0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch \ " diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_175.bb b/poky/meta/recipes-support/diffoscope/diffoscope_175.bb deleted file mode 100644 index 853f8dd3a..000000000 --- a/poky/meta/recipes-support/diffoscope/diffoscope_175.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "in-depth comparison of files, archives, and directories" -DESCRIPTION = "Tries to get to the bottom of what makes files or directories \ -different. It will recursively unpack archives of many kinds and transform \ -various binary formats into more human-readable form to compare them. \ -It can compare two tarballs, ISO images, or PDF just as easily." -HOMEPAGE = "https://diffoscope.org/" -BUGTRACKER = "https://salsa.debian.org/reproducible-builds/diffoscope/-/issues" -LICENSE = "GPL-3.0+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -PYPI_PACKAGE = "diffoscope" - -inherit pypi setuptools3 - -SRC_URI[sha256sum] = "b87481752815140e35088647ccdea13297e41a2d72772e842590360b662f7533" - -RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm" - -# Dependencies don't build for musl -COMPATIBLE_HOST_libc-musl = 'null' - -do_install_append_class-native() { - create_wrapper ${D}${bindir}/diffoscope \ - MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ - RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ - LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ - RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} -} - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_177.bb b/poky/meta/recipes-support/diffoscope/diffoscope_177.bb new file mode 100644 index 000000000..0d9061dda --- /dev/null +++ b/poky/meta/recipes-support/diffoscope/diffoscope_177.bb @@ -0,0 +1,30 @@ +SUMMARY = "in-depth comparison of files, archives, and directories" +DESCRIPTION = "Tries to get to the bottom of what makes files or directories \ +different. It will recursively unpack archives of many kinds and transform \ +various binary formats into more human-readable form to compare them. \ +It can compare two tarballs, ISO images, or PDF just as easily." +HOMEPAGE = "https://diffoscope.org/" +BUGTRACKER = "https://salsa.debian.org/reproducible-builds/diffoscope/-/issues" +LICENSE = "GPL-3.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +PYPI_PACKAGE = "diffoscope" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "8ac0cad150914bab2a53caa3f21876a78b092f3d2a36b9134874cd5c04a26b2e" + +RDEPENDS_${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm" + +# Dependencies don't build for musl +COMPATIBLE_HOST_libc-musl = 'null' + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/diffoscope \ + MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ + RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ + LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE} \ + RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} +} + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/enchant/enchant2_2.2.15.bb b/poky/meta/recipes-support/enchant/enchant2_2.2.15.bb deleted file mode 100644 index ed87f11a8..000000000 --- a/poky/meta/recipes-support/enchant/enchant2_2.2.15.bb +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "Enchant Spell checker API Library" -DESCRIPTION = "A library (and command-line program) that wraps a number of \ -different spelling libraries and programs with a consistent interface." -SECTION = "libs" -HOMEPAGE = "https://abiword.github.io/enchant/" -BUGTRACKER = "https://github.com/AbiWord/enchant/issues/" -LICENSE = "LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "glib-2.0" - -inherit autotools pkgconfig - -SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz" -SRC_URI[sha256sum] = "3b0f2215578115f28e2a6aa549b35128600394304bd79d6f28b0d3b3d6f46c03" - -UPSTREAM_CHECK_URI = "https://github.com/AbiWord/enchant/releases" - -S = "${WORKDIR}/enchant-${PV}" - -EXTRA_OEMAKE = "pkgdatadir=${datadir}/enchant-2" - -PACKAGECONFIG ??= "aspell" -PACKAGECONFIG[aspell] = "--with-aspell,--without-aspell,aspell,aspell" -PACKAGECONFIG[hunspell] = "--with-hunspell,--without-hunspell,hunspell,hunspell" - -FILES_${PN} += " \ - ${datadir}/enchant-2 \ - ${libdir}/enchant-2 \ -" -FILES_${PN}-staticdev += "${libdir}/enchant-2/*.a" diff --git a/poky/meta/recipes-support/enchant/enchant2_2.3.0.bb b/poky/meta/recipes-support/enchant/enchant2_2.3.0.bb new file mode 100644 index 000000000..5d0f10d0b --- /dev/null +++ b/poky/meta/recipes-support/enchant/enchant2_2.3.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "Enchant Spell checker API Library" +DESCRIPTION = "A library (and command-line program) that wraps a number of \ +different spelling libraries and programs with a consistent interface." +SECTION = "libs" +HOMEPAGE = "https://abiword.github.io/enchant/" +BUGTRACKER = "https://github.com/AbiWord/enchant/issues/" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0" + +inherit autotools pkgconfig + +SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz" +SRC_URI[sha256sum] = "df68063b6c13b245fa7246b0e098a03e74f7a91c6d8947bc5c4f42ce55e2e41d" + +UPSTREAM_CHECK_URI = "https://github.com/AbiWord/enchant/releases" + +S = "${WORKDIR}/enchant-${PV}" + +EXTRA_OEMAKE = "pkgdatadir=${datadir}/enchant-2" + +PACKAGECONFIG ??= "aspell" +PACKAGECONFIG[aspell] = "--with-aspell,--without-aspell,aspell,aspell" +PACKAGECONFIG[hunspell] = "--with-hunspell,--without-hunspell,hunspell,hunspell" + +FILES_${PN} += " \ + ${datadir}/enchant-2 \ + ${libdir}/enchant-2 \ +" +FILES_${PN}-staticdev += "${libdir}/enchant-2/*.a" diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb deleted file mode 100644 index 350d0a018..000000000 --- a/poky/meta/recipes-support/gnutls/gnutls_3.7.1.bb +++ /dev/null @@ -1,69 +0,0 @@ -SUMMARY = "GNU Transport Layer Security Library" -DESCRIPTION = "a secure communications library implementing the SSL, \ -TLS and DTLS protocols and technologies around them." -HOMEPAGE = "https://gnutls.org/" -BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls" - -LICENSE = "GPLv3+ & LGPLv2.1+" -LICENSE_${PN} = "LGPLv2.1+" -LICENSE_${PN}-xx = "LGPLv2.1+" -LICENSE_${PN}-bin = "GPLv3+" -LICENSE_${PN}-openssl = "GPLv3+" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ - file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ - file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343" - -DEPENDS = "nettle gmp virtual/libiconv libunistring" -DEPENDS_append_libc-musl = " argp-standalone" - -SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" - -SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ - file://arm_eabi.patch \ - " - -SRC_URI[sha256sum] = "3777d7963eca5e06eb315686163b7b3f5045e2baac5e54e038ace9835e5cac6f" - -inherit autotools texinfo pkgconfig gettext lib_package gtk-doc - -PACKAGECONFIG ??= "libidn ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}" - -# You must also have CONFIG_SECCOMP enabled in the kernel for -# seccomp to work. -PACKAGECONFIG[seccomp] = "--with-libseccomp-prefix=${STAGING_EXECPREFIXDIR},ac_cv_libseccomp=no,libseccomp" -PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" -PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" -PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" -PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" - -EXTRA_OECONF = " \ - --enable-doc \ - --disable-libdane \ - --disable-guile \ - --disable-rpath \ - --enable-local-libopts \ - --enable-openssl-compatibility \ - --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ - --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \ - --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ -" - -# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell. -export POSIX_SHELL="${base_bindir}/sh" - -LDFLAGS_append_libc-musl = " -largp" - -do_configure_prepend() { - for dir in . lib; do - rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4 - done -} - -PACKAGES =+ "${PN}-openssl ${PN}-xx" - -FILES_${PN}-dev += "${bindir}/gnutls-cli-debug" -FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" -FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.2.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.2.bb new file mode 100644 index 000000000..430d1f2d7 --- /dev/null +++ b/poky/meta/recipes-support/gnutls/gnutls_3.7.2.bb @@ -0,0 +1,69 @@ +SUMMARY = "GNU Transport Layer Security Library" +DESCRIPTION = "a secure communications library implementing the SSL, \ +TLS and DTLS protocols and technologies around them." +HOMEPAGE = "https://gnutls.org/" +BUGTRACKER = "https://savannah.gnu.org/support/?group=gnutls" + +LICENSE = "GPLv3+ & LGPLv2.1+" +LICENSE_${PN} = "LGPLv2.1+" +LICENSE_${PN}-xx = "LGPLv2.1+" +LICENSE_${PN}-bin = "GPLv3+" +LICENSE_${PN}-openssl = "GPLv3+" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=71391c8e0c1cfe68077e7fce3b586283 \ + file://doc/COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \ + file://doc/COPYING.LESSER;md5=a6f89e2100d9b6cdffcea4f398e37343" + +DEPENDS = "nettle gmp virtual/libiconv libunistring" +DEPENDS_append_libc-musl = " argp-standalone" + +SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" + +SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ + file://arm_eabi.patch \ + " + +SRC_URI[sha256sum] = "646e6c5a9a185faa4cea796d378a1ba8e1148dbb197ca6605f95986a25af2752" + +inherit autotools texinfo pkgconfig gettext lib_package gtk-doc + +PACKAGECONFIG ??= "libidn ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}" + +# You must also have CONFIG_SECCOMP enabled in the kernel for +# seccomp to work. +PACKAGECONFIG[seccomp] = "--with-libseccomp-prefix=${STAGING_EXECPREFIXDIR},ac_cv_libseccomp=no,libseccomp" +PACKAGECONFIG[libidn] = "--with-idn,--without-idn,libidn2" +PACKAGECONFIG[libtasn1] = "--with-included-libtasn1=no,--with-included-libtasn1,libtasn1" +PACKAGECONFIG[p11-kit] = "--with-p11-kit,--without-p11-kit,p11-kit" +PACKAGECONFIG[tpm] = "--with-tpm,--without-tpm,trousers" + +EXTRA_OECONF = " \ + --enable-doc \ + --disable-libdane \ + --disable-guile \ + --disable-rpath \ + --enable-local-libopts \ + --enable-openssl-compatibility \ + --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-librt-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ +" + +# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell. +export POSIX_SHELL="${base_bindir}/sh" + +LDFLAGS_append_libc-musl = " -largp" + +do_configure_prepend() { + for dir in . lib; do + rm -f ${dir}/aclocal.m4 ${dir}/m4/libtool.m4 ${dir}/m4/lt*.m4 + done +} + +PACKAGES =+ "${PN}-openssl ${PN}-xx" + +FILES_${PN}-dev += "${bindir}/gnutls-cli-debug" +FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*" +FILES_${PN}-xx = "${libdir}/libgnutlsxx.so.*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch index d2653afb7..414e45a6f 100644 --- a/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch +++ b/poky/meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch @@ -1,4 +1,4 @@ -From 6aa15fe548e5b1d6ca3b373779beb7521ea95ba9 Mon Sep 17 00:00:00 2001 +From 897900f3f9084c5542097851323bba3f2691df20 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 15 Jan 2020 17:16:28 +0100 Subject: [PATCH] tests: do not statically link a test @@ -7,26 +7,27 @@ This fails on e.g. centos 7 Upstream-Status: Inappropriate [oe-core specific] Signed-off-by: Alexander Kanavin + --- progs/Makefile | 2 +- tests/Makefile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/progs/Makefile b/progs/Makefile -index 1d7fc7a..37db8f7 100644 +index 289186e..071a285 100644 --- a/progs/Makefile +++ b/progs/Makefile -@@ -42,7 +42,7 @@ endif - test: $(PROGS) +@@ -49,7 +49,7 @@ capsh: capsh.c capshdoc.h.cf $(DEPS) + $(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS) - tcapsh-static: capsh.c $(DEPS) + tcapsh-static: capsh.c capshdoc.h.cf $(DEPS) - $(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS) --static + $(CC) $(IPATH) $(CAPSH_SHELL) $(CFLAGS) -o $@ $< $(LIBCAPLIB) $(LDFLAGS) sudotest: test tcapsh-static sudo $(LDPATH) ./quicktest.sh diff --git a/tests/Makefile b/tests/Makefile -index 01f7589..094ec57 100644 +index 4a5f2f9..4266d86 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -22,7 +22,7 @@ ifeq ($(PTHREADS),yes) @@ -38,7 +39,7 @@ index 01f7589..094ec57 100644 DEPS=../libcap/libcap.a ifeq ($(PTHREADS),yes) DEPS += ../libcap/libpsx.a -@@ -106,7 +106,7 @@ noexploit: exploit.o $(DEPS) +@@ -113,7 +113,7 @@ noexploit: exploit.o $(DEPS) # This one runs in a chroot with no shared library files. noop: noop.c @@ -46,7 +47,4 @@ index 01f7589..094ec57 100644 + $(CC) $(CFLAGS) $< -o $@ clean: - rm -f psx_test libcap_psx_test libcap_launch_test *~ --- -2.17.1 - + rm -f psx_test libcap_psx_test libcap_launch_test uns_test *~ diff --git a/poky/meta/recipes-support/libcap/libcap_2.49.bb b/poky/meta/recipes-support/libcap/libcap_2.49.bb deleted file mode 100644 index eb9fc5b4b..000000000 --- a/poky/meta/recipes-support/libcap/libcap_2.49.bb +++ /dev/null @@ -1,73 +0,0 @@ -SUMMARY = "Library for getting/setting POSIX.1e capabilities" -DESCRIPTION = "A library providing the API to access POSIX capabilities. \ -These allow giving various kinds of specific privileges to individual \ -users, without giving them full root permissions." -HOMEPAGE = "http://sites.google.com/site/fullycapable/" -# no specific GPL version required -LICENSE = "BSD | GPLv2" -LIC_FILES_CHKSUM = "file://License;md5=e2370ba375efe9e1a095c26d37e483b8" - -DEPENDS = "hostperl-runtime-native gperf-native" - -SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \ - file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ - file://0002-tests-do-not-run-target-executables.patch \ - file://0001-tests-do-not-statically-link-a-test.patch \ - " -SRC_URI[sha256sum] = "e98bc4d93645082ec787730b0fd1a712b38882465c505777de17c338831ee181" - -UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/" - -inherit lib_package - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" -PACKAGECONFIG_class-native ??= "" - -PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam" - -EXTRA_OEMAKE = " \ - INDENT= \ - lib='${baselib}' \ - RAISE_SETFCAP=no \ - DYNAMIC=yes \ - BUILD_GPERF=yes \ -" - -EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}" - -do_compile() { - unset CFLAGS BUILD_CFLAGS - oe_runmake \ - ${PACKAGECONFIG_CONFARGS} \ - AR="${AR}" \ - CC="${CC}" \ - RANLIB="${RANLIB}" \ - COPTS="${CFLAGS}" \ - BUILD_COPTS="${BUILD_CFLAGS}" -} - -do_install() { - oe_runmake install \ - ${PACKAGECONFIG_CONFARGS} \ - DESTDIR="${D}" \ - prefix="${prefix}" \ - SBINDIR="${sbindir}" -} - -do_install_append() { - # Move the library to base_libdir - install -d ${D}${base_libdir} - if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then - mv ${D}${libdir}/libcap* ${D}${base_libdir} - if [ -d ${D}${libdir}/security ]; then - mv ${D}${libdir}/security ${D}${base_libdir} - fi - fi -} - -FILES_${PN}-dev += "${base_libdir}/*.so" - -# pam files -FILES_${PN} += "${base_libdir}/security/*.so" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libcap/libcap_2.50.bb b/poky/meta/recipes-support/libcap/libcap_2.50.bb new file mode 100644 index 000000000..15137f0ac --- /dev/null +++ b/poky/meta/recipes-support/libcap/libcap_2.50.bb @@ -0,0 +1,73 @@ +SUMMARY = "Library for getting/setting POSIX.1e capabilities" +DESCRIPTION = "A library providing the API to access POSIX capabilities. \ +These allow giving various kinds of specific privileges to individual \ +users, without giving them full root permissions." +HOMEPAGE = "http://sites.google.com/site/fullycapable/" +# no specific GPL version required +LICENSE = "BSD | GPLv2" +LIC_FILES_CHKSUM = "file://License;md5=e2370ba375efe9e1a095c26d37e483b8" + +DEPENDS = "hostperl-runtime-native gperf-native" + +SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${PV}.tar.xz \ + file://0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch \ + file://0002-tests-do-not-run-target-executables.patch \ + file://0001-tests-do-not-statically-link-a-test.patch \ + " +SRC_URI[sha256sum] = "47a57b8bd238b84c93c921a9b4ff82337551dbcb0cca071316aadf3e23b19261" + +UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/" + +inherit lib_package + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" +PACKAGECONFIG_class-native ??= "" + +PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam" + +EXTRA_OEMAKE = " \ + INDENT= \ + lib='${baselib}' \ + RAISE_SETFCAP=no \ + DYNAMIC=yes \ + BUILD_GPERF=yes \ +" + +EXTRA_OEMAKE_append_class-target = " SYSTEM_HEADERS=${STAGING_INCDIR}" + +do_compile() { + unset CFLAGS BUILD_CFLAGS + oe_runmake \ + ${PACKAGECONFIG_CONFARGS} \ + AR="${AR}" \ + CC="${CC}" \ + RANLIB="${RANLIB}" \ + COPTS="${CFLAGS}" \ + BUILD_COPTS="${BUILD_CFLAGS}" +} + +do_install() { + oe_runmake install \ + ${PACKAGECONFIG_CONFARGS} \ + DESTDIR="${D}" \ + prefix="${prefix}" \ + SBINDIR="${sbindir}" +} + +do_install_append() { + # Move the library to base_libdir + install -d ${D}${base_libdir} + if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then + mv ${D}${libdir}/libcap* ${D}${base_libdir} + if [ -d ${D}${libdir}/security ]; then + mv ${D}${libdir}/security ${D}${base_libdir} + fi + fi +} + +FILES_${PN}-dev += "${base_libdir}/*.so" + +# pam files +FILES_${PN} += "${base_libdir}/security/*.so" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.2.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.2.bb deleted file mode 100644 index 34735ea5d..000000000 --- a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.2.bb +++ /dev/null @@ -1,61 +0,0 @@ -SUMMARY = "General purpose cryptographic library based on the code from GnuPG" -DESCRIPTION = "A cryptography library developed as a separated module of GnuPG. \ -It can also be used independently of GnuPG, but depends on its error-reporting \ -library Libgpg-error." -HOMEPAGE = "http://directory.fsf.org/project/libgcrypt/" -BUGTRACKER = "https://bugs.g10code.com/gnupg/index" -SECTION = "libs" - -# helper program gcryptrnd and getrandom are under GPL, rest LGPL -LICENSE = "GPLv2+ & LGPLv2.1+ & GPLv3+" -LICENSE_${PN} = "LGPLv2.1+" -LICENSE_${PN}-dev = "GPLv2+ & LGPLv2.1+" -LICENSE_dumpsexp-dev = "GPLv3+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff \ - file://LICENSES;md5=2dae15d91a37cfde72fe9eae75f8ea14 \ - " - -DEPENDS = "libgpg-error" - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \ - file://0001-libgcrypt-fix-m4-file-for-oe-core.patch \ - file://0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch \ - file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ - file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \ - file://0001-Makefile.am-add-a-missing-space.patch \ - " -SRC_URI[sha256sum] = "b2c10d091513b271e47177274607b1ffba3d95b188bbfa8797f948aec9053c5a" - -# Below whitelisted CVEs are disputed and not affecting crypto libraries for any distro. -CVE_CHECK_WHITELIST += "CVE-2018-12433 CVE-2018-12438" - -BINCONFIG = "${bindir}/libgcrypt-config" - -inherit autotools texinfo binconfig-disabled pkgconfig - -EXTRA_OECONF = "--disable-asm" -EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'" - -PACKAGECONFIG ??= "capabilities" -PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap" - -do_configure_prepend () { - # Else this could be used in preference to the one in aclocal-copy - rm -f ${S}/m4/gpg-error.m4 -} - -# libgcrypt.pc is added locally and thus installed here -do_install_append() { - install -d ${D}/${libdir}/pkgconfig - install -m 0644 ${B}/src/libgcrypt.pc ${D}/${libdir}/pkgconfig/ -} - -PACKAGES =+ "dumpsexp-dev" - -FILES_${PN}-dev += "${bindir}/hmac256" -FILES_dumpsexp-dev += "${bindir}/dumpsexp" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb new file mode 100644 index 000000000..fd3d8e09f --- /dev/null +++ b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb @@ -0,0 +1,61 @@ +SUMMARY = "General purpose cryptographic library based on the code from GnuPG" +DESCRIPTION = "A cryptography library developed as a separated module of GnuPG. \ +It can also be used independently of GnuPG, but depends on its error-reporting \ +library Libgpg-error." +HOMEPAGE = "http://directory.fsf.org/project/libgcrypt/" +BUGTRACKER = "https://bugs.g10code.com/gnupg/index" +SECTION = "libs" + +# helper program gcryptrnd and getrandom are under GPL, rest LGPL +LICENSE = "GPLv2+ & LGPLv2.1+ & GPLv3+" +LICENSE_${PN} = "LGPLv2.1+" +LICENSE_${PN}-dev = "GPLv2+ & LGPLv2.1+" +LICENSE_dumpsexp-dev = "GPLv3+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff \ + file://LICENSES;md5=42fa35a25e138166cc40588387f9159d \ + " + +DEPENDS = "libgpg-error" + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \ + file://0001-libgcrypt-fix-m4-file-for-oe-core.patch \ + file://0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch \ + file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ + file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \ + file://0001-Makefile.am-add-a-missing-space.patch \ + " +SRC_URI[sha256sum] = "97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd" + +# Below whitelisted CVEs are disputed and not affecting crypto libraries for any distro. +CVE_CHECK_WHITELIST += "CVE-2018-12433 CVE-2018-12438" + +BINCONFIG = "${bindir}/libgcrypt-config" + +inherit autotools texinfo binconfig-disabled pkgconfig + +EXTRA_OECONF = "--disable-asm" +EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'" + +PACKAGECONFIG ??= "capabilities" +PACKAGECONFIG[capabilities] = "--with-capabilities,--without-capabilities,libcap" + +do_configure_prepend () { + # Else this could be used in preference to the one in aclocal-copy + rm -f ${S}/m4/gpg-error.m4 +} + +# libgcrypt.pc is added locally and thus installed here +do_install_append() { + install -d ${D}/${libdir}/pkgconfig + install -m 0644 ${B}/src/libgcrypt.pc ${D}/${libdir}/pkgconfig/ +} + +PACKAGES =+ "dumpsexp-dev" + +FILES_${PN}-dev += "${bindir}/hmac256" +FILES_dumpsexp-dev += "${bindir}/dumpsexp" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libksba/libksba_1.5.1.bb b/poky/meta/recipes-support/libksba/libksba_1.5.1.bb deleted file mode 100644 index aa296c6b9..000000000 --- a/poky/meta/recipes-support/libksba/libksba_1.5.1.bb +++ /dev/null @@ -1,34 +0,0 @@ -SUMMARY = "Easy API to create and parse X.509 and CMS related objects" -DESCRIPTION = "A library to make the tasks of working with X.509 certificates, \ -CMS data and related objects more easy. It provides a highlevel interface to \ -the implemented protocols and presents the data in a consistent way. The \ -library does not rely on another cryptographic library but provides \ -hooks for easy integration with Libgcrypt. " -HOMEPAGE = "http://www.gnupg.org/related_software/libksba/" -LICENSE = "GPLv3+ & (GPLv2+ | LGPLv3+)" -LICENSE_${PN} = "GPLv2+ | LGPLv3+" -LICENSE_${PN}-doc = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=fd541d83f75d038c4e0617b672ed8bda \ - file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.GPLv3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ - file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ - " - -DEPENDS = "libgpg-error" - -BINCONFIG = "${bindir}/ksba-config" - -inherit autotools binconfig-disabled pkgconfig texinfo - -UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" -SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ - file://ksba-add-pkgconfig-support.patch" - -SRC_URI[sha256sum] = "b0f4c65e4e447d9a2349f6b8c0e77a28be9531e4548ba02c545d1f46dc7bf921" - -do_configure_prepend () { - # Else these could be used in preference to those in aclocal-copy - rm -f ${S}/m4/gpg-error.m4 -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/libksba/libksba_1.6.0.bb b/poky/meta/recipes-support/libksba/libksba_1.6.0.bb new file mode 100644 index 000000000..552007d6c --- /dev/null +++ b/poky/meta/recipes-support/libksba/libksba_1.6.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "Easy API to create and parse X.509 and CMS related objects" +DESCRIPTION = "A library to make the tasks of working with X.509 certificates, \ +CMS data and related objects more easy. It provides a highlevel interface to \ +the implemented protocols and presents the data in a consistent way. The \ +library does not rely on another cryptographic library but provides \ +hooks for easy integration with Libgcrypt. " +HOMEPAGE = "http://www.gnupg.org/related_software/libksba/" +LICENSE = "GPLv3+ & (GPLv2+ | LGPLv3+)" +LICENSE_${PN} = "GPLv2+ | LGPLv3+" +LICENSE_${PN}-doc = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=fd541d83f75d038c4e0617b672ed8bda \ + file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.GPLv3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ + file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ + " + +DEPENDS = "libgpg-error" + +BINCONFIG = "${bindir}/ksba-config" + +inherit autotools binconfig-disabled pkgconfig texinfo + +UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" +SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://ksba-add-pkgconfig-support.patch" + +SRC_URI[sha256sum] = "dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b" + +do_configure_prepend () { + # Else these could be used in preference to those in aclocal-copy + rm -f ${S}/m4/gpg-error.m4 +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.12.2.bb b/poky/meta/recipes-support/liburcu/liburcu_0.12.2.bb deleted file mode 100644 index b493e939c..000000000 --- a/poky/meta/recipes-support/liburcu/liburcu_0.12.2.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Userspace RCU (read-copy-update) library" -DESCRIPTION = "A userspace RCU (read-copy-update) library. This data \ -synchronization library provides read-side access which scales linearly \ -with the number of cores. " -HOMEPAGE = "http://lttng.org/urcu" -BUGTRACKER = "http://lttng.org/project/issues" - -LICENSE = "LGPLv2.1+ & MIT-style" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \ - file://include/urcu/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ - file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b" - -SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2" - -SRC_URI[md5sum] = "d94347df78e3f1aa744745eb85787df5" -SRC_URI[sha256sum] = "4eefc11e4f6c212fc7d84d871e1cc139da0669a46ff3fda557a6fdd4d74ca67b" - -S = "${WORKDIR}/userspace-rcu-${PV}" -inherit autotools multilib_header - -CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT" - -do_install_append() { - oe_multilib_header urcu/config.h -} diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.13.0.bb b/poky/meta/recipes-support/liburcu/liburcu_0.13.0.bb new file mode 100644 index 000000000..c9fef8978 --- /dev/null +++ b/poky/meta/recipes-support/liburcu/liburcu_0.13.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Userspace RCU (read-copy-update) library" +DESCRIPTION = "A userspace RCU (read-copy-update) library. This data \ +synchronization library provides read-side access which scales linearly \ +with the number of cores. " +HOMEPAGE = "http://lttng.org/urcu" +BUGTRACKER = "http://lttng.org/project/issues" + +LICENSE = "LGPLv2.1+ & MIT-style" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \ + file://include/urcu/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ + file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b" + +SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2" + +SRC_URI[md5sum] = "8cb75dbb05774c03e66c63cb3186dd59" +SRC_URI[sha256sum] = "cbb20dbe1a892c2a4d8898bac4316176e585392693d498766ccbbc68cf20ba20" + +S = "${WORKDIR}/userspace-rcu-${PV}" +inherit autotools multilib_header + +CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT" + +do_install_append() { + oe_multilib_header urcu/config.h +} diff --git a/poky/meta/recipes-support/nettle/nettle_3.7.2.bb b/poky/meta/recipes-support/nettle/nettle_3.7.2.bb deleted file mode 100644 index f8f336008..000000000 --- a/poky/meta/recipes-support/nettle/nettle_3.7.2.bb +++ /dev/null @@ -1,57 +0,0 @@ -SUMMARY = "A low level cryptographic library" -DESCRIPTION = "Nettle is a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space." -HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/" -DESCRIPTION = "It tries to solve a problem of providing a common set of \ -cryptographic algorithms for higher-level applications by implementing a \ -context-independent set of cryptographic algorithms" -SECTION = "libs" -LICENSE = "LGPLv3+ | GPLv2+" - -LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \ - file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e" - -DEPENDS += "gmp" - -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ - file://Add-target-to-only-build-tests-not-run-them.patch \ - file://run-ptest \ - file://check-header-files-of-openssl-only-if-enable_.patch \ - " - -SRC_URI_append_class-target = "\ - file://dlopen-test.patch \ - " - -SRC_URI[sha256sum] = "8d2a604ef1cde4cd5fb77e422531ea25ad064679ff0adf956e78b3352e0ef162" - -UPSTREAM_CHECK_REGEX = "nettle-(?P\d+(\.\d+)+)\.tar" - -inherit autotools ptest multilib_header - -EXTRA_AUTORECONF += "--exclude=aclocal" - -EXTRA_OECONF = "--disable-openssl" - -do_compile_ptest() { - oe_runmake buildtest -} - -do_install_append() { - oe_multilib_header nettle/version.h -} - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ - install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ - # tools can be found in PATH, not in ../tools/ - sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test - install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ -} - -RDEPENDS_${PN}-ptest += "${PN}-dev" -INSANE_SKIP_${PN}-ptest += "dev-deps" - -BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/nettle/nettle_3.7.3.bb b/poky/meta/recipes-support/nettle/nettle_3.7.3.bb new file mode 100644 index 000000000..031500d74 --- /dev/null +++ b/poky/meta/recipes-support/nettle/nettle_3.7.3.bb @@ -0,0 +1,57 @@ +SUMMARY = "A low level cryptographic library" +DESCRIPTION = "Nettle is a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space." +HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/" +DESCRIPTION = "It tries to solve a problem of providing a common set of \ +cryptographic algorithms for higher-level applications by implementing a \ +context-independent set of cryptographic algorithms" +SECTION = "libs" +LICENSE = "LGPLv3+ | GPLv2+" + +LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \ + file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e" + +DEPENDS += "gmp" + +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://Add-target-to-only-build-tests-not-run-them.patch \ + file://run-ptest \ + file://check-header-files-of-openssl-only-if-enable_.patch \ + " + +SRC_URI_append_class-target = "\ + file://dlopen-test.patch \ + " + +SRC_URI[sha256sum] = "661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0" + +UPSTREAM_CHECK_REGEX = "nettle-(?P\d+(\.\d+)+)\.tar" + +inherit autotools ptest multilib_header + +EXTRA_AUTORECONF += "--exclude=aclocal" + +EXTRA_OECONF = "--disable-openssl" + +do_compile_ptest() { + oe_runmake buildtest +} + +do_install_append() { + oe_multilib_header nettle/version.h +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/ + install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ + # tools can be found in PATH, not in ../tools/ + sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test + install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/ +} + +RDEPENDS_${PN}-ptest += "${PN}-dev" +INSANE_SKIP_${PN}-ptest += "dev-deps" + +BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb deleted file mode 100644 index 623afccb5..000000000 --- a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Provides a way to load and enumerate PKCS#11 modules" -DESCRIPTION = " Provides a standard configuration setup for installing PKCS#11 modules in such a way that they're discoverable. Also solves problems with coordinating the use of PKCS#11 by different components or libraries living in the same process." -HOMEPAGE = "https://p11-glue.github.io/p11-glue/p11-kit.html" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50" - -inherit meson gettext pkgconfig gtk-doc bash-completion manpages - -DEPENDS = "libtasn1 libtasn1-native libffi" - -DEPENDS_append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}" - -SRC_URI = "git://github.com/p11-glue/p11-kit;branch=0.23" -SRCREV = "bd97afbfe28d5fbbde95ce36ff7a8834fc0291ee" -S = "${WORKDIR}/git" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native" -PACKAGECONFIG[trust-paths] = "-Dtrust_paths=/etc/ssl/certs/ca-certificates.crt,,,ca-certificates" - -GTKDOC_MESON_OPTION = 'gtk_doc' - -FILES_${PN} += " \ - ${libdir}/p11-kit-proxy.so \ - ${libdir}/pkcs11/*.so \ - ${libdir}/pkcs11/*.la \ - ${systemd_user_unitdir}/*" - -# PN contains p11-kit-proxy.so, a symlink to a loadable module -INSANE_SKIP_${PN} = "dev-so" - -BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.24.0.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.24.0.bb new file mode 100644 index 000000000..6759168b3 --- /dev/null +++ b/poky/meta/recipes-support/p11-kit/p11-kit_0.24.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "Provides a way to load and enumerate PKCS#11 modules" +DESCRIPTION = " Provides a standard configuration setup for installing PKCS#11 modules in such a way that they're discoverable. Also solves problems with coordinating the use of PKCS#11 by different components or libraries living in the same process." +HOMEPAGE = "https://p11-glue.github.io/p11-glue/p11-kit.html" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50" + +inherit meson gettext pkgconfig gtk-doc bash-completion manpages + +DEPENDS = "libtasn1 libtasn1-native libffi" + +DEPENDS_append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}" + +SRC_URI = "git://github.com/p11-glue/p11-kit" +SRCREV = "34826623f58399b24c21f1788e2cdaea34521b7b" +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native" +PACKAGECONFIG[trust-paths] = "-Dtrust_paths=/etc/ssl/certs/ca-certificates.crt,,,ca-certificates" + +GTKDOC_MESON_OPTION = 'gtk_doc' + +FILES_${PN} += " \ + ${libdir}/p11-kit-proxy.so \ + ${libdir}/pkcs11/*.so \ + ${libdir}/pkcs11/*.la \ + ${systemd_user_unitdir}/*" + +# PN contains p11-kit-proxy.so, a symlink to a loadable module +INSANE_SKIP_${PN} = "dev-so" + +BBCLASSEXTEND = "nativesdk" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.12.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.12.bb deleted file mode 100644 index 967370098..000000000 --- a/poky/meta/recipes-support/rng-tools/rng-tools_6.12.bb +++ /dev/null @@ -1,60 +0,0 @@ -SUMMARY = "Random number generator daemon" -DESCRIPTION = "Check and feed random data from hardware device to kernel" -AUTHOR = "Philipp Rumpf, Jeff Garzik , \ - Henrique de Moraes Holschuh " -HOMEPAGE = "https://github.com/nhorman/rng-tools" -BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "sysfsutils openssl" - -SRC_URI = "\ - git://github.com/nhorman/rng-tools.git \ - file://init \ - file://default \ - file://rngd.service \ -" -SRCREV = "a2cd12bc253a014328b87137559fd4e1ab296d9b" - -S = "${WORKDIR}/git" - -inherit autotools update-rc.d systemd pkgconfig - -EXTRA_OECONF = "--without-rtlsdr" - -PACKAGECONFIG ??= "libjitterentropy" -PACKAGECONFIG_libc-musl = "libargp libjitterentropy" - -PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," -PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" -PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl" -PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." - -SYSTEMD_SERVICE_${PN} = "rngd.service" - -# Refer autogen.sh in rng-tools -do_configure_prepend() { - cp ${S}/README.md ${S}/README -} - -do_install_append() { - install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools - install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - install -Dm 0644 ${WORKDIR}/rngd.service \ - ${D}${systemd_system_unitdir}/rngd.service - sed -i \ - -e 's,@SYSCONFDIR@,${sysconfdir},g' \ - -e 's,@SBINDIR@,${sbindir},g' \ - ${D}${sysconfdir}/init.d/rng-tools \ - ${D}${systemd_system_unitdir}/rngd.service - - if [ "${@bb.utils.contains('PACKAGECONFIG', 'nistbeacon', 'yes', 'no', d)}" = "yes" ]; then - sed -i \ - -e '/^IPAddressDeny=any/d' \ - -e '/^RestrictAddressFamilies=/ s/$/ AF_INET AF_INET6/' \ - ${D}${systemd_system_unitdir}/rngd.service - fi -} diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.13.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.13.bb new file mode 100644 index 000000000..fb2fd63c5 --- /dev/null +++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.13.bb @@ -0,0 +1,60 @@ +SUMMARY = "Random number generator daemon" +DESCRIPTION = "Check and feed random data from hardware device to kernel" +AUTHOR = "Philipp Rumpf, Jeff Garzik , \ + Henrique de Moraes Holschuh " +HOMEPAGE = "https://github.com/nhorman/rng-tools" +BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "sysfsutils openssl" + +SRC_URI = "\ + git://github.com/nhorman/rng-tools.git \ + file://init \ + file://default \ + file://rngd.service \ +" +SRCREV = "d8dac0e8bede73e42b3d59f3b48c662ad0032e8c" + +S = "${WORKDIR}/git" + +inherit autotools update-rc.d systemd pkgconfig + +EXTRA_OECONF = "--without-rtlsdr" + +PACKAGECONFIG ??= "libjitterentropy" +PACKAGECONFIG_libc-musl = "libargp libjitterentropy" + +PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," +PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" +PACKAGECONFIG[libp11] = "--with-pkcs11,--without-pkcs11,libp11 openssl" +PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" + +INITSCRIPT_NAME = "rng-tools" +INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." + +SYSTEMD_SERVICE_${PN} = "rngd.service" + +# Refer autogen.sh in rng-tools +do_configure_prepend() { + cp ${S}/README.md ${S}/README +} + +do_install_append() { + install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools + install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + install -Dm 0644 ${WORKDIR}/rngd.service \ + ${D}${systemd_system_unitdir}/rngd.service + sed -i \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${sysconfdir}/init.d/rng-tools \ + ${D}${systemd_system_unitdir}/rngd.service + + if [ "${@bb.utils.contains('PACKAGECONFIG', 'nistbeacon', 'yes', 'no', d)}" = "yes" ]; then + sed -i \ + -e '/^IPAddressDeny=any/d' \ + -e '/^RestrictAddressFamilies=/ s/$/ AF_INET AF_INET6/' \ + ${D}${systemd_system_unitdir}/rngd.service + fi +} diff --git a/poky/scripts/oe-time-dd-test.sh b/poky/scripts/oe-time-dd-test.sh index 46b218b76..ccdd55e66 100755 --- a/poky/scripts/oe-time-dd-test.sh +++ b/poky/scripts/oe-time-dd-test.sh @@ -24,6 +24,13 @@ uptime timeout ${TIMEOUT} dd if=/dev/zero of=oe-time-dd-test.dat bs=1024 count=$1 conv=fsync if [ $? -ne 0 ]; then echo "Timeout used: ${TIMEOUT}" + echo "start: top output" top -c -b -n1 -w 512 + echo "end: top output" + echo "start: iostat" + iostat -y -z -x 5 1 + echo "end: iostat" + echo "start: cooker log" tail -30 tmp*/log/cooker/*/console-latest.log + echo "end: cooker log" fi diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index e2dc529ba..1f332ef52 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -18,6 +18,7 @@ import shutil import glob import configparser import signal +import time class RunQemuError(Exception): """Custom exception to raise on known errors.""" @@ -1201,8 +1202,10 @@ class BaseConfig(object): tmpfsdir = os.environ.get("RUNQEMU_TMPFS_DIR", None) if self.snapshot and tmpfsdir: newrootfs = os.path.join(tmpfsdir, os.path.basename(self.rootfs)) + "." + str(os.getpid()) + logger.info("Copying rootfs to %s" % newrootfs) + copy_start = time.time() shutil.copyfile(self.rootfs, newrootfs) - #print("Copying rootfs to tmpfs: %s" % newrootfs) + logger.info("Copy done in %s seconds" % (time.time() - copy_start)) self.rootfs = newrootfs # Don't need a second copy now! self.snapshot = False -- cgit v1.2.3 From f646e5e1fc9c29a6840da7c69d25bf325461b62f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 25 Jun 2021 07:31:01 +0000 Subject: pldm: srcrev bump c33c2f05c9..64a8f0fb34 George Liu (2): Verify currect node is a child of current parent Add entity instance as an input parameter to pldm_pdr_tree_add() Change-Id: I8eaccc23ec728769c305e8b1efa5217ffae992cf Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 9b271f7e9..f573e07fc 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "c33c2f05c973d31def4801859a7722823e71d7a6" +SRCREV = "64a8f0fb34a32e362c7c78d10a027cd13f489497" -- cgit v1.2.3 From 7c2e61ca868f8f571a5b8a6e3d082111b2dbd4f5 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 25 Jun 2021 15:10:26 +0000 Subject: openpower-occ-control: srcrev bump 0ad9dd87be..483305785a Chris Cain (2): Send OCC mode change and IPS parms after reaching active state Fix getBus namespaces in pldm Interface object Change-Id: I869723757982dcda0505f617d6b1ff7a2a66ba53 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc index cbb7726f9..ca46b0b16 100644 --- a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc +++ b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-occ-control" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-occ-control" -SRCREV = "0ad9dd87be3846a770d8e2a1a59f73900c2610cf" +SRCREV = "483305785aba61d99b2efd05cd34e23dbc0f91f1" -- cgit v1.2.3 From 494a81449af151a855cc33e7cb7b24032daae206 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 25 Jun 2021 19:11:03 +0000 Subject: phosphor-logging: srcrev bump dde99203db..aa5d03b8c5 Benjamin Fair (1): Allow configuring the rsyslog server conf path Mike Capps (1): PEL: Add GPIODeviceUnavailable reg entry Change-Id: Ib0b44b315947b96667166d24b1295497f1fa418f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 37e6b0582..f7e17f0c7 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "dde99203db9635d41add00cb4659f6e3f128c779" +SRCREV = "aa5d03b8c508d185273207708bfb302dcc6e75ad" S = "${WORKDIR}/git" -- cgit v1.2.3 From 8d0be5ccab4a6c0aee748187ee781b569b063b71 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 28 Jun 2021 02:01:37 +0000 Subject: phosphor-psu-code-mgmt: srcrev bump de27029319..7905f587ac Chicago Duan (1): Fix unavailable code-update.md link Change-Id: I2b786b570183c5d3ece6bd25b864cfded82c927f Signed-off-by: Andrew Geissler --- .../recipes-phosphor/power/phosphor-psu-software-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb b/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb index 42b63e151..1ea2c9e2c 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/power/phosphor-psu-software-manager_git.bb @@ -2,7 +2,7 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-psu-code-mgmt" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI += "git://github.com/openbmc/phosphor-psu-code-mgmt" -SRCREV = "de27029319bf04250d7660976091b7c297ed3c41" +SRCREV = "7905f587ac6aace27e7238a815b7cf5c1025c6ea" SUMMARY = "Phosphor PSU software manager" DESCRIPTION = "Providing PSU firmware version and upgrade" -- cgit v1.2.3 From 740df212d0adf44f74c6ca52ec75dffe08fd7edc Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 28 Jun 2021 17:51:08 +0000 Subject: phosphor-net-ipmid: srcrev bump 7b64501877..ecc8efad10 Vernon Mauery (5): Enforce correct packet lengths Enforce encryption/authentication on in-session RMCP+ messages Only allow IPMI1.5 for non-session requests Require a valid session state prior to executing commands Be more proactive at removing stale sessions Change-Id: I1c784c6057087ace479975287d8b5c9087c14fb3 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb index 7377142c0..22eeff752 100644 --- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb +++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-net_git.bb @@ -18,7 +18,7 @@ DEPENDS += "phosphor-ipmi-host" RRECOMMENDS_${PN} = "pam-ipmi" SRC_URI += "git://github.com/openbmc/phosphor-net-ipmid" -SRCREV = "7b645018775b85a0c61148e592d951841809eef9" +SRCREV = "ecc8efad10bc2101a434a0c1fbd253eeaa1a3a99" S = "${WORKDIR}/git" -- cgit v1.2.3 From 91e00202edcad8e06740e5c72336ea7d0e61a27f Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 28 Jun 2021 21:11:15 +0000 Subject: phosphor-power: srcrev bump d3a70d9876..70e7f939fd Adriana Kobylak (2): psu-ng: Validate configuration during power on psu-ng: Validate supported model and count Change-Id: Ie748efe74299319e94c6499b54382b0f764a1e5c Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/power/phosphor-power.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc index 93d9b7fef..4652e51b4 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-power" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-power" -SRCREV = "d3a70d987614bb29ff326d911e41b4eb505a40df" +SRCREV = "70e7f939fd06a873ca1e93258cb1fe99c7417d21" -- cgit v1.2.3 From 75fa63f20a37c922ac72b789c2623c1c5ec23836 Mon Sep 17 00:00:00 2001 From: Lotus Xu Date: Tue, 29 Jun 2021 11:23:46 +0800 Subject: bytedance: g220a: linux: Fix uart patch conflict Signed-off-by: Lotus Xu Change-Id: I78521f447c361c1bb3c4746a2d28016d123d2029 --- ...ed-Add-Aspeed-UART-routing-control-driver.patch | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch index 7076ede20..317f94b05 100644 --- a/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch +++ b/meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0003-misc-aspeed-Add-Aspeed-UART-routing-control-driver.patch @@ -1,7 +1,7 @@ -From dc37d698586a7ca4e4381ef7726249fa70d14c89 Mon Sep 17 00:00:00 2001 +From e0769dda0adcabc41d322726b16148e3960473c1 Mon Sep 17 00:00:00 2001 From: Oskar Senft Date: Wed, 8 Aug 2018 10:15:05 -0400 -Subject: [PATCH 3/5] misc: aspeed: Add Aspeed UART routing control driver. +Subject: [PATCH] misc: aspeed: Add Aspeed UART routing control driver. This driver adds sysfs files that allow the BMC userspace to configure how UARTs and physical serial I/O ports are routed. @@ -102,12 +102,12 @@ index 000000000000..cf1c2a466875 +$ cat /sys/bus/platform/drivers/aspeed-uart-routing/*.uart_routing/uart1 +io1 io2 io3 io4 uart2 [uart3] uart4 io6 diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index d8626a0d3e31..48a519c59bdf 100644 +index 54cfb599cd3e..9d2d95ab313a 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig -@@ -451,6 +451,12 @@ config MCTP_LPC - Implements the MCTP LPC binding via KCS LPC IO cycles for control and - LPC FWH cycles for data +@@ -487,6 +487,12 @@ config NPCM7XX_JTAG_MASTER + help + Control PSPI/GPIO to transmit jtag signals to support jtag master function. +config ASPEED_UART_ROUTING + tristate "Aspeed ast2500 UART routing control" @@ -115,17 +115,17 @@ index d8626a0d3e31..48a519c59bdf 100644 + If you want to configure UART routing on Aspeed BMC platforms, enable + this option. + - config MISC_RTSX - tristate - default MISC_RTSX_PCI || MISC_RTSX_USB + source "drivers/misc/c2port/Kconfig" + source "drivers/misc/eeprom/Kconfig" + source "drivers/misc/cb710/Kconfig" diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index 183970192ced..4e67e21c2e65 100644 +index 39e5ba5d0985..77e95db728da 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile -@@ -60,3 +60,4 @@ obj-$(CONFIG_XILINX_SDFEC) += xilinx_sdfec.o +@@ -60,3 +60,4 @@ obj-$(CONFIG_HISI_HIKEY_USB) += hisi_hikey_usb.o obj-$(CONFIG_NPCM7XX_LPC_BPC) += npcm7xx-lpc-bpc.o obj-$(CONFIG_NPCM7XX_PCI_MBOX) += npcm7xx-pci-mbox.o - obj-$(CONFIG_MCTP_LPC) += mctp-lpc.o + obj-$(CONFIG_NPCM7XX_JTAG_MASTER) += npcm7xx-jtag-master.o +obj-$(CONFIG_ASPEED_UART_ROUTING) += aspeed-uart-routing.o diff --git a/drivers/misc/aspeed-uart-routing.c b/drivers/misc/aspeed-uart-routing.c new file mode 100644 -- cgit v1.2.3 From a28e44d9491f9be185227cf5a57da54a44b0974c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 28 Jun 2021 07:30:18 +0000 Subject: intel-ipmi-oem: srcrev bump 3ff6371ba7..339fc565d5 Chalapathi Venkataramashetty (1): sensorcommands: check for reserved sensor number in sensor commands. Change-Id: If51d1f581d1e000dda2df75a34f70e03f4835169 Signed-off-by: Andrew Geissler --- meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb index 36096a163..287da1318 100755 --- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb @@ -5,7 +5,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/intel-ipmi-oem" -SRCREV = "3ff6371ba7e5c7f02d6851d6a87e7dbbdfa093e6" +SRCREV = "339fc565d5d42740e66319d62015de1a93f58fbf" S = "${WORKDIR}/git" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From 220e194628f8594587d11436b6486da8edeef4b6 Mon Sep 17 00:00:00 2001 From: Seires Li Date: Thu, 10 Jun 2021 02:11:11 +0800 Subject: phosphor-led-manager: pass led yaml to build phosphor-led-manager has migrated from autotools to meson, and it needs to be built with the correct led.yaml. This will check if there's a led.yaml in the order of: 1. where LED_YAML_PATH specifies 2. default path of virtual/phosphor-led-manager-config-native 3. where SRC_URI += puts files to and copies it to the right location. Tested: devtool modify phosphor-led-manager and checked if led.yaml is the right one. devtool reset, built the image and checked if led-manager are hosting the correct led groups on dbus. tried five different scenarios: 1. don't use phosphor-led-manager at all: yosemitev2 2. use config-native: romulus 3. use config-mrw-native: witherspoon 4. overrides the native path: hr855xg2 5. puts led.yaml in SRC_URI: created a custom one and tested that Signed-off-by: Seires Li Change-Id: Iacfbe633befd3f50f5ea685fd234a49e0eeb7b6f --- .../recipes-phosphor/leds/phosphor-led-manager_git.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb index 3167da695..7d4e3281d 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager_git.bb @@ -52,3 +52,13 @@ SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'STATES')}" SYSTEMD_OVERRIDE_${PN} += "bmc_booted.conf:obmc-led-group-start@bmc_booted.service.d/bmc_booted.conf" EXTRA_OEMESON += "-Dtests=disabled" + +do_compile_prepend() { + if [ -f "${LED_YAML_PATH}/led.yaml" ]; then + cp "${LED_YAML_PATH}/led.yaml" "${S}/led.yaml" + elif [ -f "${STAGING_DATADIR_NATIVE}/${PN}/led.yaml" ]; then + cp "${STAGING_DATADIR_NATIVE}/${PN}/led.yaml" "${S}/led.yaml" + elif [ -f "${WORKDIR}/led.yaml" ]; then + cp "${WORKDIR}/led.yaml" "${S}/led.yaml" + fi +} -- cgit v1.2.3 From cbb5896b0a0a321a44881077c49fd08420c94630 Mon Sep 17 00:00:00 2001 From: Brandon Kim Date: Tue, 29 Jun 2021 14:12:59 -0700 Subject: meta-quanta: gbs: Fix x86-power-control power-config-host0.json https://gerrit.openbmc-project.xyz/42539 brought in a change in the json, now requiring "gpio_configs". Signed-off-by: Brandon Kim Change-Id: I0361d6c4ed6fa440ae2e32a4ce9c364ee91d8380 --- .../chassis/x86-power-control/power-config-host0.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/meta-quanta/meta-gbs/recipes-x86/chassis/x86-power-control/power-config-host0.json b/meta-quanta/meta-gbs/recipes-x86/chassis/x86-power-control/power-config-host0.json index d9d3ed109..5916ccc72 100644 --- a/meta-quanta/meta-gbs/recipes-x86/chassis/x86-power-control/power-config-host0.json +++ b/meta-quanta/meta-gbs/recipes-x86/chassis/x86-power-control/power-config-host0.json @@ -1,8 +1,10 @@ { - "PostComplete": "POST_COMPLETE", - "PwrButton": "POWER_BUTTON", - "PwrOK": "PS_PWROK", - "PwrOut": "POWER_OUT", - "RstButton": "RESET_BUTTON", - "RstOut": "RESET_OUT" + "gpio_configs":{ + "PostComplete": "POST_COMPLETE", + "PwrButton": "POWER_BUTTON", + "PwrOK": "PS_PWROK", + "PwrOut": "POWER_OUT", + "RstButton": "RESET_BUTTON", + "RstOut": "RESET_OUT" + } } -- cgit v1.2.3 From 5f4cffd8646ef3e5c65043f38fe79df38b92f448 Mon Sep 17 00:00:00 2001 From: Jayanth Othayoth Date: Sun, 27 Jun 2021 23:59:50 -0500 Subject: meta-openpower: pdbg version bump v3.3 PDBG release 3.3 Changes: - Implement p10 thread controls - Update p10 sbefifo chip-ops - For p10 switch default backend to sbefifo - Separate sbe api into new header libpdbg_sbe.h Added version bumps to fix build dependency - openpower-hw-diags - openpower-proc-control Signed-off-by: Jayanth Othayoth Change-Id: Ib667c87792f31a8c9475420ba653b441224e9a52 --- meta-openpower/recipes-bsp/pdbg/pdbg_3.2.bb | 15 --------------- meta-openpower/recipes-bsp/pdbg/pdbg_3.3.bb | 15 +++++++++++++++ .../recipes-phosphor/host/op-proc-control_git.bb | 2 +- .../recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) delete mode 100644 meta-openpower/recipes-bsp/pdbg/pdbg_3.2.bb create mode 100644 meta-openpower/recipes-bsp/pdbg/pdbg_3.3.bb diff --git a/meta-openpower/recipes-bsp/pdbg/pdbg_3.2.bb b/meta-openpower/recipes-bsp/pdbg/pdbg_3.2.bb deleted file mode 100644 index 175bad4bd..000000000 --- a/meta-openpower/recipes-bsp/pdbg/pdbg_3.2.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "PowerPC FSI Debugger" -DESCRIPTION = "pdbg allows JTAG-like debugging of the host POWER processors" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI += "git://github.com/open-power/pdbg.git" -SRCREV = "v3.2" - -DEPENDS += "dtc-native" - -S = "${WORKDIR}/git" - -inherit autotools - -BBCLASSEXTEND = "native" diff --git a/meta-openpower/recipes-bsp/pdbg/pdbg_3.3.bb b/meta-openpower/recipes-bsp/pdbg/pdbg_3.3.bb new file mode 100644 index 000000000..d7b3c31b9 --- /dev/null +++ b/meta-openpower/recipes-bsp/pdbg/pdbg_3.3.bb @@ -0,0 +1,15 @@ +SUMMARY = "PowerPC FSI Debugger" +DESCRIPTION = "pdbg allows JTAG-like debugging of the host POWER processors" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI += "git://github.com/open-power/pdbg.git" +SRCREV = "v3.3" + +DEPENDS += "dtc-native" + +S = "${WORKDIR}/git" + +inherit autotools + +BBCLASSEXTEND = "native" diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb index f9611985d..9a4b64ee1 100644 --- a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb +++ b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb @@ -11,7 +11,7 @@ inherit meson obmc-phosphor-utils pkgconfig inherit systemd SRC_URI += "git://github.com/openbmc/openpower-proc-control" -SRCREV = "e04c1173c1d76575fd1cf968d421bdf1dec82606" +SRCREV = "785cf6a5ed91bf8387f4e99c891c1756f6776f7e" DEPENDS += " \ phosphor-logging \ diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index d4863a3bc..a6241ae4b 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -15,7 +15,7 @@ PR = "r1" PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/openbmc/openpower-hw-diags" -SRCREV = "ff068a154e5811bbddead76cc0e004cbf88870ac" +SRCREV = "b1eda6a3cbb9b7c6a2c46a4550a7cce396467ee0" S = "${WORKDIR}/git" -- cgit v1.2.3 From 7ebc36e55e7d535b290a712a919850b0bb150027 Mon Sep 17 00:00:00 2001 From: Jayanth Othayoth Date: Mon, 21 Jun 2021 07:20:21 -0500 Subject: meta-openpower: Add ekb support Hardware procedures(HWP) are C++ code that does all of the hardware accesses required to test and initialize the POWER based host hardware. Also provides the xml files, which includes initialisation data. These procedures and xml files are provided by the hardware team. This commits enables the POWER based devicetree build, to add support for the required HWP attributes xml file with respective directory structures. Repository : https://github.com/open-power/pub-ekb Signed-off-by: Jayanth Othayoth Change-Id: I216fa41f8994562f24adcea9b349494fa3db70e9 --- meta-openpower/recipes-bsp/ekb/ekb.inc | 23 +++++++++++++++++++++++ meta-openpower/recipes-bsp/ekb/ekb_git.bb | 25 +++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 meta-openpower/recipes-bsp/ekb/ekb.inc create mode 100644 meta-openpower/recipes-bsp/ekb/ekb_git.bb diff --git a/meta-openpower/recipes-bsp/ekb/ekb.inc b/meta-openpower/recipes-bsp/ekb/ekb.inc new file mode 100644 index 000000000..268a55dd5 --- /dev/null +++ b/meta-openpower/recipes-bsp/ekb/ekb.inc @@ -0,0 +1,23 @@ +EKB_BRANCH = "main-p10" +EKB_URI = "git://git@github.com/open-power/pub-ekb;branch=${EKB_BRANCH}" +EKB_REV = "52e5c0038a50cc641dffdc6158f8c21930c70678" + +REQ_ATTRS_XMLS = "hwpf/fapi2/xml/attribute_info/chip_attributes.xml \ + hwpf/fapi2/xml/attribute_info/common_attributes.xml \ + hwpf/fapi2/xml/attribute_info/scratch_attributes.xml \ + hwpf/fapi2/xml/attribute_info/system_attributes.xml \ + hwpf/fapi2/xml/attribute_info/unit_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_bars_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_chip_ec_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_clock_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_freq_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_hcode_image_build_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_ipl_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_ipl_customize_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_memory_bars_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_nest_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_pervasive_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_qme_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_runn_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_sbe_load_bootloader_attributes.xml \ + chips/p10/procedures/xml/attribute_info/p10_sbe_attributes.xml" diff --git a/meta-openpower/recipes-bsp/ekb/ekb_git.bb b/meta-openpower/recipes-bsp/ekb/ekb_git.bb new file mode 100644 index 000000000..4ecf1f8d3 --- /dev/null +++ b/meta-openpower/recipes-bsp/ekb/ekb_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "To get required hardware procedure attribute xml files" +DESCRIPTION = "Copy all the required hardware procedures attributes xml file \ +with respective directory structures" + +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${S}/LICENSE_PROLOG;md5=d8e5f403c98fd80dcea90b9cc8cd083c" + +require ekb.inc + +SRC_URI = "${EKB_URI}" +SRCREV = "${EKB_REV}" + +S = "${WORKDIR}/git" + +BBCLASSEXTEND = "native" + +do_install() { + + mkdir -p ${D}${datadir}/${BPN} + + # Copying all required hwp's attributes xml file with respective directory structures + (cd ${S} && cp --parents ${REQ_ATTRS_XMLS} ${D}${datadir}/${BPN}) +} -- cgit v1.2.3 From c938513efee90b856b135e6be55e94ac45b07733 Mon Sep 17 00:00:00 2001 From: Jayanth Othayoth Date: Mon, 21 Jun 2021 07:21:14 -0500 Subject: meta-openpower: Add libekb support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This library contains a copy of hardware procedures provided by the hardware team and OpenBMC specific platform code. The platform code is essentially required for the hardware procedure execution. Library from this repository will provide interfaces for executing the HWP from the OpenBMC. libekb library is based on Hardware Procedure Framework. Framework: This is the set of code providing an environment in which the Hardware (HW) Procedure runs. It consists of: - A standard set of interfaces which the HW Procedure is designed and coded to use - A platform/environment-specific implementation of the standard interfaces which allows the common HW Procedure to run in the target environment. Hardware Procedure (HWP): This is the common code which runs inside a Framework and provides the hardware-specific logic for controlling some portion of the system hardware. Invocation Environment: This is the platform/environment-specific path(s) in which a HWP may be executed. This commits enables the HWP execution environment with help of OpenPOWER pdbg and pub-ekb repository provided back-ends. Repository: https://github.com/open-power/libekb_p10 Signed-off-by: Jayanth Othayoth Change-Id: I11e2fb6b9f94f87dad17173d20f7ca2e0e96af41 --- meta-openpower/recipes-bsp/libekb/libekb_git.bb | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 meta-openpower/recipes-bsp/libekb/libekb_git.bb diff --git a/meta-openpower/recipes-bsp/libekb/libekb_git.bb b/meta-openpower/recipes-bsp/libekb/libekb_git.bb new file mode 100644 index 000000000..ac650a4a8 --- /dev/null +++ b/meta-openpower/recipes-bsp/libekb/libekb_git.bb @@ -0,0 +1,27 @@ +HOMEPAGE = "https://github.com/open-power/libekb_p10" + +SUMMARY = "Hardware Procedure Framework" +DESCRIPTION = "Provides infrastructure to run hardware procedures" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +S = "${WORKDIR}/git" + +require recipes-bsp/ekb/ekb.inc + +inherit autotools \ + python3native \ + perlnative + +SRCREV_FORMAT = "libekb_ekb" + +SRCREV_libekb = "a68c2f610243d3f128f561c4451135241aedbf6b" +SRCREV_ekb = "${EKB_REV}" + +SRC_URI = "git://git@github.com/open-power/libekb_p10;branch="main";name=libekb \ + ${EKB_URI};name=ekb;destsuffix=git/ekb \ + " + +DEPENDS = "pdbg libxml-simple-perl-native" -- cgit v1.2.3 From 942f57f515ba3761fb2051c225111172d9dc5d2e Mon Sep 17 00:00:00 2001 From: Jayanth Othayoth Date: Mon, 21 Jun 2021 07:23:09 -0500 Subject: meta-openpower: Add pdata support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenPOWER systems uses devicetree based data structure to manage CEC hardware information. Devicetree data modelling mainly includes the hardware topology and attributes, which includes the configuration data. Devicetree data base is constructed during the build time, based on the System specific MRW and hardware team provided attributes, and packaged as part of Hostboot image. pdata provides tools and libraries to manage the phal(power hardware abstraction layer) devicetree. Repository: https://github.com/open-power/pdata Signed-off-by: Jayanth Othayoth Change-Id: I2a7186210ca46d8ee99b457a2b6af61a9a8d8f96 --- .../recipes-bsp/pdata/files/power-target.sh | 6 +++++ meta-openpower/recipes-bsp/pdata/pdata_git.bb | 27 ++++++++++++++++++++++ meta-openpower/recipes-bsp/pdata/phal-devtree.bb | 22 ++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100755 meta-openpower/recipes-bsp/pdata/files/power-target.sh create mode 100644 meta-openpower/recipes-bsp/pdata/pdata_git.bb create mode 100644 meta-openpower/recipes-bsp/pdata/phal-devtree.bb diff --git a/meta-openpower/recipes-bsp/pdata/files/power-target.sh b/meta-openpower/recipes-bsp/pdata/files/power-target.sh new file mode 100755 index 000000000..10c985050 --- /dev/null +++ b/meta-openpower/recipes-bsp/pdata/files/power-target.sh @@ -0,0 +1,6 @@ +# Command line debug tools like pdbg and ecmd requires +# PDBG_DTB environment variable. +# attributes tool required both PDBG_DTB and PDATA_INFODB. + +export PDBG_DTB=/var/lib/phosphor-software-manager/pnor/rw/DEVTREE +export PDATA_INFODB=/usr/share/pdata/attributes_info.db diff --git a/meta-openpower/recipes-bsp/pdata/pdata_git.bb b/meta-openpower/recipes-bsp/pdata/pdata_git.bb new file mode 100644 index 000000000..50f406db1 --- /dev/null +++ b/meta-openpower/recipes-bsp/pdata/pdata_git.bb @@ -0,0 +1,27 @@ +HOMEPAGE = "https://github.com/open-power/pdata/" + +SUMMARY = "POWER Host data management" +DESCRIPTION = "Devicetree based POWER host data management" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +S = "${WORKDIR}/git" + +inherit autotools \ + perlnative + +SRC_URI = "git://git@github.com/open-power/pdata;branch="main"" +SRCREV = "a617306c59c81b879aeb1a3d271b5f633895efd0" + +DEPENDS = "pdbg \ + libxml-simple-perl-native \ + libxml-libxml-perl-native \ + ekb-native \ + autoconf-archive" + +PDATA_CONFARG = "CHIP=p10" +EXTRA_OECONF = "--enable-gen_attrsinfo ${PDATA_CONFARG}" + +EXTRA_OEMAKE = "EKB=${STAGING_DATADIR_NATIVE}/ekb/" diff --git a/meta-openpower/recipes-bsp/pdata/phal-devtree.bb b/meta-openpower/recipes-bsp/pdata/phal-devtree.bb new file mode 100644 index 000000000..4ad477ae4 --- /dev/null +++ b/meta-openpower/recipes-bsp/pdata/phal-devtree.bb @@ -0,0 +1,22 @@ +SUMMARY = "Tools and libraries to manage the phal devicetree" +DESCRIPTION = "phal(power hardware abstraction layer) devicetree data \ +modelling mainly includes the host hardware topology and attributes, \ +which includes the configuration data" + +PR = "r1" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +PDATA_DTB_PATH="${datadir}/pdata" +FILES_${PN} += "${PDATA_DTB_PATH}" + +do_install() { + + DTB_FILE_ENV=power-target.sh + DTB_FILE_CONF_PATH=${D}${PDATA_DTB_PATH} + + install -d ${DTB_FILE_CONF_PATH} + install -m 744 ${THISDIR}/files/${DTB_FILE_ENV} ${DTB_FILE_CONF_PATH}/${DTB_FILE_ENV} + install -d ${D}${sysconfdir}/profile.d + ln -s ${PDATA_DTB_PATH}/${DTB_FILE_ENV} ${D}${sysconfdir}/profile.d/${DTB_FILE_ENV} +} -- cgit v1.2.3 From 15c59ca5aa82af1e1cf1ad444b19afef740af80c Mon Sep 17 00:00:00 2001 From: Jayanth Othayoth Date: Mon, 21 Jun 2021 07:24:44 -0500 Subject: meta-ibm: Add phal support for p10bmc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenBMC requires additional capabilities for the OpenPOWER systems such as - A common mechanism to access and control the host hardware from the BMC. - A storage mechanism to store the data that can be used for initialize, control and access the CEC hardware. - An infrastructure to initialize the hardware using the hardware procedures provided by the hardware team. - Common mechanism to handle the hardware failures for the host hardware. These above features are essential for the BMC to provide better RAS capability and to support lab debug for the enterprise class systems. The phal(POWER Hardware Abstraction Layer) aims to provide a common layout such that the OpenPOWER  application can use this infrastructure to boot, enable RAS features like dump, diagnostics, and lab debug tooling purpose. The phal is a combination of open source packages that are tailored/customised  to use in OpenBMC. For instance POWER hardware access and control is managed through pdbg and host hardware data modelling is done via devicetree. phal is group of libraries running in BMC. These libraries are used by OpenPOWER specific application for host hardware interactions, Hostboot and SBE initialization, diagnostics and debugging. Signed-off-by: Jayanth Othayoth Change-Id: I187d9582598743871279a1e407451f4cf4f72668 --- meta-ibm/conf/machine/p10bmc.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-ibm/conf/machine/p10bmc.conf b/meta-ibm/conf/machine/p10bmc.conf index f80e8281d..49a0bdbd9 100644 --- a/meta-ibm/conf/machine/p10bmc.conf +++ b/meta-ibm/conf/machine/p10bmc.conf @@ -14,6 +14,7 @@ require conf/distro/include/phosphor-mmc.inc require conf/distro/include/ibm-mpreboot.inc require conf/distro/include/ibm-yaml.inc DISTRO_FEATURES += "ibm-service-account-policy" +OBMC_MACHINE_FEATURES += 'phal' SERIAL_CONSOLES = "115200;ttyS4" -- cgit v1.2.3 From 0e656dde2411c07ab9680ec2de36ede0e3b9b8d7 Mon Sep 17 00:00:00 2001 From: Jayanth Othayoth Date: Mon, 21 Jun 2021 07:25:24 -0500 Subject: meta-openpower: Add guard support guard repository provides the libraries and tools to create/list/delete guard records, which is stored in BMC flash space. This library currently supported OpenPOWER based systems guard format owned by hostboot. Repository: https://github.com/open-power/guard Signed-off-by: Jayanth Othayoth Change-Id: I2b6e3be8492795be40a862fad6edbae3e8b205b5 --- meta-openpower/recipes-bsp/guard/guard_git.bb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 meta-openpower/recipes-bsp/guard/guard_git.bb diff --git a/meta-openpower/recipes-bsp/guard/guard_git.bb b/meta-openpower/recipes-bsp/guard/guard_git.bb new file mode 100644 index 000000000..0d5ff964f --- /dev/null +++ b/meta-openpower/recipes-bsp/guard/guard_git.bb @@ -0,0 +1,19 @@ +HOMEPAGE = "https://github.com/open-power/guard" +SUMMARY = "Guard the faulty components" +DESCRIPTION = "Provide a way to guard the faulty component from the system" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +inherit meson + +S = "${WORKDIR}/git" + +SRC_URI = "git://git@github.com/open-power/guard;branch="main"" +SRCREV = "87b02b63b64b36a925bec42723d70e0531e93407" + +DEPENDS = "cli11" + +PACKAGECONFIG ??= "${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}" +PACKAGECONFIG[phal] = "-Ddevtree=enabled, -Ddevtree=disabled, pdata pdbg" -- cgit v1.2.3 From 1e40a42c7c1ce8608bfb406f3fedab05ef066f81 Mon Sep 17 00:00:00 2001 From: Jayanth Othayoth Date: Mon, 21 Jun 2021 07:24:01 -0500 Subject: meta-openpower: Add ipl support Library provides support to boot POWER based host. Boot process covers time between power on and running the hypervisor. Also provide istep (Boot step defined by ecmd interface) back-end support. This library provides interface to OpenBMC apps to execute required hardware procedure based istep execution and custom POWER processor based initialisation functions. This requires, - pdbg (harwdare access layer) - POWER devicetree - libekb ( Harwdare procedure support) Repository: https://github.com/open-power/ipl Signed-off-by: Jayanth Othayoth Change-Id: I853392a8e6a62cbc9c3135f8fc23b479922ad927 --- meta-openpower/recipes-bsp/ipl/ipl_git.bb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 meta-openpower/recipes-bsp/ipl/ipl_git.bb diff --git a/meta-openpower/recipes-bsp/ipl/ipl_git.bb b/meta-openpower/recipes-bsp/ipl/ipl_git.bb new file mode 100644 index 000000000..edd44bc78 --- /dev/null +++ b/meta-openpower/recipes-bsp/ipl/ipl_git.bb @@ -0,0 +1,23 @@ +HOMEPAGE = "https://github.com/open-power/ipl/" + +SUMMARY = "Initial Program Load steps" +DESCRIPTION = "Provides infrastructure to run istep" +PR = "r1" +PV = "1.0+git${SRCPV}" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +inherit autotools + +S = "${WORKDIR}/git" + +SRC_URI = "git://git@github.com/open-power/ipl;branch="main"" +SRCREV = "65b394476c6ec40192b6cc44c6722cee5a5bee20" + +DEPENDS = " \ + libekb pdbg autoconf-archive guard \ + " + +RDEPENDS_${PN} = "phal-devtree" + +EXTRA_OECONF = "CHIP=p10" -- cgit v1.2.3 From fa28a72fff271a78f805b41373f049a12b060fcb Mon Sep 17 00:00:00 2001 From: Jayanth Othayoth Date: Mon, 21 Jun 2021 07:26:05 -0500 Subject: meta-ibm: sbe error handling support Phosphor logging PEL infrastructure provide supports to process SBE chip-op failures and creating PEL. PEL creation required to process SBE provided FFDC packets. This FFDC is initially created by SBE using FAPI based infrastructure for the hardware procedure execution failures. To extract this data to convert into PEL required format requires additional processing. This processing required PHAL(Power Hardware Abstraction layer) based back-end support. Added required packages support for PHAL feature enabled systems. Test: verified build. Signed-off-by: Jayanth Othayoth Change-Id: I5cf1a30514aa0a5bfdf2fe3a288dac9d5a0b5b47 --- meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend b/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend index 2f0ace22b..ac43352c2 100644 --- a/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend +++ b/meta-ibm/recipes-phosphor/logging/phosphor-logging_%.bbappend @@ -8,6 +8,10 @@ SRC_URI_append_p10bmc = " file://ibm,rainier-4u_dev_callouts.json" FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-logging/pels/ibm,rainier-2u_dev_callouts.json" FILES_${PN}_append_p10bmc = " ${datadir}/phosphor-logging/pels/ibm,rainier-4u_dev_callouts.json" +#Enable phal feature, if available. +PACKAGECONFIG_append = " ${@bb.utils.filter('OBMC_MACHINE_FEATURES', 'phal', d)}" +PACKAGECONFIG[phal] = "-Dphal=enabled, -Dphal=disabled, pdata libekb pdbg" + do_install_append_p10bmc() { install -d ${D}/${datadir}/phosphor-logging/pels install -m 0644 ${WORKDIR}/ibm,rainier-2u_dev_callouts.json ${D}/${datadir}/phosphor-logging/pels/ibm,rainier-2u_dev_callouts.json -- cgit v1.2.3 From ab155da45cce2b1316de3d1269294376dc9c52a0 Mon Sep 17 00:00:00 2001 From: Bruce Mitchell Date: Mon, 28 Jun 2021 15:33:06 -0500 Subject: meta-ibm: Adds virtual Altitude sensor The Altitude measurement is from the computation of the DPS310 pressure sensor with this "Expression": "44330.0 * (1.0 - ((P0/101325.0) ^ (1/5.255)))" Tested: busctl introspect xyz.openbmc_project.VirtualSensor \ /xyz/openbmc_project/sensors/altitude/Altitude returned results consistent with location of the Rainier system. Signed-off-by: Bruce Mitchell Change-Id: I07b83dd6b8f4ccf0755ccbdc81c40976a3e571cd --- .../p10bmc/virtual_sensor_config.json | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json index df51c66ab..8df08f94e 100644 --- a/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json +++ b/meta-ibm/recipes-phosphor/sensors/phosphor-virtual-sensor/p10bmc/virtual_sensor_config.json @@ -27,5 +27,31 @@ ] }, "Expression": "T0" + }, + { + "Desc": + { + "Name": "Altitude", + "SensorType": "altitude" + }, + "Threshold" : + { + "WarningHigh": 3050 + }, + "Params": + { + "DbusParam": + [ + { + "ParamName": "P0", + "Desc": + { + "Name": "Station_Pressure", + "SensorType": "pressure" + } + } + ] + }, + "Expression": "44330.0 * (1.0 - ((P0/101325.0) ^ (1/5.255)))" } ] -- cgit v1.2.3 From 5651e686d7700784e67fbcc8ed85250fee77e9ec Mon Sep 17 00:00:00 2001 From: Konstantin Aladyshev Date: Fri, 30 Apr 2021 16:56:37 +0300 Subject: meta-amd: Switch web UI app to 'webui-vue' 'phosphor-webui' is no longer developed. It was built on AngularJS and AngularJS goes End of Life June 30, 2021. 'webui-vue' is a modern replacement for the web UI app. Signed-off-by: Konstantin Aladyshev Change-Id: I2b907784a06feeaa48c1336c9eab72828706d9ea --- meta-amd/recipes-amd/packagegroups/packagegroup-amd-apps.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-amd/recipes-amd/packagegroups/packagegroup-amd-apps.bb b/meta-amd/recipes-amd/packagegroups/packagegroup-amd-apps.bb index 7f1a6c67f..33e66f568 100644 --- a/meta-amd/recipes-amd/packagegroups/packagegroup-amd-apps.bb +++ b/meta-amd/recipes-amd/packagegroups/packagegroup-amd-apps.bb @@ -43,5 +43,5 @@ RDEPENDS_${PN}-system = " \ entity-manager \ ipmitool \ phosphor-hostlogger \ - phosphor-webui \ + webui-vue \ " -- cgit v1.2.3 From a430033d3bffc7d3f9f9d84611f68049d8b17f75 Mon Sep 17 00:00:00 2001 From: Willy Tu Date: Tue, 29 Jun 2021 14:17:44 -0700 Subject: meta-google: os-release: cleanup for BUILD_MEMO Fix inconsistent quotes. Tested: ``` $ BUILD_MEMO="test build" MACHINE=gbmc bitbake obmc-phosphor-image ``` ``` $ cat /etc/os-release ID=gbmc NAME="gBMC (OpenBMC + Google customizations)" VERSION="gbmc-release" VERSION_ID=gbmc-release-0.5.0.0 PRETTY_NAME="gBMC (OpenBMC + Google customizations) gbmc-release" BUILD_ID="2.9.0-dev" OPENBMC_TARGET_MACHINE="gbmc" BUILD_MEMO="test build" ``` Change-Id: I119f730edc894ddaad830c201c6630eb83d11cc1 Signed-off-by: Willy Tu --- meta-google/recipes-core/os-release/os-release.bbappend | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/meta-google/recipes-core/os-release/os-release.bbappend b/meta-google/recipes-core/os-release/os-release.bbappend index 33d434afb..ec6d64fcf 100644 --- a/meta-google/recipes-core/os-release/os-release.bbappend +++ b/meta-google/recipes-core/os-release/os-release.bbappend @@ -1,11 +1,10 @@ - python() { # Instead of using BB_ENV_EXTRAWHITE, we can get info from the # shell environment this way. origenv = d.getVar("BB_ORIGENV", False) memo = origenv.getVar("BUILD_MEMO", False) if memo: - d.setVar('BUILD_MEMO', memo) + d.setVar("BUILD_MEMO", memo) } -OS_RELEASE_FIELDS_append = " BUILD_MEMO" \ No newline at end of file +OS_RELEASE_FIELDS_append = " BUILD_MEMO" -- cgit v1.2.3 From 24d05d0bba777238227121f79f3e8b02bb2bb535 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 30 Jun 2021 16:15:45 -0500 Subject: meta-phosphor: os-release: fix task caching with DISTRO_VERSION It was reported that the following sequence would not cause `os-release` to rebuild: ``` bitbake os-release git commit --amend bitbake os-release ``` This is due to how bitbake task hashing is implemented with respect to weak variables. In 439c59b, DISTRO_VERSION was changed to a weak variable, but it is included in the 'vardeps' chain for 'do_compile'. When bitbake computes the hash for a task, typically the contents of the variables are used for the hashing, but for weak variables only the definition is used. (Confirmed by adding bb.note debugs to `poky/bitbake/lib/bb/data.py`) The new, weak DISTRO_VERSION is intended to be populated with contents from a `git describe` operation. Those contents must be used in the hashing of the 'do_compile' task and not the definition. This can be accomplished by creating an indirection using a strong variable. The dependency chain and hash evaluation will be as follows: ``` do_compile -> DISTRO_VERSION -> PHOSPHOR_OS_RELEASE_DISTRO_VERSION hash(do_compile) = ... + DISTRO_VERSION:${PHOSPHOR_OS_RELEASE_DISTRO_VERSION} + PHOSPHOR_...DISTRO_VERSION=2.11.0-dev-... ``` Prior to this fix the hash evaluation was: ``` hash(do_compile) = ... + DISTRO_VERSION:${@run_git...} ``` Fixes 439c59b425cf403355571875b3fa714782dcf15b. Tested: Ensure the above reported sequence causes a rebuild of os-release with expected data. Signed-off-by: Patrick Williams Change-Id: I0bd93d3d88bf62dfe03549419fe98ab85f10a68c --- meta-phosphor/recipes-core/os-release/os-release.bbappend | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-core/os-release/os-release.bbappend b/meta-phosphor/recipes-core/os-release/os-release.bbappend index f42235e4c..1a3b22898 100644 --- a/meta-phosphor/recipes-core/os-release/os-release.bbappend +++ b/meta-phosphor/recipes-core/os-release/os-release.bbappend @@ -15,7 +15,15 @@ def run_git(d, cmd): bb.warn("Unexpected exception from 'git' call: %s" % e) pass -DISTRO_VERSION ??= "${@run_git(d, 'describe --dirty')}" +# DISTRO_VERSION can be overridden by a bbappend or config, so it must be a +# weak override. But, when a variable is weakly overridden the definition +# and not the contents are used in the task-hash (for sstate reuse). We need +# a strong variable in the vardeps chain for do_compile so that we get the +# contents of the 'git describe --dirty' call. Create a strong/immediate +# indirection via PHOSPHOR_OS_RELEASE_DISTRO_VERSION. +PHOSPHOR_OS_RELEASE_DISTRO_VERSION := "${@run_git(d, 'describe --dirty')}" +DISTRO_VERSION ??= "${PHOSPHOR_OS_RELEASE_DISTRO_VERSION}" + VERSION = "${@'-'.join(d.getVar('VERSION_ID').split('-')[0:2])}" BUILD_ID := "${@run_git(d, 'describe --abbrev=0')}" -- cgit v1.2.3 From ad9088816bb9cbf93086d1eb9453047da0270e88 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 23 Jun 2021 16:41:07 -0500 Subject: meta-facebook: bletchley: add valid virtual-sensor config phosphor-virtual-sensors was crashing on bletchley due to an empty file, which is invalid JSON. Add a valid JSON file, which is just an empty array, instead. Tested: Ran in QEMU and ensured service no longer crashes. Signed-off-by: Patrick Williams Change-Id: Ibf30771a158344cbce519260d44ea945a0e12723 --- .../phosphor-virtual-sensor/bletchley/bletchley_sensor_config.json | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/bletchley/bletchley_sensor_config.json b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/bletchley/bletchley_sensor_config.json index e69de29bb..fe51488c7 100644 --- a/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/bletchley/bletchley_sensor_config.json +++ b/meta-facebook/recipes-phosphor/sensors/phosphor-virtual-sensor/bletchley/bletchley_sensor_config.json @@ -0,0 +1 @@ +[] -- cgit v1.2.3 From 35e908360b5f8e2b76e6a22164db8e3d3ddcef7b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 19:11:10 +0000 Subject: bmcweb: srcrev bump 49e429ca17..729f55fe55 Abhishek Patel (2): Keep AutoLinking; Remove extra \ Modify entityPrivileges for certificate service George Liu (2): log_services: Add AdditionalDataURI to Post Code log entries log_services: Add download of post code log entries Gunnar Mills (3): Add Privileges schema to allow list Move Consoles to ComputerSystem Remove code using ambiguous privileges constructor Tejas Patil (1): Add DateTime & Offset in Managers & LogServices Change-Id: I3102ed81e4a9e69a0ae8d9bac21931daa00e45db Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 1f0cfd5a4..6ee416ad8 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "49e429ca172365bd4ba16c924501321c73527cbe" +SRCREV = "729f55fe555e07821626aba322f42ca783652928" S = "${WORKDIR}/git" -- cgit v1.2.3 From 82065a271d24c515ca5c4f719c7df2383b0ddc85 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 21:41:23 +0000 Subject: phosphor-logging: srcrev bump aa5d03b8c5..1976001573 Matt Spinler (1): PEL: Handle location codes for connectors Sumit Kumar (1): PEL:Skip assigning id to hostboot PELs William A. Kennington III (2): build: Update generated sdbus++ gen: Add script to check generated meson freshness Change-Id: I8bcfc965eca4643c7e13c633d8a2c17c91b0a4b9 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index f7e17f0c7..30df1a753 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "aa5d03b8c508d185273207708bfb302dcc6e75ad" +SRCREV = "1976001573633277808007f58c67658d01df5864" S = "${WORKDIR}/git" -- cgit v1.2.3 From 8fde5f3870ff1202d374fc611d820c153ce4694a Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 01:30:48 +0000 Subject: stdplus: srcrev bump 5c20da2d7e..73a20c4a7b William A. Kennington III (3): cancel: Add default constructor cancel: Fix passing nullopt to constructor fd: Add an empty default constructor Change-Id: Ic6286675b6557e08d6bf2dd8e891cd86b0dcd31f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-extended/stdplus/stdplus_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb index 71bf70a3a..d4a61d30a 100644 --- a/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb +++ b/meta-phosphor/recipes-extended/stdplus/stdplus_git.bb @@ -20,6 +20,6 @@ EXTRA_OEMESON = " \ " SRC_URI += "git://github.com/openbmc/stdplus" -SRCREV = "5c20da2d7e5d35ee7454109c72a32c5114acb2d0" +SRCREV = "73a20c4a7bc4bdb4b47465e2c4d5d51a696d996b" S = "${WORKDIR}/git" -- cgit v1.2.3 From f34d5851d9607aa78fb612a5372f9c3dca36b8d7 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 18:50:28 +0000 Subject: openpower-occ-control: srcrev bump 483305785a..eeb95bade4 Chris Cain (2): Fixed ENABLE argument required to enable P10 support Disable Idle Power Saver by default Change-Id: Ie36228f260240a17246a4e21e6049a7d9db91e01 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc index ca46b0b16..77257cf90 100644 --- a/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc +++ b/meta-openpower/recipes-phosphor/occ/openpower-occ-control.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-occ-control" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/openpower-occ-control" -SRCREV = "483305785aba61d99b2efd05cd34e23dbc0f91f1" +SRCREV = "eeb95bade422e598aba91c9cbbb870bba38d5ae3" -- cgit v1.2.3 From 7783a6b51b228168bf5db0e90dd436d84fd48f0e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 16:30:39 +0000 Subject: entity-manager: srcrev bump 395c6d4539..c02d8cbbe8 Matt Spinler (1): configs: Move a sensor from Nisqually to Blyth Zhikui Ren (1): FruDevice: fix possible resource leak Change-Id: Id2c02b8b03885632935890f5563428b482661097 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb index e31cc2dd6..a867ec48f 100644 --- a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb +++ b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb @@ -3,7 +3,7 @@ DESCRIPTION = "Entity Manager provides d-bus configuration data \ and configures system sensors" SRC_URI = "git://github.com/openbmc/entity-manager.git file://blocklist.json" -SRCREV = "395c6d45395f5ebee1e4c44b300683ba89a8e1fd" +SRCREV = "c02d8cbbe8ded5368014d66bcf3279de758011d9" PV = "0.1+git${SRCPV}" LICENSE = "Apache-2.0" -- cgit v1.2.3 From b33dddb12d0d3eaa48c62a6ea5e5d28472cf10e6 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 06:21:12 +0000 Subject: phosphor-led-manager: srcrev bump 9d9ab2291d..ad73885b72 Seires Li (1): revert "meson: support custom led yaml path" Change-Id: I4958ba8a40d1d194916c5f01c354cd13022f009b Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc index 1c1befe1b..920df3f96 100644 --- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc +++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager.inc @@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-led-manager" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-led-manager" -SRCREV = "9d9ab2291d7c08f782a8444804cad1e55d640970" +SRCREV = "ad73885b724ea826ffc60c23bdbaaab91ee3cb1c" -- cgit v1.2.3 From af19e06e74da9c0aca7ce9a7c523149c24379d29 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 04:20:34 +0000 Subject: openpower-hw-diags: srcrev bump b1eda6a3cb..324234b4b5 Ben Tyner (1): Util: Add common dbus code to util namespace Change-Id: I5cdee1ea8c9522c4c8a2dc309945908c8c758f01 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb index a6241ae4b..3c3c5325e 100644 --- a/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb +++ b/meta-openpower/recipes-phosphor/logging/openpower-hw-diags_git.bb @@ -15,7 +15,7 @@ PR = "r1" PV = "0.1+git${SRCPV}" SRC_URI = "git://github.com/openbmc/openpower-hw-diags" -SRCREV = "b1eda6a3cbb9b7c6a2c46a4550a7cce396467ee0" +SRCREV = "324234b4b560ce1d136d96a6950daeb1da1469a5" S = "${WORKDIR}/git" -- cgit v1.2.3 From 060f4fa1334585fec9ddaa5fc25e8d9ad3356cbd Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 15:51:12 +0000 Subject: dbus-sensors: srcrev bump 18fffd3d4d..8685b17ab1 Zhikui Ren (1): fix klockwork issues Change-Id: I36704064ac9aa4a6c1782f83d27a169ba2f6021f Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb index 2511f42fa..54bee1508 100644 --- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb @@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors" DESCRIPTION = "Dbus Sensor Services Configured from D-Bus" SRC_URI = "git://github.com/openbmc/dbus-sensors.git" -SRCREV = "18fffd3d4d426ad84059a1e474665a0e31926f5f" +SRCREV = "8685b17ab14a187eae08399153b9ec6bace2ab9b" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From a878961bd4aaa8b57e8e122d211a01bbbf89e9ce Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 04:20:24 +0000 Subject: openpower-proc-control: srcrev bump 785cf6a5ed..f8c14bcfd5 Jayanth Othayoth (2): phal: set pdbg environment variable Added additional log messages in enterMPIPL function Change-Id: Ifb9a912da8eeaac68f3d3e247fc4e69b80074bf6 Signed-off-by: Andrew Geissler --- meta-openpower/recipes-phosphor/host/op-proc-control_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb index 9a4b64ee1..546031bbf 100644 --- a/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb +++ b/meta-openpower/recipes-phosphor/host/op-proc-control_git.bb @@ -11,7 +11,7 @@ inherit meson obmc-phosphor-utils pkgconfig inherit systemd SRC_URI += "git://github.com/openbmc/openpower-proc-control" -SRCREV = "785cf6a5ed91bf8387f4e99c891c1756f6776f7e" +SRCREV = "f8c14bcfd507e0224fe258d38bdef8d32ebfbf48" DEPENDS += " \ phosphor-logging \ -- cgit v1.2.3 From 992fe4e7b7d592c37886cc5817e6488aca1ebaec Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 29 Jun 2021 19:50:40 +0000 Subject: phosphor-dbus-interfaces: srcrev bump 0e6cea83df..1f971f2d64 Dhruvaraj Subhashchandran (1): Add InvalidArgument to the list of errors while creating dump. Ramesh Iyyar (1): HardwareIsolation: Added the "Entry" interface Vijay Lobo (1): Entry: Add ServiceProviderNotify property Willy Tu (1): Inventory: Add Item.Storage D-Bus Interface Change-Id: I7e604c5ff87b999ba989cce7aaa57fa86b8b555a Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb index dd47d80e1..c11bf3b5b 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb @@ -18,7 +18,7 @@ DEPENDS += " \ " SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces" -SRCREV = "0e6cea83df69d4047037d5ee7ccd4b04a1e79bca" +SRCREV = "1f971f2d647b6d301208c4e39b3bbfb94eb1d029" # Process OBMC_ORG_YAML_SUBDIRS to create Meson config options. # ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true -- cgit v1.2.3 From e9b0f9b2d210664c2292f246c55f095301728957 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Tue, 29 Jun 2021 15:11:04 +0000 Subject: pldm: srcrev bump 64a8f0fb34..83a644cbaf Sridevi Ramesh (1): libpldmresponder & pldmtool : Expand support for GetPLDMCommands Tom Joseph (1): libpldm: Fix validation in decode_get_firmware_parameters_resp Change-Id: I3863b37d4b23f7b772a494388be5e0911cda84d5 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index f573e07fc..78dd36fee 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "64a8f0fb34a32e362c7c78d10a027cd13f489497" +SRCREV = "83a644cbaf27e26e4949dbfef15d325fff83aaff" -- cgit v1.2.3 From 289c7d5407432a06b3099152890f862f7a6c8e1e Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 28 Jun 2021 21:51:45 +0000 Subject: peci-pcie: srcrev bump 3b1665a3d2..e55832b23f Jason M. Bills (1): Fix mismatched data size in bitwise operations Change-Id: Ic537517edb955883ae253ff1f8159d87abad02da Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb index 7ffaa4a60..fedf93e24 100644 --- a/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb +++ b/meta-phosphor/recipes-x86/peci-pcie/peci-pcie_git.bb @@ -11,7 +11,7 @@ SRC_URI = "git://github.com/openbmc/peci-pcie" DEPENDS = "boost sdbusplus libpeci" PV = "0.1+git${SRCPV}" -SRCREV = "3b1665a3d242bb63a3f94b6170fa2bfe6de4f255" +SRCREV = "e55832b23f8f833a3d5448505355eba18806fbee" S = "${WORKDIR}/git" -- cgit v1.2.3 From 7e9ae81255f58d280ee0eead77f6c38d25a10da1 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Mon, 28 Jun 2021 21:51:36 +0000 Subject: webui-vue: srcrev bump 6641cc489d..3aecc07d9c Dixsie Wolmers (3): Remove
from hardware status tables Add fans hardware status missing properties Reorder VPD Quicklinks Sandeepa Singh (2): Resolve a bug in LDAP page Increase the filter menu margins Change-Id: Ie4d5f8dbebec65eac7829b5f006368be2ad7a6ee Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index eb20af158..e4dcc54b1 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "6641cc489d053d6978868b94ddfb3dc93fd96dde" +SRCREV = "3aecc07d9c2e08951ddd04de50247fe5cac3337a" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native nlf-native " -- cgit v1.2.3 From 99c5693ac57cf87aa2758bb590140f303072281c Mon Sep 17 00:00:00 2001 From: Manojkiran Eda Date: Sat, 26 Jun 2021 15:59:04 +0530 Subject: Set MaxBootCycleCount for progresscodes on IBM systems MaxBootCycleCount is a dbus property that is used to indicate the maximum number of boot cycles that the post-code-manager daemon can store the progress codes for, before it starts wrapping. Unlike Intel postcodes, IBM progress codes are huge and it is possible to get close to 230+ progress codes per boot cycle, so tweaking this value to 5 boot cycles for IBM systems so that we can get less number of log entries on a redfish GET request. Signed-off-by: Manojkiran Eda Change-Id: Ida10e73992b01535d57c844d83366d786cd448e2 --- meta-ibm/recipes-phosphor/state/phosphor-post-code-manager_%.bbappend | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 meta-ibm/recipes-phosphor/state/phosphor-post-code-manager_%.bbappend diff --git a/meta-ibm/recipes-phosphor/state/phosphor-post-code-manager_%.bbappend b/meta-ibm/recipes-phosphor/state/phosphor-post-code-manager_%.bbappend new file mode 100644 index 000000000..f8ff90168 --- /dev/null +++ b/meta-ibm/recipes-phosphor/state/phosphor-post-code-manager_%.bbappend @@ -0,0 +1,4 @@ +# Set MaxBootCycleCount to 5 on IBM systems +EXTRA_OECMAKE_append_p10bmc = "-DMAX_BOOT_CYCLE_COUNT=5" +EXTRA_OECMAKE_append_witherspoon-tacoma = "-DMAX_BOOT_CYCLE_COUNT=5" + -- cgit v1.2.3 From 71e200ab2bfcd9d2c3ef027798e13f98d1fc4ca2 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 3 Jun 2021 17:31:26 +0800 Subject: meta-quanta: gbs: remove the patch for phosphor-pid-control remove patch: - Add the ability to dynamically set the failSafe percent Signed-off-by: George Hung Change-Id: I3fdb60d288fb2fcf83928ba712a546f823849652 --- .../0001-Advertise-failSafePercent-on-dbus.patch | 117 --------------------- .../fans/phosphor-pid-control_%.bbappend | 1 - 2 files changed, 118 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/0001-Advertise-failSafePercent-on-dbus.patch diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/0001-Advertise-failSafePercent-on-dbus.patch b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/0001-Advertise-failSafePercent-on-dbus.patch deleted file mode 100644 index 050c8b43c..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/0001-Advertise-failSafePercent-on-dbus.patch +++ /dev/null @@ -1,117 +0,0 @@ -From c9b6d4589620275a625121b0ea9f4cc4c93b608a Mon Sep 17 00:00:00 2001 -From: Ian Goegebuer -Date: Tue, 10 Nov 2020 14:20:47 -0800 -Subject: [PATCH] pid/zone: Add the ability to dynamically set the failSafe - percent - -This change advertises the failSafe percent as a FanSpeed interface -added to the the FanCtrl object generated by the config.json file. - -The target method added in this case sets the failSafePerecent -out of 255 with 255 being 100% and 0 being 0%. - -Example: -`busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone1 xyz.openbmc_project.Control.FanSpeed Target t 178` -Sets the failSafePercent to 69.8% or ~70% -`busctl set-property xyz.openbmc_project.State.FanCtrl /xyz/openbmc_project/settings/fanctrl/zone1 xyz.openbmc_project.Control.FanSpeed Target t 250` -Sets the failSafePercent to 98% - -Signed-off-by: Ian Goegebuer -Change-Id: Ief538d865dc1c654427ed9792496ab368e8803e2 ---- - pid/zone.cpp | 11 +++++++++++ - pid/zone.hpp | 11 +++++++++-- - pid/zone_interface.hpp | 1 + - 3 files changed, 21 insertions(+), 2 deletions(-) - -diff --git a/pid/zone.cpp b/pid/zone.cpp -index 441031a..24f6e84 100644 ---- a/pid/zone.cpp -+++ b/pid/zone.cpp -@@ -120,6 +120,11 @@ double DbusPidZone::getFailSafePercent(void) const - return _failSafePercent; - } - -+void DbusPidZone::setFailSafePercent(double newFailSafe) -+{ -+ _failSafePercent = newFailSafe; -+} -+ - double DbusPidZone::getMinThermalSetpoint(void) const - { - return _minThermalOutputSetPt; -@@ -459,4 +464,10 @@ bool DbusPidZone::failSafe() const - return getFailSafeMode(); - } - -+uint64_t DbusPidZone::target(uint64_t value) -+{ -+ setFailSafePercent(((double)value / 255) * 100.0); -+ return ModeObject::target(value); -+} -+ - } // namespace pid_control -diff --git a/pid/zone.hpp b/pid/zone.hpp -index 3bea9c2..c0d1d22 100644 ---- a/pid/zone.hpp -+++ b/pid/zone.hpp -@@ -10,6 +10,7 @@ - - #include - #include -+#include - #include - - #include -@@ -22,7 +23,9 @@ - template - using ServerObject = typename sdbusplus::server::object::object; - using ModeInterface = sdbusplus::xyz::openbmc_project::Control::server::Mode; --using ModeObject = ServerObject; -+using FanSpeedInterface = -+ sdbusplus::xyz::openbmc_project::Control::server::FanSpeed; -+using ModeObject = ServerObject; - - namespace pid_control - { -@@ -63,6 +66,7 @@ class DbusPidZone : public ZoneInterface, public ModeObject - void clearSetPoints(void) override; - void clearRPMCeilings(void) override; - double getFailSafePercent(void) const override; -+ void setFailSafePercent(double) override; - double getMinThermalSetpoint(void) const; - - Sensor* getSensor(const std::string& name) override; -@@ -88,6 +92,9 @@ class DbusPidZone : public ZoneInterface, public ModeObject - /* Method for reading whether in fail-safe mode over dbus */ - bool failSafe() const override; - -+ /* Method for setting the failSafePercent over dbus */ -+ uint64_t target(uint64_t value) override; -+ - private: - std::ofstream _log; - -@@ -95,7 +102,7 @@ class DbusPidZone : public ZoneInterface, public ModeObject - double _maximumSetPoint = 0; - bool _manualMode = false; - const double _minThermalOutputSetPt; -- const double _failSafePercent; -+ double _failSafePercent; - - std::set _failSafeSensors; - -diff --git a/pid/zone_interface.hpp b/pid/zone_interface.hpp -index a024c0e..9ea89c1 100644 ---- a/pid/zone_interface.hpp -+++ b/pid/zone_interface.hpp -@@ -70,6 +70,7 @@ class ZoneInterface - * fail safe. - */ - virtual double getFailSafePercent() const = 0; -+ virtual void setFailSafePercent(double newFailSafe) = 0; - - /** Return if the zone is set to manual mode. false equates to automatic - * mode (the default). --- -2.29.2.222.g5d2a92d10f8-goog diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend index 7acd44c70..e617f8679 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend @@ -2,7 +2,6 @@ FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" SRC_URI_append_gbs = " file://config.json.in \ file://fan-table-init.sh \ file://phosphor-pid-control.service \ - file://0001-Advertise-failSafePercent-on-dbus.patch \ " FILES_${PN}_append_gbs = " ${datadir}/swampd/config.json.in" -- cgit v1.2.3 From d087c79998b41f31832b5f2e4c63363073343e98 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 3 Jun 2021 17:36:23 +0800 Subject: meta-quanta: gbs: remove gbs-nvme-pwr-ctrl/mac-address packages remove packages and recipe files: - mac-address - gbs-nvme-pwr-ctrl Signed-off-by: George Hung Change-Id: Ic9d6a48d16ec058d1f444badc2f3e69628f77859 --- .../gbs-nvme-pwr-ctrl/gbs-nvme-pwr-ctrl.bb | 19 ------------------- .../images/obmc-phosphor-image.bbappend | 2 -- .../recipes-quanta/network/mac-address/config.txt | 8 -------- .../recipes-quanta/network/mac-address_%.bbappend | 10 ---------- 4 files changed, 39 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-gbs/gbs-nvme-pwr-ctrl/gbs-nvme-pwr-ctrl.bb delete mode 100644 meta-quanta/meta-gbs/recipes-quanta/network/mac-address/config.txt delete mode 100644 meta-quanta/meta-gbs/recipes-quanta/network/mac-address_%.bbappend diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-nvme-pwr-ctrl/gbs-nvme-pwr-ctrl.bb b/meta-quanta/meta-gbs/recipes-gbs/gbs-nvme-pwr-ctrl/gbs-nvme-pwr-ctrl.bb deleted file mode 100644 index 21ef52c49..000000000 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-nvme-pwr-ctrl/gbs-nvme-pwr-ctrl.bb +++ /dev/null @@ -1,19 +0,0 @@ -SUMMARY = "NVMe Drives Power Control" -DESCRIPTION = "Daemon to monitor and control the power of NVMe drives" -PR = "r1" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" - -inherit meson pkgconfig -inherit systemd - -DEPENDS += "sdbusplus" -DEPENDS += "boost" -DEPENDS += "libgpiod" - -SRC_URI = "git://github.com/quanta-bmc/nvme-power-control;protocol=git" -SRCREV = "3b39e92a8340d8ba1bd40a03af3f5a9049da3bc7" - -S = "${WORKDIR}/git" - -SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.Control.Nvme.Power.service" diff --git a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend index ff9e512c7..1977c3b21 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -14,11 +14,9 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-ecc" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-sysinit" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-ipmi-entity-association-map" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " usb-network" -OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " mac-address" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-image-signing" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " openssl-bin" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-ipmi-blobs-binarystore" -OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-nvme-pwr-ctrl" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " read-margin-temp" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-virtual-sensor" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " acpi-power-state-daemon" diff --git a/meta-quanta/meta-gbs/recipes-quanta/network/mac-address/config.txt b/meta-quanta/meta-gbs/recipes-quanta/network/mac-address/config.txt deleted file mode 100644 index 06818fc0b..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/network/mac-address/config.txt +++ /dev/null @@ -1,8 +0,0 @@ -fruBusNum=5 -fruAddr=0x50 -numberMac=4 -mac1=eth1 -mac2=usb0_dev -mac3=usb0_host -mac4=eth0 -USBLAA=true diff --git a/meta-quanta/meta-gbs/recipes-quanta/network/mac-address_%.bbappend b/meta-quanta/meta-gbs/recipes-quanta/network/mac-address_%.bbappend deleted file mode 100644 index d975fe28b..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/network/mac-address_%.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" -SRC_URI_append_gbs = " file://config.txt" - -FILES_${PN}_append_gbs = " ${datadir}/mac-address/config.txt" - -do_install_append_gbs() { - install -d ${D}${datadir}/mac-address - install -m 0644 -D ${WORKDIR}/config.txt \ - ${D}${datadir}/mac-address/config.txt -} -- cgit v1.2.3 From 1d7fe62be329e47b0e7baeb0f06ba077b0fe5ab8 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 3 Jun 2021 17:17:53 +0800 Subject: meta-quanta: gbs: remove patches for phosphor-ipmi-host remove patches: - Update IPMI Chassis Control command transition requests - Add Chassis State Transition interface - Update Host State Transition function - Fix issues and support signed sensor values Signed-off-by: George Hung Change-Id: I8f9f7d576ef7f7672bedf803ee73f331f96768ff --- ...01-Add-Chassis-State-Transition-interface.patch | 79 --------- ...x-issues-and-support-signed-sensor-values.patch | 169 ------------------- ...002-Update-Host-State-Transition-function.patch | 137 ---------------- ...-Chassis-Control-command-transition-reque.patch | 180 --------------------- .../ipmi/phosphor-ipmi-host_%.bbappend | 7 +- 5 files changed, 1 insertion(+), 571 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Add-Chassis-State-Transition-interface.patch delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Fix-issues-and-support-signed-sensor-values.patch delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Update-Host-State-Transition-function.patch delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0003-Update-IPMI-Chassis-Control-command-transition-reque.patch diff --git a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Add-Chassis-State-Transition-interface.patch b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Add-Chassis-State-Transition-interface.patch deleted file mode 100644 index 74f982b33..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Add-Chassis-State-Transition-interface.patch +++ /dev/null @@ -1,79 +0,0 @@ -From a1f9d797753e32b36e08e7d611ff88b10e9bbad2 Mon Sep 17 00:00:00 2001 -From: "Jason M. Bills" -Date: Thu, 30 Jan 2020 16:18:33 -0800 -Subject: [PATCH 1/3] Add Chassis State Transition interface - -This adds the Chassis State Transition interface in preparation -to support the mapping defined in the design document below. - -ref: https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/22358 - -Tested: -Ran each IPMI chassis control command to confirm the expected -behavior: -ipmitool power on: system is powered-on -ipmitool power off: system is forced off -ipmitool power cycle: system is forced off then powered-on -ipmitool power reset: system is hard reset -ipmitool power soft: soft power-off requested from system software - -Change-Id: I6acfb795a9a33ff5227a5d6e1830774ab732ac0c -Signed-off-by: Jason M. Bills ---- - chassishandler.cpp | 33 +++++++++++++++++++++++++++++++++ - 1 file changed, 33 insertions(+) - -diff --git a/chassishandler.cpp b/chassishandler.cpp -index 0d318647..fdbb9fa5 100644 ---- a/chassishandler.cpp -+++ b/chassishandler.cpp -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -865,6 +866,38 @@ int initiate_state_transition(State::Host::Transition transition) - return rc; - } - -+//------------------------------------------ -+// Calls into Chassis State Manager Dbus object -+//------------------------------------------ -+int initiateChassisStateTransition(State::Chassis::Transition transition) -+{ -+ // OpenBMC Chassis State Manager dbus framework -+ constexpr auto chassisStatePath = "/xyz/openbmc_project/state/chassis0"; -+ constexpr auto chassisStateIntf = "xyz.openbmc_project.State.Chassis"; -+ -+ auto service = -+ ipmi::getService(*getSdBus(), chassisStateIntf, chassisStatePath); -+ -+ // Convert to string equivalent of the passed in transition enum. -+ auto request = State::convertForMessage(transition); -+ -+ try -+ { -+ ipmi::setDbusProperty(*getSdBus(), service, chassisStatePath, -+ chassisStateIntf, "RequestedPowerTransition", -+ request); -+ } -+ catch (std::exception& e) -+ { -+ log( -+ "Failed to initiate transition", -+ entry("EXCEPTION=%s, REQUEST=%s", e.what(), request.c_str())); -+ return -1; -+ } -+ -+ return 0; -+} -+ - //------------------------------------------ - // Set Enabled property to inform NMI source - // handling to trigger a NMI_OUT BSOD. --- -2.21.0 - diff --git a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Fix-issues-and-support-signed-sensor-values.patch b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Fix-issues-and-support-signed-sensor-values.patch deleted file mode 100644 index 6d13f9297..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Fix-issues-and-support-signed-sensor-values.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 8ce91a760fca8c945540679c92770f841629e179 Mon Sep 17 00:00:00 2001 -From: Tony Lee -Date: Thu, 31 Oct 2019 17:24:16 +0800 -Subject: [PATCH] Fix issues and support signed sensor values - -Sensor will get "disable" when the command "ipmitool sdr elist" is -executed that if sensorReadingType is 0x6F. - -sensor_units_1 is always set to 0 currently. To support the display of -signed sensor values, we add the attribute "sensorUnits1" to the sensor -mapping yaml. This attribute can be used to determine whether the -sensor is signed. - -It were making negative values 0 in get::readingData(). Fix the issue -by using a int32_t and add an overflow check. - -Change-Id: I705defcf18805db9ada7d0de0738a59aedab61df -Signed-off-by: Tony Lee ---- - include/ipmid/types.hpp | 2 ++ - scripts/sensor-example.yaml | 2 ++ - scripts/writesensor.mako.cpp | 2 ++ - sensordatahandler.cpp | 2 -- - sensordatahandler.hpp | 31 ++++++++++++++++++++++++++++--- - sensorhandler.cpp | 5 ++--- - 6 files changed, 36 insertions(+), 8 deletions(-) - -diff --git a/include/ipmid/types.hpp b/include/ipmid/types.hpp -index e62c8192..bd1fac2b 100644 ---- a/include/ipmid/types.hpp -+++ b/include/ipmid/types.hpp -@@ -133,6 +133,7 @@ using Unit = std::string; - using EntityType = uint8_t; - using EntityInst = uint8_t; - using SensorName = std::string; -+using SensorUnits1 = uint8_t; - - enum class Mutability - { -@@ -167,6 +168,7 @@ struct Info - Exponent exponentR; - bool hasScale; - Scale scale; -+ SensorUnits1 sensorUnits1; - Unit unit; - std::function updateFunc; - std::function getFunc; -diff --git a/scripts/sensor-example.yaml b/scripts/sensor-example.yaml -index 9760cd01..bddd2e6d 100644 ---- a/scripts/sensor-example.yaml -+++ b/scripts/sensor-example.yaml -@@ -112,6 +112,8 @@ - # Applies for analog sensors, the actual reading value for the sensor is - # Value * 10^N - scale: -3 -+ # Indicate Analog Data Format, Rate unit, Modifier unit and Percentage -+ sensorUnits1 : 0x80 - mutability: Mutability::Write|Mutability::Read - serviceInterface: org.freedesktop.DBus.Properties - readingType: readingData -diff --git a/scripts/writesensor.mako.cpp b/scripts/writesensor.mako.cpp -index 8b268052..813f9404 100644 ---- a/scripts/writesensor.mako.cpp -+++ b/scripts/writesensor.mako.cpp -@@ -49,6 +49,7 @@ extern const IdInfoMap sensors = { - offsetB = sensor.get("offsetB", 0) - bExp = sensor.get("bExp", 0) - rExp = sensor.get("rExp", 0) -+ sensorUnits1 = sensor.get("sensorUnits1", 0) - unit = sensor.get("unit", "") - scale = sensor.get("scale", 0) - hasScale = "true" if "scale" in sensor.keys() else "false" -@@ -91,6 +92,7 @@ extern const IdInfoMap sensors = { - .exponentR = ${rExp}, - .hasScale = ${hasScale}, - .scale = ${scale}, -+ .sensorUnits1 = ${sensorUnits1}, - .unit = "${unit}", - .updateFunc = ${updateFunc}, - .getFunc = ${getFunc}, -diff --git a/sensordatahandler.cpp b/sensordatahandler.cpp -index 06f5f429..fc74b8f8 100644 ---- a/sensordatahandler.cpp -+++ b/sensordatahandler.cpp -@@ -7,8 +7,6 @@ - #include - #include - #include --#include --#include - #include - #include - -diff --git a/sensordatahandler.hpp b/sensordatahandler.hpp -index 5cad58c5..c48140a3 100644 ---- a/sensordatahandler.hpp -+++ b/sensordatahandler.hpp -@@ -8,6 +8,8 @@ - #include - #include - #include -+#include -+#include - #include - - namespace ipmi -@@ -28,6 +30,7 @@ using ServicePath = std::pair; - using Interfaces = std::vector; - - using MapperResponseType = std::map>; -+using namespace phosphor::logging; - - /** @brief get the D-Bus service and service path - * @param[in] bus - The Dbus bus object -@@ -225,10 +228,32 @@ GetSensorResponse readingData(const Info& sensorInfo) - - double value = std::get(propValue) * - std::pow(10, sensorInfo.scale - sensorInfo.exponentR); -+ int32_t rawData = -+ (value - sensorInfo.scaledOffset) / sensorInfo.coefficientM; - -- auto rawData = static_cast((value - sensorInfo.scaledOffset) / -- sensorInfo.coefficientM); -- setReading(rawData, &response); -+ constexpr uint8_t sensorUnitsSignedBits = 2 << 6; -+ constexpr uint8_t signedDataFormat = 0x80; -+ // if sensorUnits1 [7:6] = 10b, sensor is signed -+ if ((sensorInfo.sensorUnits1 & sensorUnitsSignedBits) == signedDataFormat) -+ { -+ if (rawData > std::numeric_limits::max() || -+ rawData < std::numeric_limits::lowest()) -+ { -+ log("Value out of range"); -+ throw std::out_of_range("Value out of range"); -+ } -+ setReading(static_cast(rawData), &response); -+ } -+ else -+ { -+ if (rawData > std::numeric_limits::max() || -+ rawData < std::numeric_limits::lowest()) -+ { -+ log("Value out of range"); -+ throw std::out_of_range("Value out of range"); -+ } -+ setReading(static_cast(rawData), &response); -+ } - - return response; - } -diff --git a/sensorhandler.cpp b/sensorhandler.cpp -index 36998715..260331a0 100644 ---- a/sensorhandler.cpp -+++ b/sensorhandler.cpp -@@ -700,9 +700,8 @@ ipmi_ret_t populate_record_from_dbus(get_sdr::SensorDataFullRecordBody* body, - /* Functional sensor case */ - if (isAnalogSensor(info->propertyInterfaces.begin()->first)) - { -- -- body->sensor_units_1 = 0; // unsigned, no rate, no modifier, not a % -- -+ body->sensor_units_1 = info->sensorUnits1; // default is 0. unsigned, no -+ // rate, no modifier, not a % - /* Unit info */ - setUnitFieldsForObject(info, body); - --- -2.21.0 - diff --git a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Update-Host-State-Transition-function.patch b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Update-Host-State-Transition-function.patch deleted file mode 100644 index 156327b9c..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Update-Host-State-Transition-function.patch +++ /dev/null @@ -1,137 +0,0 @@ -From 8079e1e39e1953458bd2e59c7f546a3d879558db Mon Sep 17 00:00:00 2001 -From: "Jason M. Bills" -Date: Thu, 30 Jan 2020 16:02:39 -0800 -Subject: [PATCH 2/3] Update Host State Transition function - -This updates the Host State Transition function to use the new -IPMI DBus APIs for transition requests. - -Tested: -Ran each IPMI chassis control command to confirm the expected -behavior: -ipmitool power on: system is powered-on -ipmitool power off: system is forced off -ipmitool power cycle: system is forced off then powered-on -ipmitool power reset: system is hard reset -ipmitool power soft: soft power-off requested from system software - -Change-Id: Id2253a9c0060e892bc318dd02a6221ac1a2ae2d9 -Signed-off-by: Jason M. Bills ---- - chassishandler.cpp | 64 +++++++++++++--------------------------------- - 1 file changed, 18 insertions(+), 46 deletions(-) - -diff --git a/chassishandler.cpp b/chassishandler.cpp -index fdbb9fa5..af9cba72 100644 ---- a/chassishandler.cpp -+++ b/chassishandler.cpp -@@ -811,59 +811,31 @@ ipmi::RspType<> ipmiSetChassisCap(bool intrusion, bool fpLockout, - //------------------------------------------ - // Calls into Host State Manager Dbus object - //------------------------------------------ --int initiate_state_transition(State::Host::Transition transition) -+int initiateHostStateTransition(State::Host::Transition transition) - { - // OpenBMC Host State Manager dbus framework -- constexpr auto HOST_STATE_MANAGER_ROOT = "/xyz/openbmc_project/state/host0"; -- constexpr auto HOST_STATE_MANAGER_IFACE = "xyz.openbmc_project.State.Host"; -- constexpr auto DBUS_PROPERTY_IFACE = "org.freedesktop.DBus.Properties"; -- constexpr auto PROPERTY = "RequestedHostTransition"; -+ constexpr auto hostStatePath = "/xyz/openbmc_project/state/host0"; -+ constexpr auto hostStateIntf = "xyz.openbmc_project.State.Host"; - -- // sd_bus error -- int rc = 0; -- char* busname = NULL; -- -- // SD Bus error report mechanism. -- sd_bus_error bus_error = SD_BUS_ERROR_NULL; -- -- // Gets a hook onto either a SYSTEM or SESSION bus -- sd_bus* bus_type = ipmid_get_sd_bus_connection(); -- rc = mapper_get_service(bus_type, HOST_STATE_MANAGER_ROOT, &busname); -- if (rc < 0) -- { -- log( -- "Failed to get bus name", -- entry("ERRNO=0x%X, OBJPATH=%s", -rc, HOST_STATE_MANAGER_ROOT)); -- return rc; -- } -+ auto service = ipmi::getService(*getSdBus(), hostStateIntf, hostStatePath); - - // Convert to string equivalent of the passed in transition enum. - auto request = State::convertForMessage(transition); - -- rc = sd_bus_call_method(bus_type, // On the system bus -- busname, // Service to contact -- HOST_STATE_MANAGER_ROOT, // Object path -- DBUS_PROPERTY_IFACE, // Interface name -- "Set", // Method to be called -- &bus_error, // object to return error -- nullptr, // Response buffer if any -- "ssv", // Takes 3 arguments -- HOST_STATE_MANAGER_IFACE, PROPERTY, "s", -- request.c_str()); -- if (rc < 0) -+ try - { -- log("Failed to initiate transition", -- entry("ERRNO=0x%X, REQUEST=%s", -rc, request.c_str())); -+ ipmi::setDbusProperty(*getSdBus(), service, hostStatePath, -+ hostStateIntf, "RequestedHostTransition", -+ request); - } -- else -+ catch (std::exception& e) - { -- log("Transition request initiated successfully"); -+ log( -+ "Failed to initiate transition", -+ entry("EXCEPTION=%s, REQUEST=%s", e.what(), request.c_str())); -+ return -1; - } -- -- sd_bus_error_free(&bus_error); -- free(busname); -- -- return rc; -+ return 0; - } - - //------------------------------------------ -@@ -1411,7 +1383,7 @@ ipmi::RspType<> ipmiChassisControl(uint8_t chassisControl) - switch (chassisControl) - { - case CMD_POWER_ON: -- rc = initiate_state_transition(State::Host::Transition::On); -+ rc = initiateHostStateTransition(State::Host::Transition::On); - break; - case CMD_POWER_OFF: - // This path would be hit in 2 conditions. -@@ -1439,7 +1411,7 @@ ipmi::RspType<> ipmiChassisControl(uint8_t chassisControl) - indicate_no_softoff_needed(); - - // Now request the shutdown -- rc = initiate_state_transition(State::Host::Transition::Off); -+ rc = initiateHostStateTransition(State::Host::Transition::Off); - } - else - { -@@ -1460,12 +1432,12 @@ ipmi::RspType<> ipmiChassisControl(uint8_t chassisControl) - // originating via a soft power off SMS request) - indicate_no_softoff_needed(); - -- rc = initiate_state_transition(State::Host::Transition::Reboot); -+ rc = initiateHostStateTransition(State::Host::Transition::Reboot); - break; - - case CMD_SOFT_OFF_VIA_OVER_TEMP: - // Request Host State Manager to do a soft power off -- rc = initiate_state_transition(State::Host::Transition::Off); -+ rc = initiateHostStateTransition(State::Host::Transition::Off); - break; - - case CMD_PULSE_DIAGNOSTIC_INTR: --- -2.21.0 - diff --git a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0003-Update-IPMI-Chassis-Control-command-transition-reque.patch b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0003-Update-IPMI-Chassis-Control-command-transition-reque.patch deleted file mode 100644 index 271af3f5b..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host/0003-Update-IPMI-Chassis-Control-command-transition-reque.patch +++ /dev/null @@ -1,180 +0,0 @@ -From 291629d5c3e5bea31925c9d025688897c90eb783 Mon Sep 17 00:00:00 2001 -From: "Jason M. Bills" -Date: Thu, 30 Jan 2020 16:22:24 -0800 -Subject: [PATCH 3/3] Update IPMI Chassis Control command transition requests - -This change updates the IPMI Chassis Control command to use the new -host state transitions and chassis off transition based on the -mapping in the design document below. This allows each chassis -control action to more closely follow the behavior defined in the -IPMI spec. - -ref: https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/22358 - -Tested: -Ran each IPMI chassis control command to confirm the expected -behavior: -ipmitool power on: system is powered-on using Host.On -ipmitool power off: system is forced off using Chassis.Off -ipmitool power cycle: system is forced off then powered-on using - Host.Reboot -ipmitool power reset: system is hard reset using Host.ForceWarmReboot -ipmitool power soft: soft power-off requested from system software - using Host.Off - -Change-Id: Ieb42722102fde0e51a49dc4aaa3ff227a3394066 -Signed-off-by: Jason M. Bills ---- - chassishandler.cpp | 121 ++------------------------------------------- - 1 file changed, 5 insertions(+), 116 deletions(-) - -diff --git a/chassishandler.cpp b/chassishandler.cpp -index af9cba72..663081de 100644 ---- a/chassishandler.cpp -+++ b/chassishandler.cpp -@@ -1301,76 +1301,6 @@ ipmi::RspType("Failed to set property in SoftPowerOff object", -- entry("ERRNO=0x%X", -rc)); -- } -- -- // TODO openbmc/openbmc#1661 - Mapper refactor -- // free(busname); -- return rc; --} -- --//---------------------------------------------------------------------- --// Create file to indicate there is no need for softoff notification to host --//---------------------------------------------------------------------- --void indicate_no_softoff_needed() --{ -- fs::path path{HOST_INBAND_REQUEST_DIR}; -- if (!fs::is_directory(path)) -- { -- fs::create_directory(path); -- } -- -- // Add the host instance (default 0 for now) to the file name -- std::string file{HOST_INBAND_REQUEST_FILE}; -- auto size = std::snprintf(nullptr, 0, file.c_str(), 0); -- size++; // null -- std::unique_ptr buf(new char[size]); -- std::snprintf(buf.get(), size, file.c_str(), 0); -- -- // Append file name to directory and create it -- path /= buf.get(); -- std::ofstream(path.c_str()); --} -- - /** @brief Implementation of chassis control command - * - * @param - chassisControl command byte -@@ -1386,60 +1316,19 @@ ipmi::RspType<> ipmiChassisControl(uint8_t chassisControl) - rc = initiateHostStateTransition(State::Host::Transition::On); - break; - case CMD_POWER_OFF: -- // This path would be hit in 2 conditions. -- // 1: When user asks for power off using ipmi chassis command 0x04 -- // 2: Host asking for power off post shutting down. -- -- // If it's a host requested power off, then need to nudge Softoff -- // application that it needs to stop the watchdog timer if running. -- // If it is a user requested power off, then this is not really -- // needed. But then we need to differentiate between user and host -- // calling this same command -- -- // For now, we are going ahead with trying to nudge the soft off and -- // interpret the failure to do so as a non softoff case -- rc = stop_soft_off_timer(); -- -- // Only request the Off transition if the soft power off -- // application is not running -- if (rc < 0) -- { -- // First create a file to indicate to the soft off application -- // that it should not run. Not doing this will result in State -- // manager doing a default soft power off when asked for power -- // off. -- indicate_no_softoff_needed(); -- -- // Now request the shutdown -- rc = initiateHostStateTransition(State::Host::Transition::Off); -- } -- else -- { -- log("Soft off is running, so let shutdown target " -- "stop the host"); -- } -+ rc = -+ initiateChassisStateTransition(State::Chassis::Transition::Off); - break; -- - case CMD_HARD_RESET: -+ rc = initiateHostStateTransition( -+ State::Host::Transition::ForceWarmReboot); -+ break; - case CMD_POWER_CYCLE: -- // SPEC has a section that says certain implementations can trigger -- // PowerOn if power is Off when a command to power cycle is -- // requested -- -- // First create a file to indicate to the soft off application -- // that it should not run since this is a direct user initiated -- // power reboot request (i.e. a reboot request that is not -- // originating via a soft power off SMS request) -- indicate_no_softoff_needed(); -- - rc = initiateHostStateTransition(State::Host::Transition::Reboot); - break; -- - case CMD_SOFT_OFF_VIA_OVER_TEMP: -- // Request Host State Manager to do a soft power off - rc = initiateHostStateTransition(State::Host::Transition::Off); - break; -- - case CMD_PULSE_DIAGNOSTIC_INTR: - rc = setNmiProperty(true); - break; --- -2.21.0 - diff --git a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend index af5fb1356..78fa57039 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend @@ -1,12 +1,7 @@ DEPENDS_append_gbs = " gbs-yaml-config" FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" -SRC_URI_append_gbs = " file://gbs-ipmid-whitelist.conf \ - file://0001-Add-Chassis-State-Transition-interface.patch \ - file://0002-Update-Host-State-Transition-function.patch \ - file://0003-Update-IPMI-Chassis-Control-command-transition-reque.patch \ - file://0001-Fix-issues-and-support-signed-sensor-values.patch \ - " +SRC_URI_append_gbs = " file://gbs-ipmid-whitelist.conf" WHITELIST_CONF_gbs = "${WORKDIR}/gbs-ipmid-whitelist.conf" -- cgit v1.2.3 From 8350dd75800e82102c6154d63f7134b2c999933d Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 1 Jul 2021 12:22:16 +0800 Subject: meta-quanta: gbs: update some changes to gbs-sysinit script - remove unnecessary reset PHY action - check the FIU node for different kernel version - rebind the module for the I2C switch on I2C bus 11 as it only can work with the normal power Signed-off-by: George Hung Change-Id: I9b4390d146902484c75bdce20ef6eead2833fc14 --- .../recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh | 34 +++++++++++++++------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh b/meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh index d0453ec5e..8c7cbd54a 100644 --- a/meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh +++ b/meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh @@ -128,9 +128,21 @@ set_hdd_prsnt() { fi } -KERNEL_FIU_ID="c0000000.fiu" +KERNEL_FIU_ID="c0000000.spi" KERNEL_SYSFS_FIU="/sys/bus/platform/drivers/NPCM-FIU" +# the node of FIU is spi for kernel 5.10, but +# for less than or equal kernel 5.4, the node +# is fiu +for fname in $(find ${KERNEL_SYSFS_FIU} -type l) +do + if [ "${fname##*\.}" == "fiu" ] + then + KERNEL_FIU_ID="c0000000.fiu" + break + fi +done + bind_host_mtd() { set_gpio_direction 'SPI_SW_SELECT' high if [[ -d ${KERNEL_SYSFS_FIU}/${KERNEL_FIU_ID} ]]; then @@ -173,13 +185,6 @@ verify_host_bios() { unbind_host_mtd } -reset_phy() { - ifconfig eth1 down - set_gpio_direction 'RST_BMC_PHY_N' low - set_gpio_direction 'RST_BMC_PHY_N' high - ifconfig eth1 up -} - parse_pe_fru() { pe_fruid=3 for i in {1..2}; @@ -225,6 +230,14 @@ check_power_status() { echo $res0 } +clk_buf_bus_switch="11-0076" +clk_buf_driver="/sys/bus/i2c/drivers/pca954x/" + +bind_clk_buf_switch() { + echo "Re-bind i2c bus 11 clk_buf_switch" + echo "${clk_buf_bus_switch}" > "${clk_buf_driver}"/bind +} + main() { get_board_rev_id get_board_sku_id @@ -238,8 +251,6 @@ main() { check_board_sku - reset_phy - if [[ $(check_power_status) != \ 'xyz.openbmc_project.State.Chassis.PowerState.On' ]]; then verify_host_bios @@ -257,6 +268,9 @@ main() { xyz.openbmc_project.State.Host \ RequestedHostTransition s \ xyz.openbmc_project.State.Host.Transition.On + + sleep 1 + bind_clk_buf_switch else echo "Host is already running, doing nothing!" >&2 fi -- cgit v1.2.3 From 7b2cd1b4d2e6572cf8d3d36f9f092e8250cfaaba Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 1 Jul 2021 12:48:03 +0800 Subject: meta-quanta: gbs: remove packagegroup-obmc/gbs-apps settings remove packagegroup-obmc-apps-extras/packagegroup-gbs-apps and add all the needed binaries to obmc-phosphor-image.bbappend Signed-off-by: George Hung Change-Id: Ic56cb146987881e5b6312057ca412427f1d1ba29 --- meta-quanta/meta-gbs/conf/machine/gbs.conf | 47 +++++++++++++--------- .../images/obmc-phosphor-image.bbappend | 19 ++++++++- .../packagegroups/packagegroup-gbs-apps.bb | 36 ----------------- .../packagegroups/packagegroup-obmc-apps%.bbappend | 2 - 4 files changed, 47 insertions(+), 57 deletions(-) delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/packagegroups/packagegroup-gbs-apps.bb delete mode 100644 meta-quanta/meta-gbs/recipes-phosphor/packagegroups/packagegroup-obmc-apps%.bbappend diff --git a/meta-quanta/meta-gbs/conf/machine/gbs.conf b/meta-quanta/meta-gbs/conf/machine/gbs.conf index 6f54e383b..a709dfd27 100644 --- a/meta-quanta/meta-gbs/conf/machine/gbs.conf +++ b/meta-quanta/meta-gbs/conf/machine/gbs.conf @@ -19,29 +19,40 @@ FLASH_ROFS_OFFSET = "7168" FLASH_RWFS_OFFSET = "62400" FLASH_SIZE = "65536" -OBMC_MACHINE_FEATURES += "\ - obmc-phosphor-fan-mgmt \ - obmc-phosphor-chassis-mgmt \ - obmc-phosphor-flash-mgmt \ - obmc-host-ipmi \ - obmc-host-state-mgmt \ - obmc-chassis-state-mgmt \ - obmc-bmc-state-mgmt \ - " - -VIRTUAL-RUNTIME_obmc-host-state-manager = "x86-power-control" -VIRTUAL-RUNTIME_obmc-chassis-state-manager = "x86-power-control" -VIRTUAL-RUNTIME_obmc-discover-system-state = "x86-power-control" - -PREFERRED_PROVIDER_virtual/obmc-chassis-mgmt = "packagegroup-gbs-apps" -PREFERRED_PROVIDER_virtual/obmc-fan-mgmt = "packagegroup-gbs-apps" -PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-gbs-apps" PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "gbmc-kcs-config" PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "gbs-led-manager-config-native" PREFERRED_PROVIDER_virtual/bios-update = "gbs-bios-update" # Remove unneeded binaries from image +IMAGE_FEATURES_remove = "obmc-bmc-state-mgmt" +IMAGE_FEATURES_remove = "obmc-bmcweb" +IMAGE_FEATURES_remove = "obmc-chassis-mgmt" +IMAGE_FEATURES_remove = "obmc-chassis-state-mgmt" +IMAGE_FEATURES_remove = "obmc-console" +IMAGE_FEATURES_remove = "obmc-dbus-monitor" +IMAGE_FEATURES_remove = "obmc-devtools" IMAGE_FEATURES_remove = "obmc-fan-control" +IMAGE_FEATURES_remove = "obmc-fan-mgmt" +IMAGE_FEATURES_remove = "obmc-flash-mgmt" +IMAGE_FEATURES_remove = "obmc-fru-ipmi" +IMAGE_FEATURES_remove = "obmc-health-monitor" +IMAGE_FEATURES_remove = "obmc-host-ctl" +IMAGE_FEATURES_remove = "obmc-host-ipmi" +IMAGE_FEATURES_remove = "obmc-host-state-mgmt" +IMAGE_FEATURES_remove = "obmc-ikvm" +IMAGE_FEATURES_remove = "obmc-inventory" +IMAGE_FEATURES_remove = "obmc-leds" +IMAGE_FEATURES_remove = "obmc-logging-mgmt" +IMAGE_FEATURES_remove = "obmc-remote-logging-mgmt" +IMAGE_FEATURES_remove = "obmc-rng" +IMAGE_FEATURES_remove = "obmc-net-ipmi" +IMAGE_FEATURES_remove = "obmc-sensors" IMAGE_FEATURES_remove = "obmc-software" +IMAGE_FEATURES_remove = "obmc-system-mgmt" +IMAGE_FEATURES_remove = "obmc-telemetry" IMAGE_FEATURES_remove = "obmc-debug-collector" -IMAGE_FEATURES_remove = "obmc-net-ipmi" +IMAGE_FEATURES_remove = "obmc-settings-mgmt" +IMAGE_FEATURES_remove = "obmc-network-mgmt" +IMAGE_FEATURES_remove = "obmc-user-mgmt" +IMAGE_FEATURES_remove = "obmc-user-mgmt-ldap" +OBMC_IMAGE_BASE_INSTALL_remove = "packagegroup-obmc-apps-extras" diff --git a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend index 1977c3b21..effbcc14f 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -17,7 +17,24 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " usb-network" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-image-signing" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " openssl-bin" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-ipmi-blobs-binarystore" -OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " read-margin-temp" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-virtual-sensor" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " acpi-power-state-daemon" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " virtual/obmc-gpio-presence" + +# Add back packages that were part of packagegroup-obmc-apps-extras +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-hwmon" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-inventory-manager" +# Required for obmc-bmcweb +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " bmcweb" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-bmcweb-cert-config" +# Required for LEDs. Part of obmc-leds +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " ${VIRTUAL-RUNTIME_obmc-leds-manager}" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " ${VIRTUAL-RUNTIME_obmc-leds-sysfs}" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " ${VIRTUAL-RUNTIME_obmc-led-monitor}" +# Required for the front port. Part of obmc-console +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " obmc-console" +# Required from packagegroup-gbs-apps +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " gbs-bmc-update" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " virtual/bios-update" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " x86-power-control" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-pid-control" diff --git a/meta-quanta/meta-gbs/recipes-phosphor/packagegroups/packagegroup-gbs-apps.bb b/meta-quanta/meta-gbs/recipes-phosphor/packagegroups/packagegroup-gbs-apps.bb deleted file mode 100644 index 20c81ad94..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/packagegroups/packagegroup-gbs-apps.bb +++ /dev/null @@ -1,36 +0,0 @@ -SUMMARY = "OpenBMC for GBS system - Applications" -PR = "r1" - -inherit packagegroup - -PROVIDES = "${PACKAGES}" -PACKAGES = " \ - ${PN}-chassis \ - ${PN}-fans \ - ${PN}-flash \ - " - -PROVIDES += "virtual/obmc-chassis-mgmt" -PROVIDES += "virtual/obmc-fan-mgmt" -PROVIDES += "virtual/obmc-flash-mgmt" - -RPROVIDES_${PN}-chassis += "virtual-obmc-chassis-mgmt" -RPROVIDES_${PN}-fans += "virtual-obmc-fan-mgmt" -RPROVIDES_${PN}-flash += "virtual-obmc-flash-mgmt" - -SUMMARY_${PN}-chassis = "GBS Chassis" -RDEPENDS_${PN}-chassis = " \ - x86-power-control \ - " - -SUMMARY_${PN}-fans = "GBS Fans" -RDEPENDS_${PN}-fans = " \ - phosphor-pid-control \ - " - -SUMMARY_${PN}-flash = "GBS Flash" -RDEPENDS_${PN}-flash = " \ - phosphor-ipmi-flash \ - gbs-bmc-update \ - virtual/bios-update \ - " diff --git a/meta-quanta/meta-gbs/recipes-phosphor/packagegroups/packagegroup-obmc-apps%.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/packagegroups/packagegroup-obmc-apps%.bbappend deleted file mode 100644 index 73e9b0aa4..000000000 --- a/meta-quanta/meta-gbs/recipes-phosphor/packagegroups/packagegroup-obmc-apps%.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -RDEPENDS_${PN}-fru-ipmi_remove_gbs = "fru-device" -RDEPENDS_${PN}-ikvm_remove_gbs = "obmc-ikvm" -- cgit v1.2.3 From b420a0cf0d2a2612f3e7a32c9b9f9d13dac2b87b Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 16:30:18 +0000 Subject: intel-ipmi-oem: srcrev bump 339fc565d5..323818779d Ayushi Smriti (1): fix: correct SetBiosPwdHash and GetBiosPwdHash cmd Chalapathi Venkataramashetty (1): sensorcommands:Platform Event Message command corrected Zbigniew Kurzynski (1): whitelist: Remove DCMI commands Change-Id: I9414a77db42364c76e808574a032124744d2f240 Signed-off-by: Andrew Geissler --- meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb index 287da1318..4fdd19c49 100755 --- a/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb +++ b/meta-intel-openbmc/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb @@ -5,7 +5,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/intel-ipmi-oem" -SRCREV = "339fc565d5d42740e66319d62015de1a93f58fbf" +SRCREV = "323818779d541d53a70b8894f21e14b082ca59d0" S = "${WORKDIR}/git" PV = "0.1+git${SRCPV}" -- cgit v1.2.3 From d8c2e9f8b97c4cd813639dac7b03643f8c0fb566 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 1 Jul 2021 01:31:40 -0700 Subject: meta-google: phosphor-networkd: Remove u-boot env for hoth We can't safely store this data, so we don't. Change-Id: I9e0f99423485cf41ff4f9e3b333f4833572f6b73 Signed-off-by: William A. Kennington III --- meta-google/recipes-phosphor/network/phosphor-network_%.bbappend | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 meta-google/recipes-phosphor/network/phosphor-network_%.bbappend diff --git a/meta-google/recipes-phosphor/network/phosphor-network_%.bbappend b/meta-google/recipes-phosphor/network/phosphor-network_%.bbappend new file mode 100644 index 000000000..4a1cbe139 --- /dev/null +++ b/meta-google/recipes-phosphor/network/phosphor-network_%.bbappend @@ -0,0 +1,3 @@ +# Platforms with Hoth don't use the U-Boot environment since this would allow +# bypassing attestation. +PACKAGECONFIG_remove_hoth = "uboot-env" -- cgit v1.2.3 From 01ff6ff32e369ee6ce7ce271bf6bd3c7fc25e270 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Wed, 30 Jun 2021 19:00:38 +0000 Subject: obmc-ikvm: srcrev bump 40fd5429bf..7a420e4c92 Bruce Mitchell (1): Replace IRC with Discord Change-Id: I4b05d26c5d86cef44d00d518fe4345eb9602b52e Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb b/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb index 86c7f8974..00866ce28 100644 --- a/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb +++ b/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=75859989545e37968a99b631ef42722e" DEPENDS = " libvncserver systemd sdbusplus phosphor-logging phosphor-dbus-interfaces" SRC_URI = "git://github.com/openbmc/obmc-ikvm" -SRCREV = "40fd5429bf27e28acd11598f33d2caae5b043731" +SRCREV = "7a420e4c928ce4f0720a82a74e05d23ef3c362fb" PV = "1.0+git${SRCPV}" -- cgit v1.2.3 From 9e86fdfcbe1136d6da4b33772fa8f53317f66244 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 02:11:25 +0000 Subject: pldm: srcrev bump 83a644cbaf..b8cc3257fd Manojkiran Eda (1): Initial version of pldm-visualization-pdr tool Change-Id: I053d02bf6c5b22b6c21a1738fdd9efa84d754abf Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/pldm/pldm.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/pldm/pldm.inc b/meta-phosphor/recipes-phosphor/pldm/pldm.inc index 78dd36fee..ce0db1e8c 100644 --- a/meta-phosphor/recipes-phosphor/pldm/pldm.inc +++ b/meta-phosphor/recipes-phosphor/pldm/pldm.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/pldm" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" SRC_URI = "git://github.com/openbmc/pldm" -SRCREV = "83a644cbaf27e26e4949dbfef15d325fff83aaff" +SRCREV = "b8cc3257fd3a09ff19eb8b45801392456a44acb6" -- cgit v1.2.3 From 9f62491d2a3d1be6b11e54b9fb9126943866e793 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 05:41:21 +0000 Subject: phosphor-hostlogger: srcrev bump dfee0da0a8..042b5ba843 Nan Zhou (1): Add the stream mode Change-Id: Ie13ad4f235d2a76e9c27346af54d0a01b916e0b0 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb index 2ad8b50ef..56ca9580d 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-hostlogger_git.bb @@ -22,7 +22,7 @@ RRECOMMENDS_${PN} += "phosphor-debug-collector" # Source code repository S = "${WORKDIR}/git" SRC_URI = "git://github.com/openbmc/phosphor-hostlogger" -SRCREV = "dfee0da0a855933a3d61df5d190d19d82a72bed7" +SRCREV = "042b5ba8438d1423f807feb5ef739cda063ea8d2" # Systemd service template SYSTEMD_PACKAGES = "${PN}" -- cgit v1.2.3 From 12f2d88af61ee0cf0ee753e8969dc04b7964a018 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 14:11:12 +0000 Subject: telemetry: srcrev bump 85db8bdfac..4ab1d496d8 Lukasz Kazmierczak (2): Adding Lukasz Kazmierczak to the MAINTAINERS file Adding Lukasz Kazmierczak to the MAINTAINERS file Moving entry to the Maintainer group Change-Id: I5ea94e22451d337b33e984eecb20ea996ed3d8a8 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb index 5467cf2fb..2274a73d6 100644 --- a/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb +++ b/meta-phosphor/recipes-phosphor/telemetry/telemetry_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/telemetry" PV = "1.0+git${SRCPV}" -SRCREV = "85db8bdfac85e26742926f5aa6a938fe71d10cff" +SRCREV = "4ab1d496d8a50d0466afb7f49668c40758bfe6a9" S = "${WORKDIR}/git" -- cgit v1.2.3 From a488f169e76726147afd755d18aff353e89c8857 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 12:50:43 +0000 Subject: phosphor-dbus-interfaces: srcrev bump 1f971f2d64..531c90e344 Willy Tu (1): Drive: rename Interface to interface Change-Id: I475a969716fddaf3b9d19d6073986ccd803e7613 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb index c11bf3b5b..1b3a9d646 100644 --- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb +++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces_git.bb @@ -18,7 +18,7 @@ DEPENDS += " \ " SRC_URI = "git://github.com/openbmc/phosphor-dbus-interfaces" -SRCREV = "1f971f2d647b6d301208c4e39b3bbfb94eb1d029" +SRCREV = "531c90e34497bbc571c18c50fe078c0d86e61d91" # Process OBMC_ORG_YAML_SUBDIRS to create Meson config options. # ex. xyz/openbmc_project -> -Ddata_xyz_openbmc_project=true -- cgit v1.2.3 From 0a2820f2ca43cbdd7437250df27392b9e639362c Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 14:41:10 +0000 Subject: phosphor-logging: srcrev bump 1976001573..1d8835bbc5 Sumit Kumar (1): PEL: Deleted PELs moved to new folder under logs Change-Id: Ieddf63128949e57e0793e0fc7fdefcd2a78991c2 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb index 30df1a753..29bc43b94 100644 --- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb +++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb @@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \ " SRC_URI += "git://github.com/openbmc/phosphor-logging" -SRCREV = "1976001573633277808007f58c67658d01df5864" +SRCREV = "1d8835bbc52fe7077bef8d079cdb5df47d52abbf" S = "${WORKDIR}/git" -- cgit v1.2.3 From c3610338241f3b593b9135f7ab5e518286df8733 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 16:50:59 +0000 Subject: bmcweb: srcrev bump 729f55fe55..1981771bbd Ali Ahmed (1): Add TrustedModuleRequiredToBoot getter function Ed Tanous (2): Revert "log_services: Add download of post code log entries" Revert "log_services: Add AdditionalDataURI to Post Code log entries" Change-Id: Iad99aeebf2bbe936edae5db8124d37a0d05e5d11 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb index 6ee416ad8..f7db798b6 100644 --- a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb +++ b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a6a4edad4aed50f39a66d098d74b265b" SRC_URI = "git://github.com/openbmc/bmcweb.git" PV = "1.0+git${SRCPV}" -SRCREV = "729f55fe555e07821626aba322f42ca783652928" +SRCREV = "1981771bbd8aac1d689a9c5e258a99e655a76b29" S = "${WORKDIR}/git" -- cgit v1.2.3 From 52bcb8ff85610c015b2f05e4118be49a754cae39 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 16:51:37 +0000 Subject: webui-vue: srcrev bump 3aecc07d9c..240c056c89 Sandeepa Singh (3): Add processors table missing properties Add BMC table missing properties Add chassis table missing properties Change-Id: I7b9a5a9694ac9f236e2feca853f548969758ef15 Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb index e4dcc54b1..23fb6aefb 100644 --- a/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb +++ b/meta-phosphor/recipes-phosphor/webui/webui-vue_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI = "git://github.com/openbmc/webui-vue.git" -SRCREV = "3aecc07d9c2e08951ddd04de50247fe5cac3337a" +SRCREV = "240c056c8989c5e3e0f0ff640f38f3e4cdbc6ac5" S = "${WORKDIR}/git" DEPENDS_prepend = "nodejs-native nlf-native " -- cgit v1.2.3 From 2b5d2045106d342f7b65c7f445088ce9fc1841d0 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 18:42:07 +0000 Subject: phosphor-nvme: srcrev bump 9ebfa481ce..5e23bcde0a George Hung (1): Fix static unordered_map may lead to segfault issue Change-Id: I10268061741646d4c6593c41fcae548d2e053bab Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb index 0eb25d831..10d3bfb95 100644 --- a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb +++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb @@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging" DEPENDS += "nlohmann-json" SRC_URI = "git://github.com/openbmc/phosphor-nvme.git;protocol=git" -SRCREV = "9ebfa481ce15ebbdf86abd21512999415dd6ef03" +SRCREV = "5e23bcde0a3317f401f9c1b47d8bdb91569ec878" S = "${WORKDIR}/git" SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.nvme.manager.service" -- cgit v1.2.3 From a2c8091c0778d3e5f55704d3935c55057dd2d0ac Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Thu, 1 Jul 2021 19:20:46 +0000 Subject: phosphor-fan-presence: srcrev bump bb449c1c7c..2feab0873d Matthew Barth (4): control:actions: Support adding zones to actions after creation control: Make setting groups public and static Create SDEventPlus class delegate for sdeventplus control: Use sdeventplus access delegate for getting event Change-Id: I7884026e91371046f485db8ccad9063060e653be Signed-off-by: Andrew Geissler --- meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc index 49d50f1a9..eb6c9240d 100644 --- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc +++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc @@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-fan-presence" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" SRC_URI += "git://github.com/openbmc/phosphor-fan-presence" -SRCREV = "bb449c1c7cfacb4068145e1322234591f087c8f5" +SRCREV = "2feab0873d1852157043bc41e4c53ee2eb1e2af4" -- cgit v1.2.3 From 2ca1e9b8f0bb829647ee21a0daf7570dab840dfb Mon Sep 17 00:00:00 2001 From: "B. J. Wyman" Date: Tue, 20 Apr 2021 23:44:32 +0000 Subject: phosphor-power: add libgpiod DEPENDS The phosphor-power-supply source tree for building phosphor-psu-monitor will be updated to use the C++ version of the libgpiod interfaces in order to read GPIO lines for power supply presence detection. Change-Id: Id06c5e5f1bc34ac130d3def4d647bb2e8e2852de Signed-off-by: B. J. Wyman --- meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb b/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb index a01a99752..e9e5f3ee5 100644 --- a/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb +++ b/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb @@ -39,6 +39,7 @@ DEPENDS += " \ ${PYTHON_PN}-setuptools-native \ ${PYTHON_PN}-mako-native \ boost \ + libgpiod \ " # The monitor package uses an org.open_power D-Bus interface and so -- cgit v1.2.3 From a487d9d878b90af963a25b8292965ce3d888b432 Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 1 Jul 2021 14:20:34 +0800 Subject: meta-quanta: common: fix "ignored null byte in input" warning get rid of "ignored null byte in input" warning for the usb-network.sh Signed-off-by: George Hung Change-Id: I2a18f568b362601fa1c41ec39a8c1cecf09f8862 --- .../meta-common/recipes-quanta/network/usb-network/usb-network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh b/meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh index 6840f9ffc..ebd6f027e 100644 --- a/meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh +++ b/meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh @@ -12,7 +12,7 @@ check_usb_local_administered() { # Set the locally administered bit (the second least-significant # bit of the first octet) of the MAC address set_local_administered_bit() { - mac="$(cat $1)" + mac="$(tr -d '\0' < $1)" first_byte="${mac:0:2}" first_byte="$((0x$first_byte|2))" first_byte="$(printf "%02x\n" "$first_byte")" -- cgit v1.2.3 From 1406d556792c30609305ab56a814ddcb182b367a Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 1 Jul 2021 14:06:30 +0800 Subject: meta-quanta: gbs: install some missing useful packages ipmitool: - debug/manufacturing purpose phosphor-user-manager: - basic authenication for Refish phosphor-nslcd-authority-cert-config: - be able to install your owned CA certificate for Redfish Signed-off-by: George Hung Change-Id: I8697fe674d58268dbe348c9374f7de32037041c1 --- .../meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend index effbcc14f..00d2dba7a 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -20,6 +20,7 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-ipmi-blobs-binarystore" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-virtual-sensor" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " acpi-power-state-daemon" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " virtual/obmc-gpio-presence" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " ipmitool" # Add back packages that were part of packagegroup-obmc-apps-extras OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-hwmon" @@ -27,6 +28,8 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-inventory-manager" # Required for obmc-bmcweb OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " bmcweb" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-bmcweb-cert-config" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-nslcd-authority-cert-config" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-user-manager" # Required for LEDs. Part of obmc-leds OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " ${VIRTUAL-RUNTIME_obmc-leds-manager}" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " ${VIRTUAL-RUNTIME_obmc-leds-sysfs}" -- cgit v1.2.3 From b1aa759e502a39e82b8b634820e5caf265ad2271 Mon Sep 17 00:00:00 2001 From: George Hung Date: Fri, 2 Jul 2021 09:22:29 +0800 Subject: meta-quanta: gbs: update the default threshold for NVMe update the UCT and UNCT to 72 degree as default Signed-off-by: George Hung Change-Id: I1baad8f3b621c7a704d5e4872d634653ea75c197 --- .../recipes-phosphor/sensors/phosphor-nvme/nvme_config.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-nvme/nvme_config.json b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-nvme/nvme_config.json index 306e74e2a..4c1e3d8d0 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-nvme/nvme_config.json +++ b/meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-nvme/nvme_config.json @@ -163,12 +163,12 @@ ], "threshold": [ { - "criticalHigh": 77, + "criticalHigh": 72, "criticalLow": 0, - "warningHigh": 77, + "warningHigh": 72, "warningLow": 0, "maxValue": 127, "minValue": -128 } ] -} \ No newline at end of file +} -- cgit v1.2.3 From 9eaaa78e295d4e21c5eb8bcd137876eb767a100d Mon Sep 17 00:00:00 2001 From: Lotus Xu Date: Tue, 27 Oct 2020 15:17:40 +0800 Subject: bytedance: g220a: Enable phosphor-node-manager-proxy Tested: Verify the CPU_Power and Memory_Power sensors are OK. Signed-off-by: Lotus Xu Change-Id: I13fde13adc4062d5586167e411c129a986e3ad76 --- .../configuration/entity-manager/g220a_baseboard.json | 6 +++++- .../images/obmc-phosphor-image.bbappend | 10 ++++++---- .../ipmi/phosphor-node-manager-proxy_git.bb | 19 +++++++++++++++++++ 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/configuration/entity-manager/g220a_baseboard.json b/meta-bytedance/meta-g220a/recipes-phosphor/configuration/entity-manager/g220a_baseboard.json index ae008da53..03a5d2aa3 100644 --- a/meta-bytedance/meta-g220a/recipes-phosphor/configuration/entity-manager/g220a_baseboard.json +++ b/meta-bytedance/meta-g220a/recipes-phosphor/configuration/entity-manager/g220a_baseboard.json @@ -908,6 +908,10 @@ "Name": "Host/BMC Shared NIC", "Type": "NIC" }, + { + "Name": "Node Manager Sensor", + "Type": "NMSensor" + }, { "Address": "0x70", "Bus": 3, @@ -2516,4 +2520,4 @@ "AssetTag": "$PRODUCT_ASSET_TAG" }, "xyz.openbmc_project.Inventory.Item.System": {} -} \ No newline at end of file +} diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend index e38c2721b..3059e809a 100644 --- a/meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend +++ b/meta-bytedance/meta-g220a/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -1,4 +1,6 @@ -OBMC_IMAGE_EXTRA_INSTALL_append_g220a = " webui-vue \ - me-time-sync \ - static-mac-addr \ - " +OBMC_IMAGE_EXTRA_INSTALL_append_g220a = " \ + webui-vue \ + me-time-sync \ + static-mac-addr \ + phosphor-node-manager-proxy \ +" diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb b/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb new file mode 100644 index 000000000..c1db3a825 --- /dev/null +++ b/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb @@ -0,0 +1,19 @@ +SUMMARY = "Node Manager Proxy" +DESCRIPTION = "The Node Manager Proxy provides a simple interface for communicating \ +with Management Engine via IPMB" + +SRC_URI = "git://github.com/Intel-BMC/node-manager;protocol=ssh" +SRCREV = "23590b428ea26e0ed4b8225015471b962e3b3704" +PV = "0.1+git${SRCPV}" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SYSTEMD_SERVICE_${PN} = "node-manager-proxy.service" + +DEPENDS = "sdbusplus \ + phosphor-logging \ + boost" + +S = "${WORKDIR}/git/" +inherit cmake systemd -- cgit v1.2.3 From 45701e3b4ae888894713a6804aa902c8e2897f44 Mon Sep 17 00:00:00 2001 From: Lei YU Date: Tue, 15 Dec 2020 16:53:21 +0800 Subject: bytedance: g220a: node-manager: Remove total power sensor The Total_Power sensor is not available on g220a system, add patch to remove it. Signed-off-by: Lei YU Change-Id: Ibc70bec3d56b13740d3f17a666a8d0b0fa7c8429 --- .../0001-Remove-Total_Power-sensor.patch | 35 ++++++++++++++++++++++ .../ipmi/phosphor-node-manager-proxy_git.bb | 4 +++ 2 files changed, 39 insertions(+) create mode 100644 meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch b/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch new file mode 100644 index 000000000..837982da2 --- /dev/null +++ b/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch @@ -0,0 +1,35 @@ +From 086b098ea4160963cd09405fbdf6816bef095d16 Mon Sep 17 00:00:00 2001 +From: Lei YU +Date: Tue, 15 Dec 2020 16:50:31 +0800 +Subject: [PATCH] Remove Total_Power sensor + +The Total_Power sensor is not used on g220a system. Remove it. +The sensor will be replaced by a virtual sensor. + +Tested: Verify the Total_Power sensor is gone on DBus. + +Signed-off-by: Lei YU +--- + NodeManagerProxy.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/NodeManagerProxy.cpp b/NodeManagerProxy.cpp +index d9fb760..9dbd5da 100644 +--- a/NodeManagerProxy.cpp ++++ b/NodeManagerProxy.cpp +@@ -120,9 +120,9 @@ void createSensors() + // NM Statistics + // Global power statistics + configuredSensors.push_back(std::make_unique(server)); +- configuredSensors.push_back(std::make_unique( +- server, 0, 2040, "power", "Total_Power", globalPowerStats, +- entirePlatform, 0)); ++// configuredSensors.push_back(std::make_unique( ++// server, 0, 2040, "power", "Total_Power", globalPowerStats, ++// entirePlatform, 0)); + configuredSensors.push_back( + std::make_unique(server, 0, 510, "power", "CPU_Power", + globalPowerStats, cpuSubsystem, 0)); +-- +2.25.1 + diff --git a/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb b/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb index c1db3a825..1fa04843f 100644 --- a/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb +++ b/meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy_git.bb @@ -17,3 +17,7 @@ DEPENDS = "sdbusplus \ S = "${WORKDIR}/git/" inherit cmake systemd + +SRC_URI_append = " \ + file://0001-Remove-Total_Power-sensor.patch \ +" -- cgit v1.2.3 From b4ebad6c1c8a5cbefd14c03bcb4ca75fa1d11f6d Mon Sep 17 00:00:00 2001 From: George Hung Date: Thu, 20 May 2021 12:46:56 +0800 Subject: meta-quanta: gbs: add CPU/Memory/Storage_RW usages for Redfish Signed-off-by: George Hung Change-Id: I23757a6df671ed98f67d1e4280abfcc4ae22d233 --- .../inventory/phosphor-inventory-manager/associations.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json b/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json index b834fa876..01bd7836b 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json +++ b/meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager/associations.json @@ -479,7 +479,11 @@ "/xyz/openbmc_project/sensors/fan_tach/fan1", "/xyz/openbmc_project/sensors/fan_tach/fb_fan0", "/xyz/openbmc_project/sensors/fan_tach/fb_fan1", - "/xyz/openbmc_project/sensors/fan_tach/fb_fan2" + "/xyz/openbmc_project/sensors/fan_tach/fb_fan2", + + "/xyz/openbmc_project/sensors/utilization/CPU", + "/xyz/openbmc_project/sensors/utilization/Memory", + "/xyz/openbmc_project/sensors/utilization/Storage_RW" ] } ] -- cgit v1.2.3 From 34fba6f5bc9712bfac9b71e5206f5cccec243d45 Mon Sep 17 00:00:00 2001 From: George Hung Date: Fri, 2 Jul 2021 16:10:24 +0800 Subject: meta-quanta: gbs: enable health monitoring service Enable phosphor-health-monitor for CPU/Memory/Storage_RW utilization ref: https://gerrit.openbmc-project.xyz/43387 Signed-off-by: George Hung Change-Id: If76a2d60ebe3db1bd6c1486d039677f35e7e8c5d --- .../meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend index 00d2dba7a..9e2666417 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend +++ b/meta-quanta/meta-gbs/recipes-phosphor/images/obmc-phosphor-image.bbappend @@ -21,6 +21,7 @@ OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-virtual-sensor" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " acpi-power-state-daemon" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " virtual/obmc-gpio-presence" OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " ipmitool" +OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-health-monitor" # Add back packages that were part of packagegroup-obmc-apps-extras OBMC_IMAGE_EXTRA_INSTALL_append_gbs = " phosphor-hwmon" -- cgit v1.2.3 From cf6fd27dbd8e2d1b507f8c3752b85801b2c6ef57 Mon Sep 17 00:00:00 2001 From: George Hung Date: Fri, 2 Jul 2021 18:22:56 +0800 Subject: meta-quanta: gbs: fix flash layout offset for 64MiB Since the addition override for 64MiB, add the flash size suffix to fix flash layout offset ref: https://gerrit.openbmc-project.xyz/43876 Signed-off-by: George Hung Change-Id: I1a766fb90d79c55d1487e298e9eb16c8c1091165 --- meta-quanta/meta-gbs/conf/machine/gbs.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta-quanta/meta-gbs/conf/machine/gbs.conf b/meta-quanta/meta-gbs/conf/machine/gbs.conf index a709dfd27..a7a59e9ba 100644 --- a/meta-quanta/meta-gbs/conf/machine/gbs.conf +++ b/meta-quanta/meta-gbs/conf/machine/gbs.conf @@ -15,8 +15,9 @@ GBMC_NCSI_IF_NAME = "eth0" GBMC_KCS_DEV = "ipmi-kcs1" # Overwrite flash offsets -FLASH_ROFS_OFFSET = "7168" -FLASH_RWFS_OFFSET = "62400" +FLASH_KERNEL_OFFSET_flash-65536 = "2048" +FLASH_ROFS_OFFSET_flash-65536 = "7168" +FLASH_RWFS_OFFSET_flash-65536 = "62400" FLASH_SIZE = "65536" PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "gbmc-kcs-config" -- cgit v1.2.3