Skip to content

Commit 9cc72ce

Browse files
Merge branch 'develop' into license-detection-improvements-and-review
2 parents 2b51b4d + 4ec7a92 commit 9cc72ce

File tree

325 files changed

+7060
-475
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

325 files changed

+7060
-475
lines changed

CHANGELOG.rst

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,81 @@ Changelog
22
=========
33

44
v33.0.0 (next next, roadmap)
5-
65
----------------------------
76

8-
97
- We now support new package manifest formats:
108

119
- OpenWRT packages.
1210
- Yocto/BitBake .bb recipes.
1311

12+
- Fallback packages for non-native dependencies of SCTK.
13+
- Dependencies for
14+
- Support for copyright detection objects.
1415

15-
v32.0.0 (next, roadmap)
16-
-----------------------
16+
v32.1.0 (next, roadmap)
17+
----------------------------
18+
19+
- A new field in packages with the license category for the
20+
detected license expression and also an API function to
21+
compute license categories from license expressions.
22+
See https://github.com/nexB/scancode-toolkit/issues/2897
23+
24+
- More support for tabular output formats: New command-line
25+
options for XSLX output, and the old `--csv` command line
26+
option is removed.
27+
See https://github.com/nexB/scancode-toolkit/issues/830
28+
29+
- `--unknown-licenses` is removed and this is always enabled
30+
and only used in case of improper detections automatically.
31+
Also tag all license rules with required phrases to improve
32+
license detection and reduce false positives.
33+
See https://github.com/nexB/scancode-toolkit/issues/3300
34+
35+
- A new `--todo` option is added to show the todo items that
36+
should be reviewed, which are ambiguous license/package
37+
detections.
38+
39+
- File categorization support added, a post scan plugin tagging
40+
files with priority levels for review, and also take advantage
41+
of these in other summary plugins.
42+
See https://github.com/nexB/scancode-toolkit/issues/1745
43+
44+
45+
v32.0.2 - 2023-05-26
46+
---------------------
47+
48+
This is a minor bugfix release with the following update:
49+
50+
- New release v30.1.1 of license-expression with support for new license keys
51+
added. Also fail verbosely in `build_spdx_license_expression` for invalid and
52+
deprecated license keys.
53+
54+
55+
v32.0.1 - 2023-05-23
56+
---------------------
57+
58+
This is a minor bugfix release.
59+
60+
There are fixes for two issues in this release:
61+
- https://github.com/nexB/scancode-toolkit/issues/3407:
62+
here in typecode we had an improper import of ctypes.utils
63+
and this is fixed in a new release v30.0.1 of typecode
64+
- https://github.com/nexB/scancode-toolkit/issues/3408
65+
the setup.cfg and setup-mini.cfg was not aligned for plugin
66+
entrypoints.
67+
68+
69+
v32.0.0 - 2023-05-23
70+
---------------------
1771

1872
Important API changes:
1973
~~~~~~~~~~~~~~~~~~~~~~
2074

2175
This is a major release with major API and output format changes and signicant
2276
feature updates.
2377

24-
In particular changed to the output format for the licenses and packages, and
25-
we changed some of the command line options.
78+
In particular the output format has changed for the licenses and packages, and
79+
also for some of the command line options.
2680

2781
The output format version is now 3.0.0.
2882

@@ -146,7 +200,9 @@ License detection:
146200
These expressions are parallel to detections.
147201

148202
- The ``declared_license`` attribute is renamed ``extracted_license_statement``
149-
and is now a YAML-encoded string.
203+
and is now a YAML-encoded string, which can be parsed to recreate the
204+
original extracted license statement. Previously this used to be nested
205+
python objects lists/dicts/string, but now this is always a YAML string.
150206

151207
See `license updates documentation <https://scancode-toolkit.readthedocs.io/en/latest/reference/license-detection-reference.html#change-in-license-data-format-package>`_
152208
for examples and details.

ROADMAP.rst

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ This is for SCTK first.
2929

3030
Status: This has been completed in SCTK and also included in SCIO. We use
3131
an updated --summary option and a new license clarity score for this.
32-
Some work is still in progress as part of 3.) "detections"
32+
We also have LicenseDetections for resources/packages and a top level
33+
unique license detections as a summary.
3334

3435

3536
2. Package files.
@@ -50,11 +51,15 @@ This has been completed in SCTK and also included in SCIO.
5051
- package: object of its own, and related set of files, not always in the same
5152
directory
5253

54+
This is completed in SCTK.
55+
5356
*License*:
5457

5558
- many detections in a file at different locations, could be merged into a single reported license
5659
- same for primary licenses
5760

61+
This is completed in SCTK.
62+
5863
*Copyright*:
5964

6065
- Copyright and author detection, which are tracked at the line level
@@ -76,6 +81,7 @@ Roadmap
7681

7782
- SCTK: add primary license field in package output and populate this based on
7883
package-type/ecosystem conventions.
84+
- SCTK: also populate secondary license fields
7985
- SCIO: add primary license field in DiscoveredPackage models and feed it with
8086
the data from packages
8187
- SCIO: Do we track secondary? or is this just data aggregated on the fly.
@@ -87,7 +93,7 @@ Roadmap
8793

8894
- This is closely tied to the primary license detection and should focus
8995
on package manifests and key files.
90-
96+
- Support copyright parsing from all package ecosystems.
9197

9298
3. Package files
9399
~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -122,3 +128,4 @@ Roadmap
122128
- Revamp how common list of suprrious licenses are detected (this is a bug)
123129
- Use important key phrases for license detection https://github.com/nexB/scancode-toolkit/issues/2637
124130

131+
This is mostly completed, for follow up see https://github.com/nexB/scancode-toolkit/issues/2878.

docs/source/conf.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,25 @@
2121
copyright = "nexB Inc. and others."
2222
author = "AboutCode.org authors and contributors"
2323

24-
2524
# -- General configuration ---------------------------------------------------
2625

2726
# Add any Sphinx extension module names here, as strings. They can be
2827
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
2928
# ones.
3029
extensions = [
3130
"sphinx.ext.intersphinx",
31+
"sphinx_reredirects",
3232
]
3333

34+
35+
# Redirects for olds pages
36+
# See https://documatt.gitlab.io/sphinx-reredirects/usage.html
37+
redirects = {
38+
"explanations/index.html": "../reference/index.html",
39+
"explanations/overview.html": "../reference/overview.html",
40+
"explanations/license-detection-reference.html": "../reference/license-detection-reference.html"
41+
}
42+
3443
# This points to aboutcode.readthedocs.io
3544
# In case of "undefined label" ERRORS check docs on intersphinx to troubleshoot
3645
# Link was created at commit - https://github.com/nexB/aboutcode/commit/faea9fcf3248f8f198844fe34d43833224ac4a83

docs/source/contribute/contrib_doc.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,12 @@ Style Conventions for the Documentaion
303303
``rst_snippets/warning_snippets/`` and then included to eliminate redundancy, as these are
304304
frequently used in multiple files.
305305

306+
8. Redirects
307+
308+
If layouts of doc pages are being changed and these could be referenced elsewhere, these should
309+
be added in the `redirects` mapping in `conf.py`. For examples on using these see
310+
https://documatt.gitlab.io/sphinx-reredirects/usage.html
311+
306312
Converting from Markdown
307313
------------------------
308314

etc/thirdparty/virtualenv.pyz

-382 KB
Binary file not shown.

etc/thirdparty/virtualenv.pyz.ABOUT

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
about_resource: virtualenv.pyz
22
name: get-virtualenv
3-
version: 20.16.3
4-
download_url: https://github.com/pypa/get-virtualenv/blob/20.16.3/public/virtualenv.pyz
3+
version: 20.23.0
4+
download_url: https://github.com/pypa/get-virtualenv/raw/20.23.0/public/virtualenv.pyz
55
description: virtualenv is a tool to create isolated Python environments.
66
homepage_url: https://github.com/pypa/virtualenv
77
license_expression: lgpl-2.1-plus AND (bsd-new OR apache-2.0) AND mit AND python AND bsd-new
@@ -10,6 +10,6 @@ copyright: Copyright (c) The Python Software Foundation and others
1010
redistribute: yes
1111
attribute: yes
1212
track_changes: yes
13-
package_url: pkg:github/pypa/get-virtualenv@20.16.3#public/virtualenv.pyz
13+
package_url: pkg:github/pypa/get-virtualenv@20.23.0#public/virtualenv.pyz
1414
notes: this archive has been modified from the original to remove extra
1515
embedded wheels that are not needed as we support only Python 3.7+

requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ chardet==5.0.0
99
charset-normalizer==2.1.0
1010
click==8.1.3
1111
colorama==0.4.5
12-
commoncode==31.0.0
12+
commoncode==31.0.2
1313
construct==2.10.68
1414
container-inspector==31.1.0
1515
cryptography==37.0.4
@@ -34,7 +34,7 @@ jaraco.functools==3.5.1
3434
javaproperties==0.8.1
3535
Jinja2==3.1.2
3636
jsonstreams==0.6.0
37-
license-expression==30.0.0
37+
license-expression==30.1.1
3838
lxml==4.9.2
3939
MarkupSafe==2.1.2
4040
more-itertools==8.13.0
@@ -54,7 +54,7 @@ publicsuffix2==2.20191221
5454
pyahocorasick==2.0.0
5555
pycparser==2.21
5656
pygmars==0.7.0
57-
Pygments==2.12.0
57+
Pygments==2.13.0
5858
pymaven-patch==0.3.0
5959
pyparsing==3.0.9
6060
pytz==2022.1
@@ -67,7 +67,7 @@ soupsieve==2.3.2.post1
6767
spdx-tools==0.7.0rc0
6868
text-unidecode==1.3
6969
toml==0.10.2
70-
typecode==30.0.0
70+
typecode==30.0.1
7171
typecode-libmagic==5.39.210531
7272
typing-extensions==4.3.0
7373
urllib3==1.26.11

setup-mini.cfg

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = scancode-toolkit
3-
version = 32.0.0rc4
3+
version = 32.0.2
44
license = Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft
55

66
# description must be on ONE line https://github.com/pypa/setuptools/issues/1390
@@ -64,13 +64,13 @@ python_requires = >=3.7
6464

6565
install_requires =
6666
attrs >= 18.1,!=20.1.0;python_version<'3.11'
67-
attrs >= 22.1;python_version>='3.11'
67+
attrs >= 22.1.0;python_version>='3.11'
6868
Beautifulsoup4 >= 4.0.0
6969
boolean.py >= 4.0
7070
chardet >= 3.0.0
7171
click >= 6.7, !=7.0
7272
colorama >= 0.3.9
73-
commoncode >= 31.0.0
73+
commoncode >= 31.0.2
7474
container-inspector >= 31.0.0
7575
debian-inspector >= 31.0.0
7676
dparse2 >= 0.7.0
@@ -85,7 +85,7 @@ install_requires =
8585
javaproperties >= 0.5
8686
jinja2 >= 2.7.0
8787
jsonstreams >= 0.5.0
88-
license_expression >= 30.0.0
88+
license_expression >= 30.1.1
8989
lxml >= 4.9.2
9090
MarkupSafe >= 2.1.2
9191
packageurl_python >= 0.9.0
@@ -97,7 +97,7 @@ install_requires =
9797
pkginfo2 >= 30.0.0
9898
pip-requirements-parser >= 32.0.1
9999
pluggy >= 1.0.0
100-
plugincode >= 31.0.0
100+
plugincode >= 32.0.0
101101
publicsuffix2
102102
pyahocorasick >= 2.0.0
103103
pygmars >= 0.7.0
@@ -111,7 +111,7 @@ install_requires =
111111
urlpy
112112
xmltodict >= 0.11.0
113113
zipp >= 3.0.0; python_version < "3.9"
114-
typecode >= 30.0.0
114+
typecode >= 30.0.1
115115
# typecode[full] >= 30.0.0
116116
# extractcode[full] >= 31.0.0
117117

@@ -129,15 +129,17 @@ testing =
129129
pytest >= 6, != 7.0.0
130130
pytest-xdist >= 2
131131
aboutcode-toolkit >= 7.0.2
132+
pycodestyle >= 2.8.0
132133
twine
133134
black
134135
isort
135136
vendorize >= 0.3.0
136137
pytest-rerunfailures
137138

138139
docs =
139-
Sphinx >= 3.3.1
140-
sphinx-rtd-theme >= 0.5.0
140+
Sphinx == 5.1.0
141+
sphinx_rtd_theme >= 0.5.1
142+
sphinx-reredirects >= 0.1.2
141143
doc8 >= 0.8.1
142144

143145
# linux-only package handling
@@ -152,6 +154,7 @@ console_scripts =
152154
scancode = scancode.cli:scancode
153155
scancode-reindex-licenses = licensedcode.reindex:reindex_licenses
154156
scancode-license-data = licensedcode.license_db:dump_scancode_license_data
157+
regen-package-docs = packagedcode.regen_package_docs:regen_package_docs
155158

156159
# These are configurations for ScanCode plugins as setuptools entry points.
157160
# Each plugin entry hast this form:
@@ -163,7 +166,6 @@ console_scripts =
163166
scancode_pre_scan =
164167
ignore = scancode.plugin_ignore:ProcessIgnore
165168
facet = summarycode.facet:AddFacet
166-
classify = summarycode.classify_plugin:FileClassifier
167169

168170

169171
# scancode_scan is the entry point for scan plugins that run a scan after the
@@ -194,6 +196,7 @@ scancode_post_scan =
194196
filter-clues = cluecode.plugin_filter_clues:RedundantCluesFilter
195197
consolidate = summarycode.plugin_consolidate:Consolidator
196198
license-references = licensedcode.licenses_reference:LicenseReference
199+
classify = summarycode.classify_plugin:FileClassifier
197200

198201

199202
# scancode_output_filter is the entry point for filter plugins executed after

setup.cfg

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = scancode-toolkit
3-
version = 32.0.0rc4
3+
version = 32.0.2
44
license = Apache-2.0 AND CC-BY-4.0 AND LicenseRef-scancode-other-permissive AND LicenseRef-scancode-other-copyleft
55

66
# description must be on ONE line https://github.com/pypa/setuptools/issues/1390
@@ -70,7 +70,7 @@ install_requires =
7070
chardet >= 3.0.0
7171
click >= 6.7, !=7.0
7272
colorama >= 0.3.9
73-
commoncode >= 31.0.0
73+
commoncode >= 31.0.2
7474
container-inspector >= 31.0.0
7575
debian-inspector >= 31.0.0
7676
dparse2 >= 0.7.0
@@ -85,7 +85,7 @@ install_requires =
8585
javaproperties >= 0.5
8686
jinja2 >= 2.7.0
8787
jsonstreams >= 0.5.0
88-
license_expression >= 30.0.0
88+
license_expression >= 30.1.1
8989
lxml >= 4.9.2
9090
MarkupSafe >= 2.1.2
9191
packageurl_python >= 0.9.0
@@ -111,8 +111,8 @@ install_requires =
111111
urlpy
112112
xmltodict >= 0.11.0
113113
zipp >= 3.0.0; python_version < "3.9"
114-
typecode >= 30.0.0
115-
typecode[full] >= 30.0.0
114+
typecode >= 30.0.1
115+
typecode[full] >= 30.0.1
116116
extractcode[full] >= 31.0.0
117117

118118

@@ -129,17 +129,18 @@ testing =
129129
pytest >= 6, != 7.0.0
130130
pytest-xdist >= 2
131131
aboutcode-toolkit >= 7.0.2
132+
pycodestyle >= 2.8.0
132133
twine
133134
black
134135
isort
135136
vendorize >= 0.3.0
136137
pytest-rerunfailures
137138

138139
docs =
139-
Sphinx >= 4.3.0
140+
Sphinx == 5.1.0
140141
sphinx_rtd_theme >= 0.5.1
141-
docutils < 0.17
142-
doc8
142+
sphinx-reredirects >= 0.1.2
143+
doc8 >= 0.8.1
143144

144145
# linux-only package handling
145146
packages =

0 commit comments

Comments
 (0)