After coming back to this file after a few months I myself did not remember where to edit it.
Adding the "Introduction and formatting" bullet item and update others for brevity.
Support importing scripts without running their logic to
allow basic validation (see #130746).
Parts of !131037 were used.
Co-authored-by: Bastien Montagne <bastien@blender.org>
The goal of this cleaner is to replace all libraries that are symbolic
link with a regular files, and remove all library files that are not
actually used.
This circumvents the situation when wheel packing converts symbolic
links (libraries with ABI in their names) to regular files due to the
limitation of the zip archives. Doing a manual cleanup pass allows to
run regression tests after the cleanup is done. It is implemented as
as standalone tool so that it can be invoked when it is really needed.
In practice this lowers Linux bpy wheel file size from 540 MB down to
around 362 MB.
Pull Request: https://projects.blender.org/blender/blender/pulls/130623
Multiple of our libraries would pull in system libraries that we have static versions of.
These where libxml2 and libz and also libzstd.
I also noticed that the script that was supposed to check on this was not really usable to check for these kinds of things so I updated it.
Now you can run it with `python3.11 tools/check_blender_release/check_release.py -- ../build_linux_release/bin/` and it will check all binaries and libraries that we ship for any system libraries that we don't expect to be linked.
The libraries I'm aware of that pulled in system libs were:
boost
mesa
osl
llvm
(The removed cmake flags for osl was because these were unused and cmake printed warnings)
Pull Request: https://projects.blender.org/blender/blender/pulls/130236
This reverts commit 94959cb84f.
make_license.py was actually refactored in main, and this is introducing
a minor conflict. I will leave make_license as it is in 4.3, and focus
on the cleanups in main itself.
- Avoid manipulating a dictionary arguments, use return values &
iterators to return results.
- Move logic out of the file reading context once the file was read
(reducing right-shift).
- Move intermediate license data from a dictionary to a named-tuple
for better clarity & type safety.
- Remove use of `dataclass` as a container for constants,
as it quite clear to define the constants directly in the
global namespace.
- Group imports at the beginning of the file (no need to quiet pylint).
- Add headings for code sections.
- Use double quotes.
- Use the term "dir" instead of both dir/folder.
- Note the limitations parsing CMake files directly,
with a possible alternative.
There are two "SPIRV TOOLS" IGC_SPIRV_TOOLS & SHADERC_SPIRV_TOOLS, in:
build_files/build_environment/cmake/versions.cmake
Show both in the license.md file.
Also remove use of defaultdict to make it clear where dictionary
values are created.
Clear trailing space as this has as space at the line end
has a special meaning in markdown.
Write a new line at the end of the file
since some development tools add this or note when it's missing,
it's simplest just to add it.
This generates a `license.md` file with all the relevant information about
the different libraries and their respecive licenses.
This should replace: THIRD-PARTY-LICENSES.txt
Important files:
* `make_license.py` (main script called by `make license`.
* `licenses.json` (file to add the definition of new licenses).
* `licenses/*/*.txt` (individual license files.
The `license.md` groups the libraries per license, list their
corresponding copyright information and include the complete license.
Code includes contributions from:
* Campbell Barton (multi-line parser for versions.cmake).
* Thomas Dinges (Windows support for `make license`).
Part of: !129018
The updated autopep8 was ignoring the "exclude" values because
they started with a "./" instead of a "/".
The documentation I found doesn't go into details, even if this is a
regression in autopep8, update the configuration as it causes
"make format" to format files that aren't meant to be modified.