#14538: scons-4.1.0
-------------------------+-----------------------
 Reporter:  renodr       |       Owner:  renodr
     Type:  enhancement  |      Status:  assigned
 Priority:  normal       |   Milestone:  10.1
Component:  BOOK         |     Version:  SVN
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+-----------------------

Comment (by renodr):

 Quite a lot of changes here...

 {{{
 RELEASE 4.1.0 - Tues, 19 Jan 2021 15:04:42 -0700

   From James Benton:
     - Add COMPILATIONDB_PATH_FILTER env option for CompilationDatabase()
 builder which allows
       filtering of entries based on the output file paths using glob style
 file matching (issue #3742).

   From Joseph Brill:
     - Internal MSVC and test updates: Rework the msvc installed versions
 cache so that it
       is not exposed externally and update external references
 accordingly.
     - Modify the MSCommon internal-use only debug logging records to
 contain the correct relative
       file path when the debug function is called from outside the
 MSCommon module.

   From William Deegan:
     - Fix yacc tool, not respecting YACC set at time of tool
 initialization.
     - Refactor SCons.Tool to move all common shared and loadable module
 linking logic to SCons.Tool.linkCommon
     - Remove pywin32 imports from SCons.Script.Main. No longer needed.
     - Switch to use ctypes instead of pywin32 (requiring an extra pip
 install) - Fixes Github Issue #2291
        - pywin32 no longer necessary for SCons install. (pip install SCons
 will no longer also require pywin32 on win32)
        - Remove pywin32 usage from SCons.Util where it was used for
 accessing the registry. Python native winreg
          library already includes this functionality.
        - Remove using pywin32 to retrieve peak memory usage on Win32 for
 `--debug=memory`
     - Fix Issue #3759 - include scons.1, sconsign.1, scons-time.1 manpages
 in sdist and wheel packages.
     - Change SCons's build so the generated `SCons/__init__.py` is no
 longer removed by `scons -c`
     - Completely rewrote versioned shared libraries logic. Added support
 for SOVERSION via dmoody's initial PR #3733
     - No longer automatically disable setting SONAME on shared libraries
 on OpenBSD.
     - Fix race condition bug when initializing a scons cache directory at
 the
       same time from multiple threads or processes. Problem described in
 PR #3114.
       This is a simpler fix which should avoid some problems identified
 with the initial PR.
       (Credit to Fredrik Medley for reporting the issue, the initial PR,
 and discussing and testing
        this solution)

   From Michał Górny:
     - Fix dvipdf test failure due to passing incorrect flag to dvipdf.

   From Adam Gross:
     - Fix minor bug affecting SCons.Node.FS.File.get_csig()'s usage of the
 MD5 chunksize.
       User-facing behavior does not change with this fix (GH Issue #3726).
     - Fix occasional test failures caused by not being able to find a file
 or directory fixture
       when running multiple tests with multiple jobs.
     - Fix incorrect cache hits and/or misses when running in interactive
 mode by having
       SCons.Node.Node.clear() clear out all caching-related state.
     - Change Environment.SideEffect() to not add duplicate side effects.
       NOTE: The list of returned side effect Nodes will not include any
 duplicate side effect Nodes.

   From David H:
     - Add ZIP_OVERRIDE_TIMESTAMP env option to Zip builder which allows
 for overriding of the file
       modification times in the archive.
     - Fix Zip builder not rebuilding when ZIPROOT env option was changed.

   From Jason Kenny
     - Fix python3 crash when Value node get_text_content when child
 content does not have decode()
       NOTE: If you depend on Value node's get_text_content returning
 concatenated contents of it's
       children. This may break your code. It now concatenates the csig()
 of all children.

   From Joachim Kuebart:
     - Suppress missing SConscript deprecation warning if
 `must_exist=False`
       is used.

   From Rocco Matano:
     - Fix Zip tool to respect ZIPCOMSTR. Previously all zip builder calls
 would yield something
       like zip(["test.zip"], ["zip_scons.py"]) and ignore ZIPCOMSTR if
 ZIPCOM and ZIPCOMSTR
       weren't set after the Environment/Tool is initialized. (Explained in
 PR #3659)

   From Daniel Moody:
     - Fix issue where java parsed a class incorrectly from lambdas used
 after a new.

   From Simon Tegelid
     - Fix using TEMPFILE in multiple actions in an action list. Previously
 a builder, or command
       with an action list like this:
       ['${TEMPFILE("xxx.py -otempfile $SOURCE")}', '${TEMPFILE("yyy.py
 -o$TARGET tempfile")}']
       Could yield a single tempfile with the first TEMPFILE's contents,
 used by both steps
       in the action list.

   From Mats Wichmann:
     - Complete tests for Dictionary, env.keys() and env.values() for
       OverrideEnvironment. Enable env.setdefault() method, add tests.
     - Raise an error if an option (not otherwise consumed) is used which
       looks like an abbreviation of one one added by AddOption. (#3653)
     - Tool module not found will now raise a UserError to more clearly
 indicate this is
       probably an SConscript problem, and to make the traceback more
 relevant.
     - Fix three issues with MergeFlags:
       - Signature/return did not match documentation or existing usage -
 the implementation
         now no longer returns the passed env
       - merging --param arguments did not work (issue #3107);
       - passing a dict to merge where the values are strings failed (issue
 #2961).
     - Include previously-excluded SideEffect section in User Guide.
     - Clean up unneeded imports (autoflake tool).
     - Make sure cProfile is used if profiling - SCons was expecting
       the Util module to monkeypatch in cProfile as profile if available,
       but this is no longer being done.
     - Cleanup in SCons.Util.AddMethod. If called with an environment
 instance
       as the object to modify, the method would not be correctly set up in
       any Clone of that instance.  Now tries to detect this and calls
       MethodWrapper to set up the method the same way env.AddMethod does.
       MethodWrapper moved to Util to avoid a circular import. Fixes #3028.
     - Some Python 2 compatibility code dropped
     - Rework runtest.py to use argparse for arg handling (was a mix
       of hand-coded and optparse, with a stated intent to "gradually
 port").
     - Add options to runtest to generate/not generate a log of failed
 tests,
       and to rerun such tests. Useful when an error cascades through
 several
       tests, can quickly try if a change improves all the fails. Dropped
       runtest test for fallback from qmtest, not needed; added new tests.
     - Eliminate tex tool usage of "for foo in range(len(iterable))"
     - Restore internal Trace function to functional state.
     - Only try to initialize the wix tool by default (or when tool
 `default` is explicitly installed)
       on Windows based systems.
     - Pick a better "Topic" Trove classifier for SCons: SW Dev / Build
 Tools
     - Use os.replace instead of os.rename in dblite so don't need to
       special-case Windows here. dblite is the default storage engine for
 the SConsign file(s).
     - Fix cut-n-paste error in msvc debug printout and make some debug
 output
       in msvs and msvsTests.py be off until needed (uncomment to use)
     - Fix Issue #3014 - Empty file and missing file have same csig
     - Refactor env.Append/Prepend to remove Py 1.5 era need to nest
       try blocks, can now "continue" at the appropriate places.
     - Add /snap/bin to env['PATH'] on POSIX, although this is only
       really useful for a subset of POSIX systems that use snaps.
       Was needed for CI builds, which run on Ubuntu LTS images.
     - Eliminate Py2-ism __nonzero__ (now __bool__). Work around issue
 #3860
       where a check for BuilderBase raising exc. on __bool__ was optimized
 out.
       This issue was found due to a bug in Python 3.10.0a4. See issue
 #3860 for details.
 }}}

--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/14538#comment:2>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to