diff options
author | Wang Mingyu <wangmy@fujitsu.com> | 2023-03-15 19:11:23 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-03-16 08:12:21 +0000 |
commit | 158785d12a18e221be4a1fa35851c35214eee591 (patch) | |
tree | bf4d6c7976e319e4774ed4452b033c575e7142c4 | |
parent | e99106eec6e4b0017b621844092c12791b02ca11 (diff) | |
download | openembedded-core-158785d12a18e221be4a1fa35851c35214eee591.tar.gz |
python3-scons: upgrade 4.4.0 -> 4.5.1
Changelog:
==========
- Fix a problem in 4.5.0 where using something like the following code
will cause a Clone()'d environment to share the CPPDEFINES with the
original Environment() which was cloned. Causing leakage of changes
to CPPDEFINES when they should be completely independent after the Clone.
env=Environment(CPPDEFINES=['a'])
env.Append(CPPDEFINES=['b']) (or AppendUnique,Prepend,PrependUnique)
env1=env.Clone()
env1.Append(CPPDEFINES=['c']) (or any other modification, but not overwriting CPPDEFINES
Now env['CPPDEFINES'] will contain 'c' when it should not.
- Do not initialize DefaultEnvironment when calling EnsureSConsVersion(),
EnsurePythonVersion(), Exit(), GetLaunchDir() and SConscriptChdir().
- Remove unused private method SConsEnvironment._exceeds_version().
- Added ValidateOptions() which will check that all command line options are in either
those specified by SCons itself, or by AddOption() in SConstruct/SConscript. It should
not be called until all AddOption() calls are completed. Resolves Issue #4187
- Refactored SCons/Taskmaster into a package. Moved SCons/Jobs.py into that package.
NOTE: If you hook into SCons.Jobs, you'll have to change that to use SCons.Taskmaster.Jobs
- Changed the Taskmaster trace logic to use python's logging module. The output formatting
should remain (mostly) the same. Minor update to unittest for this to adjust for 1 less newline.
- Migrated logging logic for --taskmastertrace to use Python's logging module. Added logging
to NewParallel Job class (Andrew Morrow's new parallel job implementation)
- Ninja: Fix execution environment sanitation for launching ninja. Previously if you set an
execution environment variable set to a python list it would crash. Now it
will create a string joining the list with os.pathsep
- Move execution environment sanitation from Action._subproc() to
SCons.Util.sanitize_shell_env(ENV)
- Moved rpm and debian directories under packaging
- Added logic to help packagers enable reproducible builds into packaging/etc/. Please
read packaging/etc/README.txt if you are interested.
- Added --experimental=tm_v2, which enables Andrew Morrow's new NewParallel Job implementation.
This should scale much better for highly parallel builds. You can also enable this via SetOption().
- Fixed command line argument --diskcheck: previously a value of 'none' was ignored.
SetOption('diskcheck','none') is unaffected, as it did not have the problem.
- Added overrides argument to SCons.Subst.scons_subst(), subst_list(), subst(), and Action's process(),
strfunction(). This allows passing a dictionary of envvars to override when evaluating subst()'d strings/lists
- Fixed Issue #4275 - when outputting compilation db and TEMPFILE was in use, the compilation db would have
command lines using the generated tempfile for long command lines, instead of the full command line for
the compilation step for the source/target pair.
- Renamed the qt tools to qt3 since the logic in that tool is only for QT version 3. Renamed all env vars
which affect qt3 from QT_ to QT3_. If you are still using SCons to build QT 3 code, you'll need to update
your SConscripts. Note that using 'qt' tool has been deprecated for some time.
- Added JAVAPROCESSORPATH construction variable which populates -processorpath.
- Updated JavaScanner to scan JAVAPROCESSORPATH.
- Added FILE_ENCODING, to allow explicitly setting the text encoding for files
written by the Textfile() and Substfile() builders. If not specified, Textfile() and Substfile() builders
will write files as UTF-8. Fixed Issue #4302.
- Add newline to end of compilation db (compile_commands.json).
- Added error message to handle the case when SCons attempts to retrieve all the targets
for a specified builder from the CacheDir, fails to do so, and then runs into an error
when deleting the files which were retrieved. Previously if this happened there was no
errors or warnings.
- Fix issue #2757, where Configure checks that perform a check which reads a modified source
(including program, source or header file(s)) would incorrectly mark that file "up to date" so the
actual build would not see the file as modified. Leading to incorrect incremental builds.
Now configure checks now clear node info for non conftest nodes, so they will be re-evaluated for
the real taskmaster run when the build commences.
- Avoid returning UniqueList for `children` and other `Executor` APIs. This type
iterates more slowly than the builtin types. Also simplify uniquer_hashables to
use an faster implementation under the assumption of ordered dictionaries.
- Fixed runtest.py failure on Windows caused by excessive escaping of the path to python.exe.
- Run LaTeX after biber/bibtex only if necessary
- Added -fsanitize support to ParseFlags(). This will propagate to CCFLAGS and LINKFLAGS.
- A list argument as the source to the Copy() action function is now
correctly handled by converting elements to string. Copy errors out
if asked to copy a list to an existing non-directory destination.
Both the implementation and the strfunction which prints the progress
message were adjusted. Fixes #3009.
- doc: EnsureSConsVersion, EnsurePythonVersion, Exit, GetLaunchDir and
SConscriptChdir are now listed as Global functions only; the
Environment versions still work but are not documented.
- The Java scanner processing of JAVACLASSPATH for dependencies was
changed to split on os.pathsep instead of space, to match usage of
passing a path string like "xxx:yyy:zzz". This is not portable -
passing a POSIX-style path string (with ':') won't work on Windows
(';') - which is now documented with a hint to use a list instead
to be portable. Splitting on space broke paths with embedded spaces.
Fixes #4243.
- Cleanup: make sure BoolVariable usage in tests and examples uses Python
boolean values instead of 0/1.
- Stop telling people to run "python setup.py install" in the User Guide.
Adds new content on using virtualenvs to be able to have multiple
different SCons versions available on one system.
- Added the "DefaultEnvironment(tools=[])" stanza to a number of tests
that are known to be particularly slow. It's still just a tiny
speedup, but the Windows CI had been occasionally timing out,
so maybe this helps a bit.
- Remove an extra existence check in one ninja test that caused it
to be skipped on some otherwise-valid Windows installations.
- test framework tests now pass on Linux and Windows (the latter can
still run into problems on some configurations), and automated
tests are now run on changes in this area so future problems can
be spotted.
- The single-file Util module was split into a package with a few
functional areas getting their own files - Util.py had grown to
over 2100 lines.
- Add a zipapp package of scons-local: can use SCons from a local
file which does not need unpacking.
- Additional explanations for MSVSProject and MSVSSolution builders.
- Fix a problem (present in 4.4.0 only) where a Java inner class could
not be cached because the emitted filename contained a '$' and when
looked up through a node ended up generating a Python SyntaxError
because it was passed through scons_subst().
- Have the gfortran tool do a better job of honoring user preferences
for the dialect tools (F77, F90, F03 and F09, as well as the shared-library
equivalents SHF77, SHF90, SHF03, SHF09). Previously these were
unconditionally overwritten to 'gfortran'; the change should be more
in line with expectations of how these variables should work.
Also cleaned a few Fortran tests - test behavior does not change.
- Updated MSVC documentation - adds "version added" annotations on recently
added construction variables and provides a version-mapping table.
- Add Python 3.12 support, and indicate 3.11/3.12 support in package.
3.12 is in alpha for this SCons release, the bytecode sequences
embedded in SCons/ActionTests.py may need to change later, but
based on what is known now, 3.12 itself should work with this release.
- Add "append" keyword argument to Configure context's CheckLib and
CheckLibWithHeader to control whether to append or prepend (issue #2767)
Also added "unique" keyword, to control whether a library is added
or not if it is already in the $LIBS construction var in the
configure context. (issue #2768).
- Completely refactored the CPPDEFINES logic in Append/AppendUnique/Prepend/PrependUnique
This change fixes the following GH Issues:
- GH Issue #3876 - Append() and AppendUnique() will handle CPPDEFINES the same
- GH Issue #4254 - Make handling tuples in CPPDEFINES consistent.
- We no longer sort the keys added to CPPDEFINES by their dictionary keys.
We take advantage that their order is now stable based on insertion order
in Python 3.5+
- Added/modifed unit and system tests to verify these changes.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/python/python3-scons_4.5.1.bb (renamed from meta/recipes-devtools/python/python3-scons_4.4.0.bb) | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/recipes-devtools/python/python3-scons_4.4.0.bb b/meta/recipes-devtools/python/python3-scons_4.5.1.bb index ad1149597f..279347ac9c 100644 --- a/meta/recipes-devtools/python/python3-scons_4.4.0.bb +++ b/meta/recipes-devtools/python/python3-scons_4.5.1.bb @@ -5,7 +5,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7" SRC_URI += " file://0001-Fix-man-page-installation.patch" -SRC_URI[sha256sum] = "7703c4e9d2200b4854a31800c1dbd4587e1fa86e75f58795c740bcfa7eca7eaa" +SRC_URI[sha256sum] = "9daeabe4d87ba2bd4ea15410765fc1ed2d931b723e4dc730a487a3911b9a1738" PYPI_PACKAGE = "SCons" |