Go to file
wangmy 3cfa8735d5 python3-scons: upgrade 4.2.0 -> 4.3.0
NOTE: 4.3.0 now requires Python 3.6.0 and above. Python 3.5.x is no longer supported

Changelog:
- Default hash algorithm check updated for SCons FIPS compliance. Now checks for hash viability
  first and then walks the tree to use the first viable hash as the default one. This typically
  selects SHA1 on FIPS-enabled systems less than Python 3.9 as the new default instead of MD5,
  unless SHA1 has also been disabled by security policy, at which point SCons selects SHA256
  as the default. For systems running Python 3.9 and later, the hashlib bug has been fixed,
  and SCons will once again default to MD5 as the preferred algorithm.
- Fix MSVS tests (vs-N.N-exec.py) for MSVS 6.0, 7.0, and 7.1 (import missing module).
- Add support for Visual Studio 2022.
- Fix reproducible builds. Restore logic respecting SOURCE_DATE_EPOCH when set.
- Fix version tests to work with updated scons --version output. (Date format changed)
- Fix issue #4021.  Change the way subst() is used in Textfile() to not evaluate '$$(' -> '$',
  but instead it should yield '$('.
- Change SCons.Platform.win32.get_architecture() to return platform.platform() when run in an
  environment where neither: PROCESSOR_ARCHITEW6432 nor PROCESSOR_ARCHITECTURE is set.
  This should fix platform tests which started failing when HOST_OS/HOST_ARCH changes
  introduced by Aaron Franke (listed below) were merged.
- Further PCH updates. It's now recommended that env['PCH'] should always be a File node.
  Either via return value from env.PCH() or by explicitly using File('StdAfx.pch').
- Added --no-ignore-skips to runtest.py. Changed default to ignore skips when setting
  runtest.py's exit status. Previously would exit 2 if any tests were skipped.
  Now will only exit 2 if user specifies --no-ignore-skips and some tests were skipped.
- Small fix to ensure CLVar default value is an empty list.
  See MongoDB bug report: https://jira.mongodb.org/browse/SERVER-59656
  Code contributed by MongoDB.
- Ninja - Fixed an issue where if you control-c and/or killed ninja while it was running scons to
  regenerate build.ninja you would end up with no build.ninja file and have to rerun scons from scratch.
  Code contributed by MongoDB.
- Define HOST_OS and HOST_ARCH in the environment for all platforms.
  Before this change, these were only defined for Win32 and OS/2.
- Fix ninja tool to never use for_sig substitution because ninja does not use signatures. This
  issue affected CommandGeneratorAction function actions specifically.
- Expanded ninja Mkdir to also support Mkdir actions.
- Added support for the PCH environment variable to support subst generators.
- Fix command line escaping for ninja dollar sign escape. Without escaping ninja properly,
  the ninja file scons regenerate and callback invocations will lose the $ characters used in
  the scons command line which ninja uses itself for escaping. For Example:
      scons BUILD=xyz OTHERVAR=$BUILD
  Prior to this fix, it would cause ninja to fail to escape the dollar sign, leading to the
  single dollar sign being used as a ninja escape character in the ninja file.
- Added ninja API 'NINJA_FORCE_SCONS_BUILD' to force a node to callback to scons.
- Two small Python 3.10 fixes: one more docstring turned into raw
  because it contained an escape; updated "helpful" syntax error message
  from 3.10 was not expected by SubstTests.py and test/Subst/Syntax.py
- EmitterProxy rich comparison set is completed (checker warning).
  Added __le__, __gt__, __ge__.
- Fix gcc/g++ tool failing if "gcc --version" returns text which fails
  to_String conversion (i.e., not UTF-8) - failure happens when tool
  initialization checks version. For gcc, the initial version string is
  not translated, for the rest, don't convert, just consume raw and discard.
- Maintenance and doc: modernize some usage in Scanner package,
  calling super(), switching some imitialization to comprehensions,
  and code formatting.  Docstring for scanner Base moved from
  init-method to class-level so it's picked up by Sphinx.
  Added new sconsign filenames to skip_entry_list in Scanner/Dir.py
- Change SCons.Scanner.Base to ScannerBase. Old name kept as an alias
  but is now unused in SCons itself.
- Call Variables option converter consistently - the converter should
  have access to the env if it needs to (issue #2064).
- Fixed the variables Add() method to accept a tuple for the variable
  name the same way AddVariables() does (issue #3869).
- The premade validator PathIsDirCreate for for PathVariable now catches
  the case where the directory could not be created due to permission
  problems, allowing a more helpful error to be emitted (issue #2828)
- Maintenance: Python thread.setDaemon is deprecated in favor of
  directly updating daemon attribute - update SCons to do this.
- Make sure when subst'ing a callable, the callable is called with
  the correct for_signature value, previously it would be true even
  if doing SUBST_RAW (issue #4037)
- Update Util/NodeList implementation to get rid of a workaround for
  early Python 3 slicing issue that is no longer a problem.
- Rework some Java tests to skip rather than fail on CI systems, where
  the working java is > v9, but a 1.8 or 9 was also found.
- Java updates: on Windows, detect more default JDK install locations.
  On all platforms, more Java versions (up to 17.0 now).  Add more information
  on version selection to docs.
  Update docs on JavaH tool in light of javah command dropped since 10.0.
  Try to be better about preserving user's passed-in JAVA* construction vars.
- Start the deprecation of the qt tool, which refers to Qt3 (usupported
  since around 2006). There's a deprecation warning added, initially
  defaulting to disabled.
- Fix crash when scons is run from a python environement where a signal
  is set from outside Python.

(From OE-Core rev: bd7b202e09dbf6749271ff57fed5296c2f8fed4a)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-23 10:53:15 +00:00
bitbake bitbake: bitbake-user-manual: fix backslash issues 2021-11-21 11:28:11 +00:00
contrib contrib/git-hooks: add a sendemail-validate example hook that adds FROM: lines to outgoing patch emails 2020-12-30 14:01:07 +00:00
documentation ref-system-requirements.rst: Add openSUSE Leap 15.2 to list of supported distros 2021-11-21 11:07:01 +00:00
meta python3-scons: upgrade 4.2.0 -> 4.3.0 2021-11-23 10:53:15 +00:00
meta-poky poky.conf: Post release version bump 2021-10-26 14:03:45 +01:00
meta-selftest overlayfs: meta-selftest recipe fix 2021-10-30 22:31:52 +01:00
meta-skeleton hello-mod/hello.c: convert printk to pr_xxx 2021-09-28 17:55:04 +01:00
meta-yocto-bsp yocto-bsp/poky: replace http with https for URLs 2021-10-08 16:45:38 +01:00
scripts wic: use shutil.which 2021-11-21 11:05:02 +00:00
.gitignore bitbake: gitignore: ignore runqueue-tests/bitbake-cookerdaemon.log 2021-03-12 16:47:12 +00:00
.templateconf
LICENSE meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
LICENSE.GPL-2.0-only meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
LICENSE.MIT meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
MAINTAINERS.md MAINTAINERS: add overlayfs maintainer 2021-08-12 06:26:15 +01:00
Makefile bitbake: sphinx: rename Makefile.sphinx 2020-10-06 13:54:27 +01:00
MEMORIAM MEMORIAM: Add recognition for contributors no longer with us 2020-01-30 15:22:35 +00:00
oe-init-build-env meta/lib+scripts: Convert to SPDX license headers 2019-05-09 16:31:55 +01:00
README.hardware.md README: Move to using markdown as the format 2021-06-16 16:33:18 +01:00
README.md Add README link to README.poky 2021-07-19 18:07:21 +01:00
README.OE-Core.md README.OE-Core/README.qemu: Move to markdown format 2021-07-20 08:51:06 +01:00
README.poky.md README: Move to using markdown as the format 2021-06-16 16:33:18 +01:00
README.qemu.md README.OE-Core/README.qemu: Move to markdown format 2021-07-20 08:51:06 +01:00

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. 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.

As an integration layer Poky consists of several upstream projects such as BitBake, OpenEmbedded-Core, Yocto documentation, the '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 https://docs.yoctoproject.org/

OpenEmbedded is the build architecture used by Poky and the Yocto project. For information about OpenEmbedded, see the OpenEmbedded website.

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:

https://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:

OpenEmbedded-Core (files in meta/, meta-selftest/, meta-skeleton/, scripts/):

BitBake (files in bitbake/):

Documentation (files in documentation/):

meta-yocto (files in meta-poky/, meta-yocto-bsp/):

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